fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
25 minut

Relacja z MTS 2011


23.10.2011

Tak jak rok temu, tak jak dwa lata temu, wreszcie tak jak trzy lata temu (ale ten czas leci, co?) – uczestniczyłem w konferencji MTS Microsoft Technology Summit 2011. I wrażenia swe w poście niniejszym pozwolę sobie zamieścić.


Ogólnie

Sam początek przygody z tegorocznym MTSem był raczej dość średnio imponujący. Po zobaczeniu pierwotnego kształtu planowanych sesji – szczena mi opadła. I niestety… bynajmniej nie z zachwytu. Zwykle w latach ubiegłych było tak, że patrząc na wiele sesyjnych slotów niesamowicie zazdrościłem Ojcu Pio jego iście z-gier-prosto-wziętego megawypasionego daru bilokacji. Bo tak się fajnie zapowiadało. A w 2011… no proszę Was, wydawało się, że po prostu nie ma na co iść! I pewnie bym nie poszedł, gdyby nie zaproszenie z Microsoftu wraz z wejściówką w charakterze prasy (z powodu mojego redaktorstwa w codeguru).

Ale poszedłem.

Pierwsze minuty spędzone były na kluczeniu przez jakieś zakamarki w drodze z Dworca Zachodniego do hali EXPO. Na szczęście Google Maps nie zawiodło i wraz z dwoma kumplami dotarliśmy na miejsce. A samo miejsce… nie ma co ukrywać, jest to wielki krok naprzód w stosunku do PKiNu. Pałac ma może i fajniejszy klimat, ale do organizowania takich konferencji nadaje się zdecydowanie gorzej niż centrum specjalnie pod ten cel wybudowana. Dużo miejsca, dobra komunikacja między salami, fajny, “światowy”, wystrój – bomba.

Bardzo podobał mi się pomysł Organizatorów na powitanie gości przed samą konferencją. Jaki jest najlepszy sposób na rozbudzenie kilkutysięcznego tłumu informatyków składającego się w ~95% z facetów? No jasne – wrzucenie na scenę pięciu sexi panienek! A jak jeszcze do tego grają rocka, to w ogóle gites. Tak jest – konferencja rozpoczęła się od minikoncertu grupy SheMoans, który to występ, abstrahując nawet od płci jego składu, był naprawdę fajny.

Ale dość o pierdołach. Spodziewałem się dna, a jak było?


0. Sesja generalna

Ten element MTS kiedyś był po prostu żałosny. Ale, począwszy od ubiegłego roku, zaczęło się robić całkiem fajnie.

W tym roku głównym elementem keynote’a było kilkudziesięciominutowe wystąpienie “kogoś ważnego zza oceanu”:): Miha Krajl, Director in Office of CTO (cokolwiek to stanowisko oznacza). Wielkie wrażenie zrobiła na wszystkich zastosowana przez niego technika prezentacji, tzw. Pecha Kucha. Co 20 sekund wjeżdżał na ekran nowy slajd, zwykle z 3 fotkami i kilkoma kluczowymi słowami, a prelegent w idealnym synchro rozwijał coraz to nowe tematy. A tematów było sporo. Od krótkiego podsumowania roli technologii w naszym obecnym świecie (że komputery mamy wszędzie – i w PC, i w telefonie, i w mikrofali, i w butach…) przez wizję przyszłości (znany pewnie większości filmik z 2008, w którym to MS rysuje świat 2019r jak z s-f) aż po kwalifikację wszystkich potencjalnych cywilizacji w kosmosie na Typ1, Typ2 i Typ3 i nadanie nam – ludziom – Typu0 :). Ciekawie zaprezentowana wszechobecność technologii już w dniu dzisiejszym stała się podstawą do interesującego wniosku: “the future is now“. Do tego kilka niby banalnych, pompatycznych, “ohydnie amerykańskich” i przesadzonych, ale bardzo fajnie wrzuconych w kontekst sformułowań w stylu “we [the it people] are the most important people that ever lived” czy “we are the most important generation. ever.” objęło całość ramami jedności, wizjonerstwa i wspólnego celu.

Z całej sesji generalnej utkwił mi w pamięci jeszcze tylko jeden element…

[mały wprowadzający off-top: jeśli ktoś nie wie, to MS i Nokia są od kilku miesięcy najlepsiejsimi psiapsiółkami i niedługo będą razem wojować na rynku mobilnym, żeby temu zgniłemu japku i temu zardzewiałemu robotowi-andkowi wyrwać jak najwięcej zielonych cukierków z koszyka]

Pod koniec na scenę wszedł Ważny Pan z Nokii. Jak się okazało – był głównym negocjatorem po stronie Nokii w całym tym zamieszaniu. Z całą pewnością mógłby więc powiedzieć wiele ciekawych rzeczy… ale niestety nie powiedział. Po co na przykład publiczności informacja (w połowie czytana z kartki), że w technologicznym średniowieczu Nokia miała więcej kasy niż kolejne 3 największe firmy w jej branży razem wzięte? Nie ma czym się chwalić, bo widocznie potem ktoś coś zrobił źle. Bardzo źle.

W sumie to nawet nie ma sensu przytaczać nic z tego kazania, bo i nic z niego nie zapamiętałem. Na każdej sesji starałem się robić notatki, żeby mieć z wyjazdu jakąś pamiątkę (no i materiał na tą relację:) ), ale przez całą obecność Negocjatora na scenie zapisałem tylko trzy myślniki, które pozwolę sobie zacytować: “ale zmuła“,  “ksiądz?“, “nuda i smuty że aż strach“. Wymyśliliśmy nawet z kumplami bardzo prawdopodobny scenariusz końca negocjacji pomiędzy Nokią a MS… Scenka: siedzi w luksusowym hotelowym pokoju kilku wyczerpanych biznesmenów, w pomiętych garniturach, nieogoleni, spoceni, wpatrzeni w jakieś dokumenty, umowy, bazgroły; wokoło walają się dziesiątki kartonów po pizzy, plastikowych kubków po kawie i puszek po redbullu… najwidoczniej siedzą tu bez przerwy od dobrych kilku dni; w końcu Ballmer wstaje i zrezygnowanym tonem mówi “dobra, daj, podpiszę cokolwiek chcesz, tylko już skończ gadać!“.

Ale dość pastwienia się. Przejdźmy do właściwych sesji, o tym niemiłym incydencie zapominając.

1. “Windows, kod, narzędzia, ludzie” Tomasz Kopacz

Zupełnie nie wiedziałem czego spodziewać się po sesji o tak enigmatycznym tytule. Pierwsze skojarzenie posłało moją jaźń w stronę TFSa, skąd po chwili wróciła skurczona, przerażona i zapłakana. Ale na szczęście postanowiłem zaryzykować i udać się, jak to się mówi, “na Kopacza”:). O TFSie, dzięki Wszystkim Wszechmocnym, nie było ani słowa.

Tomek zaserwował nam za to niemałą niespodziankę, bo tym razem, zamiast zrobienia nam technologicznej siekanki z mózgu, wziął nas w podróż po… historii komputerów! I muszę przyznać że było to bardzo ciekawe doświadczenie.

Przejechaliśmy się po wszystkich właściwie epokach PCta (i nie tylko) – od DOSa do Mango. Tomek opowiadał te dzieje m.in. z bardzo ciekawej perspektywy zespołu tworzącego oprogramowanie. A to że kiedyś silniki bazy danych pisano per aplikacja – więc każdy wymyślał koło na nowo. A to nie bardzo uświadomiona była potrzeba testowania kodu w sposób inny niż przez końcowego użytkownika. A to jedynym sposobem transferu danych były dyskietki, więc cały proces synchronizacji pracy wydłużał się i komplikował niesamowicie. Dodatkowo posłuchaliśmy o architekturze procesorów, wojnie producentów kart graficznych w latach ’90 i historii gier komputerowych, na żywo oglądając niektóre z nich.

Fajnie można było w ciągu godziny zaobserwować rewolucję w metodach programowania pod Windows, poczynając od trudnego WinAPI, przez “ułatwiacze” w postaci COMów, MFC, ActiveX, DirectX, a kończąc na – oczywiście – .NET, który oficjalnie narodził się 10 lat temu.

Szczerze mówiąc nie bardzo wyłapałem PO CO jest ta sesja – tzn. jaki był motyw przewodni lub główny wniosek z niej płynący. Może po prostu nie było? Tomek pod koniec stwierdził, że “zataczamy koło”, ale… czy jak wiem?

Nic z tej wiedzy mi się raczej nigdy nie przyda, ale posłuchać było warto.

P.S. Widać było, że prelegent chętnie by skoczył jeszcze krok dalej i poopowiadał o Windows 8, ale widocznie “oni nie mogą”:). Ograniczył się więc do podania linku http://www.buildwindows.com/ – zachęcam do odwiedzenia.

Ocena: 6/9 (tak mało, bo sesje oceniam głównie pod kątem przydatności merytorycznej, a ta była jak dla mnie zerowa… ale mimo wszystko podobało mi się – fajnie było zobaczyć jak może wyglądać nie-do-końca-techniczna sesja prelegenta, który zwykle powodował niezłego technologicznego kaca:); jeśli kiedyś będę miał okazję w podobnym eksperymencie uczestniczyć to prawdopodobnie chętnie skorzystam)

2. “Burzliwa znajomość programisty z IE” Mateusz Andrzejewski

Jadąc na MTS nie miałem ułożonego harmonogramu – jako prasa mogłem sobie wleźć gdzie chciałem i kiedy chciałem. Ta właśnie sesja, o IE, była jedyną, na której po prostu MUSIAŁEM być. Nie ze względu na temat – bo IE nie toleruję i nie używam. Ale ze względu na osobę prelegenta – znam Mateusza i wiedziałem, że może być… fajnie i oryginalnie.

Heh, cóż, no i tak właśnie było. Już sam podtytuł sesji mógł wzbudzić zainteresowanie. Z oficjalnych informacji został on wycięty przez cenzurę, a brzmiał: “Śmierć, zdrada i nawrócenie“. Potem, na przełamanie pierwszych lodów, nieświadomi widzowie dowiedzieli się, że w naszym rodzinnym Białymstoku nie ma na ulicach żubrów. Bo przegoniły je białe niedźwiedzie z Suwałk:).

Później nastąpiło streszczenie całej znajomości Mateusza z IE – od śmierci, przez zdradę, aż do nawrócenia. Nie zabrakło wykresów pokazujących jak “ciepłota uczuć” względem IE plasowała się na tle uczuć do innych przeglądarek (FF, Opery i Chrome) w wymiarze czasu. Wszystkich rozwalił slajd, którym Mateusz odpowiadał na pytanie “czy lubisz Internet Explorera?”. Był to bowiem odwrócony kciuk z Facebooka i podpis: “Nie lubię”. Powód jest prosty – teraz jest już OK, ale przez lata było bardzo źle, więc uśredniając: wcale nie jest różowo.

Kolejny niezwykle interesujący pomysł to happening na pożegnanie IE6. Na prośbę Mateusza wszyscy wstaliśmy i uczciliśmy śmierć IE6 sześcioma sekundami ciszy. A w tle leciał marsz żałobny. No po prostu miazga.

Ale sesja ta to nie tylko bardzo udany kabaret. Oprócz tego posłuchaliśmy o ewolucji i zmianach wprowadzanych w kolejnych wersjach IE. Nigdy mnie to szczególnie nie interesowało, więc dopiero teraz dowiedziałem się co to są webslice’y, acceleratory, visualsearch czy jak łatwo i przyjemnie można zintegrować strony wyświetlane w IE9 z paskiem Win7 (warto zerknąć na plugin jQuery pinify). I muszę przyznać, że wszystko to są całkiem fajne pomysły.

Mateusz zademonstrował też możliwości dev-tools dostarczanych z IE (pod F12)… ale jakoś nie do końca wyłapałem dlaczego mają one być lepsze od firebuga. Chyba że nie mają być (bo nie wierzę że są:) ).

Ocena: 7/9 (moim zdaniem bardzo udany debiut na MTS, i dzięki temu wystąpieniu prawdopodobnie niedługo uruchomię IE9 i spróbuję z niego pokorzystać… chociaż podobnie jak w przypadku poprzedniej sesji – prawdopodobnie niewiele z usłyszanych informacji przyda mi się do czegokolwiek, no ale to już kwestia samego tematu a nie przygotowania materiału)

3. [slot podwójnie opuszczony]

W tym okienku najpierw wybraliśmy się na prelekcję Daniela Biesiady zatytułowaną “Be what’s next, czyli Microsoft w XXI wieku“. Okazało się jednak, że pierwsze kilkanaście minut polegało na ponownym pokazaniu “przyszłościowego” filmiku z keynote’a i jego analizie. Po trochę ponad kwadransie doszliśmy do wniosku że jednak być może da się ten czas lepiej spożytkować i wyruszyliśmy do sali mającej gościć Jaimego Rodrigueza z sesją “HTML5, ready for prime-time?“. Niestety prelegent ten w ostatniej chwili z jakichś ważnych powodów odwołał swój udział w MTS i trafiliśmy na coś, co zapowiadało się na dość nudną, wypełnioną marketingowym bełkotem prezentację IE9 mającą wypełnić zwolniony niespodziewanie slot. Darowaliśmy więc sobie – szkoda.

4. “Najlepsze praktyki dla programisty Transact-SQL” Paweł Potasiński, Marek Adamczuk

“Programistą T-SQL” ciężko mnie nazwać, bo zwykle chowam gołego SQLa pod wszelkiej maści ORMami gdy tylko jest to możliwe. Ale czasami – jak wiadomo – nie ma innego wyjścia i po prostu trzeba zakasać rękawy i się w tym bagnie pobabrać. A wtedy już lepiej wiedzieć co się robi. A czy jest lepsze źródło tej wiedzy niż dwóch prawdziwych wymiataczy? Co prawda jest – praktyka i autoedukacja – ale w warunkach konferencyjnych zdecydowanie nie.

Sesja przebiegała w fajnej atmosferze i wypełniona była po brzegi tym, co najlepiej pokazuje “jak kodować” – czyli demami.

Dowiedzieliśmy się na przykład że zawsze, ale to zawsze, należy używać w zapytaniach aliasów. Ja co prawda zwykle i tak starałem się przestrzegać tej praktyki, ale tutaj dobitnie pokazano dlaczego jest to takie ważne.

Potem posłuchaliśmy chwilę o “selektgwiazdka” w definicji widoku i dlaczego dodanie kolumny do tabeli tak prezentowanej nie zmodyfikuje nam jednocześnie samego widoku. Okazało się, że najlepiej jest to naprawić wywołaniem sp_refreshsqlmodule. A potem takie postępowanie zautomatyzować poprzez napisanie triggera ddl, który za pomocą kursora sam będzie odpowiednie widoki odświeżał.

Kolejny punkt programu to procedura sp_rename – i dlaczego może spowodować wielkie niespodziewane BUM w naszej aplikacji jeśli zastosujemy ją na obiektach proceduralnych. Najlepiej tego nie robić, a wymusić “nierobienie” można także za pomocą triggera (na event RENAME) i blokowanie takich operacji na niedozwolonych obiektach.

Następnie sql-master-duet nakazał nam stosowanie schemy przy odwołaniach do obiektów bazy danych. Czyli: [dbo].[Users] zamiast [Users]. Ale uwaga, nie [dbName].[dbo].[Users]. Okazuje się, że takie zapytania mogą być dużo bardziej wydajne, niż te z “gołymi” nazwami obiektów. Aha, no i oczywiście najlepiej nie nazywać procedur (ani najlepiej niczego innego) z prefixem “sp_”, ale tego chyba w podstawówkach uczą.

Później zobaczyliśmy jak wartość NULL wpływa na zapytania korzystające z warunków WHERE … IN (…) i WHERE … NOT IN (…). Ciekawe… Do zapamiętania: w takim podzapytaniu najlepiej dostarczać wartości przefiltrowane tak, aby w powyższych nawiasach NULLa już nie było.

Na koniec zademonstrowano czym grozi deklarowanie tekstowych zmiennych/kolumn varchar bez jawnego podania maksymalnej spodziewanej długości łańcucha znaków. Wniosek: ZAWSZE to podawajmy, bo domyślne wartości przyjęte przez SQL Server będą się różnić w zależności od tego w jakim kontekście ten typ używamy. BTW, to samo tyczy się np. decimal.

Ostatnie minuty poświęcono na króciutkie tipy o collation: jaki mają wpływ na porównywanie/sortowanie tekstu i jakie problemy może powodować stosowanie collation niekompatybilnych z faktycznym użyciem bazy.

Generalnie: spora garść porad, o których każdy otwierający Management Studio powinien wiedzieć.

Ocena: 8/9 (zdecydowanie najbardziej merytoryczna, potrzebna i przydatna sesja pierwszego dnia, do tego poprowadzona w profesjonalny, a jednocześnie nienadęty sposób)


5. [brak]

Drugiego dnia pojawiliśmy się w EXPO dopiero na drugą sesję.

6. “Programowanie Windows Phone Mango – cz. 2” Bartłomiej Zass

Na żaden telefon nigdy nic nie napisałem. O temacie tym wiem ZERO. Pomyślałem jednak: a co mi tam, zobaczę z czym to się je. I muszę przyznać, że wrażenie odniosłem całkiem pozytywne.

Zrobiłem sobie nawet mikro-postanowienie, że nie ma sensu dłużej ignorować rynku mobilnego i najwyższy czas coś sobie na to popisać. Ciekawe co z tego wyjdzie – na samym emulatorze pewnie ciężko będzie utrzymać stały wysoki poziom frajdy (bo i po co mi aplikacja mobilna która działa dla mnie tylko na PC?:) ), a telefonu z Mango sobie nie kupię tylko po to żeby napisać na niego program. Ale zobaczymy.

Bartek poopowiadał o bardzo wielu różnych rzeczach związanych z programowaniem Windows Phone. Na początek posłuchaliśmy o sposobach przechowywania danych w tym urządzeniu. Bardzo fajnie, że i tutaj można skorzystać z SQL CE, dla większej ilości danych musi to być niesamowite ułatwienie. Jeśli jednak nie mamy konieczności operować na naprawdę sporych zbiorach, to wydajniej będzie użyć zwykłych plików w Isolated Storage – unikniemy w ten sposób konieczności ładowania przez aplikację całego silnika SQL, przyspieszając tym samym jej startup time.

W Mango dostaliśmy także możliwość dostępu do kalendarza i kontaktów właściciela telefonu… ale ta informacja jakoś średnio mnie zainteresowała. Dużo ciekawszy był fragment o tzw. Fast Application Switching, gdzie przedstawiono nam sposób umożliwiający błyskawiczne wznowienie pracy aplikacji. A to dzięki kilku stanom, w których aplikacja może się znajdować. Ze stanu aplikacji działającej program nasz nie jest od razu zamykany, lecz “deaktywowany” (dokładnego określenia nie pamiętam). Oznacza to tyle, że wszystkie dane w aplikacji nadal pozostają w pamięci, więc w razie powrotu do niej jest ona momentalnie gotowa do ponownego działania. Taki nieaktywny program powinien mimo wszystko zapisać gdzieś swój stan, bo w razie konieczności (np brak zasobów do przydzielenia dla innych aplikacji) zostanie on ubity przez system. I wtedy już wczytanie stanu “skądś” będzie niezbędne.

Krótko obejrzeliśmy też kilka slajdów i dem prezentujących Notification Services (czyli alarmy i “remindery” – przypominacze), Background Transfer Service (do pobierania/wysyłania plików przez sieć) czy Zune Service (do odtwarzania audio). Zobaczyliśmy też możliwość tworzenia własnych agentów podpiętych do aplikacji, wykonujących periodycznie pewnie czynności. W zależności od zasobo- i czaso-żerności możemy wybrać pomiędzy periodic agent (uruchamiany co kilka minut, powinien w miarę sprawnie wykonać co ma do wykonania i się zakończyć) a resource-intensive agent (uruchamiany gdy telefon jest nieużywany/podpięty do ładowarki/z dostępem do wifi/etc… – tutaj możemy poszaleć i zająć się zadaniami porządkowymi trwającymi więcej niż kilka sekund).

Na koniec Bartek pokazał możliwość dopasowania kafelków (live tiles) – podstawowych elementów UI na głównym ekranie Windows Phone – do własnych potrzeb, czyli np wyświetlenie na nich aktualnych informacji czy nawet oprogramowanie dwóch stron takiego kafelka, który dzięki temu pokazuje raz jedną, a raz drugą swoją “twarz”. Wygląda na całkiem fajny i przydany mechanizm.

Ocena: 8/9 (wcześniej nie wiedziałem NIC o Windows Phone, a teraz już COŚ wiem – i spoko:); a wszystko podane w klarowny, jasny sposób, tak jak być powinno)

7. “Tips & Tricks dla programistów Windows Phone” Maciej Grabek

Skoro już wszedłem w Mango, i było tam całkiem wygodnie, to postanowiłem w tym Mangu pozostać. Tym bardziej, że sam temat sesji dawał nadzieję na serię interesujących dev-opowiastek od doświadczonego i obytego w mobilnym programowaniu dewelopera (polecam blog Maćka, skąd dostaniecie się do jego artykułów i webcastów na temat WP).

No i się nie zawiodłem.

Zaczęliśmy od performance counters i dowiedzenia się dlaczego są one tak ważne. I że niestety wielu programistów nie zadaje sobie trudu ich zbierania i analizy. Przy tej okazji poobserwowaliśmy jak zachowuje się UI  w przypadku różnych animacji – które się zatrzymają w przypadku “zamrożenia” UI a które nie? Fajny tip: jeśli potrzebujemy progress bara to lepiej skorzystać z kontrolki Performance Progress Bar (dostępnej w Silverlight for Windows Phone Toolkit) zamiast domyślnego, ponieważ domyślny działa na wątku UI i przestaje śmigać właśnie gdy UI zostanie zamrożone.

Potem Maciek zwrócił nasza uwagę na inny bardzo ważny aspekt tworzenia aplikacji – czyli badanie jej wydajności i szukanie “bottlenecks“. W tym kontekście służy do tego niedawno dodany do SDK profiler. To doprowadziło do demka prezentującego badanie potencjalnego problemu związanego z wykonywaniem “ciężkich” operacji przy starcie programu. Jak można się domyślić – robienie tego w wątku głównym znacznie wydłuży inicjalizację. Profiler wskazał źródło problemu, a jego rozwiązanie jest proste – przerzuć takie operacje do osobnego wątku i świat znowu będzie różowy.

Bardzo ciekawa część sesji traktowała o tworzeniu UI z wykorzystaniem XNA (czyli frameworku do programowania gier). Okazuje się, że można połączyć oba światy (Silverlight z XNA) i mieć na WinPhonie bogate UI stworzone w XNA wraz z łatwymi do oprogramowania kontrolkami z SL. Cool. Kluczem jest zastosowanie klasy UIElementRenderer, która “wie co robić”. Pamiętać przy tym należy, że warto zastosować BitmapCache dla sporych obrazków, aby pomóc silnikowi graficznemu wydajne renderowanie grafik. Chwilę popatrzyliśmy też na sposób implementacji pełnoekranowej aplikacji w XNA (co samo w sobie nie jest trudne, ale wymaga znajomości kilku sztuczek).

Stąd skoczyliśmy do obsługi gestów i poprawnego sposobu realizacji tego zadania – tak aby gesty były faktycznie obsługiwane w real-time, a nie z wielkim opóźnieniem. Okazuje się, że niemały boost daje zwiększenie liczby klatek z 30 do 60/sec, jak też każdorazowe obsłużenie WSZYSTKICH zdarzeń gestów w  metodzie renderującej UI, a nie tylko pierwszego z nich (jak to ma miejsce w samplach).

Maciek zwrócił też uwagę na problemy wynikające z wykorzystania bazy danych SQL CE tam gdzie nie ma takiej absolutnej konieczności – może to spowodować spore opóźnienia w uruchomieniu aplikacji, więc lepiej najpierw wypróbować alternatywne sposoby przechowywania danych.

Później oszukiwaliśmy WP, modyfikując tzw. BackStack (czyli historię nawigacji) naszej aplikacji. Dzięki temu mogliśmy zaimplementować z życia wzięty scenariusz, w którym to w trybie “trial” na początku aplikacji wyskakuje okno informujące o tym fakcie, ale po przejściu dalej i kliknięciu “wstecz” wychodzimy z programu zamiast ponownie wyświetlić to samo okno powitalne. Z pewnością przydatna porada.

Potem przez moment zapoznawaliśmy się z kontrolką Panorama i jej bardzo fajnymi możliwościami. Nauczyliśmy się jak ograniczać zużycie przez nią zasobów poprzez deaktywację zbędnych (bo i tak niewidocznych) elementów UI. I uświadomiono nam, że właśnie ze względu na zasobożerność Panoramy warto rozważyć zastosowanie zwykłego Pivota.

Na koniec mogliśmy skorzystać z doświadczenia prelegenta i dowiedzieć się, że przed wrzuceniem aplikacji do Marketu lepiej przetestować ją we wszystkich możliwych (w sensie: dwóch:) ) stylach dostępnych w WinPhone. Niektóre elementy graficzne mogą dobrze wyglądać na czarnym tle, ale na białym – już nie. I taka aplikacja zostanie automatycznie odrzucona… więc lepiej zaoszczędzić sobie czasu i mieć to na uwadze.

Ocena: 8/9 (jak dla mnie najlepsza i najbardziej wartościowa sesja tegorocznego MTSa, a analiza dem na pewno pomoże na jeszcze lepsze zrozumienie i przyswojenie prezentowanego materiału)

8. “Hakowanie Kinekt” Szymon Kobalczyk

Widząc obok siebie słowa “hakowanie” i “Kobalczyk” wiedziałem, że muszę tam być. Czary, jakie widziałem na różnych innych wystąpieniach Szymona, nie pozostawiały w sumie wyboru. A dołożenie do tego Kinekta mogło tylko całość tylko jeszcze bardziej urozmaicić.

Zaczęło się od rozłożenia Kinekta na czynniki pierwsze i omówienie jego hardware’owych części żeby dowiedzieć się “jak to działa?”. Potem posłuchaliśmy trochę o algorytmach zastosowanych w XBoxie umożliwiających tak precyzyjne rozpoznawanie sylwetek, ruchów i poszczególnych części ciała graczy.

Po takim, trochę przydługim, wstępie nastąpiła właściwa część prezentacji – czyli podłączanie Kinekta do PCta. Warto wiedzieć, że do tego potrzebny jest osobny zasilacz. Oraz oczywiście sterowniki, na temat których Szymon dość długo i ciekawie opowiadał, prezentując możliwe opcje, ich historię oraz możliwości.

Potem na żywo obejrzeliśmy jak można pobawić się Kinektem, czyli na ekranie pojawił się obraz z kamery rozpoznającej sylwetkę i ruchy Szymona, m.in. umieszczając go w deszczu spadających kształtów, które mógł sobie wirtualnie odbijać.

Ostatnia część sesji to seans ze sporą liczbą filmików pokazujących najciekawsze zastosowania Kinekta. To prawda – niektóre pomysły były prawdziwie genialne… ale po tej prezentacji pozostał mi pewien niedosyt. Nie wiem czego się właściwie spodziewałem, ale ani razu na usta nie cisnęło się “wow”. I chyba zabrakło właśnie takiego jednego rzucającego na kolana elementu… którym właściwie nie wiem co mogło być.

Ocena: 6/9 (wszystko fajnie, ciekawie i “nowocześnie”, ale bez rewelacji)


Jak widać – źle nie było. Właściwie to było o wieeeele lepiej niż się spodziewałem. Nie było ani jednej żałosnej mega-wpadki… ale też nie było sesji, która mnie zachwyciła i powaliła. Po prostu – OK.

Dodatkowo dla mnie osobiście bardzo miłe było spotkanie kilku czytelników niniejszego bloga, którzy zagadywali po rozpoznaniu procentowej facjaty z fotki z sidebara. Pozdro!

Dorzucę jednak łychę dziegciu, coby się nikomu w niczym nie poprzewracało:

  • brak Speaker Idola to wielki krok wstecz, bo była to świetna inicjatywa (a jeśli konkurs był to poinformowanie o nim sux… ale chyba bym nie przegapił tak ważnej części programu?)
  • brak Bartka Pampucha w gronie prelegentów również zaskoczył in minus – jego sesje były zwykle najlepsze, więc pewnie i tym razem byłoby super, a nie było
  • obecność w Warszawie Ayende Rahien, najbardziej rozpoznawanego i szanowanego programisty .NET na świecie (sic!) akurat równo z MTSem i brak jakiejś inicjatywy ze strony MS ściągnięcia go do nas – nawet w charakterze gościa po ostatniej sesji pierwszego dnia – buuuuu! (a jeśli inicjatywa była to nieudana, więc niczego to nie zmienia – wg.net go sobie ściągnęło i podobno było za-je-biś-cie)
  • klima na niektórych salach tak dawała po nerach, że aż strach
  • podobno już PO zorganizowaniu harmonogramu przez niektórych uczestników dorzucono jakieś sesje, zmieniono godziny…? k’mon, tak się nie robi!

Podsumowując – nie żałuję, że pojechałem. Nie był to najlepszy MTS w historii, ale nie było też źle. Niechaj Organizatorzy trochę bardziej zadbają w przyszłości o programistów, a będzie w ogóle git.

Ocena MTS 2011: 7/9

0 0 votes
Article Rating
12 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
barozi
barozi
12 years ago

Na MTS nie byłem, ale we wtorek byłem na spotkaniu z Ayende Rahien. Faktycznie było super.

jj
jj
12 years ago

ej a gdzie relacja z Enklawy? :)

Łukasz K.
12 years ago

Był to mój pierwszy MTS, jednakże od kilku lat śledziłem poczynania w tematyce tegoż event’u. Rzeczywiście, gdy czytałem tematy sesji nie było WOW!, jak przed laty. Z drugiej zaś strony całe wydarzenie jawiło się profesjonalizmem i widać było tzw gołym okiem i na każdym kroku, iż "ktoś" się bardzo napracował, by zorganizować takie, bądź co bądź, duże przedsięwzięcie.
Ogólnie również oceniam całe wydarzenie na plus – fajne doświadczenie.
Ps.
Dziewczyny grały mega fajnie. Szkoda tylko, że tak krótko, bo miałem pewien niedosyt:)

procent
12 years ago

jj,
Zachowujesz się jakby było co relacjonować z tego gniazda grzechu i plugawości, gdzie nieroby we wtorek szaleją. Tfu.

procent
12 years ago

Łukasz K.,
No tak, od strony organizacyjnej na pewno "ku lepszemu idzie":)

procent
12 years ago

barozi,
Pozostaje pozazdrościć:). Niby na upartego dałoby się z MTS zdążyć na Ayende… ale jakoś tak się nie złożyło.

Maks
12 years ago

@procent Mr Andrzejewskiemu należało się 10/9, za te 6 sekund na stojaka i hymn żałobny był pierwsza klasa. Dla mnie osobiście najlepsza sesja MTS’u.

mgrzeg
12 years ago

@procent: Jest szansa na nagranie z Ayende, więc jeszcze nie wszystko stracone :). Oczywiście co innego spotkać się na żywca i porozmawiać, ale może i tyle wystarczy…

procent
12 years ago

mgrzeg,
Byłoby cool, daj znać jeśli się uda:)

osheu
osheu
12 years ago

Fajna relacja, bastante interesante – jj niechaj tłumaczy, przecież zna esp. :)

Napiszesz kilka słów o kolacjach (fajnie brzmi to po Polsku :)), i mean collation in mssql 2k8, co panowie Potasiński i Adamczuk o tym wspomnieli?
Jak przykazali ich używać aby uniknąć niekompatybilności z faktycznym użyciem?

Pozdro,
osheu

procent
12 years ago

osheu,
Generalnie sprowadza się do tego że trzeba testować ustawienia w różnych warunkach – i dev i prod:).
Główny tip jaki zanotowałem: stosować collation windowsowe (krótsza nazwa) a nie sqlowe (dłuższa nazwa).
No i jak znikają nam polskie znaki albo porównanie/sortowanie stringów nie działa jak trzeba to jest to pewnie właśnie kwestia collation.

Bartek Pampuch
Bartek Pampuch
12 years ago

Heh, nie spodziewalem sie "wystapic" w Twojej tegorocznej relacji, ale bardzo mi milo przeczytac cos takiego ;)
No niestety (a raczej – na szczescie :D) priorytety mi sie w zyciu mocno zmienily i ze wzgledu na czas, ktory chce spedzac z coreczka musialem w tym roku odmowic :)

pozdrawiam serdecznie, bartek

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Książka

Zobacz również