Týdenní poznámky #42: První přednáška, DPFO, maily

Utekl další týden (15.3. — 19.3.) a tak stejně jako minule sepisuji, co jsem dělal a co zajímavého jsem se naučil. Především se snažím rozvíjet junior.guru. Nemám šéfa, kterému bych reportoval každý svůj krok, ale mám klub podporovatelů, a ty by mohlo zajímat, jestli se neflákám. Taky je to způsob, jak se sám doma nezbláznit a nepropadat pocitu, že je zase pátek a já jsem přitom nestihl nic udělat.

Poznámky
Fotka od Honzy Kahánka

První přednáška v klubu

Na úterý byla domluvena přednáška s Dariou Grudzien. Někteří členové klubu napsali, že se nemohou účastnit a jestli bude záznam. Záznamy jsem dělat nechtěl, ale říkal jsem si, že nějak bych to nahrát snad mohl, bez záruk. Zjistil jsem, že Discord sám od sebe to neumí, ale stačí, když se naučím OBS. To je program, který jak jsem pochopil, znají úplně všichni kromě mě. No nic.

V úterý jsem to začal testovat, ale zjistil jsem, že mi pár věcí nesedí. Petr Viktorin mi dal krátkou konzultaci (video hovor přes Discord), při které jsme zjistili, že mi OBS nechytá zvuk z audia, ale jen z mikrofonu. Já dodatečně zjistil, že to tak na macOS je a aby šlo chytat audio, je potřeba to obejít instalací dalšího programu a nějakou složitou další konfigurací! Uf.

To byl celkem fail, ale Petr souhlasil, že přednášku nahraje, protože je ostřílený z nahrávání Pyv a kurzů PyLadies, takže to v pohodě zvládne, než si to do příště vyřeším u sebe. Já to tedy stále nemám vyřešené, akorát se snažím to iShow Audio Capture aspoň dostat do Homebrew, nicméně jsem nikdy nic takového nedělal, takže kdo ví, jestli se mi to povede.

Přednáška samotná proběhla celkem v pohodě, Daria byla super a lidi z ní byli podle mě nadšení. Záznam v rámci možností máme. Je to obstojný záznam toho, co se dělo a těm pár lidem, co na přednášce být nemohli, to bude myslím takto stačit. Připravil jsem si úvod přednášky, ale nedomyslel jsem konec, takže jsem to pak ukončoval tak nějak neukončeně a divně, ale to se do příště vyladí. Také jsem Darii zapomněl říct, že si může v Discordu vypnout zvuky, které ji během přednášení celou dobu rušily. I v návaznosti na to jsem si následně vytvořil seznam úkolů, které musím vždy udělat. Zatím má 23 položek:

  • najít speakera
  • oslovit speakera, nabídnout roční členství v klubu zdarma
  • poslat speakerovi základní informace
  • domluvit téma
  • domluvit datum a čas
  • pozvat speakera do klubu přes odkaz na členství s kupónem
  • vysvětlit speakerovi základy Discordu, kde může zkoušet, připomenout ať si vypne zvuky u hovorů
  • přidat přednášku na stránky
  • vytvořit plakátek v Keynote
  • plakátek hodit do klubovních #oznámení a na sociální sítě
  • v den přednášky připomenout v #oznámení, že to bude
  • v den přednášky vyzkoušet, zda mi funguje nahrávání přes OBS
  • v den přednášky si připravit úvod před přednáškou, který budu říkat
  • 15min před přednáškou se připojit do klubovny a „rozehřívat“ místnost
  • zapnout nahrávání a další komunikaci vést přes Discord v mobilu
  • po přednášce poděkovat a pořešit dotazy
  • vypnout nahrávání
  • poděkovat všem a ukončit přednášku s tím, že se odpojuji, ale kdo chce ať zůstane a povídá si, třeba se později přidám
  • zaznamenat odkazy, slajdy
  • nahrát video na YouTube jako „unlisted“
  • do popisku dát informace o přednášce, odkazy, slajdy
  • odkaz na video hodit do #oznámení, poslat speakerovi
  • přidat na stránky odkaz na příspěvek v #oznámení jako odkaz na záznam, přesunout přednášku do archivu

Možná to vypadá děsivě a dost manuálně, ale některé věci se dají do budoucna zautomatizovat. Také se dá vytvořit pipeline speakerů, ze kterých potom jen beru a nemusím je vyloženě shánět. Také neslibuji přednášky na žádné pravidelné nebo časté bázi, zatím se budou konat prostě podle toho, kdy je zvládnu připravit. Uvidím, jak se to vyvine.

Přednášku jsem propagoval na sociálních sítích. Proč?

  • První dva týdny členství jsou zdarma, takže se lidé mohou registrovat i jen kvůli přednášce
  • Je to karma pro speakera a tedy malé poděkování „slávou“.
  • Vytvářím FOMO a dávám lidem podprahově navědomí, že v klubu se dějí cool věci. Kdybychom si tam jen povídali, pro členy to může mít nesmírnou hodnotu, ale nepůjde z ní nic vidět ven a tedy to nepřivede další členy. Mohu vytahovat citáty lidí a dávat je na web a sociální sítě, ale přednášky jsou rozhodně věc, která má užitek dovnitř a zároveň funguje i jako reklama ven.

Po přednášce jsem řešil co s videem. Petr mi záznam poslal přes magic-wormhole. Kam s ním? Co s přístupem? Bude jen pro členy? Nakonec jsem zřídil YouTube účet, kam jsem video nahrál jako „unlisted“. Z klubu jsem jej odkázal v příspěvku na Discordu a na web jsem dal odkaz na tenhle příspěvek. Tím je zaručeno, že záznam je dohledatelný, ale nepřístupný pro ty, kdo nejsou členy klubu. Zároveň jsem sdělil, že politika sdílení videa je stejná jako u sdílení odemčených placených novinových článků kamarádům. Ať to lidé spíš nešíří úplně veřejně, ale ať to klidně pošlou kamarádům. Třeba to bude fungovat jako podpultová reklama na klub.

Sociální sítě

Zatímco v osobním životě se snažím mít sociální sítě stále zablokované, abych si čistil hlavu a nepropadal beznaději, zaměřil jsem se trochu víc na to, jak s nimi pracuje JG. Propojil jsem LinkedIn stránku JG s Bufferem a budu tam dávat stejný obsah jako dávám na svůj profil. Tu stránku sice sleduje jen pár zbloudilců, ale proč je zkusit neoslovit, není to moc práce navíc. Totéž Facebook, stránka JG by měla časem sloužit k informacím o JG a skupina by měla ustupovat do pozadí. Zatím ale budu dávat příspěvky tam i tam. Zkusím se víc věnovat i Instagramu, ale tvorba příspěvků pro něj mě nebaví asi ze všeho nejvíc. Stories vůbec nezmiňuju, na to jsem asi prostě už starý.

S Bufferem jsem dost bojoval, jeho UI mi přijde občas trochu nekonzistentní až psychedelické. Navíc je neintuitivní, že LinkedIn neumožňuje (zřejmě kvůli jejich API) udělat v Bufferu mention na člověka nebo firmu, ale FB page, Instagram, nebo Twitter ano. FB skupina ale zase ne. Ach jo.

Do budoucna bych měl na tyhle všechny profily dát odkazy i na JG samotné, aby je lidé mohli najít a mohli informace o JG lépe šířit, pokud na sociálních sítích žijí.

Naplánoval jsem nebo jsem rovnou sdílel všelijaké další noviny, které se tento týden udály, třeba to, že se Lynt stali členy klubu, nebo že vyšel můj článek na Kariérku.

Nastavení Pythonu

Už delší dobu jsem používal Python z Homebrew jako ten, ze kterého vytvářím virtuální prostředí, což není dobrý nápad. Bylo to proto, že na mojí M1 ze začátku nějak nefungoval pyenv, tak jsem to pouze zalepil skrze brew pin python@3.9, aby se mi aspoň nerozbíjely virtuální prostředí.

Ale teď už mě to dohánělo na každém kroku. Chtěl jsem něco přes Homebrew nainstalovat a napsalo mi to, že ne-é, že to bych nejdřív musel upgradnout i Python, jenže ten je připíchnutý na konkrétní verzi, takže mám smůlu, dokud ho neodpíchnu. Třeba spotify-tui nebo magic-wormhole. Takže jsem se do toho pustil.

Nakonec tím nejzásadnějším zjistěním bylo, že pyenv funguje, ale musí se podobně jako brew explicitně pustit pod správnou architekturou, jestliže jej mám nainstalovaný jako intelácký. Takže řešení je zhruba takovéto:

alias brew-arm="arch -arm64e /opt/homebrew/bin/brew"
alias brew="arch -x86_64 /usr/local/bin/brew"
alias pyenv="arch -x86_64 /usr/local/bin/pyenv"

Potom je pyenv schopen nainstalovat Python jaký potřebuju a pipenv je dokonce natolik inteligentní, že mu ani nemusím dávat žádné cesty a on si pro vytvoření virtuálního prostředí ten správný Python (tedy ten, který je specifikovaný v Pipfile) automaticky najde i v hloubi pyenvích adresářů. Tož to by bylo. Přeinstaloval jsem lokálně závislosti JG a vše funguje skvěle.

Dopisování

Tento týden jsem hodně času věnoval komunikaci a posouvání různých rozjednaných dohod vpřed. A to jsem se ani nezvládl ještě připomenout všem.

  • Jak jsem psal, Lynt se stali členy klubu, takže jsem přidával logo na web, vytvářel fakturu, kupón pro registraci, apod.
  • Poslal jsem Smitiu nápady na anketní otázky, kdybychom spolu dělali anketu mezi juniory. Uvidíme, jestli se na něčem nakonec domluvíme.
  • Odpověděl jsem jedné větší korporaci. Krůček za krůčkem jsme blíž faktuře a spolupráci, ale asi to dá ještě hodně práce a hlavně to bude trvat hodně času.
  • Čekám na odpověď z jedné větší firmy, která chce do klubu, kde je můj kontakt zaneprázdněn různými nemocemi apod., ale připomenul jsem se.

Při řešení odmlky u jedné z firem jsem zjistil, že jim moje e-maily konzistentně padají do spamu. Také mi někdo psal, že e-maily z Memberful na Seznamu padají konzistentně do spamu, ale to bych ještě pochopil (a zatím jsem neměl sílu to řešit). Toto byly maily, které jsem ručně napsal a poslal z Gmailu. Díky Twitteru jsem ale přišel na příčinu a snad jsem to i opravil. Bylo to kvůli chybějícímu SPF. Já tedy doteď nevěděl, že něco jako SPF existuje, tak jsem zase o kousek moudřejší. V odkazovaných Twitter vláknech najdete kdyžtak i různé články a nástroje, které věc vysvětlují nebo ukazují spam skóre vašeho e-mailu.

Další poznámky

  • Diskutoval jsem poctivě s členy v klubu :) Kromě běžné aktivity jsem se snažil nově oslovovat lidi, kteří se registrují do klubu a napíšou o sobě něco v místnosti #ahoj. Stává se, že se tam člověk představí, ale pak neví, kde začít nebo kde se zapojit, tak si vždy přečtu co napsali, co dělají, co řeší a zkouším je trochu vtáhnout do dění tím, že na jejich představení navážu. Zatím to vypadá funkčně, ale jak dlouho to vydržím dělat a kdo to bude dělat když budu na dovolené, to nevím :)
  • V poslední době je v módě nadávat na překomplikovaný frontend. Kromě článku o Rails a WebSockets, který jsem sdílel na Pocketu (viz níže), se mi k tématu hodně líbil tento tweet, protože naprosto vyjadřuje směr, jakým jdu i já. Ať si je frontend klidně komplikovaný, ale na projektech, na nichž se vyšívá každý den. U komunitních nebo osobních projektů, které takovou neustálou pozornost mít nemohou, platí pravidlo čím méně komplikovaných technologií, tím lépe.
  • Přeskupil jsem na Discordu klubu různé kanály podle toho, jak je lidé (ne)používají.
  • Udělal jsem v klubu anketu o tom, kdy se lidem nejvíc hodí „chodit“ na přednášky. Vychází z ní (zatím) středy 18h.
  • V rámci příprav na překopání úvodní stránky JG jsem přidal na stránku s motivací sekci, kde jsou vypsány všechny motivační příběhy. Nejsem s tím takto 100 % spokojen, ale kdybych potřeboval z úvodní stránky příběhy vyhodit nebo jich zobrazit jen pár, tak to teď můžu udělat.
  • Připravoval jsem podklady pro daňové přiznání a komunikoval s daňařem, který mi jej dělá.
  • Mergnul jsem skript Míly Votradovce, který stahuje zálohy JG dat z CircleCI.
  • Na Memberful jsem si vypnul e-mailovou notifikaci ke každé události. Vypadá to, že už vše funguje jak má, tak jsem si nechal posílat už jen weekly summary.
  • Odehrála se další schůze výboru Pyvce. Vylekalo nás, že už za rok by měly být volby do výboru. Asi bychom tedy měli konečně do dokumentace doplnit, jak že se vlastně do výboru volí.
  • Všiml jsem si, že existuje fráze „úvod do programování“, na kterou ve vyhledávačích vyskočí všechny známé firmy kromě JG. A opravdu, tato slova na webu nikde nemám. Takže jsem je vrazil aspoň do titulku stránky o učení. Jestli to něco udělá, to nevím.
  • Spammeři si občas vymyslí nějaký e-mail a píšou mi na něj, třeba jsem@honzajavorek.cz, ačkoliv takovou adresu nikde nepoužívám. Jenže mi to dojde, dojde mi cokoliv zavináč doména. Udělal jsem si tedy v mailu filter, který mi barevně označí zprávy, které jsou adresovány na e-mail, jenž veřejně nikde nepoužívám. Díky tomu hned vidím, že to je asi spíš spam a nezatěžuji se čtením nebo odpovídáním. Zatím jsem neměl odvahu to tím filtrem i rovnou mazat.
  • Už dříve jsem přemýšlel, že bych do poznámek přidal vždy i jednu větu o tom, jak moc jsem se zvládl během uplynulého týdne hýbat, ale odradila mě složitost autorizace do Strava API. Protože jsem měl tento týden jeden velký běžecký úspěch, vrátil jsem se k tomu a během dneška tomu dal nějakou tu hodinku programování. Výsledkem je jeden nahrubo splácaný skript v podstatě podle tohoto článku a pár drobných úprav ve skriptu na generování šablony článku s poznámkami. Následující odrážka je ukázkou, jak vypadá výsledek. Třeba ji později doplním i do starých poznámek, ať nad tím při zpětném čtení ve stáří mohu uronit slzu.
  • Během 7 dní od 13.3. do 19.3. jsem naběhal 29 km, při procházkách nachodil 13 km. Celkem jsem se hýbal 6 hodin a zdolal při tom 42 kilometrů. Obvzláště hrdý jsem na devatenáctikilometrový běh, což je vzdálenost, kterou jsem uběhl naposledy odhadem tak před 14 lety.

Co plánuji

Tři věci, které bych chtěl zvládnout udělat příště:

  1. Redesignovat úvodní stránku tak, aby naváděla lidi do klubu.
  2. Rozběhat nahrávání obrazovky s OBS na macOS.
  3. Doručit jednotlivé papíry z DPFO jednotlivým institucím. Běžně k tomu využívám poštu, ale třeba by to byla příležitost odzimovat kolo?

A co vy?

Pokud byste čistě náhodou měli dojem, že jste oproti mě za uplynulý týden vůbec nic nestihli, tak mám pro vás skvělou zprávu! V klidu se na ten dojem můžete vykašlat. Není zač!

Co mě zaujalo

Když si něco přečtu nebo poslechnu a líbí se mi to, sdílím to na Pocketu. Od posledních poznámek jsem sdílel toto:

Vygenerováno pomocí pocket-recommendations.