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 (8. 8. až 8. 9.), tak nastal čas se opět ohlédnout a utřídit si myšlenky.
Tentokrát po měsíci, a to hlavně proto, že v pátek jsme vždycky někam jeli a nebyl čas to sepsat. Pak začal nový týden a zase bylo potřeba dělat jiné věci. A takhle stále dokolečka dokola. Ale dnes už bych to fakt rád napsal! Tož vyhrnout rukávy a do toho.

Čísla: Finanční výsledky, návštěvnost a další čísla k junior.guru mám přímo na webu.
Život
Od minula jsem stihl zažít horka, zajít na koupák, bydlet na hlavním náměstí velkého města, oslavit svátky, narozeniny, vybrat a koupit první kolo pro malou, zajít k holiči, na terapii, vzít dceru na Staroměstskou radnici, ocitnout se omylem na folklorním festivalu, prokecat noc s týpkama cestujícíma Evropou v džípu se stanem na střeše, podívat se do českých kanceláří Microsoftu, uvařit dýňové risotto, projet se historickým vlakem, podívat se na střechu domu Radost, přespat dvakrát s děckem ve stanu, navštívit rodiče, bráchu a jeho rodinu, nebo si nastříhat nějaká videa zase jen tak pro radost, jako osvěžení po dlouhé práci na videu pro junior.guru. Taky se mi povedlo potkat tři kamarády, které jsem fakt dlouho neviděl.
Když jsme se střídali v péči o malou během prázdnin, kdy nebyla školka, pomohlo nám kreslit naší čtyřleťačce kalendáře. Vždycky na A4 namalovat, co se bude který den dít, kdo se o ni bude primárně starat a kdo naopak bude v práci. Přijde mi, že jí to hodně pomohlo a dodalo do toho chaotického letního života trochu řádu, což prý mají děti rádi. Kreslili jsme to vždy spolu a když se něco změnilo, přelepili jsme kus a přemalovali 😀
Zašel jsem do kina na Splitsville, nic jsem od toho nečekal a mega mě to bavilo. Super zápletka, odsýpalo to perfektně, bylo to milé a zároveň i hodně vtipné, strašně dobrá muzika (dokonce jedna česká skladba), kamera, všechno. A nejlepší bylo, že měli příležitost mít tam asi tisíc klišé, ale bravurně se jim vyhnuli! Fakt neotřelé vtipy i vyústění scén.
Všiml jsem si taky v kalendáři (svojem), že 28.9. jsem chtěl vlastně běžet půlmaraton, tak jsem se ChatGPT zeptal, co mám teď dělat, když jsem teď skoro vůbec neběhal a chci ten závod přežít. Kupodivu mi řeklo, že mám běhat, tak teda běhám. Holky začaly mezitím smrkat, ale já se držím, tak uvidíme, jak se tenhle týden vyvine. Hlavně to nesmím chytit do středy, kdy mám tu akci s Mews.





Promo video
- Ladil jsem název videa, popisek, thumbnail. Delal jsem to s pomocí ChatGPT. Vždycky jsem si řekl o feedback, mělo to dobé připomínky. Dosochal jsem si to pak sám. Piplačka.
- Mrknul jsem na návod, jak se dělají titulky pro YouTube videa. Zkoušel jsem vestavěný YouTube editor, ale byla to strašná práce, a to i když je voiceover čtený, takže mám ten původní text. Přes ChatGPT jsem objevil HappyScribe a tam jsem to měl hotové za 15 minut. Taky to byla trochu piplačka, ale milionkrát menší. Titulky jsem si lokálně uložil jako
.srt
, ať to není zapečené jen někde v YouTube. - Promo video je konečně hotové a publikované na YouTube! Hurá!
- Hodil jsem to na pár míst, Mastodon, pochlubil se kamarádům, a tak.
- Nastavil jsem to jako úvodní video na YouTube kanálu.
- Použil jsem lite-youtube-embed a vložil video i do prodejní stránky klubu. Což byl hlavní cíl celého tohoto konání. Aby si lidi, kteří zvažují klub, mohli prohlédnout, jak to vypadá vevnitř. Spolu s ChatGPT jsem docela dlouho ladil CSS, aby to celé vypadalo a aby se to celé chovalo tak, jak chci.
- Hodil jsem to ještě jednou na LinkedIn a Mastodon.

Klubová přednáška o SRE a DevOps
Přednáška o SRE a DevOps s Naďou a Vildou byla moc milá a myslím, že se povedla! Probralo se vše důležité a přijde mi fakt užitečná. Než se odehrála, věnoval jsem se promování téhle přednášky a taky vymýšlení, jak udělat zálohu zvuku. Při promování jsem popletl, že Vilda už nedělá v Oracle, ale v Pure Storage, nicméně faux pas z toho velké nebylo. Na začátku jsme chvíli ladili setup, byli dva speakeři, tak to bylo náročnější, ale povedlo se.
Protože jsem si zničil svoje sluchátka a jsou v servisu, půjčuju si teď sluchátka od ženy. Má tytéž, jen jinou barvu. Po přednášce se mi ale povedlo na nich utrhnout gumový špunt, prostě se mi v ruce rozpadl na dva kusy 🤦♂️ Myslím si, že jsem s tím nic divného nedělal, a prostě to možná byla jen únava materiálu, ale stejně jsem se cítil hrozně a byl to dost trapas.
Naštěstí se mi rychle povedlo v Polsku najít nějakého dealera náhradních špuntových gum do starých modelů Jabra sluchátek a objednal jsem raději hned několik náhradních sad s vírou, že moje sluchátka půjde opravit a bude se to na ně jednou hodit taky 🫠 Na její sluchátka to sedí, do uší jí to taky sedí, takže pohroma zažehnána.

Zálohování zvuku: cluck
Párkrát už se mi stalo, že nám u nahrávání vypadl zvuk. A když člověk pak kouká na skvěle nahraný obraz, který je ale bez zvuku k ničemu, uvědomí si, že zvuk je vlastně skoro vždycky nejdůležitější. Takže jsem se snažil vyrobit něco, co bych před přednáškou zapnul v terminálu a ono by to nahrávalo, klidně do oddělených souborů, můj mikrofon a i veškerý zvuk, který teče z Discordu. Tím by vždy vznikla na mém počítači záloha zvuku, kdyby se něco pokazilo.
Protože těmto věcem moc nerozumím, zkusil jsem si na tom GitHub Copilot a nechal ho dělat, co umí. Nakonec mi ale vlastně přišlo stejně lepší zadávat do ChatGPT jednotlivé problémy, kde jsem měl plnou kontrolu nad kontextem, než to vibovat přímo ve VS Code. Vymýšlení ffmpeg
příkazů a debugování nejrůznějších problémů mu šlo skvěle, taky práci s vlákny v Pythonu mi napsal hned a nemusel jsem to vymýšlet, ale kvalita kódu a spousta jiných drobných detailů byla na prd a bylo by mnohdy jednodušší si to napsat sám.
Nejdřív to byl oneliner jako alias v Bashi, potom Bash funkce, pak Python skript, pak Python projekt 😅 Nakonec je to repozitář na GitHubu: juniorguru/cluck
Dělal jsem to nakonec skoro dva dny. Přitom taková blbost. Jenže mám dost specifické požadavky a především fakt, že používám mikrofon na sluchátkách, která jsou přes Bluetooth a mohou kdykoliv vypadnout, to celé vůbec neusnadňuje. Přišel jsem na spoustu hraničních případů, které jsem se snažil ošetřit, ale bylo to dost těžké kvůli tomu, jak funguje Bluetooth, operační systém, nebo ffmpeg
. Nicméně do nějaké verze jsem to dosochal a tu jsem pak i použil.
Nahrálo to tři soubory a jako záloha asi dobrý! Úkol splněn. Něco by se z toho v případě potřeby určitě zachránit dalo. Kdybych to chtěl nějak zjednodušit a zajistit, že se to nahraje opravdu vždycky a v lepší kvalitě, musel bych si koupit nějaký normální mikrofon.

Týden pro digitální Česko a akce s Mews
Během všeho, co jsem dělal, se prolínaly přípravy na akci, která bude teď ve středu, AI a junioři: pomocník, nebo riziko?
- Sháněli jsme panelistky a panelisty. Řešili jsme program večera, žonglovali s panelisty a přednášejícími.
- Sešel jsem se osobně v kavárně s Martinem Rapavým, který měl prapůvodní nápad na tohle téma akce, abychom se lépe poznali, posdíleli nápady a sladili očekávání.
- Maloval jsem v Inkscapu grafiku k akci. Trvalo mi to dlouho, ale ne tak dlouho, jak jsem myslel, že mi to v Inkscapu bude trvat.
- Volal jsem si několikrát s Karolínou z Mews, abychom doladili mnoho nejrůznějších detailů.
- Za běhu jsme prodlužovali sponzorství Mews, které končilo, ale já to pak zapomněl propsat do svých YAMLů, takže pak přišlo Karolině oznámení z mých systémů, že jim končí předplatné v klubu a že ji za pár dní vyhodím 😅
- Objednal jsem narychlo dotisk junior.guru samolepek. Nebyl čas dělat nový návrh, přidělal jsem jen pár těch, které jsem měl už předtím. Zvládl jsem to udělat během 20 minut v kavárně, když jsem měl chvíli mezi kadeřníkem a terapií. Ještě jsem samolepky nevyzvedl, ale jsou hotové.
- Udělali jsme společný online hovor se všemi vystupujícími a jako zázrakem měli všichni čas a připojili se. Sladili jsme očekávání ohledně toho, jak to bude probíhat a zodpověděli jsme dotazy.
- Dal jsem akci na Facebooky, LinkedIn, Mastodon, a tak. Pomohli i vystupující, sami to sdíleli a psali o tom statusy, což bylo super!
- Když bylo konečně vše vyjasněné, poslal jsem na Týden pro digitální Česko na poslední chvíli opravu všech údajů: datum, čas, kapacita, popis, registrační link, grafika, všechno se měnilo 😅 Ale aktualizovali to v podstatě do hodiny od toho co jsem poslal e-mail a hned to bylo u nich na webu.
- Byl jsem pozván na zahajovací akci Týdne pro digitální Česko, která byla minulý pátek. Tak jsem vzal sako a prošel tunelem ze Žižkova do Karlína, kde to (hned za tunelem) bylo 😀 Tam jsem koukl na program, snědl oběd, popovídal si, snědl zákusky, a šel domů. Bylo to hezké, tady video nízkolatenčního přenosu od CESNETu a na LinkedIn jsem se rozepsal trochu víc, ale v podstatě jsem se v tom statusu snažil jen využít fotku svého ksichtu k propagaci té naší akce ve středu, nic objevného tam nesdílím.
- Zítra musím připravit otázky do panelovky a poslat je účastníkům.
- Po akci ještě musím namalovat v Inkscape intro a outro do video záznamu pro panelovku i přednášku, a pak ještě pozadí pro přednášku, aby to mohli SlidesLive použít pro edit.
Podle počtů registrací to vypadá, že to asi „vyprodáme“, takže dobrý!

Dva týdny pro Apify
Sloučil jsem si srpnový a zářiový týden pro Apify, takže jsem pro ně dělal dva týdny v kuse. Dokončil jsem to dnes. Mám poznamenaných téměř 40 odkazů na GitHub PRs a Issues, ale nebudu vás tím zahlcovat. Tady je shrnutí:
- Dokončil jsem nový JS kurz 🎉 Velké díky patří Michałovi a Marcovi, bez jejich obrovské práce na reviews by tohle nevzniklo. Všechny lekce jsem přenesl z Python kurzu, udělal spoustu malých oprav, úprav konzistence, oprav cvičení, vylepšení flow lekcí a taky hromadu zpětných oprav v Python kurzu na základě review komentářů.
- Řešil jsem, jak ten nový JS kurz vydat, aniž bychom sebrali ten starý současným čtenářům. Připravil jsem PR, které kurz zveřejní – apify/apify-docs#1907. To bude příště moje hlavní priorita.
- Pomáhal jsem Michałovi řešit současnost a budoucnost Platform sekce v Akademii. Vedli jsme spoustu diskusí a já jsem udělal pár PR review – apify/apify-docs#1862. Taky jsem uklidil navigaci tutoriálů, abych připravil půdu na přesouvání obsahu – apify/apify-docs#1873.
- Pomáhal jsem Michałovi rozmotat složitý PR s hromadou konfiguračních změn ve Vale, který tam používáme – apify/apify-docs#1890. Rozdělil jsem to na několik menších PR, které se daly snadněji projít (a taky by se snáz revertnuly nebo dohledaly). Nakonec jsem to zrebasoval tak, aby v tom PR zůstalo jen jedno nové pravidlo. Bylo kolem toho hodně komunikace a spousta debugování 😅
- Reviewoval a mergnul jsem fixy do Akademie od Matěje, pak jsem udělal hotfix pro zastaralou lekci, na kterou narazil – apify/apify-docs#1850.
- Hlídal jsem komentáře pod stránkami Akademie a odpovídal – discussions#661.

Python sprint
Během jednoho z víkendů se konal i tzv. sprint české Python komunity. Je to fajn akce, o jejímž charakteru se dočtete na blogu komunity:
Taky se tam brzo dočtete i konkrétně o tom sprintu, který se konal, ale zatím je to rozepsané v Pull Requestu. Povedlo se tam pro Českou komunitu posunout spoustu věcí a taky to byla zase fajn akce, na které jsem moc rád potkal staré kamarády i nové tváře. Jeli jsme celá rodinka, dcera se vyblbla se vším možným, co bylo k nalezení na zahradě, od pejska, šišek, ohně, přes skejty, až po LEGO. Já jsem vylepšoval spoustu větších či menších věcí na docs.pyvec.org.

Hobby kódění
- Do p3news jsem přidal články ze serveru zdopravy.cz, které se týkají Prahy 3.
- Do kina jsem přidal podporu pro Aero naslepo.
Oba projekty jsem rovnou předělal tak, aby používaly uv místo Poetry.
Další
- Vypadá to, že bude nový sponzor junior.guru, ale ještě nic není ujednáno, pouze jsme se domluvili na callu. Bavil jsem se i s Red Hatem, ale tam je to vždy na dlouho. Jednomu sponzorovi jsem dokola psal, že jim to končí, ale vůbec mi neodepisovali a já neměl čas je nahánět, tak jim to prostě skončilo. Ještě se jim ale nějak ozvu, protože to je podle mě nějaké nedorozumění.
- Jednomu členovi se omylem dvakrát strhla platba v jeden měsíc. Řešil jsem to s Memberful, protože oni ukazovali jen jednu platbu, ale Stripe dvě. Byl to nějaký jejich bug. Přes Stripe jsem udělal refund.
- Koukal jsem na scrapecreators.com, což dělá nějaký týpek Adrian, jestli by to náhodou nevyřešilo můj boj se scrapováním LI, ale asi spíš nevyřešilo. Každopádně ale dobrý střelec, ten týpek 😀
- Přestalo mi fungovat stahování seznamu křestních ženských jmen z Wikipedie, což používám na přibližné počítání, kolik mám žen v klubu. Zjistil jsem, že správně se Wikipedie nemá scrapovat a má se použít její API. Našel jsem na to i nějaký Python balíček, ale byl to nakonec jeden HTTP request, tak jsem se na balíčky vyprdnul.
- Opravoval jsem na junior.guru průběžně spoustu rozbitých odkazů.
- Opravil jsem bug v kódu, který generuje Proof of Concept stránku s kandidáty.
- Snažil jsem se pokračovat v překládání Buttondownu do češtiny. Už se blížím ke konci. Na Mastodonu jsem to v jedné slabší chvilce okomentoval takhle.
- E-maily, klubový Discord, Pyvec Slack, zprávy na LinkedIn. Vyřídil jsem jedno stipendium.
- Za 32 dní jsem naběhal 46 km, při procházkách nachodil 34 km, na túrách nachodil 4 km, ujel na kole 5 km. Celkem jsem se hýbal 38 h a zdolal při tom 89 km. Detaily na Strava, jediné sociální síti, kde si napsání statusu musíte zasloužit.
Plánuji
- Vyčarovat ve středu pěknou večerní akci v Mews.
- Losovat v soutěži lístky na Frontkon pro členy klubu a promovat, že bude Frontkon.
- Běhat.
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:
- Čtvrtý koridor boduje. Pasažérská frekvence mezi jihem Čech a Prahou prudce vzrostla - Zdopravy.cz
„Zatímco v roce 2015 trvala jízda rychlíku mezi Českými Budějovicemi a Prahou přes 2,5 hodiny a mezi Táborem a Prahou přes 1,5 hodiny, dnešním Jižním expresům (zavedeny koncem roku 2016) trvá celá cesta 1 hodinu a 41 minut, z Tábora do Prahy je to hodina. Nově zavedené pendolino zvládne trasu ještě rychleji (Tábor – Praha za 52 minut).“ - V Bradavicích už není bezpečno, kouzlo pominulo – Page Not Found
Někoho trápí Nohavica, někoho Rowling. Jak oddělit dílo od autora a jde to vůbec? - Hynek Trojánek: Odmítnutí evropské legislativy aneb digitálními aktivisty během pár dní
„V poslední době tak sledujeme, jak se dříve vysmívané tvrzení, že nás stát za účelem kontroly či digitální korporace za účelem cílené reklamy chtějí sledovat ideálně na každém kroku, právě z těchto okrajových částí společnosti postupně přesouvá do mainstreamu.“ - What Every Argument About Sideloading Gets Wrong
Zdálo by se, že to je samozřejmost, ale naposledy to byl mainstream vlastně v době PC… Doba se velmi změnila. - AWS CEO says AI replacing junior staff is 'dumbest idea' • The Register
Sice The Register je takový programátorský bulvár, ale proč ho nesdílet, když píšou něco, co se mi líbí, že? 😀 - Mozilla warns Germany could soon declare ad blockers illegal
Jestli tohle projde, tak beru do ruky vidle a louče a jdu bojovat za starý internet. - Can’t pay, won’t pay: impoverished streaming services are driving viewers back to piracy | Piracy | The Guardian
„With titles scattered, prices on the rise, and bitrates throttled depending on your browser, it is little wonder some viewers are raising the jolly roger again. Studios carve out fiefdoms, build walls and levy tolls for those who wish to visit. The result is artificial scarcity in a digital world that promised abundance.“ - Místo k parkování
„…zatímco Praha v devadesátkách privatizovala byty a nechala si parkování, Vídeň to udělala naopak. Vídeňský systém sociálního bydlení má u nás mnoho odpůrců – ale ne, jak jen může stát zasahovat do trhu, pražský a český systém sociálního parkování je naproti tomu chápán jako základní lidské právo.“ - Dálnice jako elektrárna. ŘSD otestuje na protihlukové stěně fotovoltaické panely - Zdopravy.cz
Ať jenom nehejtím všechno, co se týče aut – tohle mi třeba přijde celkem cool, když už tady takovu ošklivou infrastrukturu máme 😀 Pokud by to frčelo, tak mnohem lepší, než tím zakrývat pole. A dává mi smysl i to, že by to mohlo nějak vracet do rozpočtu peníze za stavbu dálnic atd., i když to budou asi drobné. - One Way Parents Can Fight the Phone-Based Childhood - The Atlantic
Proč děti tráví čas online? Protože je to jediné místo, kde na ně nedohlíží rodiče. Venku je dneska už nikdo samotné nenechá. - Welcoming The Next Generation of Programmers
„I can name the person who brought me into Python. But if you were brought in via ChatGPT or a programming agent, there may be no human there — just the AI.“ - Deciphering Glyph :: The Best Line Length
Článek o správné délce řádky kódu v editoru a o historii a biologii téhle věci - SEO od roku 2025: Největší revoluce za čtvrt století
Marek Prokop píše, kam směřuje SEO. - uv: Making Local Python Workflows FAST and BORING in 2025 - YouTube
Konečně jsem se prokousal Hynkovým videem o Python projektech s uv, just a direnv. Super. Já direnv už dlouho používám, takže mi to krásně ukázalo, jak do toho všeho může zapadat uv. - KOMENTÁŘ: Fenomén letošních voleb. Proč chybí program stran a zbyla jen úderná hesla? - CNN Prima NEWS
„Řada kandidujících subjektů, včetně těch aspirujících nejen na účast v příští Poslanecké sněmovně, ale dokonce na volební vítězství a na skládání vlády, doposud nepředstavila ucelený volební program. Když se mě před časem jeden novinář ptal, proč tomu tak je, odpověděl jsem tak trochu lakonicky: Protože žádný nemají.“ - The PSF has paused our Grants Program
Pomáhá-li vám Python k zisku, zvažte dar pro PSF. Museli zastavit granty pro akce, což může pohřbít kopu eventů tam, kde je potřebují nejvíc a kde je sponzorů nejmíň, třeba v Africe. „…community continues to grow exponentially, while our funding …has decreased.“ „The PSF is …trying to support the community and foundation while faced with inflation, lower sponsorship, economic pressure in the tech sector, and global/local uncertainty and conflict.“ - Car Park Capital - Official Announcement Trailer - YouTube
Někdo udělal hru na motivy pražského parkování 😀