Letos jsem si vynahradil deficit návštěv konfe­rencí. Po jOpenSpace jsem vyrazil i na pražskou odnož polské konfe­rence GeeCON. Nehodlám probírat všechny přednášky. Chci si uchovat své poznámky a zhodno­tit, 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 sponzo­rovat a stát vedle velkých firem. Blaho­přeju! Je jasné, že stánky firem byly zaměřené na nábor lidí, ale nebylo to nijak agresivní, aktivity pestré a za poskyt­nuty kontakt jste mohli třeba vyhrát Raspberry Pi, to mi přijde fér.

Musím opět vyzdvih­nout jeden z hlavních přínosů konfe­rencí 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í konfe­renci, 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 Montgo­mery mluvil o kvalitě. Pracoval léta pro NASA, takže začal výbuchem raketop­lánu Challen­ger. Jestli jsem to správně pocho­pil, tak software pro ISS netes­to­valy 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 odsou­zeni na 40 měsíců nepodmíněně. Připom­něl, že software má velmi špatné renomé. Schválně se zeptejte lidí, zda očekávají, že bude fungo­vat. Z publika padla zajímavá otázka: „Kdo je ochotný platit za kvali­tu?“ Někdo ano, třeba zákaz­ní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 paralel­ních zklamal a na Marka Hecklera se dostal až v půlce. Mluvil o reaktiv­ních progra­mování a pojal to jako live coding, což většinou bývá debakl, ale měl to perfektně zvlád­nuté. Je velmi vtipný řečník. Zapojil publikum s vymýšlením názvů filmů (reak­tivní 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ži­ji-li slova Honzy Novot­ného alias Novoje

není cesta pro každého a má smysl se jí vydat pouze tehdy, nestač­í-li současná archi­tek­tura zvládat požadavky kladené na aplikaci … a dost možná začít s tímto přístupem experi­men­tovat zpočátku pouze na „horkých“ místech aplikace a sbírat zkuše­nosti nejprve tam … pokud je součástí i data store, je nutnou podmínkou reaktivní ovladač dané techno­logie – 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 konci­poval svoji přednášku jako sedm smrtel­ných hříchů, měl to prakticky namapo­vané 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říka­zové řádce! Nevyvážené. Začátek slabší, ale konec stál za to. Je to takový docker kacíř. Tvrdil, že virtua­li­zace není pomalá, nastar­tuje mu za 7 vteřin. Nepoužívá Virtual­Box, 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 nainsta­lovat a začít s ním praco­vat. Nejlépe distri­buci Exherbo, která je uživa­telsky nepřívětivá. Doporuč­oval i knihu Under­s­tan­ding 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řistu­poval s nedůvěrou, zda se k tématu Clean Code dá říct ještě něco nového. Byl jsem příjemně překva­pen, že to lze. Nakonec patřila k tomu nejlepšímu, co jsem na konfe­renci slyšel.

Snažím se sledovat řečnický projev, abych se od přednášející něco naučil. Už u jOpenS­pace jsem vyzdvi­hoval to, zda jsou přednášející schopní na sebe reago­vat. Hilton zašel ještě dál: Do svých slidů stihl zapra­covat 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ěn­ný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ěřu­jete svým kolegům, že vždy píší čistý kód?

Připomněl mi knihu Speci­fi­ca­tion by Example (Gojko Adzic)

Dlouhá papírová dokumen­tace, stejně jako levné víno, stárne rychle a způso­buje 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 dokumen­tace rovněž způso­buje bolest hlavy.

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

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

Popisoval nástroj archi­tec­ture decision record. Zapisujte si svá rozhod­nutí, co jste zvažo­vali a proč jste se rozhodli zrovna takhle. Používáme a můžu taky doporučit. Po roce si třeba sami nevzpo­me­nete, případně ukážete nově příchozím.

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

Clean code nepíšeme jen kvůli čitel­nosti, ale má dopad i na výkon. Nepíšu takto na výkon vyladěné programy, ale přesto bylo zajímavé si to poslech­nout. Na škole mi to dost vadilo, ale zpětně doceňuji, že je dobré trochu rozumět tomu, jak funguje hardware. Vysvět­lo­val, že třeba cohesion je důležité pro CPU cache. Nebo že není jedno, zda dvojroz­mě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ý propa­guje č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áh­nout bez frameworků jen se standard­ními techno­lo­giemi: čistá Java, javas­cript a css. Máme si případně jen vyzobat kompo­nenty jako třeba Prime­Faces (asi myslel PrimeNG). To je mi sympa­tické. 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:

Minifi­ca­tion will die because of http/2 preloading.

Mluvil o své zkuše­nosti konzul­tanta, 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čnic­kých schop­ností 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 rozpoz­nával oblič­eje. Podařilo se mu díky tomu chytit i jednoho zloděje. Zaujaly mě hlavně zkuše­nosti s náklady za AWS. Dobré vědět, že můžete něco provo­zovat zdarma. Že za Javu platil dvakrát tolika jak za javas­cript (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í smrtel­níci vidí ajťáky, jako já Simonise, který hledá pády virtuální mašiny, prostě kouzel­ní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: Collec­tive Wisdom from the Experts, byl, alespoň pro mě, hlavním lákad­lem. 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řevyp­rávět celou přednášku a to nechci. Takže alespoň telegraficky:

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

Programátoři stahují knihovny z inter­netu 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 kalib­rovat odhad.

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

Organizace

Regist­race proběhla bez front. Konfe­rence 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 neprak­tické. Jídla a pití bylo dost a v dobré kvalitě. Překva­pilo 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ě poslou­chat, ale od návštěv­níků se očekává, že budou tweetovat (poskyt­nutí zpětné vazby, promo akce). Přednášející měli dediko­vanou 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 zazna­menal jedinou ženu. Zato mě potěšilo, že mezi návštěv­ní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ět­lení bych měl. Neodha­luje to tu hlavní příčinu, ale dokres­luje situaci. Na začátku prosince se chystá akce Hour of Code, tak je zajímavé porovnat počet doposud regist­ro­vaný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ěv­níků jsem ovšem i dost rozča­ro­vaný. Za prvé jsem si nevšiml, že by obsluze vydávající oběd někdo řekl: „Dobrý den,“ a „děku­ji!” 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 lahod­ných slov polsky: „Deň dobrý…“ Za druhé mě fasci­nuje, jak lidé, kteří jdou na konfe­renci, 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

Konfe­renci stálo za to navštívit. Některé přednášky byly slabší, ale jiné to bohatě vynahra­dily. Máte šanci si v Praze poslech­nout světoz­námé programátory jako jsou Adam Bien či Kevlin Henney. Organi­zace 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í