Wednesday, December 21, 2016

ng-poland 2016 - konferencja frontendowa z perspektywy backendowca

Pierwsza polska edycja konferencji dotyczącej Angular'a odbyła się 22 listopada 2016 w rozpoznawalnym miejscu stolicy, które jest łatwo dostępne dla podróżujących każdym środkiem transportu - na Stadionie Narodowym w Warszawie.
Po dotarciu na miejsce i dokonaniu bardzo sprawnej rejestracji zająłem miejsce z dobrym widokiem (później okazało się, że nie aż tak dobrym ;)) na główny ekran i samą scenę.
W miarę szybka rundka po stoiskach sponsorów pozwoliła na zapoznanie się z ofertami pracy oraz uzyskaniem odpowiedzi na podstawowe pytania związane z codzienną atmosferą i podejściem do pracy w projektach.
Dużym plusem konferencji była forma jednej ścieżki prezentacji. Każdą z nich rozdzielała bardzo krótka przerwa poświęcona jedynie na przygotowanie sceny dla kolejnych prelegentów. Prezentacje w porannym bloku trwały 40 minut i osobiście uważam, że był to wystarczający czas na zapoznanie się z przygotowanymi tematami.

Wprowadzenie rozpoczęło się z lekkim opóźnieniem które jednak nie miało wpływu na godziny kolejnych prelekcji. W tematykę Angulara wprowadzili nas bracia Kalbarczyk - Dariusz oraz Arkadiusz.
Pierwszą prelekcję przeprowadził Wassim Chegham i dotyczyła ona biblioteki Universal służącej do server-side rendering'u. Przedstawione zostały wady Angular'a 1, a głównie brak omawianego mechanizmu SSR. Umożliwia on szybsze ładowanie się strony, uzyskanie lepszej pozycji w wynikach wyszukiwania i poprawia ogólny tzw. user experience. Następnie zademonstrowane zostały zmiany jakie zaszły w Angular 2 wprowadzające obsługę SSR.
Druga prezentacja prowadzona przez Tracy Lee rozpoczęła się spontaniczną sesją karaoke, która wprowadziła luźniejszy nastrój na sali.
Prelekcja przedstawiła możliwości Angular CLI, który łatwo rozwiązuje problemy wyboru stosowanej konwencji w projekcie - jak nazywać foldery, pliki z klasami itp. Pozwala on również na generowanie podstawowego kodu projektu, jego component'ów, service'ów przy użyciu komend linii poleceń.
W czasie 40 minutowej sesji live coding Tracy stworzyła stronę WWW dotyczącą zapowiadanej konferencji ng-cruise zawierającej dział ze spisem przygotowanych sesji, z opisami prezenterów oraz formularz dla sponsorów. Zrobiło to na mnie niemałe wrażenie jak w tak krótkim czasie można przygotować podstawowe funkcjonalności w niedużym projekcie.
Trzecia prezentacja w porannym bloku przeprowadzona przez Uri Shaked pokazała, że Angulara 2 można używać nie tylko w środowisku przeglądarki internetowej. Prelegent przed konferencją przygotował swoją wersję gry Simon w formie aplikacji web'owej, zaś w trakcie 40 minut dodał do niej fragmenty kodu umożliwiające granie na urządzeniu IoT zbudowanym w oparciu o Arduino i Raspberry Pi. W projekcie użyta została autorska biblioteka angular-iot zawierająca dyrektywy do wykorzystania obsługi przez interfejsy fizyczne.

Po pierwszej krótkiej przerwie na kawę rozpoczął się blok prezentacji sponsorów.
Pierwsza została przygotowana przez Adama Nowaczyka z firmy Acaisoft. W czasie prezentacji odpowiadaliśmy na pytania z quizu - web aplikacji wykorzystującej infrastrukturę AWS oraz technologię web socket'ów. Prosta aplikacja stworzona na szybko bardzo sprawnie obsłużyła ruch około 300 jednoczesnych użytkowników bez posiadania ani jednej linijki kodu backend'owego.
Podczas drugiej prezentacji z bloku sponsorskiego Paweł Zdziech z firmy 7N odpowiedział na pytanie czy znajomość frameworka Angular opłaca się pod względami finansowymi? Z danych przedstawionych na wykresach i diagramach wygląda, że tak. ;)
Na trzeciej, ostatniej prezentacji sponsora Phil Nash z Twilio przeprowadził nas przez historię przechowywania danych w frontend'owych aplikacjach - zaczynając od cookies, poprzez local storage, Web SQL i skończywszy na IndexedDB. Phil zaprezentował główne wady i zalety każdego z tych rozwiązań, ale głównie skupił się na ostatnim, najnowszym pomyśle czyli właśnie IndexedDB. Umożliwia ona pracę aplikacji bez dostępu do internetu, zapewnia dobrą wydajność oraz transakcyjność operacji w asynchronicznym środowisku.
Na koniec bloku sponsorskiego zostały rozdane nagrody dla grup developerów rozwijających i reklamujących Angular'a oraz najlepszych projektów go wykorzystujących.
Po tej części przyszedł czas na obiad - dla każdego uczestnika konferencji została zapewniona pizza co wg mnie jest nie lada wyczynem biorąc pod uwagę, że samych słuchaczy było około 550. :o

Popołudniowy blok prezentacji rozpoczął Nir Kaufman przedstawiając wykorzystanie Redux'a w Angular 2. Zaczęliśmy od teorii, która wg prowadzącego jest najtrudniejsza. Redux opiera się na założeniu, że w aplikacji znajduje tylko jedno miejsca przechowujące jej stan - tzw. Store, który jest "single point of truth". Aby zmienić stan aplikacji użytkownik inicjuje Akcje (Action), które są przetwarzane przez "prawdziwe funkcje" ("pure functions", Reducers). Funkcje te zmieniają stan aplikacji w przewidywalny sposób - każde wykonanej tej samej funkcji z tymi samymi danymi wejściowymi zwróci identyczny wynik.
Po wprowadzeniu do samej koncepcji Redux'a przeszliśmy przez poszczególne elementy na przykładowej aplikacji przygotowanej przez prowadzącego.
Druga prezentacja z popłudniowego bloku dotyczyła historii tworzenia aplikacji dla Spidermana przez prowadzącego - Gerarda Sansa. Największa część całej historii od strony praktycznej dotyczyła wykorzystania Router'a z Angular 2.
Omówione zostały najczęściej używane funkcje takie jak lazy-loading oraz jego przeciwieństwo – preloading czy też ograniczanie dostępu do pewnych zasobów. Każda z dostępnych funkcji została przedstawiona na przykładzie specjalnie stworzonej aplikacji.
Ostatnia prezentacja przed krótką przerwą na kawę dotyczyła wykorzystania biblioteki RxJS. Narzędzie to pozwala na zastąpienia dostępnych w języku standardowych Promise'ów.
Promise'y pozwalają na zwrócenie tylko jednej wartości jednokrotnie, ich wykonywanie nie może zostać przerwane i dzieje się od razu po zleceniu akcji.
RxJS z kolei opiera się na Observable'ach do których użytkownik się subskrybuje i dopiero wtedy wykonują zleconą akcję przez nawet nieskończony czas. Aby przerwać wykonywanie zadania wystarczy tylko usunąć subskrypcję na danym Stream'ie. Dodatkową zaletą Observable oraz RxJS są operatory pozwalające na modyfikacji wyników otrzymywanych na nasłuchiwanym strumieniu takie jak "filter", "map", "reduce" itp.

Po ostatniej przerwie z powodu nieobecności Todda Motto nastąpiła zmiana kolejności prezentacji.
Shai Reznik rozpoczął końcowy blok krótszych prezentacji trwających jedynie 20 minut.
W swojej prelekcji wyjaśnił czym są moduły w Angular. Przez cały czas prezentacji towarzyszył nam bóbr budowniczy, który chcąc stworzyć swoją aplikację przy użyciu frameworka Angular musiał poznać jego strukturę składającą się z:
- Component;
- Service;
- Pipe (filter);
- Directive.
W każdej aplikacji musi istnieć jeden moduł główny (root module), reszta funkcjonalności aplikacji powinna być rozdzielona na mniejsze moduły odpowiedzialne za pojedyncze operacje. Service'y (providers) wstrzykiwane przez Injector są pobierane ze wspólnej puli.
Kolejną prezentację dotyczącą Progressive Angular 2 apps poprowadził Ciro Nunes. Progressive App to aplikacja webowa dostępna z pulpitu. Do głównych zalet tego typu aplikacji należą:
- możliwość pracy bez dostępu do sieci;
- możliwość natychmiastowego uruchomienia aplikacji z pulpitu;
- możliwość informowania użytkownika o zdarzeniach poprzez powiadomienia systemu operacyjnego.
W czasie prelekcji, na kolejnych slajdach Ciro omawiał fragmenty kodu wcześniej przygotowanej demonstracyjnej aplikacji.
Następnie Alex Lakatos przedstawił pragmatyczne podejście do oficjalnego stylu tworzenia kodu w aplikacjach tworzonych przy użyciu Angular'a 2. Zaprezentowane zostały poszczególne zasady zalecane przez twórców Angular'a wraz z komentarzem Alexa popartym doświadczeniem z pracy własnej oraz swojego zespołu.
Jednym z niewielu polskich akcentów na ng-poland 2016 była prelekcja Tomasza Duciny dotycząca stworzenia oraz wdrożenia aplikacji bankowej w Angular 1. Całą praca zajęła ponad 1 rok i już w trakcie wdrożenia aplikacja mogła zostać uznana za przestarzałą ponieważ na rynku dostępny był Angular 2.
Tomasz opowiedział historię swojego projektu rozdzielając ją na poszczególne etapy:
- wybór technologii i bibliotek;
- projektowanie architektury;
- programowanie (rozproszony zespół, zależności między zadaniami);
- refactoring.
Kolejną prezentację Uri Goldsteina dotyczącą GraphQL niestety musiałem ominąć w większej części. Ogólnie wynika z niej, że GraphQL jest przyszłościowym sposobem komunikacji w aplikacjach klient-serwer i posiada sporo ulepszeń w stosunku do REST'a jak typowanie czy zapytania grupowe.
Na koniec konferencji Sebastian Witalec zaprezentował NativeScript - bibliotekę pozwalająca na tworzenie aplikacji natywnych. W czasie prelekcji poznaliśmy główne założenia biblioteki oraz podstawowe kontrolki UI wraz z przykładowym kodem.
Jednak oprócz aplikacji mobilnych NativeScript umożliwił Sebastianowi stworzenie bezprzewodowego kontrolera do obsługi robotów w oparciu o protokół Bluetooth. W czasie prezentacji poznaliśmy historię oraz większe perypetie jakie przydarzyły się Sebastianowi w czasie tworzenia aplikacji.

Konferencję ng-poland oceniam bardzo pozytywnie. Wszystkie elementy składowe przygotowane zostały na najwyższym poziomie, począwszy od rejestracji, cateringu i skończywszy na najważniejszym elemencie czyli prezentacjach. Każda z nich była pełna ciekawostek pod względem merytorycznym a profesjonalni prelegenci dodawali do nich pełno humoru jeszcze bardziej ulepszających ich odbiór.
Polecam wyszukanie materiałów z prezentacji w internecie i poznanie najbardziej interesujących tematów na własną rękę.
Jeśli w następnym roku będzie miała odbyć się kolejna edycja konferencji to każdemu developer'owi mającemu nawet niewielką styczność z frontendem polecam wzięcie udziału i poznanie innego środowiska od kuchni.

Monday, November 28, 2016

2016-11-22 DevOpsDays Warsaw 2016

Kilka suchych faktów na początek

Dzięki uprzejmości Łódzkiego Juga oraz odrobinie szczęścia podczas losowania, miałem możliwość uczestniczenia w świetnej konferencji DevOpsDays Warsaw 2016, która była organizowana przez firmę Proidea i tak samo jak inna duża warszawska konferencja 4Developers, miała miejsce w hotelu Gromada blisko Lotniska Chopina.

Format

Na konferencji była jedna ścieżka, co dosyć mocno ułatwiało wybór. Prezentacje trwały po 30 minut, ale jedna godzina pierwszego dnia była poświęcon na tzw. Ignite talks, na który każdy mógł się zgłosić z 5 minutową prezentacją. Ponadto, na koniec każdego dnia przewidziane były open space'y, czyli dyskusje w mniejszych gronach na interesujące tematy.

Dzień pierwszy

Oczywiście zaczęło się od rejestracji, która poszła bardzo szybko i sprawnie (dużo szybciej niż na wspomnianej wcześniej 4Developers), więc na ceremonii otwarcia mieliśmy pełną salę. Szybka ankieta wśród uczestników wykazała, że procentowy udział devów i opsów był parktycznie 50 na 50%. Zaskoczeniem była jednak bardzo duża liczba ludzi z tak zwanego enterprise'a, względem ludzi ze startupów lub małych firm.

Talk #1: From Monoliths Trough Cloud Native to Software Supply Chains

Świetna prezentacja pokazująca jak kontenery zmieniły świat. Nie nasz, programistyczny, ale ten przemysłowy. Jak kontenery, dzięki łatwości transportu, pozwoliły przenieść fabryki dalej od brzegu morskiego i przyczyniły się do utworzenia łańcucha dostawców, którzy nie musieli znajdować się w jednym miejscu. Pozwoliło to też na specjalizacje poszczególnych firm. Było to o tyle ciekawe, że powoli będziemy dochodzili do takich samych specjalizacji: każdy będzie mógł dostarczać swoje, specjalizowane kontenery i duże firmy (jak Google, Facebook, Twitter) nie będą musiały budować całego stosu usług tylko będą korzystali z usług innych dostawców.

Talk #2: A Journey Towards SRE @ Ocado

Prezentacja otwierająca oczy na bardzo ciekawy fakt - operation zajmuje więcej czasu niż development. W miarę rozwoju systemów, zespół operation powinien być powiększany. Ale czy tak sie dzieje naprawdę? Inna bardzo ważna prawda, o której zapominamy, to fakt, że najważniejszy feature każdego systemu to: It works, co odnosi się do nowych, ale przede wszystkim do istniejących już funkcji systemu.

Talk #3: The OutSystems R&D Continuous Delivery Journey

Moim zdaniem jedna z najlepszych prezentacji na tej konferencji. Opowiadała o długiej drodze jaką przeszła portugalska firma, z której przybył prelegent. Z małego zespołu z ciekawym produktem i brakiem testów, udało im się zbudować Continuous Delivery w miarę przybywania nowych funkcji, integracji i ludzi. Po maksymalnie godzinie byli gotowi do przekazania artefaktów na produkcję.

Talk #4: DevOps Transformation Tailored to Organizational Culture

Jak zmienić kulturę swojej firmy w stonę kultury Devops? Okazuje się, że w każdej firmie są obecne różne kultury: hierarchiczna, klanowa, adhokracyjna oraz zorientowana na market. Najpierw musimy zrozumieć, jaką kombinację kulturową prezentuje nasza firma oraz w którą stronę chcemy iść. Co ciekawe z wielu analiz wynika, że firmy chcą dążyć do kultury adhortacyjnej i jest to właśnie transformacja DevOpsowa.
Ciekawostka: pierwszy raz widziałem na prezentacji link do Linkedin prelegenta.

Talk #5: The Song of JBoss and Chef

Była to ciekawa prezentacja, jak za pomocą narzędzia Chef zarządzać swoim klastrem JBossów. Nie było to proste, bo wymagało korzystania tylko z CLI JBossa (a dostawcy najbardziej lubią przesyłać instrukcje w formacie screenshotów...). Dzięki determinacji zespołu możliwe było powiększenie klastra o dwa dodatkowe węzły w jedną godzinę.

Talk #6: Building a Resilient Log Aggregation Pipeline Using Elasticsearch and Kafka

Świetna prezentacja, choć tempo jej prowadzenia było bardzo duże, by w 30 minut przekazać tak wielką ilość informacji i dobrych rad. Jeśli zarządzasz klastrem Elasticsearch to ta prezentacja jest właśnie dla Ciebie. Jeśli chcesz się dowiedzieć jak podzielić swój klaster, jak skonfigurować poszczególne węzły, by były zoptymalizowane pod kątem swojej funkcji, jak przydzielić do nich zasoby, to musisz to zobaczyć. Było tutaj też trochę informacji na temat konfiguracji Kafki jako scentralizowanego buffora, konfiguracji dostawcy logów oraz systemu operacyjnego dla takiego stosu technologicznego.

Talk #7: Contive – Container Networking Done Right with Cisco ACI Fabric

Najsłabsza moim zdaniem prezentacja, prowadzona przez dwóch prelegentów. Pierwszy z nich opowiedział o narzędziu Mantl opartego na Mesosie, a drugi prelegent skupił się na zaletach narzędzia Contive od Cisco.

Ignite talks

Miało być maksymalnie 10 prelegentów - było ich 5. Dobra rada dla organizatorów: zapisujcie nie tylko tytuły prezentacji, ale i zgłaszających je, bo potem prelegenci się nie zjawiają:)

Ignite talk #1: How to manage on calls rotation effortlessly

Bardzo ciekawa prezentacja o powiązaniu DataDog, PagerDuty, aplikacji na Heroku oraz Twilio do obsługi i przekierowania połączeń. Była ona szczególnie interesująca dla mnie, bo właśnie taką aplikację potrzebujemy wdrożyć.

Ignite talk #2: Invitation to TestWarez conference

Zaproszenie na konferencje TestWarez 2017 - tak po prostu:)

Ignite talk #3: DevOps mind of security & Ignite talk 4: Testing infrastructure

Szybka prezentacja, jakie mamy zasady (ssh wystawione na innym niż 22 porcie, zasady tworzenia haseł) oraz jaki jest wpływ czynników ludzkich (szczególnie skleroza i lenistwo) na bezpieczeństwo systemów. Jak sobie z tym radzić i czego pilnować? Mamy zestaw reguł opisany w STIGs - Security Technical Implementation Guides i powinniśmy z nich korzystać, a nawet automatycznie je sprawdzać za pomocą np. Ansible (Ignite talk #4).

Ignite talk #5: Puppet vs Chef vs Ansible vs Bash

Mamy dużo dostępnych narzędzi do automatyzacji - prelegent w ekspresowym tempie wyjaśnił, jakie są zalety i wady każdego z nich. Najważniejsze:
  • bash przegrywa, bo nie ma możliwości łatwego rollbacku, ale dla obrazów dockerowych jest najlepszy
  • puppet skompiluje wszystko na masterze - ale właśnie master jest potrzebny
  • chef - możesz spodziewać się błędów w runtime
  • ansible - najlepszy do fire & forget

Open spaces

Open spaces zaczęły się od propozycji - zebranych zostało około 13, a następnie każdy za pomocą formularza Google głosował na interesujące go tematy. Wybranych zostało 8 tematów. Dla mnie najciekawsze tego dnia były Continuous delivery pipelines (najciekawsze cześć dyskusji dotyczyła zagadnienia testowania pipeline'ów) oraz F**k ups - worst experience (aż włos się jeżył na głowie).

Dzień drugi

Pierwsze dwie prezentacje przeszły mi koło nosa, ponieważ korki w Warszawie postanowiły zorganizować mi dwugodzinną podróż na miejsce prezentacji. Tak zwane: dogodne miejsce konferencji blisko lotniska nie zawsze znaczy, że będzie łatwo się na nią dostać...

Talk #1 & Talk #2

W autobusie...

Talk #3: Nobody Puts Java in a Container

Dlaczego nie uruchamiać aplikacji Javowych na dockerze? Nigdy o tym nie myślimy. Prelegent przez większość czasu opowiadał o tym jak działa docker, o co chodzi z namespaces i cgroups, a dopiero ostatnie 5 minut traktowało o samej Javie. Tylko, że bez tak długiego wstępu trudniej byłoby zrozumieć dlaczego nie uruchamiać JVMów na dockerze. Problemem jest to, że mimo iż docker pozwala na ograniczenie dostępnej pamięci lub ilości procesorów, JVM w wersji 8 nic sobie z tego nie robi i uruchamia się widząc wszystkie zasoby maszyny pod spodem. Dlatego czasem wybór wirtualizacji jest lepszy od konteneryzacji, bo daje większą izolację.

Talk #4: Learning From Configuration Management

Prezentacja opowiadająca o problemach z jakimi spotykamy się przy automatyzacji, które też paradoksalnie są często wymieniane jako plusy, np. niezmienna architektura, centralizacja, ukryte zależności systemów operacyjnych. Aktualnie narzędzia te przypominają instrumentacje (zarządzanie z boku), a my potrzebujemy choreografii, czyli dynamicznego reagowania na zainstniałe sytuacje. Rozwiązaniem tutaj ma być narzędzie Habitat od Chef.

Talk #5: Managing Server Secrets at Scale

Konkretny problem i wspaniałe rozwiązanie do niego: mamy setki albo tysiące serwerów, każdy serwer potrzebuje kilku kluczy: kluczy ssh, klucz do szyfrowania dysku, serwera zarządzania konfiguracją, tokenów do aplikacji itp. Gdzie przechowywać takie klucze? Przecież nie będziemy ręcznie ich przepisywać z płaskich plików z naszych komputerów. Przy wielkich data center to jest niewykonalne. Z pomocą przychodzi nam tu UEFI i możliwość zapisywania zmiennych w specjalnej przestrzeni w BIOSie. Jest ona łatwo dostępna, ale też bardzo mała, dlatego nie zapiszemy tam wszystkich kluczy. Jednak wystarczy zapisać jeden klucz, a z niego w deterministyczny sposób wygenerować inne podczas uruchamiania systemu. Do tego właśnie służy narzędzie gokey.

Talk #6: How We Phased out Motivational System: About Motivation in DevOps Culture

Problem motywowania ludzi nie jest nam obcy. Wszyscy odkrywają, że pieniądze to nie wszystko. Wycieranie pieniędzmi łez spowodowanych przez smutne zadania i atmosferę w pracy często nie wystarczą. Prezentacja powinna być obejrzana szczególnie przez firmy, które chcą sprawić, by ludziom pracowało się lepiej. Mam szczęście pracować w firmie, która większość z przedstawionych tu rzeczy używa w praktyce, dlatego mogę gorąco polecić ten sposób prowadzenia firmy.

Talk #7: Monitoring and Log Management for Docker Swarm and Kubernetes

Dobre porównanie możliwości zarządzania logami, gdy mamy Kubernetesa lub Docker Swarma. Poza logami ważne jest też zbieranie metryk. Istotne jest to, że są to mechanizmy wbudowane w dockera. Dla naszych aplikacji musimy sami radzić sobie z agregacją logów i metryk.

Talk #8: The Pipeline: a Shift from Classic UI-based Job Configuration Tool to a Domain-specific Language

Od historii Jenkinsa (i Hudsona) do pipeline'ów w Jenkinsie 2.0. Niestety uważam, że co do samego tematu pipeline oraz DSL, dużo szybciej można byłoby pozyskać więdzę z tutoriali dostępnych w internecie...

Talk #9: Patching 100 OpenStack Compute Nodes with Zero-day Patch within 16 Hours

Prelegent skupił się na patchowaniu libvirta używanego w OpenStacku. Jeśli chcesz się dowiedzieć jak w 16 godzin wgrać łatkę do całej masy maszyn wirtualnych i zrestartować je, ale tak by klienci tego nie odczuli, to ta prezentacja jest właśnie dla Ciebie. Hint: wyłącz Tunneling :)

Open spaces

Ponownie przeszliśmy przez proces zgłaszania i wyboru tematów do dyskusji. Tym razem dla mnie najciekawszy temat Automatic log anomaly detection. Wnioski: jeśli jesteś dużą firmą, to albo już masz narzędzie do takiej analizy, albo stać Cię na enterprise'ową wersję oprogramowania. Jeśli jesteś małą firmą, to niestety piszesz coś własnego lub bierzesz narzędzie, które ktoś już oddał jako open source. Tylko, że jeśli coś staje się w tym przypadku dostępne, tzn. to są już dużo lepsze narzędzia.

Problemy

Konferencja nie ustrzegła się błędów i problemów. Przede wszystkim trudności przysparzało podłączanie komputerów przed prezentacjami. To zawsze zajmuje dużo czasu i zawsze coś pójdzie nie tak...

Kilka słów na koniec

Konferencję mogę z czystym sumieniem polecić wszystkim zainteresowanym tematyką DevOps lub administrowania systemami informatycznymi. Sponsorzy dopisali, a prelegenci byli w większości dobrze przygotowani. Polecam też obejrzenie nagrań z konferencji, które ku mojemu zdziwieniu, zaczęły się pojawiać już w trakcie drugiego dnia konferencji.
Idąc na konferencję zastanawiałem się, co jest największym problemem w świecie DevOpsów... Myślałem, że jest to wojna Kubernetes vs. Docker Swarm. Okazuje się, że problemem tym jest wdrażanie odpowiedniej kultury w firmach oraz zarządzanie logami. To było całkiem ciekawe odkrycie.

Sunday, November 20, 2016

2016-10-06 Mobiconf


Na przestrzeni roku udało mi się odwiedzić wszystkie największe konferencje poświęcone technologiom mobilnym. W dużej mierze dzięki współpracy JUG Łódź wraz z organizatorami tychże eventów. (Polecam aktywne wspieranie stowarzyszenia JUG :)) W poprzednich swoich wpisach miałem przyjemność zrecenzować MCE oraz Droidcon. Tym razem przyszedł czas na ocenę wydarzenia jakim jest Mobiconf odbywający się w Krakowie. 

Tegoroczna edycja Mobiconf jest już trzecią z rzędu. Po raz drugi została zorganizowana w Multikinie, nieco z dala od centrum miasta, dzięki czemu unikniemy trudności związanych z zakorkowanymi o tej porze ulicami.  Unikniemy również wszelkich problemów z parkingami co na samym wstępie napawa optymizmem po dosyć długiej podróży z okolic Łodzi :). 

Organizacja konferencji
Po wejściu do Multikina witani jesteśmy przez miły zespół organizatorów, który czuwa nad tym, aby rejestracja przebiegała sprawnie i jak najszybciej. Przychodząc kilka minut wcześniej, na pewno nie będziemy mieć problemu ze zdążeniem na keynote’a. W tym miejscu warto wspomnieć również o bogatym “pakiecie startowy”, jaki został przygotowany dla każdego uczestnika - każdy odwiedzający konferencję otrzymał kubek, torbę oraz koszulkę. Jest to na pewno miły gest ze strony organizatorów. Dla gadżetów jednak nie pokonuje się kilkuset kilometrów, pozostaje nam zatem dobudzić się kawą i wybrać na pierwszą, otwierającą prelekcję.

Prelekcje
Podczas konferencji mogliśmy uczestniczyć w około 27 zróżnicowanych prelekcjach, rozłożonych na dwa dni oraz zgrupowanych w trzech równoległych trackach. Wykłady zostały tak rozplanowane, aby każdy mógł znaleźć coś dla siebie. Mieliśmy do wyboru tracki w pełni poświęcone głównym platformom: Android, iOS oraz Everything mobile, na którym poruszone zostały zagadnienia związane z szeroko pojętym designem aplikacji mobilnych. Same prelekcje prowadzone były natomiast przez osoby doświadczone, nierzadko z tytułem GDE. 

Ze względu na swoją prace zarówno z Androidem oraz iOS’em, wybierałem różne tracki, tak aby skorzystać z konferencji jak najbardziej. Mobiconf przyciągnął jako speakerów kilka rozpoznawalnych i znanych mi wcześniej z innych eventów osób. Jest to niewątpliwy plus, gdyż możemy posłuchać prelegentów, których prezentacje do tej pory mogliśmy jedynie spotkać na zagranicznych Droidcon’ach.

Jako, że konferencja posiadała ogromną ilość prelekcji, myślę iż warto skupić się przede wszystkim na tych, które zapadły mi w pamięci oraz znacząco wyróżniały się spośród pozostałych. Tradycyjnie każda konferencja powinna mieć mocne wejście, tak i było też w tym przypadku. 

Keynote uważam za najbardziej udany, chociaż nie poruszał bezpośrednio tematyki mobile. Kevlin Henney w swoim talku zatytułowanym “The programmer” poruszył zagadnienia, z którymi wszyscy programiści mają na co dzień do czynienia. Jakość oprogramowania, paradygmaty, detale - rzeczy, które są ważne dla każdego dewelopera tworzą istotę tej profesji. Kevlin porównując pracę programisty do pracy artysty sprawił, iż każdy ze słuchaczy mógł inaczej spojrzeć na wykonywany przez siebie zawód.

Konferencja poświęcona technologiom mobilnym, powinna jednak posiadać kilka mocnych prelekcji dotyczących samego mobile. Najlepszą według mnie zafundowała nam Anastasiia Voitova. Podczas “Building user-centric security model in iOS applications” poruszona została tematyka zabezpieczenia aplikacji iOS’owych przed atakami. Prelekcja poprowadzona w bardzo luźny sposób zwracała uwagę na istotne kwestie dotyczące bezpieczeństwa. Często zabezpieczenia w aplikacji kończą się jedynie na wykorzystaniu protokółu HTTPS, jednak jest to tylko czubek góry lodowej, o czym mogliśmy się przekonać podczas prezentacji.

Ogólne wrażenia

W ostatnim czasie uczestniczyłem w wielu konferencjach poświęconych technologiom mobilnym. Mobiconf na pewno zasługuję na pozytywną opinię, biorąc pod uwagę organizację wydarzenia. Jeżeli chodzi o odbiór samych prezentacji, myślę iż jest to zawsze kwestia indywidualna. Z tego też powodu, abyście sami mogli się przekonać czy warto odwiedzić tą konferencję zapraszam serdecznie do obejrzenia z niej relacji.  W momencie, gdy tworzę tą recenzję, organizatorzy przygotowali oraz udostępnili już część prezentacji do obejrzenia. Można je znaleźć na kanale Youtube Moibconf.

Tuesday, November 1, 2016

2016-10-22 Mobilization 2016

Zmobilizowani Studenci
Na konferencji Mobilization przybyła grupa studentów 4 roku informatyki na PŁ. Ogólnie wszyscy byliśmy miło zaskoczeni profesjonalnym zorganizowaniem jak i tematyką. Poniżej przedstawię opinie moich kolegów jak i moją nt. konferencji.

Paweł
Konferencja była na bardzo wysokim poziomie zarówno merytorycznym jak i organizacyjnym. Jak dla mnie najbardziej wartościowe prelekcje odbywały się w Auli chodzi mi o cały blok dotyczący reaktywnego programowania (prelegenta z Francji mało co zrozumiałem ale sam prywatnie zgłębiłem temat ), natomiast najciekawsza prelekcja była w sali Mobici dotyczyła beaconów, prelegenci opowiadali  na temat profesjonalnie i zaskakująco. o tym opowiadali. Życzyłbym sobie jak i innym żeby każda prelekcja zawierała tyle humoru i tyle wskazówek co ta. Po konferencji odbyło się party gdzie można było porozmawiać , poznać nowych deweloperów. W następnym roku biore w ciemno wejściówkę jak tylko się pojawi. Najlepsze stanowisko miała firma Harman która pokazywała zabawki które tworzą do Mercedesów klasy S.

Mariusz
Świetna konferencja. Dużo ciekawych prezentacji oraz profesjonalna organizacja. Osobiście najbardziej podobała mi się pierwsza prezentacja, którą prowadził TomTom. Temat dotyczył dronów jako "pomoc domowa", a dokładniej utworzenia mapy pomieszczenia i kazanie dronowi przenieść obiekt z punktu A do punktu B. Pokazane na niej był proces tworzenia mapy pomieszczenia na podstawie zdjęć, dopasowywania kawałków mapy na podstawie krawędzi obiektów oraz ogólnie pojętego przetwarzania obrazu w czasie rzeczywistym. Kolejną ciekawą dla mnie prezentacją była prezentacja o możliwościach języka Kotlin, prowadzona przez Francisco Estevez'a. Pokazane na niej były przykłady rozwiązań pewnych problemów właśnie z użyciem Kotlin'a, co doskonale pokazywało jego możliwości i prostotę. Bardzo podobało mi się również to, że przyszło bardzo dużo firm i można było porozmawiać z ich przedstawicielami na temat technologii przez nich używanych, czy na temat projektów które są przez nie realizowane i na przykład zostawić im swoje CV. Przychodząc na Mobilization nie wiedziałem, że można dowiedzieć się tylu ciekawych rzeczy w tak krótkim czasie. Mogę jednak z pewnością powiedzieć, że się nie zawiodłem i z pewnością udam się kolejną tego typu konferencję.

Kamil
ogólnie prelekcje na wysokim poziomie. Fajnie, że wszystko po angielsku, co pomaga się też wtłoczyć w język branżowy, choć niektórych ciężko było zrozumieć (mam na myśli prelegenta z Hiszpani).
Stoiska i poczęstunek - super, konkursy zadowalające.
Najlepsza prelekcja według mnie - ex aequo "Taming your node_modules with Yarn" oraz "(B)VIPER module applications" czy jakoś tak.
Jednym słowem konferencja, na którą warto się udać.


Dominik
Najlepsza prelekcja: Taming node_modules at facebook gdzie Konstantin Raev pokazał nowy menedżer pakietów dla node js o nazwie yarn który jest szybszy i bezpieczniejszy od npm  dodatkowo sam katalog node_modules.
Najgorsza prelekcja: Jedna prelekcja dla mnie była słaba głównie z powodu chaotyczności prelegenta.
Co mi się podobało: Przede wszystkim klimat konferencji i prelekcje.
Co mi się nie podobało: NIC!
Sama konferencja mi się podobała chociaż technologie mobilne to nie jest coś w czym pracuje albo się rozwijam ale zawsze takie wydarzenie pozwala poszerzyć horyzonty i zobaczyć że istnieje świat poza webem.

Mariusz
Mobilization VI, jest pierwszą edycją tej konferencji, w której miałem przyjemność wziąć udział. Organizatorzy postarali się, aby nie dało się nudzić.  Wiele tematów prezentacji, wśród których każdy mógł znaleźć coś dla siebie, a w przerwach możliwość porozmawiania z przedstawicielami firm na stoiskach, gdzie dodatkowo organizowane były konkursy i można było zdobyć ciekawe gadżety. Dodatkowo całość konferencji była przeprowadzona w militarnym klimacie, co dodało fajnego „uroku” całej imprezie. Organizatorzy zapewnili również, aby uczestnicy konferencji nie doznali głodu i pragnienia. Na korytarzu były przygotowane stoiska z jedzeniem i piciem, a także zapewniono ciepły posiłek obiadowy.
Wśród prezentacji najbardziej zaciekawił mnie wykład o tytule „Break the monolith with (B)Viper Modules. Or how do I start modularising my code for a better (engineering) life”. Nicola Zaghini przedstawił bardzo ciekawy sposób rozbicia aplikacji mobilnej na warstwy, którego wcześniej nie miałem okazji spotkać. Co więcej prezentacja była przeprowadzona w sposób bardzo zrozumiały oraz autor pokazywał przykłady kodu obrazujące to co mówił.
Mobilization jest konferencją, na którą na pewno warto się wybrać. Jedyne do czego mogę się przyczepić to brak prezentacji dotyczących Windows Phone (przynajmniej ja takich nie zauważyłem). Pomimo tego, że najmniej popularny system mobilny, to uważam, że powinien pojawić się na tego typu konferencji. Zabrakło mi również prezentacji o Xamarinie. Technologia bardzo niedoceniania, a myślę, że warto o nich posłuchać. Pomimo tych dwóch rzeczy, myślę, że nie ma co  narzekać, bo i tak było o czym posłuchać. Chętnie wybiorę się na kolejną edycję Mobilization.

Adam
Mobilization to najciekawsze wydarzenie organizowane przez łódzkiego JUG’a oraz zdecydowanie najlepsza konferencja programistyczna w Łodzi. Organizatorzy nie poszli na łatwiznę. Prelegenci wygłaszający wykłady zjechali się z wielu zakątków świata, aby dzielić się z nami swoją wiedzą i doświadczeniem. Każdy mógł znaleźć wśród wygłaszanych tematów coś dla siebie. Z tych najbardziej interesujących pojawiły się smaczki związane z programowaniem funkcyjnym, pomocami dla developerów Androida, zagadnieniami inżynierii oprogramowania, a nawet ku zaskoczeniu analizą obrazu i dronami. Oczywiście to tylko garstka z poruszonych tematów. Na pewno na żadnej z prelekcji nie można było odnieść wrażenia zmarnowanego czasu. Jak się można domyślić to nie wszystko. Stoiska firm związanych z łódzkim świadkiem IT też zasługują na oklaski. Na każdym z nich czekał na nas ktoś gotowy zaspokoić naszą ciekawość odpowiadając na nasze pytania. A gdyby komuś było jeszcze mało na deser czekały na niego wspaniałe nagrody i upominki. Całe wydarzenie zasługuje na piątkę z plusem. Kto się nie pojawił, niech koniecznie wpada za rok!

Tuesday, September 20, 2016

2016-09-09 Geecon Reactive


Rejestracja

Rejestracja odbyła się szybko i bezproblemowo. Można było przyjść na ostatnią chwilę.



Catering

Od rana dla uczestników konferencji czekało lekkie śniadanko. W przerwach organizatorzy zapewnili nieograniczony dostęp do ciastek, soków oraz oczywiście kawy. Na lunch można było zjeść dwudaniowy obiad. Był trochę problem z organizacją. Zrobienie z sali kinowej stołówki nie jest najlepszym pomysłem.



After Party

Po zakończeniu wykładów oczywiście after party. Organizatorzy zarezerwowali stoliki w pobliskiej pijalni, gdzie można było się napić za darmo piwa.



Miejsce

Konferencja odbyła się Multikinie. Została zarezerwowana sala kinowa mogąca pomieścić około 150 osób. Dzień organizacji konferencji (piątek), bliskość do morza zachęcały do pozostania na weekend w Sopocie.



https://www.google.pl/maps/place/Multikino/@54.4452412,18.5655159,17z/data=!3m1!4b1!4m5!3m4!1s0x46fd0a8e1c0cdea7:0x1b1a86f3e6f2719f!8m2!3d54.4452412!4d18.5677046



Prezentacje

Prezentacje trwały 45 minut. Z jednej strony w tak krótkim czasie ciężko człowieka znudzić. Z drugiej strony w większości przypadków to była walka z czasem. Szczególnie gdy był prezentowany przykład z kodami. Zdecydowanie brakło czasu na rozszerzenie przykładów.



RxJava in legacy project

Według wielu uczestników najlepszą prezentacją była RxJava in legacy projects, prowadzona przez Tomasz Nurkiewicza. Był to w zasadzie pokaz kodowania na żywo. Całość aplikacji była raczej prosta, a części kodu niepowiązane z reaktywnością zostały zamockowane. Pozwoliło to oszczędzić czas na pokazanie tego co w reaktywności najważniejsze. Było to dobre, praktyczne uzupełnienie zdobytej wcześniej (w większości tylko teoretycznej) wiedzy. Kod źródłowy został udostępniony na twitterze.






Driving new features quickly and safely with Elm

Prezentacja języka Elm z przykładami– coś dla frontendowców. Jeśli jesteś front developerem i chcesz kompilować z elma do javascriptu, to ta prezentacja była dla Ciebie. Dla reszty dobre zwolnienie tempa i pokazanie, że na froncie też dużo się z reaktywnością dzieje :).



Going Reactive

Pierwsza prezentacja będąca zupełnym wstępem. Nie było nic o technologiach, frameworkach. Nie było przykładowego kodu. Pokazanie problemów, które rozwiązuje „reaktywnośc” na bazie analogii do dystrybucji leków.





MicroServices - Old Fish, New Fish

Prezentacja-show. Wykład historyczny o pracy, projektach Kirka. Pełen niezłych żartów, elementów rasistowskich, ksenofobicznych względem programistów Cobola. Dowiadujemy się, że projekty z głównymi paradygmatami mikroserwisów były tworzone w przeszłości przez autora prezentacji. Na podsumowaniu oczywiście padło stwierdzenie, że według większości mikroserwisy to przyszłość, ale istnieją problemy z debugowaniem, konfiguracją itd.





Reactor 3.0, a JVM Foundation for Java 8 and Reactive Streams

Prezentacja prowadzona przez leada i core commitera projektu Reactor. Wprowadzenie wraz z przykładami do Reactor 3.0. Na końcu było także kilka słów o nowej wersji Springa. Ciekawy obraz przyszłości projektu Spring.












Going Reactive

Ciekawa prezentacja wraz z przykładami. Gdzie i po co można wykorzystać reaktywność. Przykład z zastosowaniem w mierzeniu wydajności JVM. Kilka ciekawostek i tricków.





Reactive back-pressure with Vert.x

Wstęp do kolejnej biblioteki do budowania reaktywnych aplikacji. Większość prezentacji zajęły przykłady. Autor mógłby zrobić refactor kodu :) .





Reactive reality check: pushing the limits

Prezentacja firmy Codewise. Zalety i problemy z jakimi programiści spotkali się podczas developowania aplikacji reaktywnych na bazie ich produktów. Wykorzystywanie reaktywności w programowaniu aplikacji mobilnych (iOS).







Podsumowanie

Na konferencji nie brakowało znanych nazwisk. Zostały przedstawione wszystkie bardziej znane biblioteki do reaktywności (Reactor, RxJava, Vert.x). Moim zdaniem największą wadą tej konferencji było to, że niektóre tematy nie zostały rozszerzone. Czas jednej prezentacji to 45 minut. Zdecydowanie to zbyt krótko, żeby dobrze wgryźć się w temat z zaawansowanymi przykładami.

Organizatorzy mogli zrezygnować z niektórych prezentacji i rozszerzyć takie zagadnienia jak programowanie w Reactor 3.0 czy w RxJava.


Sunday, July 24, 2016

2016-06-30 – Polyconf 2016

Ucz się co najmniej jednego nowego języka programowania każdego roku. Poszczególne języki rozwiązują te same problemy na różne sposoby. Ucząc się różnych podejść jesteś w stanie poszerzyć swoje horyzonty myślowe i uniknąć zapadnięcia w rutynę.
Pragmatic Programmer: From Journeyman to Master, Portable Documents, tłumaczenie własne
Tym krótkim cytatem chciałem odpowiedzieć na pytanie ale po co programista Javy ma jechać na taką konferencję? jak również i podsumować moje oczekiwania względem Polyconfa.
Dzięki współpracy łódzkiego JUG-a z organizatorami wielu ciekawych konferencji, opłaceniu symbolicznej składki 😉 i łutowi szczęścia miałem okazję wziąć udział w tym nietypowym wydarzeniu, a moją relacją postaram się Wam pomóc odpowiedzieć na pytanie, czy warto pojechać tam za rok oraz które prelekcje warto zobaczyć na YouTubie!


Czas

Już sama formuła konferencji była dość zaskakująca: trwała ona trzy dni, jednakże prelekcje odbywały się tylko jednym torem. Niosło to za sobą dosyć przewidywalne niewygody:

  • nie dało się ominąć prelekcji, których temat nie był dla nas interesujący (o ile nie odbyły się na początku lub końcu danego dnia)
  • miało się poczucie, że sama konferencja mogła trwać krócej (a więc być tańszą zarówno dla organizatorów, jak i dla uczestników) realizując te same cele i niosąc te same korzyści
Jak i pewne nieco mniej przewidywalne zalety:
  • brak konieczności wyboru toru i przemieszczania się w trakcie przerw, wraz z zaskakująco niską ilością stanowisk sponsorów i partnerów (w liczbie 1, które to stanowisko po dniu pierwszym stało już opuszczone) niewątpliwie wpłynęło na ogromne zachęcenie uczestników do networkingu, niebywałe wręcz na tle innych konferencji jakie znam
  • pozory mylą i tematy wydające się nieciekawymi (lub zwyczajnie – niezbyt dobrze nazwany) bywały jednymi z bardziej interesujących w mojej skromnej opinii
Dodać do tego trzeba również dużą rozpiętość czasową na przestrzeni pojedynczego dnia – prelekcje odbywały się od 9:00 do 19:00 każdego dnia. 
Ostatecznie, z perspektywy człowieka dojeżdżającego do miasta konferencji, godziny konferencji oceniam bardzo dobrze (choć zachowanie skupienia do samego końca wymagało stałego uzupełniania poziomu kofeiny w krwiobiegu), podczas gdy wolałbym, gdyby sama konferencja została skrócona do dwóch dni.
Ostatnią, fatalną cechą temporalną konferencji był konflikt z Confiturą, która odbyła się w ostatni dzień trwania Polyconfa. Zostałem do samego końca, jednakże w sobotę żałobnie przywdziałem koszulkę z poprzedniej edycji warszawskiej konferencji 😭.


Miejsce

Konferencja odbyła się na WPiA UAM w Poznaniu. Porównując uczelnię jako miejsce odbywania się konferencji z zeszłymi Confiturami, poznański uniwersytet wypadł całkiem przyzwoicie. Szczególną cechą (na tle moich doświadczeń) sali wykładowej była matryca monitorów w miejscu ekranu dla rzutnika. Kosztem widocznych krawędzi monitorów (nie aż tak duży problem) mieliśmy bardzo wyraźny obraz bez zgaszonych świateł na sali. Krzesełka również dawały radę.
Ogólnie miejsce oceniam nieźle, chociaż, z oczywistych powodów, do krakowskiego centrum konferencyjnemu było mu daleko.


Catering

Organizatorzy zapewnili mobilny kawomat, owoce, relatywnie zdrowe obiady (sałatka z kurczakiem, kanapki) oraz bardzo dużo bezwzględnie niezdrowych przekąsek. Ogólnie coś dla każdego, ale ostateczną ocenę pozostawiam Wam 😉.


Networking

Tak jak wspomniałem, formuła konferencji inherentnie promowała dyskusje pomiędzy uczestnikami, gdzie zwykle duża ilość stanowisk sponsorów i wyjazdy grupowe (ergo: trzymanie się we własnych grupach) mocno je ograniczają. Udało mi się odbyć wiele interesujących rozmów z programistami o różnych tłach. Prelegenci siedzieli pośród pozostałych uczestników, dlatego dostęp do nich również był bardzo łatwy.
Ostatecznie nie jestem w stanie przekazać tu wyciągniętych wniosków, ponieważ to zawsze dosyć osobista kwestia, jednakże fajnie było wyjść z szafy 😉.


Cherry picks

Trzy dni konferencji implikują relatywnie dużą ilość wykładów, z których nie wszystkie mogą być interesujące dla każdego. Rozpoczynające konferencję warsztaty, niestety, nie zostały nagrane – jednakże warsztat nt. Reacta i Clojure był – w krótkich, żołnierskich słowach – niewypałem). Również dyskusje po wykładach są nieodzowną częścią konferencyjnego doświadczenia. Dlatego też poniżej przedstawię pokrótce wykłady, które uważam za najbardziej interesujące i warte obejrzenia.


Functional Thinking – Artur Czajka

Programowanie funkcjonalne wdziera się do wszystkich platform i języków już od kilku lat. Nasz kolega z JUG Łódź w krótkiej (wykłady trwały pół godziny) i soczystej formie pokazał niedowiarkom (😜), jak funkcjonalne myślenie upraszcza wyrażanie codziennych algorytmów w programowaniu, a także jak radzić sobie z sytuacjami pozornie trudnymi dla sfunkcjonalizowania.
Prelekcja od samego początku stanowiła świetny wstęp do trendu funkcjonalnego programowania widocznego wyraźnie w całej konferencji. Jej temat nieco pokrywał się z OOP to FP – Julia Gao, jednakże Artur, w mojej opinii, znacznie lepiej wypełnił swoje zadanie.


Dynamics of change: why reactivity matters – Andre Staltz

Skoro odbębniliśmy już functional, to czas na reactive...
Jednak na poważnie, prezentacja Andre Staltza jest następną w kolejności odbywania się na konferencji, którą z czystym sercem mogę polecić każdemu. W bardzo dopracowanej, zwięzłej formie odpowiada ona na tytułowe pytanie – dlaczego reaktywność jest istotna? Znajdziemy tu rozważania na temat rozwiązań typowych problemów w ujęciu language agnostic (co dla mnie było bardzo istotne – bardzo duża ilość prelekcji dotyczyła osobistych problemów egzystencjalnych JavaScripta, gdzie dla programistów innych języków ciężko było wynieść coś ciekawego...), w tym porównania np. z AOP (bardzo trafne wg mnie) czy elementy kognitywnego podejścia do tworzenia kodu (czyli jak myślę o swoim kodzie?).
Ogólny wniosek z prezentacji mógłby brzmieć: jest miejsce na programowanie reaktywne, jest i miejsce na programowanie pasywne. Andre stwierdził jednakże, że do wszelkich problemów powinniśmy najpierw podchodzić w sposób reaktywny... Z czym osobiście uprzejmie się nie zgadzam, jednakże gorąco polecam obejrzenie prelekcji samemu.


Oden – A Functional Programming Language for the Go Ecosystem – Oskar Wickstrom

Polyconf obfitował w prelekcje w różnej formie prezentujące różne ciekawe, nowe (i stare) języki programowania. Prezentacja nt. języka Oden jest jedną z nich, którą mógłbym polecić, ponieważ:
  • bardzo łatwo go wypróbować
  • została zaprezentowana przez jego twórcę
  • jest to język na platformę Go, co samo w sobie jest dosyć interesujące
Niestety, sam język nie sprawia wrażenia, jakbyśmy za kilka lat mieli spodziewać się napisanych w nim, ogólnie dostępnych aplikacji (a, tym bardziej: sami w nim pisali 💰) – słowo eksperymentalny jest tu kluczowe, ale dla wspomnianego celu poszerzania horyzontów, warto poświęcić mu trochę uwagi i spróbować napisać kilka prostych algorytmów w REPLu. Poeksperymentować. Ja miałem sporo zabawy 😊.
Z innych prezentacji tego typu wyróżniłbym jeszcze My Adventure With Elm – Yan Cui. Poznanie podstaw Haskella mocno otwiera umysł na nowe idee, a istnienie takiego-jakby-Haskella transpilowanego do JavaScriptu (gdzie, wydawałoby się, nie da się obejść bez mutowalnego stanu) jest co najmniej fascynujące!


The Linguistic Relativity of Programming Languages – Jenna Zeigen

Tzw. miękkie podejście do programowania, które niezbyt interesowało mnie na początku mojej kariery, utorowało sobie ostatnio drogę do centrum mojego zainteresowania. Dlatego też już sam tytuł prezentacji pani Jenny wzbudził moje ogromne zainteresowanie.
To, w jaki sposób poznane języki kształtują (i ograniczają) nasze myślenie o programowaniu – taki polski, alternatywny tytuł wybrałbym dla prezentacji. Ciężko napisać tu coś więcej, więc po prostu – polecam.
Ja zasadniczo się nie zawiodłem, chociaż w tym przypadku pół godziny na prelekcję to było zdecydowanie za mało (i to mimo, że prelegentka bardzo szybkim, wyraźnym mówieniem bardzo efektywnie wykorzystała dostępny czas). Bardzo chciałbym posłuchać o tym temacie więcej.
Po jednej z prezentacji, pewien uczestnik postanowił wykorzystać czas przeznaczony na pytania aby wyrazić swoje niezadowolenie z postulatów stawianych wobec swojego ulubionego języka (stety-niestety nie pamiętam jaki to był język, ale nic ciekawego). Wówczas pewna pani o wyraźnie zagranicznej proweniencji uprzejmie przerwała mu słowami przepraszam cię stary, ale czy ty masz jakieś pytanie, czy tak sobie gadasz? Nie mogłem wyrazić tego lepiej.
Jakież było moje zadowolenie, gdy chwilę później pani ta okazała się kolejną prelegentką. Wasze doświadczenia w tej kwestii mogą się różnić, ale Julia była jedną z najbardziej nietypowych prelegentek (w grupie obu płci), jakie miałem okazję słuchać.
Wyobraźcie sobie Zooey Deschanel z serialu New Girl opowiadającą o programowaniu. Mającą ADHD. Na amfetaminie.
Chociaż jestem przekonany, że Julia nie wspomagała się w nielegalny sposób przed swoim wystąpieniem, to np. narysowana przez nią laurka na cześć narzędzia strace sprawiła, że mimo odbywania się jej prelekcji pod koniec ciężkiego, drugiego dnia konferencji, nawet bez porcji kofeiny ciężko byłoby na niej przysnąć.
Sama treść prezentacji wydaje się być oprawiona nie do końca dobrym tytułem – dotyczyła ona głównie debugowania aplikacji na poziomie systemu operacyjnego, a dokładnie – Linuksa. Wydaje się być ona zatem ciekawa i trafna dla dosyć szerokiego grona programistów, jednakże to forma prelekcji wydaje mi się najbardziej intrygująca – a nie powiedziałbym tego o wielu wykładach w moim życiu 😉.


Ecto vs. ActiveRecord: A Tale of Two ORMs – Brad Urani

Porównania różnych podejść do tych samych problemów w różnych językach programowania powinny być, wg mnie, najbardziej akcentowanym tematem na takiej konferencji jak Polyconf. Z ubolewaniem stwierdzam jednak, że było ich zdecydowanie za mało, a część z obecnych było, w mojej skromnej opinii, zwyczajnie słabych, np. Becoming a Polyglot – APIs in 4 Languages, gdzie temat wydawał się być doskonały, ale wybór porównywanych języków był jednak zbyt... klasyczny.
Prezentacja pana Brada (którą na YouTubie możecie też znaleźć w nagraniu z innej konferencji) dotknęła tematu różnych podejść do warstwy dostępu dodanych. Znów, tytuł wg mnie jest niezbyt trafny, bo tytułowe, Elixirowe Ecto ORM-em nie jest, a Rubiowe ActiveRecord tylko w pewnym sensie, ale nie jest to ważne.
Ważne jest natomiast porównanie klasycznych podejść do dostępu do danych w programowaniu, gdzie chcieliśmy zakryć wszystko obiektami i zapomnieć, że ta baza tam pod spodem jest, więc stworzyliśmy sobie na to wyjątkowo przeciekające abstrakcje (po czym stworzyliśmy noSQLe, bo SQL przestał być wydajny...), a podejściem funkcjonalnym, gdzie dostęp do danych, jak wszystko, jest cudownie explicit...
Cóż, w zdaniu powyżej nie udało mi się zachować dziennikarskiej obiektywności. Na szczęście jestem programistą, a nie dziennikarzem, zatem niezależnie od waszych opinii polecam obejrzenie prelekcji Brada, a ja w tym czasie poczekam na podobną do Ecto bibliotekę na JVM-a 😉.


Podsumowanie

To oczywiście nie wszystkie dobre prezentacje z Polyconfa. Było też kilka fatalnych. Jednakże, jeśli chociaż jedna prelekcja na całej konferencji zmieni twoje podejście do programowania lub sprawi, że będziesz lepszym programistą (albo człowiekiem?), to znaczy, że konferencja była tego warta. To oczywiście zawsze wymaga pewnej aktywnej pracy oprócz pasywnego przyjmowania informacji. Trzeba przetestować tą nową bibliotekę, albo napisać coś na blogu, albo obejrzeć prelekcję jeszcze raz, albo podzielić się nią ze znajomymi.
Czy zatem warto było pojechać na Polyconfa? Warto. Czy pojadę za rok? Cóż, zdecydowanie lepiej sprawdzę kalendarz konferencji, gdyż opuszczenie Confitury było dość bolesne, a ja wolałbym mieć możliwość wybrania innego toru zamiast oglądania prelekcji o bardzo specyficznych problemach dotyczących tylko JS-a (z całym szacunkiem dlań, ale było go jednak za dużo).

Sunday, May 8, 2016

2016-04-21 Mobile Central Europe

Promując konferencję Mobile Central Europe jako Mobilization i JUG Łódź udało się nam wypromować 22 wejściówki (22 osoby użyły kodu zniżkowego mobilization-juglodz). Zgodnie z umową z organizatorami MCEConf otrzymaliśmy 4 wejściówki, które rozdyspowaliśmy wśród Tomka Zielińskiego, Maćka Przybylskiego, Marcina Iwanickiego, Tomka Płuciennika. Witold Olejniczak zdobył wejściówkę w konkursie na wpis o Mobilization a Mariusz Saramak i Marek Defeciński kupili swoje wejściówki :). Zgodnie z tradycją w zamian za darmowe wejściówki oczekujemy recenzji na blogu JUGa. Recenzję z tegorocznej Mobile Central Europe zrobiliśmy w formie 10 pytań do. Oto odpowiedzi uczestników.
Otwarcie MCEConf

  1. Czego oczekiwałeś jadąc na konferencję i czy Twoje oczekiwania zostały spelnione?



MD - Ostatnio czuję, że coraz mniej “ogarniam” technicznie, więc chciałem dostać dobry technicznie przekaz i dostać motywację do samodzielnego zgłębiania tematu. Moje oczekiwania zostały spełnione, dużo prelekcji mi się podobało.


TZ - Za każdym razem, gdy wybieram się na konferencję, mam nadzieję nadrobić swoje braki w nowinkach. Codzienna praca często nie pozwala być na czasie z dynamicznie rozwijającą się technologią. Prelekcje zatem traktuje jako przetarcie szlaku w zapoznawaniu się z nowymi bibliotekami, które czasem również rzucają nowe spojrzenie na wzorce projektowe, ich zastosowanie i wykorzystanie.
Czy moje oczekiwania zostały spełnione? Myślę, że tak. Uważam tą edycję MCE za bardzo przyjazną developerom.


WO - Obecnie pojawia się tyle nowych bibliotek, że bardzo trudno nad wszystkim nadążyć, dlatego dobrze jest czasem posłuchać, które z tych nowinek są warte uwagi - czy MCE spełniła moje oczekiwania w tej kwestii… - nie mogę narzekać, ale niedosyt pozostał, zwłaszcza w tematach “niedeveloperskich”.


MP - Ponieważ jedyna konferencja na jakiej byłem to “Mobilization”, która jest darmowa chciałem zobaczyć jak to wygląda na konferencji płatnej. Drugim czynnikiem była cheć poznania nowości ze swiata androidowego. Myśle ze MCE po częsci spełniła pokładane w niej nadzeję jednak było też sporo rozczarowań.


TP - Jeżeli chodzi o prelekcje dot. iOS/Swift etc. To uważam, że były na poziomie podstwowym albo początkującym. Spodziewałem się bardziej technicznej konferencji, tips/tricks, podanie życiowych problemów i różne podejść do nich. Nic z tych rzeczy nie zaobserwowałem.


MI - Konferencje są dla mnie wydarzeniami, które pozwalają zatrzymać się na moment, wyrwać z rutyny, pozwalają na konfrontację własnych przekonań z przekonaniami innych osób, zwykle stokroć bardziej ogarniętych niż ja. Poza zastrzykiem świeżych wiadomości zaspokajają ciekawość, np. jakim na co dzień człowiekiem jest osoba, której autorstwa bibliotekę używasz od dawna, a której źródła w jakiś sposób wywarły na Tobie spore wrażenie; czy jest bucem? maniakiem? a może tylko i aż utalentowanym spoko-ziomalem? :) Konferencje to również znakomite miejsce spotkań z osobami, które lubimy, a z którymi nie mamy okazji widzieć się na co dzień; np. z osobami, którymi mieliśmy okazję współtworzyć świetny projekt lub przeklinać klęskę.
Tak, moje oczekiwania zostały spełnione.


MS - Uważam, że każdy developer powinien pojechać przynajmniej raz w roku na konferencję dla developerów. MCE - ma w nazwie Mobile - a ja jestem Mobile developerem więc - byłem :).

  1. Która prelekcja była najciekawsza i dlaczego?



MD - Life without fragments prowadzona przez dwóch Włochów. Prezentacje z dwoma prelegentami są raczej trudne do zrobienia w ciekawy sposób a im się ładnie udało. Nie wchodzili sobie w drogę i nie było też długich niepotrzebnych przerw przy zmianach prelegentów.
Podobała mi się też prelekcja Scotta-Alexandra o Android security - ponieważ zawierała praktyczne i proste porady do wzmacniania bezpieczeństwa. Kilkulinijkowe kody źródłowe, które można przekleić do swojej apikacji.


TZ - Pod względem merytorycznym i poziomem prezentowanego materiału, uważam że prezentacja Gregorego Kicka dotyczącą Daggera 2 była naprawdę dobra. Zastosowanie Daggera w projektach Androidowych mocno łączy się z projektowaniem samej aplikacji i myślę, że jest to kluczowe dla tej platformy systemowej.
Warto jednak wspomnieć prezentację Scotta Alexandra-Bowna poruszającą zagadnienie bezpieczeństwa w Androidzie. Często aspekt bezpieczeństwa technologii mobilnych jest pomijany podczas tworzenia oprogramowania. Scott pokazał jednak, że bardzo małym kosztem możemy solidnie zabezpieczyć naszą aplikację.
WO - najbardziej do gustu przypadła mi konferencja dotycząca bezpieczeństwa w Androidzie. Temat dość istotny, a o którym za wiele nie wiem. Dobrze, że Scott skupił się na konkretnych przykładach i ich zastosowaniu.


MP - Najlepsza prelekcja była Scotta-Alexandra o Android security, zawierała dużo ciekawych informacji odnośnie bezpieczeństwa platformy, które nie tak łatwo znależć w internecie, ponadto było sporo użytecznych kawałków kodu.


TP - Chociaż starałem się być na prelekcjach dot. Platformy iOS najciekawsza była od ponów z polidea https://github.com/Polidea/RxAndroidBle. Fajne podejście, pokazane jak porządnie robić rzeczy typu open source + zaobserwowany tool stream dla Android (Chrome plugin). Duży plus dla nich.


MI - Najbardziej do gustu przypadły prezentacje Asha Furrowa i Natashy (The Robot) Murashev. Pierwsza z tych prezentacji (Asha) była bardzo nietechniczna ale poruszała bardzo istotny, z mojego punktu widzenia, temat komunikacji. W dodatku szczerość, otwartość, ciepłe i życzliwe podejście, którym mógł zarażać sprawiły, że będę pamiętał tą prezentację jeszcze bardzo długo. Prezentacja Natashy też była super, nie, nie było w niej efektu wow, przecierania oczu, temat dość prosty ale “zaserwowany” w znakomitej formie. Świetna osobowość plus bardzo przemyślana prezentacja. I Jon Reid też fajnie!


MS - lubię wzorce projektowe i architekturę, dlatego trudno mi wybrać, bo były 3 prezentacje o Clean Architecture, ale fajnie. że tak było, byłem na trzech i wszystkie pokazały różne podejścia do tego samego tematu. To na +.  Z stricte technicznych - najlepsza o security. Na tej prezentacji i na innych padło: “Lepiej proś o przebaczenie, niż o pozwolenie”, Czy czyta to jakiś manager ? Co się dzieje z firmami, dlaczego developerzy muszą ukrywać dobre rzeczy?  Pod wpływem: https://vimeo.com/110554082 oglądałem przed chwilą - polecam.
Jedna z wielu prelekcji o architekturze w aplikacjach Android

  1. Jakie prezentacje wybierałeś? Produktowe czy techniczne?



MD - Wybierałem techniczne prezentacje a jak nie było dopiero wtedy produktowe. Kilka razy pomyliłem sale i już zostałem :D


TZ - Interesowały mnie zarówno prezentacje techniczne jak i produktowe. Każdy inżynier w swojej karierze dochodzi do momentu, w którym nie tylko aspekty czysto techniczne są najważniejsze. Musi wyjść ze swojej strefy komfortu, oraz spojrzeć na swoją pracę jako produkt, który dostarcza końcowym użytkownikom.
Większość konferencji zazwyczaj skupia się na aspekcie technologicznym, MCE natomiast pod tym względem jest wyjątkowa, gdyż dostarcza wiedzy nie tylko technicznej, ale również biznesowej. Uważam również to za największy plus konferencji.


WO - w ciągu ostatniego roku byłem już na dwóch technicznych konferencjach, a niestety tematy często się powtarzają, dlatego tym razem chciałem zobaczyć coś więcej o produktach i designie, dlatego te prelekcje starałem się wybierać w pierwszej kolejności.


MP - wybierałem prezentacje techniczne jako że ta częśc najbardziej mnie interesuje. Raz odwiedziłe m prezentacje produktową na której bardzo się wyndudziłem  


TP - tylko prezentacje ‘techniczne’.


MI - Prawie wszystkie techniczne i związane z iOS.

MS - o architekturze, techniczne, trochę miekkich - bo musimy nauczyć się gadać ze światem, niestety - nietechniczne były nudne :)

  1. Czy poznałeś kogoś interesującego podczas przerw na networking?



MD - W tym roku dużo faktycznie rozmawiałem z ludźmi przez co ciągle się spóźniałem na prelekcje


TZ - Na każdej konferencji spotykam sporo znajomych osób, bywalców wszelkich eventów, przez co częściej nadrabiam zaległości w znajomościach, a czasu aby poznawać nowe osoby, po prostu brakuje :).


WO - Chyba na poznawanie nowych osób nie było za bardzo czasu, ale za to spotkałem wielu znajomych, których nie widziałem już jakiś czas


MP - nie poznałem nikogo


TP - Nie, nie było to celem mojego wyjazdu.


MI - Zwykle spędzałem czas z ludźmi, których już wcześniej znałem, a z którymi nie miałem okazji zobaczyć się w ostatnim czasie. Poza tym, choć trochę wstydzę się do tego przyznać, jestem wielkim networkingowym nieogarem :)


MS - Najważniejsze w konferencji - nie jest sama konferencja - wszystko można wyczytać w necie, wszystko można lepiej zrozumieć czytając źródła. Najważniejsze na konferencji jest after-party, to tam po kilku piwach dowiadujemy się co ma sens, kto miał racje a kto p…. Komu zapłacili za to co miał powiedzić a kto mówił prosto z serca.   

  1. Co Ci się najbardziej podobało na konferencji?



MD - Dużo speakerów z zagranicy (chyba 99%).


TZ - Niewątpliwym plusem konferencji jest to, że odbywa się ona w salach kinowych. Slajdy wyświetlane na dużym ekranie są bardzo dobrze widoczne, co wpływa pozytywnie na odbiór prelekcji. Poza sprawami technicznymi, różnorodność tematów: design, product, engineering warta jest odnotowania.


WO - organizacyjnie impreza wyszła bardzo dobrze. Mam tu na myśli głównie miejsce (sale kinowe naprawdę dobrze się sprawdzają), a także to, że nie czułem się osaczony wszelkimi ulotkami i ludźmi z HRów.


MP - Duża ilość zagranicznych prelegentów


MI - Ciekawi prelegenci, miejsce ładowania telefonów i bardzo dobra herbata. Miejscówka też OK+.


MS - sale kinowe, wygodne siedzenia
Zagraniczni prelegenci - a nawet dwóch na jednej :)

  1. Co było do poprawy?



MD - Temat architektury na Androidzie był chyba zbyt mocno reprezentowany, mogłoby być coś innego zamiast tylu prelekcji o tym temacie. Przerwa 2h na lunch chyba nieco za długa choć flashtalki w tym roku dawały radę.


TZ - Ciężko jest mi jednoznacznie odpowiedzieć na to pytanie. Uczestniczyłem w poprzedniej edycji MCE i tą pod względem merytorycznym oceniam o wiele lepiej, co dla mnie ma kluczowe znaczenie. Według mnie podczas poprzedniej edycji skupiono się zbyt mocno na designie, w tym roku natomiast prawie wszystkie prelekcje były “engineer friendly”. Nie mam zatem powodów do narzekań.


WO - prelekcje na temat produkótw/designu mogłyby być bardziej konkretne. Szkoda, że aby dostać koszulkę musiałem instalować aplikację, logować się i wypełniać ankietę, na którą wcale nie miałem ochoty.


MP - myśle ze 2 dniowa konferencja spokojnie zmieściła by się w ciągu jednego dnia.


TP - organizacyjnie było naprawdę ok. Natomiast dopisałbym jaki jest poziom danych prelekcji.


MI - Przytrafiły się prezentację słabsze ale nawet one nie rzutowały na pozytywny odbiór imprezy, całość bardzo mi się podobała.


MS - kurcze, nie odpowiem na to pytanie, czuje jako współ-organizator Mobilization - największej mobilnej konferenci w PL, żeby nie podpowiadać ”wrogowi” - oczywiście to żart - bo jak nie napisze, że to żart - to nikt nie zrozumie.   

  1. Czy jest coś czego nauczyłeś się na konferencji i zastosujesz w swojej pracy?



MD - Na pewno rady Scotta Bowna o security. Chciałbym spojrzeć też w react native, popracować nad architektura Androidowych aplikacji i jeszcze raz zrozumieć fragmenty :). Warto byłoby też spróbować jeszcze raz z daggerem 2!


TZ - Na pewno sięgnę po kilka sztuczek jakie pokazał Scott Alexander-Bown. Bezpieczeństwo jest istotnym elementem każdego oprogramowania i myślę, że nie powinno być pomijane. Temat również jest mi dosyć bliski, gdyż pokrywa się z projektem prowadzonym w mojej firmie.


WO - chciałbym zapamiętać na dłużej rady dotyczące bezpieczeństwa, zwłąszcza, że nie wymagały wiele pracy, a wydają się sensowne. W sumie to nie wiem co myśleć o fragmentach, nigdy nie wydawały mi sie proste i jasne, a po prelekcji “Life without fragments” mam co do nich jeszcze większe wątpliwości - może należy to jeszcze raz przeanalizować.


MP - Rady na temat security w androidzie, Visor jako tool do prezentowania ekranu androida, rxble biblioteka to obsługi bluetooth.   


TP - utwierdziłem się w przekonaniu, że konferencje tego typu już nie wiele wnoszą dla mojego rozwoju. Dlatego muszę wyszukiwać bardziej tematyczne konferencje skupione na jakimś konkretnym problemie. Web + Networking znajomych jest w tym momencie lepszym sposobem na rozwój.


MI - Myślę, że kilku rzeczy np. “że czasami warto wymyślać koło na nowo!” :). Miałem też kilka infantylnych refleksji, które przychodziły w czasie trwania prezentacji, np. nawet najlepsze narzędzie czy wzorzec nie zadziała bez sprawnej obsługi, tzn na nic nam lotniskowiec z tuzinem F16 jeśli nie mamy w ekipie nawet jednego pilota awionetki :).


MS - na pewno z rad z prezentacji o security i o clean architecture.  
Jedna z lepszych prezentacji technicznych - Scott Alexander Bown

  1. Jakbyś porównał konferencję MCEConf do Mobilization?



MD - Na pewno liczba speakerów z zagranicy robi wrażenie. Miejsce jest też bardzo fajne, lubię sale kinowe na konferencje IT bo duży ekran robi wrażenie (i widać dobrze kod). Sale są podobnej wielkości co na Mobilization nie jest możliwe do wykonania. Wolę catering na mobilization bo bułką można się najeść a jedzenie na MCEConf lepiej wyglądało niż smakowało i wypełniało. No ale wiadomo że w stolicy nie wypada serwować bułek :)


TZ - To co łączy te dwie konferencje to tematyka technologii mobilnych, różni je jednak podejście do samej organizacji. Mobilization jest konferencją organizowaną przez społeczność programistów skupioną wokół Łódzkiego JUG’a, której przyświeca cel dzielenia się wiedzą z innymi. Jako, że jest bezpłatna, może wziąć w niej udział każdy - często jest to dla wielu programistów pierwszy kontakt z tego typu imprezami. Również tematyka skupia się przede wszystkim na aspektach technologicznych, w przeciwieństwie do MCE, gdzie możemy wybierać spośród tematów dotyczących technologii, designu oraz produktu. MCE, jako konferencja płatna, kierowana jest do nieco bardziej zamożnej grupy programistów, dzięki temu jednak, będąc uczestnikiem, mamy możliwość wysłuchania prelekcji prowadzonych w niemalże 100% przez gości z zagranicy.
Ostatecznie, chciałbym również nadmienić, iż Mobilization jest najstarszą konferencją zajmującą się mobile, od której zresztą zaczęła się moja przygoda w branży IT :).


WO - Miejsce w jakim odbywa się warszawska konferencja cznacznie lepiej zdaje egzamin. Pod względem merytorycznym, poziom reprezentowany przez speakerów na obu wydarzeniach jest bardzo podobny - co prawda w Warszawie mogliśmy słuchać w większości ludzi z za granicy, ale uważam, że miało to tylko zalety wizerunkowe - nasi prowadzący nie muszą mieć kompleksów.


MP - Myślę ze merytorycznie obie konferencje są na podobnym poziomie, mobilization napewno wygrywa ceną :) i jest 1 dniowa co bardziej mi się podoba.


TP - Na mobilization skonczyłem na drugiej edycji i uważam, że poziom jest bardzo podobny. Duży plus dla mobilization ze jest darmowa. Minus Łódź jest dla mnie 6 miastem po Warszawie, Wrocławiu, Krakowie, Poznaniu i Gdańsku i sądzę, że dla wielu też.


MI - Podobna tematyka, wielkość (ok 800 osób?). Oczywiście MCE miało o wiele więcej zagranicznych “gwiazd” i fajne sale kinowe ze scenami ale Mobilization ma trochę inny charakter, niekomercyjna - od społeczności dla społeczności i to ma wielkie znaczenie!


MS - :) koledzy wyżej siedzą obok organizatorów mobilization - nie mogli napisać inaczej :) tak czy siak dzięki.  

  1. Jaki pomysł organizatorów możemy wykorzystać w Łodzi na Mobilization?



MD - Podobała mi się aplikacja eventory. Dawała wszystko co jest potrzebne (agenda, moja agenda, mini chat, notyfikacje). Niektórzy twierdzili, że crashuje ale u mnie było ok. Szkoda tylko, że jest płatna dla organizatorów :)


TZ - Wydaje mi się, że organizacyjnie bardzo dobrze rozwiązany jest etap Q/A na koniec każdej z prezentacji. Podczas Mobilizacji czasami nie słychać pytań kierowanych z publiczności, przez co ucieka nam spora dawka wiedzy, gdyż to właśnie na zakończenie prezentacji, często możemy dowiedzieć się najciekawszych rzeczy.


WO - Może spbóbować organizować konferencję w jakimś kinie - nie wiem czy Kino Polonia jeszcze żyje, ale Piotrkowska byłaby świetnym miejscem.


MP - Myslę ze pytania od prowadzącego do spikere były fajne.


TP - Raczej nic. Nie wiem jak z after party jest na mobiization ale czwartkowe było mało miejsca. Wtedy chyba jest czas na poznawanie ludzi :).


MI -
1. Super jeśli uda się załatwić wyższe stoliki dla prelegentów. Prelegenci nie chcę siedzieć podczas prezentacji a normalne biurka są za niskie żeby obsługiwać komputer na stojąco.
2. Apka była bardzo pomocna
3. Code of conduct - dość popularne ostatnio na konferencjach, fajna idea
4. Wprowadzenia prelegenta przez opiekuna sali były OK!


MS - Sala kinowa, wygodne siedzenia.
  1. Czy weźmiesz udział za rok?



MD - Do tej pory byłem na wszystkich więc czemu nie!


TZ - Postaram się, ale nie obiecuje :).


WO - za wcześnie by o tym myśleć.


MP - raczej nie


TP - zobaczymy.


MI - Trudno powiedzieć


MS  - chciałbym i będę, ale raczej kupię early birda.