16 maja 2013

Wokół Atmosphere Conference w Poznaniu


W drodze do Poznania


Moją konferencyjną przygodę zacząłem od wyjazdu pociągiem o 17:55 do Poznania. Pustki w pociągu były przerażające. Zająłem całkowicie wolny przedział, co z jednej strony cieszy, ale biorąc pod uwagę, że przecież nie o to chodzi w funkcjonowaniu PKP, zmartwiłem się. Czyżby tak niewiele osób korzystało z tego środka lokomocji? Dlaczego? Pogoda jakby wymarzona na przejazd koleją. Najwyraźniej niekoniecznie.

Do mojego przedziału wszedł inny mężczyzna.

Pociąg ruszył bez opóźnień, co wprowadziło mnie w jeszcze bardziej pozytywnym nastrój. Jak ja lubię podróżować koleją! Jedynie niektóre wiadomości na temat jej stanu próbują zepsuć mi dobrą opinię na jej temat. Wciąż żyję, a to pozwala mi wciąż promować tę formę podróżowania - kiedykolwiek i gdziekolwiek w Polsce (oczywiście przy założeniu, że korzystam z InterCity - wybacz taka moja przypadłość "hrabioska"). W pociągu mam (zwykle) zagwarantowane - prąd i możliwość kupienia biletu w pociągu oraz czas na własne sprawy. Jedzenie też niczego sobie - narzekać nie mogę.

Moją uwagę zwróciło 26 wat przy kontakcie. Przywykłem do 230 V, więc nie omieszkałem wspomnieć o tym na głos. I tu zaczyna się przygoda z panem z przedziału.

Uwaga na głos (uprzejmie, ale z wrodzoną, dziecięcą ciekawością) zwróciła uwagę pana z przedziału, który okazała się być…około piędziesięcioletnim automatykiem z okolic Szczecina, któremu przyszło obecnie studiować sztukę w Warszawie dla zabawy! To nazywa się zapał i umiejętność wyboru. Ciekawy gość, bo w poszukiwaniu pracy rzuca go po Europie - 5 lat w UK, kilka wcześniej w Holandi, trochę w Polsce (wtedy zaczął studia w Warszawie), aby ponownie od czwartku rozpocząć pracę w Rotterdamie (Holandia). Studiowanie sztuki nie ma jakiegokolwiek celu zarobkowego, a jedynie spełnienie dawnych marzeń. Niestety, przy pracy w Holandii może to być niezwykle trudne zadanie czasowo. Skoro jednak dał radę pracować przez 5 lat od 17 do 6 rano przez 4 dni w tygodniu, to i to powinno się udać (przy trochę większym niż przeciętnym zaparciu). Czego nie robi się dla własnego, dobrego samopoczucia, nieprawdaż?!

Pogawędziliśmy dłuższą chwilę, aż do Konina, gdzie rozrzuciło nas po pociągu, bo przedział okazał się być zarezerwowany przez grupę 6 osób jadących do Niemiec. Bywa. Rodząca się znajomość została zduszona w zarodku. To był faktycznie wartościowy gość!

Żal na bok i wróciłem do mojej przygody z nauką języka Scala na Courserze. To już ostatni tydzień kursu, więc czasu niewiele, a trzeba odsłuchać nagrań, pogłówkować i zgłosić rozwiązanie zadania, który okazuje się być grą! To lubię! Gram, a wszyscy nazywają to nauką. Czegóż można więcej sobie życzyć?!

Przy okazji odsłuchiwania nagrań z kursu, uczę się (przyzwyczajam się do) posługiwania iPadem, który traktuję jako platforma multimedialna - odsłuchiwanie nagrań prezentacji z Coursera i YouTube oraz czytnik książek. Spadek od firmy, jeśli zastanawiasz się skąd pomysł na iPada zamiast tableta androidowego. Spisuje się i zaczynam dostrzegać zalety posiadania go. Zacząłem również traktować go jako zeszyt i wrażenia z prezentacji na żywo, w których uczestniczę zapisuję właśnie w notatniku na iPadzie, aby później trafiły do mojego bloga-Notatnika tutaj. Kolejny raz potwierdza się reguła, że wielu rzeczy należy się nauczyć, aby używać z ich przeznaczeniem, co początkowo nie musi być oczywiste (pomijam granie w gry, czy przeglądanie stron webowych, które są oczywistą oczywistością dla wielu, jeśli nie dla wszystkich - to zbyt banalne i za mało uzasadnione, aby kupować iPada za kilka tysięcy). Do Poznania przejrzałem wszystkie prezentacje z ostatniego modułu szkoleniowego Week 7: Lazy Evaluation. Cudnie!

Niestety, przy ogólnym, długotrwałym zmęczeniu (przez ślęczenie przed kompem całymi godzinami, wliczając to noc), skupienie się na oglądaniu nagrań (przy jadącym równomiernie pociągu i panującej ciszy wokoło) usypia i ledwo wytrzymywałem, aby nie klapnąć. Kiedy pojawił się Poznań Główny, trochę zdębiałem, prawie zamroczony walką ze snem i chęcią dotrwania do końca nagrań. Będę je i tak musiał odsłuchać ponownie, ale zgrubnie wiem, co Odersky zamierzał przedstawić i idea strumieni (Streams) w Scali kręci mnie! Pierwszy kontakt z tym typem opóźnionego wyliczania wartości miałem już przy lekturze F#… oraz Functional Programming in Scala...

Zmęczenie wygrało i na spotkanie prelegentów nie dotarłem. Padłem ze zmęczenia. Organizatorzy wybaczcie! Wierzę, że wynagrodziłem Wam moją nieobecność prezentacją na konferencji Atmosphere. Dziękuję za zaproszenie! Było warto.

11:05 - 11:45 Scaling Agile@Allegro Krzysztof Dąbrowski Allegro Group


Na prezentację otwierającą konferencję wybrałem Scaling Agile@Allegro Krzysztofa Dąbrowskiego z Allegro Group. Wybrałem ją z pewnymi obawami, bo raz, że temat niespecjalnie dla mnie ciekawy, a dwa, że na stronie można było znaleźć "Abstract will be published soon". Co mnie jednak najbardziej intrygowało w tej prezentacji to osoba prezentera - w końcu nie codziennie ogląda się "CIO of Allegro Group and management board member responsible for IT development and operations in the central and eastern Europe.". Od osób na stanowiskach zarządczych oczekuję elokwencji, aparycji i wiedzy. Chciałem zobaczyć na własne oczy, jak bardzo Allegro stawia na określenie swojego wizerunku na konferencjach. Zawsze wyobrażałem sobie, że skoro CIO of Allegro Group występuje, to przed wystąpieniem przeszedł cały szereg szkoleń przygotowawczych, które w połączeniu z praktyką zarządzania ludźmi będą pozytywnie oddziaływały na słuchaczy.

Raspberry Pi


Przy wejściu do budynku konferencyjnego spotkała mnie miła niespodzianka - każdy uczestnik konferencji otrzymuje...Raspberry Pi! To była bardzo miła niespodzianka. Niestety, na prezent muszę trochę poczekać, bo uczestników było więcej niż przewidywano (brawa!) i sprzętu po prostu nie starczyło (mniej braw).

Back to Krzysiek


A wracając do wystąpienia Krzyśka. Zaoszczędzę Krzyśkowi męk "wsłuchiwania" się w odgłosy z internetowego eteru - było przeciętnie. Może należałoby obniżyć oczekiwania, aby ostateczna ocena była wyższa?! W końcu ocena końcowa jest subiektywna i wyznaczana jest również przez pryzmat oczekiwań. Niższe oczekiwania być może dałyby wyższe noty, a tak…zacząłem przyglądać się wystrojowi wnętrz.

Otwarta przestrzeń i ciekawy wystrój "wnętrz" sprawiała wrażenie miejsca na hack-a-thon. Były krzesła (jak się później dowiedziałem ze względu na ich mniejsze wymaganie odnośnie miejsca) oraz pufy do siedzenia, co w połączeniu z monitorami w kilku miejscach sali wywarło na mnie bardzo pozytywne wrażenie. Podobało mi się. Duże brawa dla organizatorów za pomysł.

Jako, że miejsce wystąpienia nie było osłonięte z jednej strony, hałas z przestrzeni kulinarno-społecznej skutecznie zakłócał wsłuchiwanie się w wystąpienie. Z pewnością należałoby to wyeliminować przy kolejnej edycji.

Słówko z Brianem McCallister'em


Zaraz po wystąpieniu Krzyśka rozpocząłem poszukiwanie Brian'a McCallister'a. Nie mogłem doczekać się, aby zamienić z nim słowo. Akurat w tym momencie miał nagrywany wywiad, więc przestępując z nogi na nogę (nie?)cierpliwie czekałem.

I się doczekałem!

Brian okazał się być bardzo przenikliwym rozmówcą i nad wyraz sceptycznym. Bardzo schłodził moje zapędy do zmiany świata imperatywno-obiektowego na funkcyjny. Na moje zapytania o jego postrzeganie programowania funkcyjnego z Clojure i Scalą, prawie nie ziewnął ze znudzenia. Nie porwało go najwyraźniej, co, w połączeniu z pewną moją nieśmiałością, można zrozumieć. Kiedy dorzuciłem do tego pomysł wdrożenia kilku konstrukcji funkcyjnych do Apache TomEE, skwitował to stonowanym "A po co?" Powiedział to w takim stylu, z takim spokojem i opanowaniem, jakby mnie ktoś oblał najpierw zimną, a później gorącą wodą (w granicach rozsądku) i zostawił mnie mokrego - zdębiałem i może nawet przez moment zastygłem z otwartą buzią. Spodziewałem się (kolejny raz te oczekiwania!), że porwę go w wir dyskusji na temat wyższości jednego podejścia (obiektowego) do paradygmatu funkcyjnego, a tu…flauta. Zero jakiegokolwiek powiewu! Nawet takiego najdrobniejszego.

I tak sobie rozmawialiśmy na temat jego zainteresowań, zatrudnienia, o kilku wspólnych znajomych, o niezwykle przyjemnej atmosferze pracy w Facebooku, którą możnaby przyrównać do sławetnych czasów w Google, gdzie wszystko jest dane programiście, jeśli tylko może być bardziej produktywny bez konieczności przekonywania nieprzekonanych i nietechnicznych o potrzebach przekonanych i technicznych. Dodając do tego atmosferę "zajeb…tości" pracowników Facebooka i mamy pracodawcę marzenie - dla każdego programisty. Niestety, Brian się tam nie wybiera, bo wiązałoby się to z przenosinami, a tego nie przyjmuje do wiadomości. Ja czekam cierpliwie na otwarcie biura Facebooka w Polsce!

Rozmowa mogłaby trwać wieki i coś mi mówi, że wiele z moich pomysłów, które zapewne i tak nigdy nie dojdą do skutku, przy jego opanowaniu z marszu poszłoby do kosza. A tak pozostaje mi wierzyć, że kiedyś coś stworzę technicznie - mimo, że wszystkie znaki na ziemi i niebie mówią inaczej.

12:55 - 13:45 Lunch


Lunch smaczny. Udało mi się dołączyć do grona dwóch, nieznanych mi wcześniej panów, aby po chwili naszych ożywionych rozmów zwiększyć liczebność do 6. W takiej atmosferze o jedzeniu nie było co marzyć, bo się człowiek angażuje w dyskusje i zapomina przy tym o doświadczaniu przyjemności jedzenia. Makaron z czosnkiem pozostawił jednak miłe wspomnienia.


Do mojego wystąpienia pozostało niewiele ponad godzinę, więc pożegnałem rozmówców i udałem się na bok, aby w zadumie przygotowywać się psychicznie do wydarzenia. Musiałem ochłonąć, szczególnie, że wystąpienie planowałem poprowadzić po angielsku, a ożywione rozmowy prowadziłem po polsku, co sądziłem, że może mieć znaczenie na ostateczny wynik. Trzeba było spauzować.

14:45 - 15:35 Ja(cek Laskowski) z Functional web development with Git(Hub), Heroku and Clojure



"Experience a web application development with git as a source control management tool (on GitHub) as well as a deployment tool to a cloud (Heroku) and Clojure as a functional programming language." było zajawką mojego wystąpienia. I kto by pomyślał, że Clojure będzie najbardziej oczekiwanym obszarem mojego wystąpienia?! Ja do tej grupy niestety nie należałem.

Jak to w takich sytuacjach bywa, po wcześniejszym uśpieniu laptopa, okazało się, że niekontrolowane powtykanie dodatkowych urządzeń - odbiornika USB do pilota oraz projektora - zawiesiło system i wymusiło konieczność restartu (!) Masakra. Zawsze tak jest.

W trakcie restartu na sali pojawił się Andrzej Targosz z pytaniem o język wykładowy. Odpowiedziałem dyplomatycznie, że planowałem angielski, ale jeśli na sali będą wyłącznie sami polacy, przełączę się na polski. I w tym momencie nadszedł Paul Hammond, a później jeszcze dołączył do nas Muharem Hrnjadovic z Rackspace i pozostaliśmy przy angielskim.

Do prezentacji wrzuciłem kilka nowych sztuczek, które zebrałem podczas ostatniego spotkania Warszawa JUG z panami +Jakub Nabrdalik, +Paweł Cesar Sanjuan Szklarz oraz Paweł Sidoryk. Pokazali mi, co powinienem użyć w mojej prezentacji - strona wizualna i werbalna - oraz wręcz przeciwnie - czego nie powinienem.

Najbardziej zapadł mi w głowie Kuba Nabrdalik, który wyróżniał się w tym trzyosobowym tłumie prezenterskim (wrażenia ze spotkania niebawem). On w zasadzie wykreował moje zachowania podczas mojego wystąpienia na Atmosphere. Dzięki Kuba! Nie wyobrażasz sobie jak Twoje zachowanie inicjowało wyobrażenia dla mojego wystąpienia na Atmosphere. Jak tak dalej pójdzie, będę musiał poprosić Cię o dalsze rady prezenterskie, tak dobrze Ci idzie. Gratulacje (wykładniczego) rozwoju w trudnej dziedzinie prezenterskiej!

Po primo, baczniej przyjrzałem się stronie wizualnej slajdów. Nie mają one być podporą wystąpienia - czarnobiałą serią treści, którą trzeba czytać i czytać, aby nic nie wyciągnąć dla siebie, ale kolorowymi kartkami komiksu, który ma zawierać wyłącznie tyle treści, ile należałoby zapisać w swoim notatniku oraz, albo przede wszystkim,…bawić! Duża porcja humoru jeszcze nikomu nie zaszkodziła, a nie miejmy złudzeń - co można zrobić w 50 minut?! Później po prezentacji dowiedziałem się, że wiele :-)

Na pewno prezentacja ma przywoływać pozytywne skojarzenia i pozostawiać słuchacza w dobrym nastroju. Wciąż uważam, że moje slajdy są za mało różnobarwne i niewiele w nich zdjęć i rysunków, ale już nabrałem przekonania, że powinienem ich mieć więcej (krok ku doskonałości prezenterskiej). Kolejne, moje wystąpienia - Scala na Warszawa JUG oraz Clojure i Scala na JEEConf pozwolą mi na dalsze usprawnienie warsztatu praktycznie.

Idąc śladami Jakuba Kubryńskiego (współorganizatora konferencji Confitura 2013) dobrałem inną czcionkę z Google Fonts. Kiedy zobaczyłem tą wybraną nie sposób było mi się jej oprzeć i natychmiast użyłem jej w mojej prezentacji w Keynote (przypominam, że pracuję na MacOS X). Efekt bombowy, a z zielenią w tle podwójnie bombowy! Byłem z siebie zadowolony ponad miarę i chociaż ten aspekt zauroczenia publiczności miałem z głowy. Wiedziałem, że jeśli gdziekolwiek polegnę, to na utrzymaniu czasu lub angielskim. Obie rzeczy do opanowania, więc niepokój nie był specjalnie duży.

Moja prezentacja nie miała za zadania wprowadzić słuchaczy do świata programowania funkcyjnego z Clojure czy stanowić platformę edukacyjną do git'a, GitHuba czy Heroku. Postawiłem przed sobą cel prezentacji jako podsumowanie dotychczasowych dokonań poznawczych w aspekcie użycia ich trzech do zbudowania aplikacji webowej, która odbiegała architektonicznie od dotychczasowego modelu Java EE. Jakoś tak przyszło mi związać się z GitHub, Heroku i Clojure, bez specjalnego wskazania, że są to najlepsze "zabawki" na rynku. Taki miał być przekaz.

Z moich rozmów z uczestnikami wyłoniła się prezentacja niezbyt techniczna (to odpowiada mojemu wyobrażeniu), której część o GitHubie (którego znała prawie cała sala) powinna zostać przeniesiona do części Clojure (którego znało niewielu). Okazało się, że większość z zapytanych osób oczekiwało większego przekazu merytorycznego o Clojure! Mój plan tego nie zakładał, więc nie powinienem być zmartwiony ocenami, ale szkoda, że nie wykorzystałem okazji do promocji tego języka. Bardzo żałuję, że za mało poświęciłem czasu Clojure, który założyłem, że może nie zainteresować wielu, ale w połączeniu z całym środowiskiem - GitHub + Heroku - zachęci kilku śmiałków. Okazało się, że się myliłem i trzeba było więcej o Heroku, a najwięcej o Clojure.

Fajnym podsumowaniem mojego wystąpienia była rozmowa z +Mateusz Harasymczuk, który zwrócił uwagę na ciekawą rzecz - skoro GitHub i Heroku zostały użyte przeze mnie wyłącznie ze względu na bezobsługową pracę (kilka kliknięć i temat z głowy), to tyle samo czasu powinienem poświęcić na ich przedstawienie. Po co rozwodzić się nad czymś, co tego nie wymaga. Samo się broni. To była złota uwaga! Dziękuję Mateusz!

Ku mojemu zaskoczeniu, oczekiwania względem mojej prezentacji oscylowały wokół Clojure i zabrakło dwóch-trzech slajdów z przykładowym kodem źródłowym, który robiłby więcej niż przysłowiowy Hello World. Ciekawą uwagą była również ta odnośnie koloru zielonego jako tła do prezentacji - nigdy więcej! Podobnież jest to kolor źle dopasowujący się do różnych monitorów i przez to słabo wypadający jako tło slajdów. Szczęśliwie mój ulubiony kolor - niebieski - został zaaprobowany przez speca od prezentacji jako możliwy (z ciemnymi - czarnym - lub jasnymi jako preferowanymi). Muszę jeszcze podszlifować angielski i wyrzucić nieśmieszne historyjki, i będzie cacy!


Epilog


Dziękuję organizatorom za umożliwienie mi szlifowania moich umiejętności prezenterskich oraz za wspaniałe prezenty. Poniżej z Andrzejem i modelem promu kosmicznego. W końcu to Atmosphere!


Konferencja Atmosphere była wartościową platformą poznawczą - społecznościowo i prezentersko. Do zobaczenia!