I letos vyrážíme na spoustu konferencí a akcí po celé Evropě. Odstartovali jsme to na GeeConu v Krakově, kam jsme vyslali hradecko-brněnskou posádku. Jaké jsou jejich dojmy? Které přednášky opravdu stály za to? Která z krakovských konferencí opravdu stojí za to? Kluci pro nás všechno sepsali – a samozřejmě stihli taky pivko.

Středa

Honza: Hradecká sekce se zasekla na cestě a dorazili jsme až cca v 11, ničemu to však nevadilo, protože dopoledne se neslo převážně v duchu úvodních přednášek sponzorů.
Odpoledne už bylo mnohem záživnější. Za mě bych vyzdvihl přednášku Netty 5 – Lessons learned, kde Norman Maurer posluchače uvedl do problematiky Netty 5 a vysvětlil hlavní úskalí, na které při vývoji naráží.
Druhou zajímavou přednáškou byly Coroutines explained by example od Dmitry Kandalova, kde byla vysvětlena problematika coroutin, bohužel však v jazyce Lua a bez jakéhokoli přesahu do Javy.

Matej: Z Brna sme do Krakowa dorazili pol hoďky pred začiatkom o 8:30 (vstávali sme o štvrtej (big grin)) , pričom o 9:00 už začali raňajky a registrácia. Následne sme sa už pobrali do najväčšej z miestností, kde prebehla úvodná otváracia ceremónia a dve prednášky od sponzorov. Prvá z nich bola od spoločnosti Sabre a druhá od WeWork. Obe začalii viac business prezentáciou firiem ako technológiami samotnými, ale osobne sa mi viac páčila prednáčka od WeWork, kde sa Randy Shoup zameral viac na škálovanie a microservices než na „marketingové kecy“.
Ďalej sme sa zastavili na talku o Event-Driven architektúrach, ktorý sa zaoberal najmä úvodom do tejto problematiky a problémami, s ktorými sa môžme počas vývoja event-driven aplikácií stretnúť. Jedným z veľkých mien tohto dňa bol Josh Long a jeho prednáška zameraná na Reactive Spring.
Večer sme po ubytovaní sa zašli do mesta a osobne som ešte tak trochu sledoval hokej, keďže boli v čase GeeConu MS a hralo sa Slovensko – Nemecko (big grin)

Jirka: Z Hradce jsme vyráželi o půl čtvrté ráno a na Geecon dorazili během druhé přednášky. Cesta byla bez komplikací, ale přesto bych příště bral do úvahy i přímý vlakový spoj z Pardubic. Konference se konala v multikině mimo centrum, takže jsme to hned našli a s parkováním nebyl vůbec problém. První den jsem se účastnil hned několika přednášek od společností, které byly zároveň i sponzoři Geeconu, takže mi prezentace přišly dost marketinkově založené, ale přesto se našly i světlé výjimky jako např. Netty 5 – Lessons learned. Nejvíc se mi líbila přednáška What Lies Beneath od Maurice Naftalin o tom, co vězí za kompilací Javy do bytecode a dále za překladem do machine code. Jednalo se především o ukázky byte code, optimalizační řešení JVM a jak potom vypadá výsledek ve světě jedniček a nul. Vše bylo představuje s open source nástroji, které může použít kdokoliv pro svůj vlastní výzkum. Večer již značně zmoženi po celém dni, jsme nelenili a šli se podívat po Krakówě. Nakonec jsme to zakončili v hospodě Bierhalle KRAKÓW, kde jsme ochutnali místní pivko.

Roman: Jak již píše Maťo, tak jsme dorazili z Brna na první úvodní přednášku. Dokonce jsme stihli ještě rychlou registraci a snídani, ktrou nachystali pořadatelé. Přednášky, které jsou sponzorované málo kdy přinesou něco, čím zaujmou a potvrdila to i přednáška od Sabre. Nicméně druhá přednáška WeWork překonala předchozí PR Sabre a dostalo se i na konkrétní problematiku změny architektury a jak přepracovat efektivně legacy software do moderního formátu.

Po těchto úvodních přednáškách mě zaujal název Rediscovering gRPC with Kotlin coroutines protože slibovala jak využít coroutines s gRPC (gRPC je mým velice oblíbeným RPC frameworkem). Očekávání, které headline nabízel se však naplnila jen částečně. Slečna Marharyta Nedzelska začala velice zeširoka od microservice a konečný výsledek celé přednášky byl použití gRPC s Kotlinem, kde Kotlin převažoval a gRPC byl jen takovým doplňkem. Na závěr jsem měl dotaz, jestli toto řešení používají a jak jsou spokojeni s výsledkem kombinace Kotlinu a gRPC. Odpověď mě překvapila, představované řešení je v této chvíli pouze koncept a celé je postaveno na další knihovně, která v současné době není finální.

Následná přednáška od zkušeného řečníka Josh Long o Reactive streams byla v podobném stylu jako má všechny. Josh představil jak si Spring představuje komunikaci ve streamech. Potvrdil tak, že pro komunikaci mezi microservis hrají první housle rpc streamy nebo message broker. Tento směr následně potvrdil i v dotazech na konci přednášky. Podobně mě nadchnul i talk o Netty 5, kde představili nové feature, kterými jen ukotvliti svou pozici na výsluní co se low level IO frameworku týče.

GeeCon 2019 MoroSystems

Čtvrtek

Honza: Během čtvrtečního dne proběhlo hned několik přednášek na „secure delivery“, což v „bussiness language“ této konference znamenalo představení nástrojů pro kontrolu použitých závislostí, podepisování artefactů a nástroje pro tvorbu specializovaných integračních testů. Představeno bylo také jejich integrování do delivery pipeline. Za všechny přednášky na toto téma bych vyzdvihl především Building a continuous secure delivery pipeline od Shirisha Padalkara. Pro uživatele Jenkins bych vyzdvyhl krátkou přednášku Jenkins Configuration as Code – Automate your automation Server, kde Ewelina Wilkosz popisuje svůj, zatím nekompletní, plugin do Jenkins umožňující celou konfiguraci uložit/nahrát do jediného souboru, což je určitě šikovná vlastnost. Třešničkou na dortu je možnost načtení nové konfigurace bez restartu Jenkins.

Jirka: Druhý den posilněni výtečnou snídaní v Hotel Wyspiański jsme vyrazili zpět na Geecon. Celý den se točil ohledně JVM languages, Java 11, Java 9 Modularity, functional programming a continues delivery. Mě nejvíce oslovila přednáška 10 Unicode Myths, která shrnovala základní problémy s kódováním. Taktéž doporučuji poslechnout si přednášku Another year, another language od Jarek Ratajski, která kráčí historií programovacích jazyků a zakončuje radou, aby Java vývojář neměl falešnou představu o tom, že jeho jazyk tu bude navěky. Měl by se neustále vzdělávat a zkoušet si i další JVM languages – Kotlin, Scala atd. Jednak dostane nový pohled na vývoj a za další nebude mít pak problém s příp. přechodem na nový programovací jazyk. Po přednáškách jsme šli obdivovat místní hrad a nakoupit suvenýry na krakowské náměstí.

Roman: Čtvrtek byl nabitý tématy. Mohu tak jen doporučit to co již zmínili kolegové výše. Doplnil bych však o ještě o jednu přednášku Thread Safety with Phaser, StampedLock and VarHandle a představení jejich využití i v méně známých use case a co vedlo k jejich vytvoření v průběhu času od Java 7.

Geecon2

I když byl program konference pořádné nabitý, někteří účastníci potřebovali i dodatečnou zábavu s sebou – jak lépe uteče čas na přednášce než při háčkování?

Pátek

Honza: Z pátečního bloku bych vyzdvihl především přednášku Forget Go. Go, Java, go! od Jaroslava Tulacha na téma GraalVM, popisující současný stav tohoto nového JVM od Oraclu. Byly ukázány klíčové vlastnosti jako native image a rychlejší callbacky do nativního kódu (bez použití JNI). Související přednáškou bylo představení frameworku Micronaut – “ Micronaut, Dragon-Slayer (Spring/boot) or just another framework“ od Vladimira Dejanovica, kde byl představen framework Micronaut jako alternativa ke Springu fungující i v GraalVM. Společným znakem obou přednášek bylo, že jak na GraalVM, na Micronaut i na podpoře Springu v GrallVM stále probíhá spousta vývoje a to co je dnes neřešitelný problém může být v budoucnu možné.

Matej: Niektoré prednášky sa občas presúvali z orgainzačných dôvodov, každopádne mňa veľmi zaujala prednáška, ktorá bola myslím presunutá práve na Piatok s názvom Teaming Code Quality in the Worst Language I Know: Bash. Michal Kordas sa v nej ako Java vývojár, ktorý sa často stretáva s písanim bash skriptov zameral na to, ako písať bash skripty tak, aby boli použiteľné, udržovateľné a bez chýb. Osobne mi tento talk prišiel veľmi prínosný, pretože s bashom sa vo veľkej miere stretávame aj na projekte eSF v Morosystems a bol by som rád, keby sme niektoré z Michalových tipov vedeli preniesť k nám.

Jirka: Na závěr byly přednášky o všem možném ze světa JVM a každý si tedy mohl vybrat. Já jsem zvolil témata – docker, productivity, Micronaut a architecture design. Tím bych rád doporučil Micronaut jako konkurenci Springu na zařízeních s limitovanými zdroji. Jeho hlavní výhoda je, že většinu operací, které dělá Spring při běhu aplikace, provádí při komplikaci, a má proto menší nároky na CPU a paměť. Je to mladý projekt, ale jeho knihovna modulů se neustále rozšiřuje a existuje i podrobná dokumentace. Zmínil bych i přednášku Stress Driven Development, and How to Avoid It, která se věnuje problémům při každodenní práci v IT tzn. potýkání se stresem, time managementem, produktivitou a jak se z toho všeho nezbláznit.

Roman: Poslední den, jsem měl opravdu špatný výběr přednášek. Většina z nich byla neurčitá, neinovativní a když už se jednalo o zajímavé téma, tak řečník nebyl připraven. Jediná prednáška, která mě ten den zaujala se týkala frameworku Micronout a okrajově GraalVM. Pro mě do té doby nevyzkoušené řešení. Nicméně ve mě vyvolala nadšení a wow efekt, který jsem musel hned v nasledujícím víkendu využít a celý jsem jej travil nad dokumentaci Micronoutu a snaze vytvoření vlastní demo aplikace.

Hodnocení

Honza: Celkově bych Geecon hodnotil pozitivně, v porovnání s Devoxxem zde byl slabší line-up ale i tak se dalo najít mnoho zajímavých témat. Slabší prostorové dispozice multikina vyvážil velmi dobrý catering.

Matej: GeeCon hodnotím takisto veľmi pozitívne. Prednášky, catering aj priesotry boli super, možno až na drobnosti ako napr. to že v multikine bola na prednáškach trochu tma (nedali sa písať poznámky na papier). Krakow je krásne mesto, takže všetko dopadlo úplne ideálne (až na ten hokej no)…

Jirka: Hodnotím pozitivně ale s několika výhradami. Líbily se mi technické přednášky, méně již ty sponzorované. Jídlo bylo výborné a kladně hodnotím i profesionalitu personálu, ale těsnost po každé session v multiplexu byla otravná. Kdybych srovnával obě IT konference v Kraków, tak bych doporučit spíše Devoxx, protože měl více WAU přednášek a vzbudil ve mě větší IT nadšení.

Roman: Na konferencích se mi líbí, když přednášející sdílí svoje zkušenosti a znalosti s různými technologiemi. Především mě více zajímají negativa a limity představovaného řešení. Mimo jiné jsou zajímavé i přednášky, které míří do hloubky problematiky a představují Javu z jiného pohledu než jen „vemte právě tuto knihovnu a použijte ji takto a dostanete super ohromující zážitek a všichni vás budou milovat“. GeeCon v Krakově nabízel od každého něco a každý by si dovedl vybrat právě to co jej zajímá. Co však trochu pořadatelé podcenili byly přestávky mezi přednáškami a množství lidí na vcelku malém prostoru. Naopak nepodcenili výborné kafe a občerstvení.

Klíčová témata konference – Java 11, continuous delivery, GraalVM, machine learning, reactive streams