MTS 2012, czyli moja krótka, subiektywna relacja (cz. 3)

Od konferencji minęło już trochę czasu. Emocje opadły, piach opadł i pot wysechł. Właściwie to o czym to było? Pewnie niewielu pamięta. A ja jak obiecałem dokończyć relację, tak słowa dotrzymuje.

Obiecałem przekazać kilka słów o "merytoryce" prezentacji odbywających się drugiego dnia, na które miałem chybny lub niechybny zaszczyt być zaproszonym :).

Dzień drugi rozpoczął się lekko i łagodnie od prezentacji: Windows 8 UI, czyli jak zrobić z programisty designera i ocalić świat. Niestety zawiodłem się niczym elektorat Tuska na przedwyborczych obietnicach. Prezentujący ani jednym słowem nie powiedział jak ocalić świat! Nie podał nawet przepisu na to, aby choć trochę go ochronić. Tu dygresja: właściwie nie wiem przed czym mieliśmy chronić i ocalać świat. Czyżby przed niechybną klapą systemu Windows 8? No dobra, nadal nie wiem jak świat ocalić. Poczułem się poniekąd oszukany. Zatem czy wiem jak zrobić z programisty designera? A gdzieżby ! No bo jak z drwala zrobić rzeźbiarza? Za to jednego się dowiedziałem (ciiii…. wiedziałem już wcześniej, ale udam, że nie wiedziałem). Żeby stworzyć aplikację na Windows 8 trzeba będzie dwóch osób – programisty i designera. To taki ukłon w kierunku domorosłych programistów i sygnał dla nich – samemu nie powalczycie już na rynku, dobierajcie się w pary. Reasumując – z prezentacji wyszedłem przygnębiony.

Na drugą prezentację skierowałem się już mniej żwawym krokiem, wręcz powłóczyłem nogami w dalszym ciągu kontemplując kierunek jaki obiera Microsoft swoim systemem operacyjnych dla urządzeń z ekranem dotykowym. Los rzucił mnie na wykład: Azure: co i kiedy użyć (IaaS vs PaaS vs Hybrid Cloud vs Websites vs …). Prowadzący może być dla wielu osób znany – Pan Tomasz Kopacz. Szybko zostałem wyrwany z zadumy i zacząłem wsłuchiwać się w nowości w Azure. Po 5 minutach, po 10 minutach, a właściwie po 15 minutach przekonałem się, że z chaosu może powstać… co najwyżej zamęt. Prowadzący przedstawił tzw. pierdylion pomysłów, przy czym niektóre niestety nie zostały przeze mnie ogarnięte – jak np.: własnoręczne pisanie NLB dla serwisów hostowanych w Azure. Musiałem coś przeoczyć, bo przecież ta technologia nie może być tak toporna aby zmuszać nas do pisania  komponentów zarządzających rozłożeniem obciążenia. Na zakończenie prezentacji, ku mojemu zdziwieniu, prowadzący dał jasną odpowiedź na to, kiedy użyć jakiej technologii… No dobra, żartowałem (znów!). Jak zwykle nasz wykładowca musiał być słaby z pisania rozprawek w podstawówce, bo nie ustosunkował się do pytania postawionego w tytule własnej prezentacji. Poprowadził jednak prezentację na temat: Szybki przegląd możliwości Azure.

Szybko ulotniłem się z sali wykładowej i wręcz energicznym truchtem udałem się na kolejną sesję, tym razem poświęconą tematom bliskim mojemu sercu – programowaniu aplikacji Web'owych. Temat prezentacji: MVVM w JavaScript dla developerów .NET. Po doświadczeniach z tym co widziałem i słyszałem przez ostatnie półtora dnia, właściwie bałem się myśleć co przyniesie mi los tym razem. Co zastałem na miejscu? Ano prowadzącego, mocno stremowanego i już po pierwszych kilku zdaniach dającego się rozpoznać jako zwykły inżynier – żaden tam pseudo manadżer czy innych ewangelista. Nie ukrywam, że temat był mi znany i, że nie nastawiałem się na poznanie prawdy objawionej. Ale muszę przyznać, że była to najlepsza prezentacja z całej 2 dniowej konferencji. Żadnego marketingowego bełkotu, żadnego owijania w bawełnę, proste i czytelne przykłady. Wszystko tak ładnie zebrane do kupy, że pozwoliło mi pewne rzeczy sobie przypomnieć i lepiej poukładać.

Kolejna prezentacja: Jak bolesny był twój ostatni release? Ciągła integracja w .NET. Jeśli nie byliście na niej, to nie żałujcie. Szybko powiem wam o czym było:

  • definicja continuous integration (dla tych, co byli zbyt leniwi aby przeczytać definicję na WIKI) ,
  • użycie Hudsona i Jenkins'a do uruchomienia buildów automatycznych.

To by było na tyle. Powtórzę się, ale nie rozumiem idei prezentacji eksperckich. Znaczy, że były one prowadzone dla ekspertów, czyli dla ludzi kompletnie zielonych w temacie? Czy przez ekspertów, czyli ludzi kompletnie zielonych w temacie. Czy może chodziło o to, że temat będzie omówiony całkowicie powierzchownie? I dlaczego ciągła integracja w .NET na Microsoft Summit to nie TFS tylko rozwiązania firm trzecich?

Ostatnia prezentacja to przysłowiowa wisienka na torcie, konsensus tegorocznego Microsoft Summit. Temat: Diabeł tkwi w szczegółach – tworzenie wysokowydajnych aplikacji dla Windows Phone. Będę walił prosto z mostu – Matrix. Czytając agendę, czytając temat, każdy szanujący się starszak w przedszkolu uznałby, że usłyszy conieco o:

  • programowaniu Windows Phone,
  • technikach sprytnego używania API dedykowanego dla Windows Phone.

W końcu słowo wysokowydajnych zobowiązuje. Co na pewno nie było poruszone na sesji:

  • programowanie Windows Phone,
  • techniki sprytnego używania API dla Windows Phone.

Tu mógłbym zakończyć swój wywód, ale ominęło by was wiele ważnych szczegółów. Co zrobili prowadzący i za co powinno się ich przykładnie wychłostać kablami USB? Otóż, dzielnie zgromadzonej rzeszy programistów pokazali kawałek zwykłego algorytmu do przetwarzania obrazu z koloru na odcienie szarości. Przy lekkich prześmiewczych komentarzach prowadzących, przedstawili fragment kodu (notabene nie wydajnego) napisanego przez dewelopera z wieloletnim stażem. Kod jak to kod, operował na obiektach, arytmetyce i klasie WritableBitmap. To właśnie jedynie ta klasa jest nawiązaniem do WindowsPhone. Przedstawiony przykład, miętolony przez godzinę mógł równie dobrze używać klasy Bitmap i w miejsce WindowsPhone moglibyśmy dać: Web application albo Windows Application, albo cokolwiek sobie zażyczycie. I po co ten godzinny onanizm nad optymalizacją kodu? Przecież to, jak pisać kod, to uczą na 3 roku studiów, na algorytmach, ewentualnie na przetwarzaniu obrazów. A to, że ktoś napisał im kod niewydajny, to ja się zapytuje – a czy PM dostarczył wymagania niefunkcjonalne? Czy zamówił algorytm przetworzenia obrazu kolorowego na odcienie szarości, czy algorytm i jego optymalizacje? I co do stu tysięcy fur beczek oznacza "wysokowydajnych" w tytule prezentacji? Bo jak dla mnie wysoko wydajne przetwarzanie obrazu to może być na GPU, a to co pokazali Panowie podczas prezentacji to zwykła optymalizacja kodu. No ale jak tu inaczej przedstawić się i firmę na takiej imprezie jak nie pod szyldem produktu Microsoft i to jeszcze takiego, na którego kładzie się nacisk marketingowy?

Na koniec zadać można sobie pytanie, dlaczego cały Microsoft Summit nie był wypełniony tak dobrze przeprowadzonymi sesjami jak sesja o MVVM? Czy niski poziom merytoryki sesji wynika ze słabych prowadzących czy z czegoś innego? Wg mnie, problemem nie jest to, kto prowadzi prezentacje. Najlepszą (moim zdaniem) prowadził młody człowiek – po prostu specjalista w swojej dziedzinie. Zatem co? Być może na odpowiedź naprowadzi was fakt, że prezentacja o MVVM dotyczyła biblioteki kNockout, która w żaden sposób nie jest dziełem Microsoftu. Inny fakt, to jak wyliczył jeden z czytelników bloga – Microsoft Polska mógł zarobić na tej imprezie do 2,5mln PLN (nie licząc kosztów). Zatem jeśli nie wiadomo dlaczego merytoryka kuleje i właściwie nie wiadomo o co chodzi, to zawsze chodzi o to samo 🙂