Týdenní poznámky: Článek o AI, WebExpo a katalog kurzů

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 (15. 4. až 28. 4.), tak nastal čas se opět ohlédnout a utřídit si myšlenky.

WebExpo
Fotil Riki Fridrich. Teda vlastně WebExpo. Tedy nějaký jejich fotograf. Prostě jsem to stáhl tady z Facebooku

Píšu až po dvou týdnech hlavně kvůli tomu, že jsem po vydání článku o AI neměl vůbec náladu nic dalšího psát a navíc by se to s WebExpem stejně nestíhalo.

Článek o AI

Během víkendu po napsání minulých poznámek mělo pršet, tak jsem se rozhodl, že napíšu článek na blog. Hlavou se mi honilo strašně moc myšlenek kolem AI, tak jsem si je chtěl uspořádat. A jedno staré moudro praví, že psaní je myšlení. U mě to jednoznačně platí.

Jenže těch myšlenek bylo nějak strašně moc. Rozbíhaly se do všech stran a já cítil, že to je na deset článků, ne na jeden. No nedalo se nic dělat, deset článků jsem napsat nechtěl a než bych je postupně vydal, už by zastaraly, takže jsem to prostě natlačil do jednoho dlouhého.

Článek

Empowered by AI: Why junior devs have the winning edge jsem psal většinu soboty… neděle… pondělí… V úterý jsem měl už fakt stres, protože se na mě hrnuly různé pracovní a životní povinnosti a od středy začínalo WebExpo. Jenže já věděl, že musím prostě nejdřív dokončit ten článek. Že pokud ho nedodělám teď, tak už nikdy. Každý týden se objevují novinky kolem AI, takže jsem chtěl co nejrychleji zachytit své myšlenky v tento konkrétní moment. A taky jsem to chtěl mít po několika dnech psaní už z krku.

Ještě jsem nechal ChatGPT opravit mi angličtinu a v úterý večer jsem to konečně vydal. V noci jsem pak dodělával nějaké povinnosti, které nešlo odložit, abych mohl další dny zmizet zase na WebExpo.

Po vydání jsem pak v klubu dostal jemnou spršku, že jsem stopadesátý člověk, který AI nerozumí, ale vyjadřuje se k němu 😀 Na HackerNews to dostalo nula hlasů a na Redditu mínus jeden hlas. Nějaký malý ohlas to mělo na LinkedIn. Dal jsem to ze zoufalství i na Twitter, ale odezva spíše vlažná.

Určitě hraje velkou roli, že je to strašně dlouhé a nikomu se to číst prostě nechce. Navíc je to anglicky, zatímco můj zásah je spíš na lidi v Česku. Mám pocit, že většina lidí v Česku je líná číst anglické věci, i když anglicky umí. Potřebujou to přežvýkané do češtiny 🤷‍♂️

Kvůli tomu, že jsem tomu hodně obětoval a zároveň to nebyla po vydání jednoznačně pecka, měl z toho celého nakonec dost smíšené pocity. Promluvil jsem si o tom s manželkou a ta mě podpořila a dodala mi sebedůvěru ❤️ Připomenula mi, že jsem to psal hlavně sám pro sebe, abych si uspořádal myšlenky a zanalyzoval situaci kolem junior.guru, tak bych měl mít radost, že to mám.

No a postupně jak to lidi čtou, tak se nakonec dostavuje i externí validace, česky i anglicky 🙂 Tak třeba se to ještě nějak rozšíří, ale já už jsem s tím v míru a je mi to fuk. Chtěl jsem na WebExpu stihnout Discomfort zone: Will AI take our jobs?, ale úplně jsem to zazdil. Aspoň jsme to pak s Rikim nebo s Vildou trochu probrali u piva.

Community builders breakfast

Už minule jsem psal, jak jsem šel na akci do Deloitte. Ve vylézání ze své homeoffice díry jsem pokračoval. V úterý 18.4. dopoledne jsem se účastnil akce Community builders breakfast, kterou pořádá skvělá Czech Community of Community Builders (odkaz rovnou na Slack).

Bylo to za rohem v Karlíně, byla tam snídaně, zajímavá panelová diskuze. Čím dál víc si uvědomuji, jak mě akce nebo podcasty o vedení komunity, psaní, marketingu, nebo řízení byznysu teď baví mnohem víc, než akce programátorské.

Pyvo je samozřejmě srdcovka, za ty léta tam mám vyloženě kamarády. Ale motivaci navštěvovat něco jiného vyloženě pro programátory mám teď dost slabou, protože mě to neposouvá v těch směrech, kde cítím slabiny, ale naopak v oblasti, v níž se cítím nejsilnější a jsem v ní mistr světa amoleta.

Na Community builders breakfast jsem potkal hodně lidí, které znám a s nimiž jsem si rád pokecal. Stále si tam ale připadám spíš jako nesmělý návštěvník. Ačkoliv jsem byl teda jeden z mála, kdo zvedli ruku, když se ptali, kdo má komunitní práci na full time 😀

WebExpo

Jako VIP osoba jsem dostal lístek na WebExpo zdarma. Nebyl jsem si jistý, zda ho využiju a půjdu, ale nakonec jsem si vymyslel následující systém:

  • Warm-up párty vynechám,
  • oba konferenční dny budu dopoledne doma a postarám se o dítě,
  • po obědě půjdu na konferenci a budu si pouze povídat s lidmi,
  • plynule navážu večer a půjdu na obě večerní párty,
  • budu se při networkingu ptát lidí, jaké přednášky se jim líbily a jen ty, které budou rezonovat mezi více lidmi, si pak pustím ze záznamu.

Protože, jak už jsem tady na blog kdysi psal, konference nejsou o přednáškách. Jaké to bylo? Naprosto skvělé! Moc jsem si to užil.

Blanka a Honza
S Blankou na afterparty, foto WebExpo

Udělal jsem si tyto poznámky:

Akorát jsem teda po těch dvou dnech nemohl mluvit a potřeboval jsem nejen dospat zhruba deset hodin, ale taky dobít svoje introvertní baterky, které jsem během socializace vyždímal až na dno. Hned druhý den po konferenci však na návštěvu přijeli moji upovídaní rodiče, takže networking mi plynule pokračoval i potom 😅

Aktivita v klubu

Během týdne jsem si víc a víc začal všímat, jak to v klubu utichá. Lidi nediskutují, nedávají reakce, prostě to umírá. A ne pouze jeden týden, ale že je to nějaký dlouhodobější trend.

Probíral jsem to s lidmi na Community builders breakfast i na WebExpu. Na WebExpu se mi povedlo od jedné členky klubu dostat dost upřímný feedback na to, jak se jí tam líbí, a bylo to velmi poučné. Probíral jsem to s moderátory v klubu. Vymýšlel jsem. Hypnotizoval jsem grafy a všiml jsem si, že jsou jednak divné a v datech jsou asi chyby, jednak že počet členů v klubu od zdražení stagnuje. Zároveň počet napsaných znaků nijak nevybočuje, takže pokles aktivity je sice sdílený, ale nejspíš subjektivní dojem.

Písmenka
Prosincové navýšení aktivity je díky Advent of Code

Smíšené pocity, protichůdné indicie. Po WebExpu jsem se chtěl pustit do katalogu kurzů, ale vypadalo to, že budu asi muset přeskládat priority a věnovat se zase hlavně klubu.

No a nakonec se to nějak vyřešilo samo. Snažil jsem se od pondělí intenzivně věnovat klubu. Všechno číst, všude přispívat, aktivně se starat o svou zahrádku. Navíc se vrátil Dan Srb z dovolené a ještě přišel do klubu Petr Glaser, který je taky hodně aktivní, takže stačilo pár hodin a už jsem ani nestíhal číst, co všechno se v klubu děje 😅

Přednáška v klubu s Martou

Na úterý byla naplánována přednáška s Martou. Z Marty vždycky vyzařuje velká energie a je s ní sranda, takže jsem věděl, že to bude super.

Přednáška s Martou

Dokonce jsme se domluvili, že se stavím do její firmy do kanclu v Karlíně a že po přednášce půjdeme na pivo, kam pozveme i ostatní z klubu. Do kanceláře jsem přijel pozdě, jen deset minut před začátkem, a to ještě pouze díky poslednímu sdílenému kolu, které zrovna na tom mojem kopci zůstalo.

Brzy po připojení jsme zjistili, že když Marta sdílí obrazovku, je tam nějaké podivné echo. Řešili jsme to dvacet minut, ale naštěstí se nám to povedlo přerámovat jako komedii. Zvuky, kvůli kterým jistě některým posluchačům vykrvácely uši, někdo vtipně pojmenoval jako „zvuky z vesmíru“ a nakonec jsme se tomu všichni zasmáli. Dopadlo to tak, že jsme vysílali oba společně z mého počítače.

Komedie 1
Foto Dan Srb

Být takovýmto způsobem na přednášce „se speakerem“ mělo svoje kouzlo a byla to mnohem větší šou, i přes technické obtíže. Také jsme společně odpovídali na dotazy. Všem se to moc líbilo a Marta mi psala, že někdo byl dokonce smutný, když na záznamu těch počátečních 20 minut nenašel 😂

Komedie 2
Foto Dan Srb

Mám teorii, proč to celé blbnulo, ale bylo v tom více faktorů (Discord, Windows v němčině, Martiny sluchátka, nějaký prapodivný device u Marty v zasedačce na stole…), tak je asi zbytečné to tady rozvádět.

Zpětně jsem si uvědomil, že se to sice z velké části pokazilo, ale že jsem u toho neměl velký stres. Myslím, že je to díky tomu, že jsem věděl, že o nahrávání záznamu se stará Tinuki a že stačí vyřešit nás dva s Martou a okecat to celé. Prostě Tinuki byl Houstonem našeho Apolla 13 a možná jen díky němu jsem se vlastně z toho celého v tu chvíli neposral.

Pivo po přednášce dopadlo dobře. Každého z příchozích jsem už někdy viděl, ale bylo fajn je mít všechny pohromadě a poznat je víc. Bylo zajímavé poslouchat příběhy jednotlivých lidí a jejich zkušenosti např. s testováním ve Warhorse.

Pivo v Karlíně

Katalog kurzů

Konečně jsem se do toho pustil. Za jedno dopoledne jsem měl novou stránku v menu a hotový seznam vzdělávacích agentur. Záměrně jsem se nezabýval tím, že to menu na menším mobilu přeteče. Místo abych se s tím trápil dva dny, opravím to později.

Menu

Snažím se dělat co nejvíc continuous delivery a dávat ven každý jeden malý kousek, který udělám. Každé jedno vylepšení. A snažím se vždy zamyslet nad tím, co je nejmenší možný další inkrement, který přidává nějakou hodnotu.

Katalog kurzů

I když jde pouze o seznam, dal jsem to rovnou do klubu a začal se ptát na zpětnou vazbu. A ptám se i na Facebooku. Překvapilo mě, že pro někoho je užitečné už jen to, že jsou ty odkazy na jednom místě a vidí, že existuje výběr. Lidi mi taky okamžitě našli nejrůznější chyby a nesrovnalosti, kterých jsem si sám ani nevšiml. Samozřejmě aby to bylo užitečné, chtělo by to minimálně nějaké filtrování. Narazil jsem na tenhle status Michaely Losekoot a v kontextu budování katalogu je to až příliš relevantní!

Začal jsem pouze s abecedním seznamem. Vlastně jsem tam jen přesunul něco, co už jinde na junior.guru bylo, a doplnil to o další data. Doplnil jsem screenshoty a při té příležitosti jsem aktualizoval screenshoty na celém junior.guru. To vždy zahrnuje ladění různých CSS selektorů v mém screenshotovači, aby na screenshotech nebyly kraviny jako cookie lišty apod. Až zpětně mě napadlo, že by možná šlo do playwrightu nějak nainstalovat adblock, abych to nemusel vždy ručně ladit, ale nezkoušel jsem to.

Seznam byl staticky vepsaný do Markdown souboru, dokonce jeho abecední pořadí bylo ručně a proto v něm byly i chyby. Až v dalších dnech jsem to změnil tak, aby byl zdroj dat v YAML souborech a seznam se generoval. Kromě seznamu jsem začal generovat i podstránky. Na ty se zatím nedá dostat jinak než z patičky, ale pomalu je připravuji a brzy bude proklik mířit ne na weby jednotlivých firem, ale na moje podstránky.

Podstránky
Nové podstránky v patičce

Na webu jsem měl už dlouho tzv. SEO lapače pro jednotlivé kurzy. Dlouhodobě mají slušnou návštěvnost z vyhledávačů, což mě mimo jiné přesvědčilo, že mám katalog udělat. Podle plánu jsem je teď začal migrovat na nové podstránky. Zbudou pak už jen čtyři: Advent of Code, CS50, JavaScript, Python. Jsou příliš dobré na SEO, abych je smazal, ale zároveň se jich fakt chci zbavit, protože jsou na staré infrastruktuře, kterou pak budu moci vyčistit z kódu. Ještě nemám jasný plán, co s nimi udělám.

Czechitas lapač
Původní SEO lapač na Czechitas
Czechitas v katalogu
Nová katalogová podstránka o Czechitas

Pohlídal jsem si také aby odkazy na kurzy měly nofollow. V budoucnu plánuju, že když mi firma zaplatí, nofollow odeberu.

Při tom všem jsem naprogramoval i věc, která umí přečíst Markdown soubory vytvořené pro MkDocs a uloží mi do databáze jejich meta data. Měl jsem z toho velkou radost, ale pak jsem zjistil, že to nepotřebuju a že to nakonec vlastně celé udělám jinak 🤷‍♂️ Tak teď nevím, jestli to mám smazat, je mi to trochu líto. Ale asi to smažu, no.

Schůzky

Další

  • Kamarád tvoří aplikaci na učení japonštiny a čínštiny. Chce to do pár týdnů spustit, tak pokud vás něco takového zajímá, určitě na to pak mrkněte.
  • Bot neoznamoval přednášky, opravil jsem to.
  • Konečně jsem se pověnoval inzerátu od Glance Media. Dodali mi pracovní verzi, já jim to přepsal, oni upravili pár slov a šoupli jsme to na web. Musím ale opravit zobrazování loga, protože to se bere z favicony a ne z SVG loga, které mám u partnerských firem.
  • Koukal jsem ve volném čase na Kašpárkovo gusta. Nainstaloval jsem to, navrhl nějaké úpravy, poslal Pull Requesty.
  • Volné chvíle jsem věnoval generování obrázků přes Stable Diffusion. Zkoušel jsem místo DiffusionBee nainstalovat stable-diffusion-webui. Na macOS ale vlastně nic moc, i přes návod, jak to zrychlit. Brousím si zuby na InvokeAI. Objevil jsem další zdroj modelů, Civitai.
  • Upgradoval jsem docs.pyvec.org na Python 3.11 a aktualizoval jsem tam různé závislosti.
  • E-maily, klubový Discord, Pyvec Slack. Přidal jsem v klubu mentora z Mews. Plánoval jsem nadcházející přednášku v klubu. Mrknul jsem na jedno CVčko. Nasdílel jsem v klubu info o akci Motherhood & Career in STEM. Red Hatu jsem pomohl udělat v klubu anketu o tom, jestli mají lidi zájem o part time úvazky.
  • Během 14 dní jsem při procházkách nachodil 17 km, ujel na kole 6 km. Celkem jsem se hýbal 10 h a zdolal při tom 23 km.

Plánuji

  1. Udělám promo úterní přednášky, promo posledního dílu podcastu.
  2. Propojím podstránky se seznamem kurzů.
  3. Propojím kurzy s partnerskými firmami. Partnerské firmy budou v seznamu první a zvýrazněné, nebudou mít nofollow odkaz. Bude transparentně zmíněno, že si to platí.

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: