poniedziałek, 16 maja 2011

Wrażenia po konferencji GeeCON cz.2 (Conference Day II i Community Day)

Wrażenia z pierwszego dnia konferencji opisałem już w poprzednim wpisie: Wrażenia po konferencji GeeCON: Conference Day I. W piątek (Conference Day II) jakoś ciężko mi było się wcześnie rano zebrać. Jako że znów początkowo musiałem być na stoisku firmowym, nie uczestniczyłem w porannych wykładach.

Pierwszy wykład na który dotarłem to była prelekcja: Eugene’a Ciurana The No-Nonsense Guide to Hadoop and HBase in Enterprise Apps. Autor opowiadał o framework’u Hadoop, który skupia w sobie sporo innych ciekawych technologii, wspomagających rozproszenie systemu. Było dużo wiadomości, ale bez konkretów. Trochę dokładniej było o bazie HBase podobnej do BigTable od Google. Na koniec prelegent namawiał do pracy w swojej firmie i sporo oferował, za polecenie pracownika.

Później był obiad, dokładnie taki jak wczoraj. Część uczestników zamiast niego poszła gdzieś indziej zjeść.

Następnie udałem się na prezentację Marka Matczaka pt. 10 common pitfalls when using Hibernate, z którym mam przyjemność współpracować. Słyszałem również tą prezentację kilka dni wcześniej i dokładnie wiedziałem o czym będzie. Marek pokazał pułapki na jakie można się natknąć używając Hibernate’a. Ciekawa prezentacja poparta przykładami z życia. Po prelekcji grupka ludzi otoczyła Marka, zasypując go pytaniami. Sporo ludzi nie zrozumiało idei session-per-conversation, czyli wzorca przydającego się w aplikacjach, gdzie mamy kilka kroków w jakimś procesie, jak np. bookowanie biletów lotniczych. Warto wówczas zacząć sesję Hibernate’ową na początku procesu rezerwacji biletu, a zakończyć ją, gdy już będzie zapłacone. Rozwiązanie takie jest zaimplementowane we framework'u Seam.

Następnie poszedłem na Anton’a Arhipov’a Bytecode for discriminating developers. Początkowo było o drzewach AST, czyli krótkie wprowadzenie do kompilatorów. Muszę przyznać że slajdy były bardzo ładnie przygotowane, zwłaszcza te pokazujące operacje wykonujące się na stosie. W ogólności jest 256 słów kluczowych w maszynie wirtualnej Javy, i praca z bytecode’m nie jest taka straszna dzięki narzędziom javap (do podejrzenia kodu JVM) i Javassist (do modyfikowania kodu w locie). Później trochę przysnąłem i obudziłem się pod koniec. Anton jest współautorem narzędzia JRebel, służącego do szybkiego redeploy’a naszych aplikacji, bez konieczności restartowania serwera. Szkoda, że rozwiązanie jest płatne:/

Następnie wybór prezentacji był bardzo ciężki i w końcu poszedłem na Andres’a Almiray’ego z prezentacją Polyglot Programming. Prelegent porównywał jave, groovy’ego, scalę, i clojure. Mi to trochę przypominało onanizm składniowy. Może przykłady były źle dobrane do tego, aby pokazać przewagę pewnych języków nad innymi? Później autor pokazał, że można łączyć te języki ze sobą.

Na koniec poszedłem jeszcze na prezentację dra Jim’a Webber’a pt. A programmatic introduction to Neo4j. Prześmieszny koleś i na scenie robił niezłe show. Biegał, rzucał żartami i cieszył się jak publiczność atakowała go pytaniami. Co do wykładu, to najpierw ogółem opowiadał o NoSQL, że coraz więcej danych przechowujemy i że są one coraz bardziej skomplikowane. Najpierw kilka godzin modelujemy nasze dane, rozpisujemy relacje, tworzymy bazę danych, a na koniec i tak robimy denormalizację, bo nasza baza nie wyrabia. Jim podał dobre przykłady, gdzie można wykorzystać bazy grafowe. Porównał szybkość wyszukiwania naszych przyjaciół w typowym serwisie społecznościowym. Przewaga Neo4j w stosunku do relacyjnej bazy danych była tutaj miażdżąca. Jim polecał ściągnięcie tutoriala o Neo4j z github’a: https://github.com/jimwebber/neo4j-tutorial.

Dodatkowo dostęp do Neo4j z poziomu innych języków, może łatwo się odbywać przez REST’a. Jeśli chodzi o poziom rozdzielenia transakcji w Neo4j to jest to dostęp serializowany, ale na używanym podgrafie. Bardzo fajna prezentacja, szkoda, że dopiero na koniec konferencji.

Gdzieś tam w międzyczasie było jeszcze losowanie książek i innych nagród na stoiskach sponsorskich, ale na nic się nie załapałem.

Zostałem jeszcze w Krakowie na sobotę na Community Day. Tam już organizatorzy byli kompletnie wyluzowani, gdyż odbywało się to w pobliskim hotelu i było o wiele mniej uczestników (większość w piątek wieczorem pojechała do domu).

Na Community Day najpierw uczestniczyłem w Visage Android Hands-on Lab, prowadzonym przez Stephen’a Chin’a. Przedstawiał on coś co się nazywa Visage i służy do budowania GUI w JavaFX m.in. na Androida. Niby mniej tekstu i przyjemniejszy w czytaniu niż XML, ale jakoś nie do końca się przekonałem. Prezentacja była trochę niedopracowana i właściwie pomagaliśmy Stephan’owi ją usprawnić.

Autor przygotował obraz wirtualnej maszyny z kompletnym środowiskiem. Pomysł dobry, ale wykonanie trochę słabe. Początkowo dużo grzebaliśmy w podstawowym edytorze tekstu, dodając nowe funkcjonalności do naszej aplikacji. Wiązało się to ze zgadywaniem, w którym pakiecie może leżeć dana klasa. Później kopiowaliśmy pliki do świeżego projektu, modyfikowaliśmy XML’e, po to aby móc w końcu uruchomić całe cudo w NetBeans’ie (akurat był zainstalowany na wirtualnym obrazie). Ze względu na różne problemy uczestników po drodze, nie udało nam się zrealizować całości.

Po „laborce” był obiad. I tu o dziwo był obiad hotelowy, smaczny i całkiem spory wybór. Kto chciał mógł również sobie zamówić piwko.

Po obiedzie poszedłem jeszcze na prezentacje Tomasza Kaczanowskiego, pt. Who watches the watchmen? - on quality of tests. Właściwie jakieś 85% omawianych zagadnień już gdzieś wcześniej słyszałem i wiele nowego się nie nauczyłem. Mimo wszystko prezentacja była fajna z dobrym angielskim prelegenta i kameralnym gronem słuchaczy.

Tego dnia jeszcze dostałem od kolegi Krzyśka fajną nalepkę na klawiaturę, ze skrótami do IntelliJ IDEA. Podobno rozdawali to dzień wcześniej na jakimś wykładzie, ale mnie to ominęło. Jak wygląda taka klawiatura (i nalepki) można zobaczyć na blogu Hamlet’a D'Arcy.Tak samo okleję swoją klawiaturę w laptopie:) Przydało by się jeszcze coś takiego dla Eclipse’a.

Podsumowując uważam konferencję za udaną. Jedynie trochę obiad był kiepski, ale poziom prezentacji był wysoki. Wiadomo, że czasem się trafiło tak, że nie bardzo było na co iść, no ale trudno. Niemal na każdej konferencji się tak zdarza. Teraz zostaje czekać na publikacje prezentacji i nagrywanych filmów z wystąpień. Za rok trzeba się znów tam pojawić.

A już niedługo: Confitura (dawniej Javarsovia). Obecnie trwają prace na wyborem tematów, ale już wkrótce powinna ruszyć rejestracja uczestników. Już się nie mogę doczekać.

3 komentarze:

  1. Ja również nie mogę doczekać się Confitury! Do zobaczenia!

    OdpowiedzUsuń
  2. Witaj Marcinie,

    dzięki za wzmiankę o mojej prezentacji. Faktycznie nie zaszokowałem słuchaczy niczym nowym (być może tylko mutational testing niektórzy widzieli po raz pierwszy w życiu), ale i nie taki był mój cel. Starałem się z różnych stron dobrać do problemu pisania testów wysokiej jakości. Wydaje mi się że dopiąłem swego, spora w tym zresztą zasługa fajnej publiczności, dzięki której wykład (co groziło nudą) zmienił się miejscami w ciekawą dyskusję.

    --
    pozdrawiam
    Tomek Kaczanowski

    OdpowiedzUsuń
  3. @Tomek Jeśli chciałeś dobrać się do problemu z różnych stron, to jak najbardziej Ci się udało. Dyskusje również mi się podobały. Uważam, że tematyka powinna być poruszana już podczas studiów. To się już zmienia na dobre patrząc na nauczanie TDD MIMUWie: http://agile.waw.pl/

    OdpowiedzUsuń