9. 5. 2014

"Zápisky" z GeeCON 2014

Aby bylo jasno hned na začátku: na GeeCON 2014 letos nejedu. Omlouvám se za lstivé použití lacině lákavého nadpisu, když je teprve pár dní před konferencí. Ne, neumím cestovat v čase a netroufám si tvrdit, jaká tato konference letos bude. Přesto věřím, že bude skvělá a že kdo na ni pojede, nebude litovat! Nám se 15.4. narodilo miminko a po dobu šestinedělí jsem rozhodnut se od rodiny nevzdalovat. Není tak docela pravda, že přechod ze tří dětí na čtyři už je malý rozdíl, musíme najít nový režim fungování rodiny a ten by se z Krakowa nehledal úplně dobře :-).

Moji loňskou účast na konferenci sponzorovala společnost Y Soft, zápisky jsou na tomto blogu o pár příspěvků zpět. Mile mne překvapilo, že se mi letos Y Soft ozval sám od sebe znovu s volnou vstupenkou a o to více mrzelo, že musím odmítnout. Pak se mi na tom ale rozleželo pár věcí: (1) snaha se musí ocenit, i když ji nevyužiju, (2) neuskutečnili jsme lightning talk o loňském GeeCONu, takže stále cítím vůči Y Softu jistý závazek, (3) stejně na stránky http://2014.geecon.org/schedule občas zabrouzdám podívat se, o co přicházím. Výsledek: rozhodnutí nejet sice nezměním, ale to mi nebrání napsat o tom, co by mne nejvíc lákalo, kdybych jel.

Y Soft - platinový sponzor konference a mezinárodní společnost nabízející unikátní tiskové řešení (software i hardware), které umožňuje společnostem a organizacím efektivně kontrolovat náklady, snížit plýtvání, zvýšit komfort uživatelů a pozitivně působit na životní prostředí.

1. den


11.50: První jasnou volbu JDK8 rozmělňuje fakt, že přednášek na toto téma je poměrně dost i jinde. Nicméně očekávám, že letos bude track Oracle JDK8 už více praktický a více ovlivněn tím, že syntaxe a změny v standardní Javě už jsou na rozdíl od loňska zabetonovány. Takže by to mohlo být dobré. Jako rodič sedmiletého šachisty počítám i s možností, že by třeba mohl jednou syn přijít na chuť i programování, ale podle abstraktu prezentace Arona Gupty si říkám, že je jednak ještě čas, jednak se zdá, že vyžaduje něco vědět o Minecraftu a já jsem s počítačovými hrami poměrně na štíru. Anebo bych šel na AngularJS, kolem této technologie se pohybuji jen zpovzdálí a bylo by jistě zajímavé vidět ukázku nějakého živého usecasu.

13.40:  Buď streamy nebo Václav Pech. Streamy ze stejného důvodu viz předchozí odstavec, plusem by bylo, kdyby přednášející otevřel téma konstruktů jako Spliterator a Collector, o kterých se v tutoriálech moc nepíše (ve smyslu jak si správně napsat vlastní, tutoriály se koncentrují spíše na použití hotových). To se bohužel z abstraktu nedozvíme. A přestože jsem uživatelem Eclipse, Jetbrains mně stejně jako řadu dalších vývojářů imponují svojí schopností adaptovat rychle nové jazyky a vyznat se v DSL obecně.

14.50: Pravděpodobně Mutation Analysis, zajímavé téma, aktuální i v prostředí našich testů. Případně JavaFX (mám dojem, že tato technologie prochází jakýmsi latentním bojem za to, že ještě není mrtvá - osobně si tím nejsem jistý, ale protože děláme aplikaci ve Swingu, máme k ní pořád ještě blízko). Případně REST, kvůli inspiraci, zda by nešlo dělat něco lépe v SOAP hellu našich webservis :-).

16.10: Tady buď How to Participate in the Future of Java (v jednom z předchozích blogpostů jsem žehral na nesrozumitelnost JCP) nebo Kirk Pepperdine (známý speaker a aktuální téma, pořád se točíme kolem Java 8). Zajímavě vypadá ale i The social developer - netechnické téma slibuje zpestření a jako vývojář cítím, že je třeba usilovat o všestrannost.

17.20: HTML5, ze zájmu. Webové technologie mi teď trochu utíkají, tak tomu pomoci to dohnat.

2. den


9.00: Redesign of Legacy Frameworks. Nakládání s legacy kódem (a bohužel i jeho vytváření, protože nestíhám psát testy v takovém rozsahu, jak bych si představoval) je u nás denní chleba a legacy framework je o to horší tím, že je více prorostlý do aplikace. Může to být zajímavá zkušenost. Taky Everything ... Is Wrong vypadá podle abstraktu zajímavě a může to být velmi praktické. Začátečníkům v Javě bych asi doporučil spíš tuto přednášku, může rozšířit obzor díky uvedení historických kontextů jednotlivých rozhodnutí ve vývoji Javy.

10.20: Jasná volba Lukas Eder a jeho JOOQ framework - jednoduchá myšlenka, geniální alternativa k ORM. Na druhém místě by to byl Peter Lawrey, ale na rovinu přiznávám, že tady by to bylo spíš kvůli osobě přednášejícího, neboť jeho blog VanillaJava mně i po 11 letech praxe ukazuje stále nová překvapení. Věděli jste například, že metodu vracející pole intů lze deklarovat i jako public static int method()[] {...}? (ano, hranaté závorky jsou mezi parametry a blokem těla metody, analogicky ke způsobu deklarace proměnné int x[];) A přeloží to i Eclipse.

11.40: Advanced Spock, loňská přednáška o Spocku od stejného přednášejícího byla dobrá.

13.30: Pravděpodobně TDD, mám podobně skeptický postoj - v našem prostředí si neumím představit psát testy dopředu vzhledem k tlaku na dodání. Nebo se hodit do vody na nějaké paralelní přednášce (témata, s nimiž nemám zkušenosti).

14.40: Buď technickou přednášku CompletableFuture (za účelem dostat se do Javy 8 z Guavy, kde jsem už použil ListenableFuture), nebo Seven Ineffective Coding Habits of Many Java Programmers - "okecávací", ale nevěřím, že by mi nepromluvila do duše.

16.00 (LT): Custom Assertions nebo Life is too short, ale spíš ta první, jsem přece jen víc praktik.

16.20 (LT): Tematicky blízko k Reverse engineering, ale protože se pořád co se týká návštěv konferencí považuji za začátečníka, asi bych neodolal Be the perfect attendee.

16.40 (LT): Pair programming je zajímavé téma, ale asi bych dal přednost Chromu. Vybavilo mi to vzpomínku na Firefox plugin Ubiquity, zajímalo by mě, jak by se taková věc udělala v Chromu.

3. den


9.00: Jasná volba Functional Programming Without Lambdas. Lukas Eder a tato přednáška by pro mne byly asi nejlákavější body konference. Jsem si jist, že v přednášce bych se se zkušenostmi s Guavou našel. A myslím, že pokud na ní bude dost programátorů zvnějšku nucených dělat na Javě < 8, bude z ní obecný povděk případně zajímavá diskuse.

10.20: Buď Java8 pro zařízení - poznat něco nového, nebo 33 things, s čímž se mi zas asociuje "poznat známé věci z jiného úhlu". Pro druhou možnost mluví to, že spoustu zmíněných technologií používáme a taky si pamatuji přednášejícího z výborné přednášky "SOAP sucks" z loňska.

11.40: JavaFX z podobných důvodů jako první den, nebo Spring Testing. Zajímavé téma je i Asciidoctor a myšlenka Asciidocu, osobně formáty tohoto typu považuji za mnohem intuitivnější než např. XML (ztělesněné v Docbooku), HTML nebo LaTeX.

13.30: Těžké rozhodování mezi Sandrem Mancusem a Nikitou Salnikovem. Sandro Mancuso měl z mého pohledu nejlepší přednášku loňského GeeCONu o refactoringu, nyní ve svém abstraktu slibuje nahlédnutí do návrhu jeho poslední aplikace z pohledu základních principů a praktik OOP. Očekávám srozumitelný a od reality neodtržený výklad. Oproti tomu Nikita Salnikov ve své přednášce cílí na jeden konkrétní fenomén, který je ovšem pro aplikace kritický - memory leaky. Osm různých důvodů vzniku OutOfMemoryError - PermGen space (pomiňme nyní, že permgen je v JDK8 již odstraněn) bych tedy vyjmenovat nedokázal a tato přednáška je anotována popisem "1h live coding", takže o praktický přínos se neobávám.

14.40: So you want to write another JVM language? Ne že bych ho chtěl psát, ale vypadá to na pěkně komplexní vhled do této problematiky, a kromě toho mne na abstraktu láká poslední věta: dokáže to (napsat vlastní jazyk pod JVM) i ten, kdo nestudoval computer science a teorii překladačů a většinu života nevěděl, co je AST. Což jsem dělal poslední roky na FELu a v diplomce.

Závěr


GeeCON letos nabízí nadupaný program, z nějž je co vybírat. Není opomenuté žádné ze žhavých témat poslední doby a stojí za ocenění, že oproti loňsku organizátoři zvýšili počet tracků na 5 a taky je tématicky pojmenovali.

Rád bych zdůraznil, že výběr či nevýběr prezentací vychází z mých osobních preferencí ovlivněných mým profesním pozadím. Nechci, aby neuvedení některé prezentace nebo skepse zmíněná v kontextu mé situace byly chápány tak, že ji nedoporučuji nebo apriori považuji za nekvalitní pro všechny. Např. vzhledem k situaci našeho týmu a projektu jsem moc neřešil přednášky o agilní metodice, vzhledem k podmínkám určovaným zákazníkem neřeším přednášky o cloudu nebo UX, ale vím, že kolega ve vedlejším týmu by k tomu přistupoval opačně. Z důvodu, že volba je jasná, nechci ani komentovat prezentace spojené přes všechny tracky.

Uvítám samozřejmě i upozornění na potenciálně dobrou přednášku v diskusi pod článkem. Tak si to pěkně užijte a doufejme na viděnou na GeeCON 2015!