Týdenní poznámky: První rozhovor s juniorem a Frontkon

Jak se mi daří v jednom člověku provozovat a rozvíjet junior.guru? Od posledních poznámek už utekl nějaký ten týden (6. 10. až 16. 10.), tak nastal čas se opět ohlédnout a utřídit si myšlenky.

Poznámky
Fotil Markus Spiske

Zpackaná soutěž

Už před dlouhou dobou jsem dostal tři lístky na Frontkon, které jsem mohl rozdat v junior.guru klubu. Neměl jsem na to ale čas kvůli PyCon CZ a následné dovolené, takže jsem soutěž udělal až tak dva týdny před konferencí. Těžko se mi hledají pozitiva na tom, jak to dopadlo:

  • Mezitím se Frontkon vyprodal. Nejdřív jsem vtipkoval, že tím cena rozdávaných lístků stoupla, ale když jsem je chtěl vyzvednout, tak už to nešlo. Následoval velký stres, zda jsem nerozdal lístky, které nemám. Organizátoři mě ubezpečili, že je vše OK, ale musel jsem je prosit a přidělával jsem jim práci.
  • Lidi když vyhrajou lístek, tak si to nepřečtou hned. Někdy si to přečtou až za den. Někdy za dva. A někdy napíšou, že sice vyhrát chtěli, ale už je tak pozdě, že si to nezvládnou zařídit a nevyužijou to. Týden před konferencí je prostě pozdě, prakticky na všechno, třeba ubytování. Vyhlášení bylo v pondělí, ale lístky jsem řešil i v úterý, středu, a dokonce i ve čtvrtek, protože lidi různě odpadávali, nebo jsem čekal na jejich odpověď, zda opravdu pojedou. Byl to velký „mikromenežment“, stres a chaos. Z původních výherců lístek nevyužil nikdo a z náhradníků nakonec 2 ze 3.
  • Nejvíc mě mrzí, že na poslední chvíli to odřekly především ženy s dětmi, jelikož už nedokázaly sehnat hlídání nebo přeorganizovat rodinnou logistiku. Zase ženám péče podrazila nohy! Zaskočili za ně samozřejmě chlapi. Můžeme se bavit o tom, že Frontkon mohl mít childcare podobně jako PyCon CZ, ale jednak to bylo takhle pozdě už asi jedno, jednak není fér srovnávat první a šestý ročník nějaké konference.

Celkově jsem z toho byl dost sešlý a smutný. Všechny ty problémy jsem způsobil já a mrzí mě to doteď. Je to velké poučení pro příště.

Kromě toho jsem zaznamenal v pondělí, kdy mělo dojít k vyhlášení, nájezd lidí z jedné konkrétní skupiny. V klubu byli pár hodin, ani se nepředstavili, a hned soutěžili. Navíc pak bylo zcela jasné, že se dokonce vědomě vzájemně koordinovali. Nebylo to proti pravidlům a soutěž měla jiné - výše zmíněné - problémy, tak to moc neřeším. Přišlo mi to ale trochu nefér k dlouhodobým členům klubu a za jiných okolností bych si to měl pohlídat, např. podmínkami soutěže.

Před Frontkonem

Kvůli odjezdu na Frontkon, soutěži, přípravě přednášky, odjezdu rodinky k babičce, apod. se můj týden zcvrkl do pár dní, z nichž se navíc stal nahusto seskládaný kalendářový tetris.

Kalendář

Sice jsem si během toho stihl zajít i do nejlepšího kina na #annaismissing (film byl pro mě příjemné překvapení), ale jinak to bylo všechno dost stresující.

Možná i kvůli tomu jsem se nechal hodně vystresovat i samotnou přednáškou. Když jsem si ji zkusil, měl jsem to na 1,5 hodiny. Sice jsem u toho žvýkal rozmraženou pizzu, ale stejně. Zjistil jsem, že to téma je nosnější, než jsem myslel, a že bych o něm dokázal říct hodně věcí.

Ale už bylo pozdě. Ve vlaku na konferenci jsem seděl se stopkami v ruce a zkoušel dát každý jeden slajd pod 30 sekund. Nešlo to. Po několikáté zkoušce už mi bylo jasné, že jsem měl udělat pět slajdů s pěti nejdůležitějšími informacemi (které na mě vyplavaly až během zkoušek), ale slajdy se posílaly předem a měl jsem za to, že už je nelze změnit. Holt riziko příliš krátkého časového limitu a nového tématu, o kterém jsem ještě nikdy nepřednášel, ani ho nijak jinak nezpracovával.

První rozhovor s juniorem vydán!

Během těch samých dní jsem si vytyčil jako úkol konečně na webu vydat rozhovor s Romanem V. Dvořákem.

Článek byl připravený, chybělo jen dodělat nové og:image náhledy, aby to bylo atraktivnější na sociálních sítích, a „reklamu“ na klub pod článek, jakoby místo komentářů.

Reklama na klub

Reklamu jsem dodělal celkem rychle, ale s těmi og:image jsem se trochu trápil. Nejdřív jsem tam chtěl jen přidat Romanovu fotku, ale nějak mi to nesedělo, tak jsem je předělal celé. Prošel jsem si ogimage.gallery, ale nakonec jsem to podle mě stejně udělal zase takové… nudné.

og:image

Každopádně jsem zkusil nový přístup. Protože obrázek není web, vše jsem se do něj pokusil v CSS vměstnat za použití jednotek vh a vw. Docela to šlo. Narazil jsem akorát na problém, že text neumí být „responzivní“ (nebo to neumím), takže ho nelze zmenšit na základě toho, kolik ho tam je. Tzn. aby dlouhý nadpis dostal menší font-size. Zkoušel jsem cosi s container queries, dokonce i cosi s JavaScriptem, ale nakonec jsem se pleskl do čela a prostě v Jinja jenom přiřadil nadpisu nějakou třídu podle délky a bylo to.

A když už jsem udělal nové og:image, kam jde vrazit i fotka, tak jsem ty fotky do nich přidal i pro další podobné stránky na webu, např. přednášky, epizody podcastu, apod.

No a pak jsem to konečně vydal! Pomůžete mi, když to nasdílíte - tady Mastodon, LinkedIn.

Vždycky, když si to otevřu, tak mám velkou radost. Připadám si, jako bych četl časopis. Je to prostě dobré! Profesionální. Podívej, mámo, publikuju články, jako bych provozoval Heroine nebo CzechCrunch! 💪 A v mailu už mi týden leží zpracovaný další rozhovor, tak se těším, až si ho přečtu.

Ale ten og:image nevím, jestli se mi vlastně nakonec líbí. Možná ho ještě předělám. Taky jsem si všiml, že jsem úplně zapomněl dodělat výpis článků. Takový detail, ehm… Na hlavní stránce novinek článek nikde není, a tady je zatím jen hodně provizorní odkaz.

Frontkon

Místo autobusem v 7 jsem jel vlakem v 8, protože jsem se tak soustředil na číslovku 7, že jsem si budík nastavil na 7. Až na autobusáku jsem si uvědomil, že jsem tam o hodinu později.

V kupé se mnou seděla paní, která „neslyšela pět budíčků“ a zaspala co mohla, tak to mě trochu uklidnilo, ale pak jsem se zase stresoval tou přednáškou, takže nic moc. Publikoval jsem rozhovor s Romanem V. Dvořákem, aby se to stihlo dřív než v pátek, a aby si ho třeba přečetl i někdo z Frontkonu, kdo si mě po přednášce vyhledá a najde moje sociální sítě.

Na Frontkon jsem dorazil tak tak, abych stihl přednáškový blok před tím svým. Stres jsem snižoval povídáním na chodbě, hlavně s Martou nebo borcem od Kateřiny.

Pak se zjevil i yablko, tak jsme se chvíli bavili o tom, jak se snažil dostat do místa konání nějakou divokou kombinací koloběžek. Jeho přednáška byla vtipná a jeho slajdy nepřipravené, takže to trochu snížilo mou hladinu stresu.

Obdivuji, jak se dokáže nad věci povznést, zasmát se jim, nebrat nic moc vážně, udělat si z toho pohodičku. Myslím, že jsem to dřív taky uměl, ale jako by to někde zůstalo semleté životem a tlakem na výkon. Zkusím to v sobě zase najít.

Svou přednášku jsem nakonec natáhl z 10 minut na 15. První půlku jsem se snažil projít rychle, ale poctivě. Pak jsem si všiml, že na odpočtu času jsou samé nuly a došlo mi, že už žádný další čas prostě nemám. Tak jsem zbytek proletěl strašně stručně, v podstatě jen aby to bylo. Ty důležité věci podle mě zcela zapadly.

Slajdy
Slajdy jsou na SpeakerDecku

Po mně šla Marta a měla to skvěle připravené a zábavné. Do svých 5 minut se vešla. Následnou panelovou diskuzi jsem si užil víc jak přednášku, protože na ni bylo dost času a mohl jsem rozvést spoustu myšlenek. Janča Nečasová to dobře moderovala a moji spoludiskutující mi dávali spoustu prostoru 😂 Sice jsem se místy klepal i na židli v panelu, ale prý si toho nikdo nevšiml a přednáška i panelovka se publiku líbily. Tak to je asi hlavní.

Přednáška
Přednáška, foto Boris Kolda
Panelovka
Panelovka, foto Boris Kolda

Byť jsem asi podal ucházející výkon, potřeboval jsem pak ještě několik hodin, aby to ze mě opadlo, a konferenci jsem si kvůli tomu zas tak moc neužil. Pokecal jsem s pár lidmi, s yablkem a holkama jsme dali u piva debatu o výkonech a konečnosti života, ale přišlo mi, že když jsem se začal konečně trochu rozjíždět, tak byl závěr 😀 Něco jako keynote od Libora Vaňka a následná panelovka se mi líbily, ale jak říkám, pak byl konec a já se zrovna začal dostávat do toho, že bych si v klidu užil nějaké přednášky a povídání s lidmi.

Aspoň povídání jsem si užít mohl, protože jsme šli s účastníky na pivo, a tam jsme mohli hodně věcí probrat. Rád jsem zase viděl Martina Mayera, se kterým se jinak tradičně potkáme akorát jednou za rok na WebExpu.

S Martinem
S Martinem
S Katkou a Martou
S Katkou a Martou

Zabředl jsem do diskuzí i s organizátory a dával jim nějaké (nevyžádané?) tipy. Na Frontkon čtu po internetech pozitivní zpětnou vazbu. Já se necítím moc pověřený konferenci hodnotit, protože:

  • Většinu času jsem byl ve stresu z vlastních vystoupení a neměl čas moc vnímat zbytek konference, nebo si jej nějak užít. Navíc všechno odsýpalo hodně rychle, v podstatě se nešlo s někým zakecat bez toho, aby člověk přišel o následující blok přednášek.
  • Jsem zvyklý na PyCon CZ a to je prostě jiný level. Ale není fér to srovnávat, protože Frontkon je na začátku. Je skvělé, že vůbec pro takovou konferenci dokázali Frontendisti svou komunitu zmobilizovat. První PyCon CZ v roce 2015 byl jednodenní (když nepočítám workshopy) a atmosféru měl asi podobnou 🙂 Držím Frontendistům palce, ať se jim konference i komunita daří do příštích let rozvíjet. Je pro mě velmi sympatické, že to je komunitní, dobrovolnická organizace zaštítěná spolkem, protože přesně tak to máme i my holky a kluci od Pythonu.
  • Je možné, že Frontendisti zažívali totéž, co já na PyCon CZ, protože tam potkávají známé tváře a kamarády ze své komunity. Já nedělám frontend, sleduju to jen po očku, takže mi mnoho jmen nic neřekne a jsem tam spíš návštěvník zvenku 🙂 Je jasné, že potom to se mnou nezacloumá tolik, jako s frontendovou cílovkou.

Co mi u Frontendistů chybí je nějaká funkční online komunita, kde by se atmosféra „roztleskávala“ ještě před konferencí, a kde by člověk třeba během konference napsal „kam jdete po přednáškách na pivo?“ a dostal by odpovědi, nebo kde by šlo sledovat organizační dění a přiložit případně ruku k dílu.

Zkoušel jsem Discord i Slack, ale bylo to polomrtvé a bylo mi naznačeno, že díky mým zprávám to tam na týden ožilo jako možná nikdy v historii. Pochopil jsem, že Frontendisti jedou hodně Facebook, ale tam jednak už nejsem, jednak to není chat v reálném čase.

Co se týče přednášky, odnesl jsem si z toho hned několik poučení. Slíbit krátkou přednášku, protože to dá méně práce, je past. A když už ji slíbím, tak si musím napsat na papír 3 hlavní věci, které chci sdělit, udělat si k nim 3 slajdy, a hotovo.

Úpravy na blogu

Po Frontkonu jsem přespával u kamaráda a měli jsme hezký pátek, kdy jsme si povídali o životě a pak společně pracovali po kavárnách. Už předem jsem si naplánoval, že jestli budu vůbec v pátek pracovat, pověnuji se trochu svému blogu.

Přesun z Telegramu na Mastodon nebyl úplně hladký. Vždy jsem něco rychle poměnil po večerech nebo ve chvilce o víkendu, a výsledkem bylo, že v podstatě každý týden jsem se při psaní poznámek zarazil o něco rozbitého. Nastal čas na to sednout pořádně. Povedlo se mi následující:

  • Skript, který mi generuje šablonu pro týdenní poznámky, si teď před spuštěním nejdřív stahuje aktuální „tooty“ z Mastodonu.
  • Tentýž skript se podívá na „tooty“ se štítkem #juniorguru a naháže mi je do poznámek, protože jsou o něčem, co budu chtít v poznámkách zmínit, nebo rozvést. Původně jsem je zkusil vyloženě citovat a udělal jsem si na to v CSS i hezké fialové obarvení, podobně jako když jsem měl světle modré pro „tweety“, ale nějak mi to nakonec nesedělo a předgenerovávám si akorát seznam odkazů.
  • Zobrazil jsem hvězdičky a „reblogy“ („retooty“?) v záhlaví článku. Zobrazil jsem odpovědi z Mastodonu pod článkem jako komentáře. Synchronizuje se to jednou denně v noci.
  • No ale hlavně, přidal jsem si do Pelicanu rozšíření na pár řádků, které při generování článků z Markdownu uloží informace o článku do SQLite. Původní skripty na Telegram nebo na poznámky se totiž orientovaly jen podle souborů, případně je zkoušely tak trochu parsovat, a to časem nevedlo k ničemu dobrému. Takhle se mi informace o článcích uloží do tabulky a skripty mohou přes primitivní SQL dotaz hned zjistit např. kterým z posledních článků chybí odkaz na Telegram, nebo na Mastodon. Výsledkem je i to, že teď mohu napsat dva články za den a nemělo by to způsobit problémy 😀 Možná jsem to mohl napsat i s čistým Pythonem, ale byl jsem líný a pomohl si sqlite-utils.
  • Dodělal jsem automatické sdílení nového článku na Mastodon. Kód jsem učesal a sloučil s tím pro Telegram. Sjednotil jsem i text, který se připojí k odkazu, když se článek sdílí.
Komentáře pomocí Mastodonu

Víkend na zahradě

Aby se tu jen třicetkrát neopakovalo slovo stres a nevyznělo to celé příliš negativně, tak musím ještě napsat, že o víkendu jsem se připojil k rodince u babičky a pomohl tam s nějakým dřevem. Počasí vyšlo hezky a povedlo se mi u toho trochu zrelaxovat.

Dřevo
Tohle jsem sice zrovna nenasekal já, ale jako ilustrační obrázek dobrý

Další

  • Propagoval jsem Nelinu přednášku o duševním zdraví: Mastodon, LinkedIn
  • Narazil jsem na zajímavou věc, která umí udělat komentáře přes GitHub: utterances. Nevyužiju, ale někomu se to třeba může líbit.
  • Členka klubu přišla s nápadem na projekt, který jsem chtěl vyrobit zhruba příští rok vyloženě jako součást junior.guru. Přemýšlím, jak spojit síly, jak ji třeba zapojit. Je to ale těžké, protože je frontendistka a já prakticky nemám frontend, respektive mám takový frontend, jaký by se nejspíš žádnému dnešnímu frontendistovi nelíbil 😅
  • Plánoval jsem Q&A na podzim, které má proběhnout v rámci Týdne pro Digitální Česko. Aktivizoval jsem nového pomocníka na video a vymýšlím, jak to udělat tak, aby nahrávali oba a v případě průšvihu se přeplo na záložníka. Zatím jsme se úplně nesladili ani v technologiích, protože na junior.guru tradičně používáme OBS, ale nový pomocník má oblíbený evmux. Ten je placený a já si nejsem jist, zda jeho funkce využijeme. Nahráváme obrazovku a posíláme ji do jednoho streamu.
  • Přestalo mi správně fungovat zakládání událostí na Discordu. Nakonec jsem si našel čas to rychle opravit i v tom shonu. Podle mě je to chyba přímo v Discord API, založil jsem issue. Objevila se z ničeho nic, ze dne na den, aniž bych cokoliv já měnil. Tolik asi k tomu, že jsem rentiér a mohu si dát nohy nahoru.
  • Build junior.guru mi často padal na stahování počtu sledujících z Mastodonu. Nevím, jestli je to ochrana proti scrapování, nebo downtime, ale MastodonCzech prostě dost často vrátil chybu. Upravil jsem tedy skript, aby se díval i na dvě jiné instance, kde jde informace o mém profilu taky vyčíst. Možná by to řešilo využití API Mastodonu, ale kvůli takové kravině jsem nechtěl na junior.guru přidávat tři nějaké tokeny.
  • E-maily, klubový Discord, Pyvec Slack, zprávy na LinkedIn.
  • Během 11 dní jsem se nevěnoval žádné sportovní aktivitě. Detaily na Strava, jediné sociální síti, kde si napsání statusu musíte zasloužit.

Plánuji

  1. Pracovat na rozhovorech, ať už ladění existujícího s Romanem V. Dvořákem, nebo vydání dalšího.
  2. Pokračovat v předělávání tipů pro nováčky v klubu.
  3. Pročistit sloupec v Trellu, ve kterém se mi hromadí různá režie. Vyházet nesmysly, promlčené věci, věci které nespěchají…

Zaujalo mě

Když na něco narazím a líbí se mi to, sdílím to na Mastodonu. Od posledních poznámek jsem sdílel:

  • Co se to děje v Izraeli? :: Nihilista
    Pomohlo mi to zorientovat se v aktuálním dění v Palestině a Izraeli. Něco jsem věděl, něco ne.
  • (bez titulku)
    Ať vás F1 zajímá nebo ne, tohle je prostě neskutečný. McLaren má nový světový rekord v nejrychlejším pitstopu: 1,80 sekundy.
  • (bez titulku)
    „The only status symbol worth looking out for is an invisible one: The degree of control people have over their own time. It comes with seniority, financial independence and good life choices.“ Jako jo, souhlas, a osobně to mám teď dost vyladěné, ale očekávám, že např. školka mi do toho asi hodí dost vidle. Good life choices? 😅
  • Keep a Changelog
    Proč udržovat CHANGELOG soubor a jak.
  • Palme do vlastních řad
    „Záplava informací a sporů z nás dělá hypergramotné čtenáře doby. Učíme se způsob čtení, jehož cílem je co nejrychleji ideologicky rozřazovat. Šetří to čas i nervy: nebudu se bavit s člověkem, co používá TOHLE slovo.“ „Sledujeme performativní polarizaci. V ní vlivní hráči možná nenabízejí lákavý program, druhou stranu však vykreslují tak děsivě, že se jim skrze konflikt podaří sjednotit vlastní podporovatele.”
  • *Privacy Not Included: A Buyer’s Guide for Connected Products
    Lol, Mozilla se podívala na to, jak výrobci aut zacházejí s osobními daty a je to naprostá katastrofa. Úplně všechny značky to mají úplně na párku a dají se seřadit jen od velmi špatných po nejhorší.
  • Things you forgot (or never knew) because of React
    Frontendu nerozumím natolik, abych tohle nějak komentoval, ale bylo to rozhodně zajímavé čtení. A objevil jsem díky němu věci jako petite-vue nebo alpine, které bych teoreticky někdy mohl využít.
  • A perspective on attendee safety at Python community events - Daniele Procida
    Jsou Python konference v Africe bezpečné? Žádné konference nejsou. Ale u těch na Západě nás nenapadne se na to ptát. „It would be quite a surprise if the organisers of a Python event in the West were to issue safety guidance to black or African attendees. But one doesn’t need to look far to find examples of black community members who have encountered racism while visiting Python events - in countries that no-one would raise concerns about supporting.“
  • "Krásné, ale jde z toho hrůza." Manželé otevřeli Gočárovy mlýny s obnovou za miliardu
    Už se těším, až to uvidím! V Pardubicích otevřeli Gočárovy mlýny.
  • Odstranění Facebook skupiny, kterou spravujete | Centrum nápovědy pro Facebook
    Věděli jste, že skupinu na Facebooku nelze žádným normálním způsobem úplně zrušit a smazat?
  • Bun hype. How we learned nothing from Yarn
    Bun. TypeScript. Yarn. CoffeeScript. Stále stejná pohádka? Hype vynese novou technologii do oblak, aby pak všechny její funkce implementoval původní ekosystém a udělal z ní pouze kapitolu dějin. Autor naznačuje, že tyhle věci způsobují jen zmatek a ukrajují zdroje původnímu ekosystému. Otázka je, zda by se bez nich původní ekosystém inovoval, nebo zda by se ty vyhypované funkce nikdy nestaly prioritou vývoje 🤔