Týdenní poznámky #23: Příbeh na blog, melouch, e-maily

Utekly dva týdny (12.10. — 23.10.) a 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 podporovatele, 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.

Minulý týden

Minulý týden jsem byl na dovolené v Krkonoších. Bylo tam hnusně a většinu času jsme se ženou četli knihy, hráli hry, nebo se na něco dívali. Bylo to ale super a kdybychom nejeli teď, asi by nám dovolená zůstala do konce roku nevybraná, nebo bychom ji museli nějak vybrat v době lockdownu a temna (krátké dny).

Krkonoše
Černohorské rašeliniště

Tento týden

Tento týden nějak utekl, ani nevím jak. Vzal jsem jeden malý melouch pro kamaráda, připravit podhoubí pro nějaké jejich Python balíčky. Myslel jsem, že to bude na pár hodin, ale vypadá to, že stav balíčkování v Pythonu, byť to pokročilo, je stále strašný - zkuste si např. udělat poetry balíček, který ale půjde nainstalovat i jako editable… Dnes (v pátek) jsem se moc nevyspal, celé dopoledne debugoval balíčky, odpoledne zjistil, že to stejně nefunguje, rozlil jsem kafe po celém stole a nestíhal dokončit e-maily (viz další sekce), ale naštěstí mě kamarád vzal na procházku Olšanskými hřbitovy a tam jsem se nějak uklidnil.

Hrobky
Vždycky může být hůř

E-maily

Jak jsem tady už dříve psal, SendGrid mi nedoručuje maily spolehlivě a já si vyhodnotil, že vzhledem k počtu, který posílám, bych jej mohl nahradit Gmailem. Našel jsem knihovnu yagmail a tento týden jsem se na to chtěl podívat.

Knihovnu jsem nakonec nepoužil, rozhodl jsem se prostě a jednoduše posílat ty maily přes SMTP. Odebral jsem tedy SendGrid a použil smtplib a email, které jsou přímo ve standardní knihovně v Pythonu. Pokud máte zapnuté 2FA, musíte si pro připojení ke googlímu SMTP vygenerovat aplikační heslo. Pak už to funguje jako každé jiné posílání mailů z Pythonu.

Blbé je, že email zjevně prošel nějakým překopáním a má nový interface a starý interface. Návodů na ten starý je plný internet a všechno se to motá dohromady. Navíc ta dokumentace, tak jak je ve standardní knihovně, je strašná. Totální wall of text a jako by to psal nějaký maniak, který si myslí, že chci vědět úplně všechno o MIME. Je tam naštěstí pár příkladů, ale i s nimi je to za trest, pokoušet se s tím něco vyrobit. Přitom ten interface asi není špatný, jen je pro laika složitý a chybí nějaký 1 2 3 tutoriál jak rychle udělat, co potřebuju, i bez toho, abych přečetl pět RFC.

Každopádně tohle celé mě trochu motivovalo překopat moje posílací skripty. Oddělil jsem od sebe hlavně logiku vytváření zpráv a logiku debugování odesílání e-mailů. Mělo by to teď být testovatelnější, méně by se měl opakovat kód a mělo by to všechno být míň zamotané do sebe. Objekt EmailMessage jsem původně chtěl použít napříč programem, ale nakonec jsem vyhodnotil, že je tak blbě zdokumentovaný a tak málo abstrahuje detaily MIME specifikace, že budu raději jednotlivé zprávy připravovat jako obyčejný slovník a tuhle věc vytvořím až těsně před odesláním. Výhodou je, že ten objekt nemusím už dále studovat a můžu ty skripty jednodušeji testovat.

Tož uvidíme v pondělí, co všechno jsem rozbil a kolik se toho pošle. Taky bych si měl na to asi vytvořit nějakou speciální Gmail schránku, aby mi Google nezablokoval osobní účet, kdyby mi někde ujela nekonečná smyčka a omylem jsem poslal tisíc mailů, ale na to už tento týden nebyl čas.

Další poznámky

  • Ze své homepage jsem odebral týdenní poznámky, moc to tam plevelily. Na homepage blogu zůstávají všechny články.
  • Jelikož je z poznámek už celkem tradice a nezařízl jsem to po pár týdnech, přidal jsem si do skriptu pro jejich generování i číslování. Toto jsou tedy poznámky číslo 23.
  • Mám nové doporučení od juniora, který přečetl příručku. Zatím si ty doporučení skladuji sem, než vymyslím, jak je jednou zobrazím lépe. Nové doporučení je pod číslem čtyři.
  • Na radu z dopisů čtenářek jsem přidal do sekce o angličtině Italki. Vím, že existuje i Blabu, ale nevím, jaký je mezi nimi rozdíl. Všichni kolem mě jedou Italki. Já nepoužívám ani jedno.
  • Na radu kamaráda jsem přidal k Italki i Duolingo také affiliate odkazy. Přidávají kredit jak mě, tak vám. Jsou vždy v popisku jako bonus, odkaz přes obrázek vede normálně bez affiliate. Protože Italki nepoužívám, dal jsem tam pozvánkový odkaz z účtu bráchy, jehož děti Italki používají dost a učí se přes to jazyky. Pokud teda chcete Italki zkusit, můžete jít přes tento odkaz a budete mít $10 slevu a bude ji pak mít i můj brácha.
  • Pořešil jsem zase po nějaké době upgradování dependencies na pár Pyvec projektech.
  • Přišel mi Pull Request na fiobank knihovnu s nějakou opravou, tak jsem to mergnul. U toho jsem zjistil, že se knihovna nereleasuje a Travis CI nějak nefunugje, takže jsem to pak celé ještě opravoval a releasoval.
  • Přidal jsem na JG příběh o Páji, která prošla PyLadies a pak ji vzali do Irska do Facebooku. Je mezi ostatními na hlavní stránce.
  • Během mého pobytu v Krkonoších vyšel článek o příručce na CzechCrunch, juchů! Boření mýtů a užitečné rady pro každého začátečníka. Honza Javorek vydává příručku o hledání první práce v IT. Už bych si měl založit sekci "napsali o nás". Zatím jsem jen přidal logo CzechCrunch sem. Vlastně jsem ho jen odkomentoval, protože jsem ho tam přidal už dřív a jen jsem čekal, až článek vydají :D
  • Jeden junior mi napsal delší e-mail o tom, zda bych mu neporadil s kariérním směřováním. Poradil jsem mu, nějakou tu hoďku mě to stálo. Nic jsem si za to nevzal, protože zatím jen zkoumám terén - pokud by takto junioři chodili nějak častěji, možná bych z toho vytvořil nějaký produkt nebo to prostě nabízel jako službu, ale zatím toho není dost a nevidím v tom ani úplně nějaký vzorec.
  • Jiný junior se mě v podobném duchu zeptal, zda bych neprošel jeho CV a LinkedIn a nepomohl mu to vyladit. Pověnoval jsem se tomu, zabralo to několik hodin a ještě jsme to pak spolu probírali dlouho do večera. Sám jsem nevěděl, co od toho čekat. Překvapilo mě, jak relevantní rady jsem mu vlastně dokázal dát :D Je to pro mě potvrzení, že toto bych mohl dělat i za peníze. Zatím jsem to udělal tak, že mi může dotyčný poslat na můj donate účet tolik, kolik si myslí, že si zasloužím.
  • Domluvil jsem si jednu malou přednášku o JG pro účastníky jednoho bootcampu. Blbé je, že teď ji budu muset připravit :) Naštěstí je na to celkem dost času.
  • Úplně omylem jsem na ČT zahlédl reportáž o tom, jak Radůza uvažuje i o kurzu webových stránek. Byl bych raději, kdyby Radůza mohla hrát a zpívat, ale doba je, jaká je, takže jsem jí napsal e-mail, ať mrkne na JG, protože tam všechno najde. Zatím to vypadá jako jeden z mnoha e-mailů, které jsem někam někomu naslepo napsal, a na které nikdy nedostanu odpověď, ale asi mě to baví zkoušet :) Třeba z toho někdy bude nějaká haluz.
  • Ozval se mi borec, kterého jsem před rokem náhodou potkal v čajovně, že je z něj teď teda programátor a všechno to hezky sepsal do článku. Domluvili jsme se, že jej vydáme na blogu Python komunity a tak se i stalo. Než jsme vše doladili, pár hodin si to vzalo. Programátorem za 365 dní a zadarmo? Tak určitě!. Přidal jsem to hned po vydání i na hlavní stránku JG mezi příběhy.
  • Když už jsem byl na blogu, zahléhl jsem tam rozpracovaný článek od Baru z Kanady. Řekl jsem si, že to zkousím prošťouchnout. Nic jsem od toho nečekal, ale Baru se ozvala a článek nejspíš doděláme! To by byl hned další příběh hodný hlavní stránky JG :)
CzechCrunch

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. Dneska je toho logicky víc, protože je to za dva týdny, z nichž jeden jsem se jen válel a četl věci. Od posledních poznámek jsem sdílel toto:

Vygenerováno pomocí pocket-recommendations.