Letos jsem si vynahradil deficit návštěv konferencí. Po jOpenSpace jsem vyrazil i na pražskou odnož polské konference GeeCON. Nehodlám probírat všechny přednášky. Chci si uchovat své poznámky a zhodnotit, zda jít i příště.

Začínal jsem svoji kariéru ve firmě Simple Way. Od té doby už vyrostli tak, že můžou podobné akce sponzorovat a stát vedle velkých firem. Blahopřeju! Je jasné, že stánky firem byly zaměřené na nábor lidí, ale nebylo to nijak agresivní, aktivity pestré a za poskytnuty kontakt jste mohli třeba vyhrát Raspberry Pi, to mi přijde fér.

Musím opět vyzdvihnout jeden z hlavních přínosů konferencí a to je setkávání s lidmi. Potkal jsem kolegy, s kterými jsem pracoval před deseti lety a dlouho je neviděl. Zakecal jsem se tolikrát tak, že jsem si nestíhal dojít pro kafe či na záchod. Takže na nějaké programátorské soutěže už tedy žádný čas nezbyl.

Přednášky

Pro pořádek, jedná se o mezinárodní konferenci, takže na rozdíl od WebExpo je každá přednáška v angličtině.

Making It Count: Quality is Not Optional (Todd Montgomery)

Todd Montgomery mluvil o kvalitě. Pracoval léta pro NASA, takže začal výbuchem raketoplánu Challenger. Jestli jsem to správně pochopil, tak software pro ISS netestovaly stovky ani desítky testerů, ale jen tak pět až šest testerů. Zmiňoval etiku a případ inženýrů z WV, kteří byli odsouzeni na 40 měsíců nepodmíněně. Připomněl, že software má velmi špatné renomé. Schválně se zeptejte lidí, zda očekávají, že bude fungovat. Z publika padla zajímavá otázka: „Kdo je ochotný platit za kvalitu?“ Někdo ano, třeba zákazníci Applu.

Full-stack Reactive Java with Project Reactor & Spring Boot 2 (Mark Heckler)

Snažím se chodit na přednášky o tématech, o kterých nic nevím. Tentokrát jsem se u dvou paralelních zklamal a na Marka Hecklera se dostal až v půlce. Mluvil o reaktivních programování a pojal to jako live coding, což většinou bývá debakl, ale měl to perfektně zvládnuté. Je velmi vtipný řečník. Zapojil publikum s vymýšlením názvů filmů (reaktivní předělávky jako například Total Reflux).

Hezky se na to kouká, ale osobně pro to nemám praktické využití. Z přednášky Juergena Hoellera o Spring 5 si pamatuju, použiji-li slova Honzy Novotného alias Novoje

není cesta pro každého a má smysl se jí vydat pouze tehdy, nestačí-li současná architektura zvládat požadavky kladené na aplikaci … a dost možná začít s tímto přístupem experimentovat zpočátku pouze na „horkých“ místech aplikace a sbírat zkušenosti nejprve tam … pokud je součástí i data store, je nutnou podmínkou reaktivní ovladač dané technologie – nebo naopak pro ukládání dat vybírat takový typ databáze, který reaktivní přístup umožňuje

Software’s Seven Deadly Wastes (Jez Halford)

O Toyotě dnes mluví kde kdo. Jez Halford koncipoval svoji přednášku jako sedm smrtelných hříchů, měl to prakticky namapované na IT. Mám za to, že bod 4, waiting, taky řeší přístup API first, který razím, kudy chodím.

Deep dive and learn about your Operating System (Quentin Adam)

Když nerd tak Quentin Adam, slidy měl v příkazové řádce! Nevyvážené. Začátek slabší, ale konec stál za to. Je to takový docker kacíř. Tvrdil, že virtualizace není pomalá, nastartuje mu za 7 vteřin. Nepoužívá VirtualBox, i když chyba není v něm, ale v tom, že se spouští celý grafický ansámbl. Chce vědecký důkaz a ne: „Já si myslím…“ Mnoho testů běží na levné RAMce. CPU je podle něj dnes v pohodě, problém je s I/O. Kladl nám na srdce, že se máme naučit linux low level dark magic. Ptal jsem se jak. Máme si prý linux nainstalovat a začít s ním pracovat. Nejlépe distribuci Exherbo, která je uživatelsky nepřívětivá. Doporučoval i knihu Understanding the Linux Kernel s příklady zdrojových kódů jádra. Dal jsem si ji na seznam, ale nevím, jestli najdu odvahu se do ní pustit.

How to write maintainable code (Peter Hilton)

Původně jsem k přednášce přistupoval s nedůvěrou, zda se k tématu Clean Code dá říct ještě něco nového. Byl jsem příjemně překvapen, že to lze. Nakonec patřila k tomu nejlepšímu, co jsem na konferenci slyšel.

Snažím se sledovat řečnický projev, abych se od přednášející něco naučil. Už u jOpenSpace jsem vyzdvihoval to, zda jsou přednášející schopní na sebe reagovat. Hilton zašel ještě dál: Do svých slidů stihl zapracovat fotku z předchozí přednášky a navázat na ni.

A ham sandwich walks into a bar. The bartender says, “Sorry, we don’t serve food here.”

Slova můžou mít více významů, na tom jsou založené vtipy. Navrhuje používat slovník při výběru názvů proměnných (Mac ho má přímo vestavěný v systému). Osobně si vzpomínám, jak jsme na jednom projektu zaměnili request a demand (není požadavek jako požadavek).

Důvěřujete svým kolegům, že vždy píší čistý kód?

Připomněl mi knihu Specification by Example (Gojko Adzic)

Dlouhá papírová dokumentace, stejně jako levné víno, stárne rychle a způsobuje bolest hlavy, pokusíte-li se ji použít rok po tom, co byla vytvořena. Na druhou stranu udržovat systém bez jakékoliv dokumentace rovněž způsobuje bolest hlavy.

Podle Hiltona se Uncle Bob mýlí a pokud nemáte komentáře, nemáte vůbec žádnou dokumentaci.

Nemáme to přehánět s principem DRY. Mluvil o sirénách abstrakce. Abstrahovat bychom měli až při třetím psaní a nějakou duplicitu tolerovat.

Popisoval nástroj architecture decision record. Zapisujte si svá rozhodnutí, co jste zvažovali a proč jste se rozhodli zrovna takhle. Používáme a můžu taky doporučit. Po roce si třeba sami nevzpomenete, případně ukážete nově příchozím.

Architecting for performance. A top-down approach (Ionut Balosin)

Clean code nepíšeme jen kvůli čitelnosti, ale má dopad i na výkon. Nepíšu takto na výkon vyladěné programy, ale přesto bylo zajímavé si to poslechnout. Na škole mi to dost vadilo, ale zpětně doceňuji, že je dobré trochu rozumět tomu, jak funguje hardware. Vysvětloval, že třeba cohesion je důležité pro CPU cache. Nebo že není jedno, zda dvojrozměrné pole procházíte po řádcích či po sloupcích.

‘Built To Last’ …and the end of migrations (Adam Bien)

Přestože dávám přednost Springu, tak sleduji blog Adama Biena, který propaguje čistou Javu EE a CDI, abych zůstal v obraze (poslední dobou přepnul víc na videa, ale já raději text). Svou přednášku pojal jako live coding, kde ukázal, čeho lze dosáhnout bez frameworků jen se standardními technologiemi: čistá Java, javascript a css. Máme si případně jen vyzobat komponenty jako třeba PrimeFaces (asi myslel PrimeNG). To je mi sympatické. Ostatně nedávnou jsem překládal článek Nechte kouzlo zmizet a již dříve jsem se vztekal nad velikostí waru (ten jeho měl 8 kB). Adamova přednáška do toho pěkně zapadá. Mimo jiné třeba říkal:

Minification will die because of http/2 preloading.

Mluvil o své zkušenosti konzultanta, kdy jeden zákazník uvázl na staré verzi Angularu a migrace byla složitá ne-li nemožná. Povýšení Javy bylo vždy v pohodě.

Z řečnických schopností oceňuji, že vypíchl, že NetBeans IDE vzniklo v Praze, a v příkladu použil české reálie (Krtečka a jeho kamarády).

Building a Smart Security Camera with Raspberry Pi Zero, Java and AWS (Mark West)

Na tuhle přednášku jsem bohužel dorazil až v půlce (utekl jsem z jiných). Mark West ukazoval svůj projekt, kde kamerou napojenou na Raspberry Pi a AWS rozpoznával obličeje. Podařilo se mu díky tomu chytit i jednoho zloděje. Zaujaly mě hlavně zkušenosti s náklady za AWS. Dobré vědět, že můžete něco provozovat zdarma. Že za Javu platil dvakrát tolika jak za javascript (mohl za to cold start). A že někdo něco v Pythonu pouštěl s větší pamětí, tedy zdánlivě dražší, ale nakonec levnější, protože to doběhlo rychleji.

Analyzing HotSpot Crashes (Volker Simonis)

Už chápu, jak běžní smrtelníci vidí ajťáky, jako já Simonise, který hledá pády virtuální mašiny, prostě kouzelník. Já něco takového zažít, tak mu volám.

Software Is Details (Kevlin Henney)

Máte-li z letošního GeeCONu něco vidět ze záznamu, tak právě tohle. Kevlin Henney, autor knihy 97 Things Every Programmer Should Know: Collective Wisdom from the Experts, byl, alespoň pro mě, hlavním lákadlem. Nechápu, že během přednášky lidé odcházeli. Možná to na ně bylo málo technické a ještě ho nedokázali docenit. Nebo je zahltil Hamlet?

Musel bych vám převyprávět celou přednášku a to nechci. Takže alespoň telegraficky:

Nelze věci odbýt s tím, že je to implementační detail. Je potřeba mít na mysli celkový pohled i jemný detail. Důležitost se měří tím, jak nákladná je změna. Například je chyba v názvu clonable, ale přejmenování by mělo příšerný dopad.

Programátoři stahují knihovny z internetu a bez rozmyslu je používají. Jsou jako malé děti, co seberou něco ze země a strčí si to do pusy.

Psaní není úzké hrdlo. Citoval moji oblíbenou knihu Zen a umění údržby motocyklu (Ostatně už jsem ji na blogu doporučoval).

Šroubky jsou tak levné.

High Performance Managed Languages (Martin Thompson)

Zkoušel nás, zda víme, jak dlouho počítači trvá sečíst dva integery. Není to tak důležité, ale pomáhá to kalibrovat odhad.

Jestli někdo říká, že mu záleží na výkonu a používá xml nebo json, tak lže.

Organizace

Registrace proběhla bez front. Konference se konala v CineStar na Černém Mostě. Kinosál je vhodný na přednášky, ale podávali tam i oběd, což mi přišlo poněkud nepraktické. Jídla a pití bylo dost a v dobré kvalitě. Překvapilo mě, že gastro tým si přivezli z Polska. Ale vlastně proč ne? Když jsou sehraní, tak proč riskovat někoho lokálního.

Celkově nestíhala wifi. Já vím, mám hlavně poslouchat, ale od návštěvníků se očekává, že budou tweetovat (poskytnutí zpětné vazby, promo akce). Přednášející měli dedikovanou vlastní wifi, ale i tak měli někteří problém stáhnout pár megabytů během live coding

Návštěvníci

Mezi přednášejícími jsem zaznamenal jedinou ženu. Zato mě potěšilo, že mezi návštěvníky jich bylo na české poměry celkem dost. Odhadem tak deset procent, takže je stále co dohánět. Všímal jsem si, že šlo především o cizinky. Zpětně mě mrzí, že jsem se s nimi nedal do řeči na téma, proč je u nás v IT tak málo žen a jak to změnit. Jedno vysvětlení bych měl. Neodhaluje to tu hlavní příčinu, ale dokresluje situaci. Na začátku prosince se chystá akce Hour of Code, tak je zajímavé porovnat počet doposud registrovaných akcí v Polsku (671) s počtem akcí u nás (86). Jasně, Polsko je větší, ale ne tolikrát.

Z návštěvníků jsem ovšem i dost rozčarovaný. Za prvé jsem si nevšiml, že by obsluze vydávající oběd někdo řekl: „Dobrý den,“ a „děkuji!” Možná jsem byl ve frontě v nějakém lokálním minimu slušnosti, ale podle reakce to vypadalo, skoro jako kdybych je pozdravil první. Na oplátku mi bylo potěšením slyšet pár lahodných slov polsky: „Deň dobrý…“ Za druhé mě fascinuje, jak lidé, kteří jdou na konferenci, kde se jedna přednáška věnuje tématu Clean Code, po sobě neuklidí záchod nebo všude nechávají válet kelímky.

Závěr

Konferenci stálo za to navštívit. Některé přednášky byly slabší, ale jiné to bohatě vynahradily. Máte šanci si v Praze poslechnout světoznámé programátory jako jsou Adam Bien či Kevlin Henney. Organizace klapala. Příští rok rád půjdu znovu, i když bych se možná raději na jaře podíval do Polska.

Související