<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sean.cz - personal web/log for third millenium</title>
    <link>https://sean.cz/</link>
    <atom:link href="https://sean.cz/rss.xml" rel="self" type="application/rss+xml" />
    <description>Osobní web/log Daniela Šnora</description>
    <language>cs</language>
    <lastBuildDate>Tue, 04 Aug 2026 17:30:00 +0200</lastBuildDate>
    <item>
  <title>Primárně pro mé potřeby</title>
  <link>https://sean.cz/posts/2026/primarne-pro-me-potreby/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/primarne-pro-me-potreby/</guid>
  <pubDate>Tue, 04 Aug 2026 17:30:00 +0200</pubDate>
  <description><![CDATA[<p>Dvaadvacátého ledna 2023 jsem napsal devět slov, kterými to celé začalo:</p>
<p><i>„Dnes jsem udělal velký pokrok v mojí migraci. Vyrobil jsem si 🤖, který mi dodává informace z Twitteru a RSS webů přímo do Mastodonu.&quot;</i></p>
<p>Poznámka o tom, jak si zařizuju čtení zpráv. Nic víc. Kdyby mi tenkrát někdo řekl, že z toho robota bude za tři a půl roku šest set účtů, vlastní instance a většina mého volného času, poradil bych mu, ať tolik nepije.</p>
<p>Proč jsem z Twitteru odešel, jsem tu už vyprávěl — <a href="/posts/2023/zpravobot-jak-a-proc-vznikl/">dvakrát</a>, <a href="/posts/2023/jak-vznikl-zpravobot-news/">dokonce</a> — takže dneska o tom, JAK to vzniklo. Je to příběh o sto deseti appletech, sto deseti korunách a jedné větě, která se ukázala být důležitější než všechno ostatní.</p>
<h2 id="sto-deset-korun-mesicne">Sto deset korun měsíčně</h2>
<p>Druhý den jsem popsal, jak je to slepené, a rovnou s cenovkou. Tweety se protáhly přes RSS.app, která z twitterového seznamu vyrobí RSS kanál, a ten se přes IFTTT poslal jako webhook na Mastodon. IFTTT za sto deset korun měsíčně, RSS.app za deset dolarů.</p>
<p>A k tomu poznámka, u které dodnes nevím, jestli se mám smát:</p>
<p><i>„Hledám i další levné nebo free alternativy, ale takhle to prozatím funguje a snad se časem dostanu k tomu, že to na Mastodonu už nebude potřeba.&quot;</i></p>
<p>Snad se časem dostanu k tomu, že to nebude potřeba. Jasně. Tuhle větu si zapamatujte, ještě se vrátí.</p>
<h2 id="sto-deset-appletu">Sto deset appletů</h2>
<p>Pětadvacátého ledna jsem hlásil pětapadesát appletů „a stále to roste&quot;. Třicátého jsem prohlásil svoje Mas ToDo za dokončené: sto deset appletů, dvacet RSS kanálů, dva subreddity a tweety devadesáti nejoblíbenějších Twiťanů.</p>
<figure><img src="https://sean.cz/posts/2026/primarne-pro-me-potreby/02.png" width="979" height="2119" alt="Screenshot z klienta Ivory: účet Seanovo posílá do timeline článek z EDNA.cz s náhledovým obrázkem, pod ním příspěvek z MacRumors" loading="lazy" decoding="async"><figcaption>Jeden ze screenů z 30. ledna 2023. Takhle vypadal celý Zprávobot na začátku — cizí obsah doručený do vlastní timeline.</figcaption></figure>
<p>Ve stejném vlákně jsem si stěžoval na dvě věci. Že nemám dost emoji na odlišení zdrojů, a že IFTTT pouští jen dvě stě textových a dvě stě obrázkových tweetů denně.</p>
<p>Ta první stížnost se za rok a půl proměnila v pořádné označování zdrojů, které v systému žije dodnes — 📘 pro Facebook, 📸 pro Instagram, 📺 pro YouTube. Ta druhá byla první z dlouhé řady limitů, kterými jsem se pak léta prokousával.</p>
<p>A na konec vlákna jsem připsal postskript, ve kterém je celý tenhle příběh schovaný dopředu:</p>
<p><i>„Kdo chcete, můžete mého Seanovo🤖 používat. Odemkl jsem ho pro všechny, jen se musíte smířit s tím, že jeho obsah je primárně pro mé potřeby…d8-D&quot;</i></p>
<p>Primárně pro mé potřeby. Vydrželo to asi týden.</p>
<h2 id="unor-prvni-trhlina">Únor: první trhlina</h2>
<p>Osmého února jsem ke jménům zdrojů přidal hashtag, kterým si člověk mohl odfiltrovat, co nechce. O pár dní později jsem jedné konkrétní slečně ukazoval, jak si odmázne Formuli 1 a technologické weby.</p>
<p>Vypadá to jako drobnost. Není. Filtrování nemá u nástroje pro sebe žádný smysl — sami si přece nastavíte, co tam poleze. Filtr má smysl jedině tehdy, když počítáte s tím, že to čte někdo, koho zajímá něco jiného než vás.</p>
<p>Někde tady ta věta o vlastních potřebách přestala platit. Já to pochopitelně nevěděl.</p>
<p>(Jedenáctého února jsem taky narazil na limit synchronizovaných tweetů a poprvé zkusil tahat data z Nitteru. To je příběh sám pro sebe a dojde na něj ve třetím díle.)</p>
<h2 id="brezen-rozdeleni">Březen: rozdělení</h2>
<p>Devátého března jsem robota rozpůlil.</p>
<p><i>„Vytvořil jsem nového zprávobota zaměřeného čistě na české zpravodajství a podcasty, který je pro všechny free as-is. Pokud tedy chcete, můžete zprávobota používat jako RSS čtečku českého zpravodajství.&quot;</i></p>
<p>Osobní část zůstala osobní. Ta druhá dostala vlastní účet a s ním i závazek — protože „pro všechny free as-is&quot; je slib, i když se tak netváří.</p>
<p>Další den jsem přisypal iDnes, Lidovky, E15, Demagog a Hlídač státu a napsal větu, kterou jsem pak opakoval roky: pošlete tipy, co vám tam chybí, nestyďte se.</p>
<p>A třináctého března, tři dny po spuštění, jsem už formuloval pravidlo, kterým se botník řídí dodnes: držím zdroje, které na Mastodonu nejsou. Kdo tu je sám za sebe, toho nezrcadlím, toho boostuju. Bot je náhražka za to, co chybí — ne druhá kopie toho, co tu už je.</p>
<p>Šestnáctého března první inventura: devět podcastů, dvacet šest webů, třináct twitterových účtů. Celkem osmačtyřicet zdrojů.</p>
<p>Dneska jich je pět set osmdesát devět. Ale nepředbíhejme.</p>
<h2 id="dve-jmena-na-zaver">Dvě jména na závěr</h2>
<p>Z toho březnového seznamu vypíchnu dvě: Demagog a Hlídač státu.</p>
<p>Přidal jsem je jedenáctého března 2023, druhý den existence veřejného Zprávobota. V září 2025 jsem oběma psal mail s prosbou, ať se na fediverse připojí sami a udělají mého bota zbytečným. Přesně v duchu té lednové věty — snad se časem dostanu k tomu, že to nebude potřeba.</p>
<p>Nedopadlo to. Běží u mě dodnes, tři a půl roku, přes kompletní přepis systému do jiného jazyka, stěhování serveru i dvě havárie twitterového rozhraní.</p>
<p>Takže ano, ta věta pořád platí. Snad se časem dostanu k tomu, že to na Mastodonu už nebude potřeba.</p>
<p>Zatím to potřeba je. Pětsetosmdesátdevětkrát…d8-D</p>
<hr>
<p>Původně jako <a href="https://mastodon.social/@danielsnor/109779287951726127">vlákno na Mastodonu</a>, 30. ledna 2023.</p>]]></description>
  <category>zpravobot</category><category>retrospektiva</category><category>ifttt</category><category>mastodon</category>
</item>
<item>
  <title>Zabil jsem roboty, pánové</title>
  <link>https://sean.cz/posts/2026/zabil-jsem-tri-roboty/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/zabil-jsem-tri-roboty/</guid>
  <pubDate>Sun, 02 Aug 2026 10:32:42 +0200</pubDate>
  <description><![CDATA[<p>Jednatřicátého července odešel poslední AI digest a druhý den jsem ho smazal ze serveru. Sedm měsíců provozu, tři roboti, tři vydání denně. Fungovalo to od začátku až do posledního dne.</p>
<p>Nemrzí mě to, a to je na tom to nejzajímavější.</p>
<h2 id="tri-roboti-tri-nalady">Tři roboti, tři nálady</h2>
<p>Devátého ledna jsem na Zprávobota nasadil ranní přehled — kolik včera vyšlo příspěvků a pár z nich, co za to podle AI stály. Sedm ráno, k první kávě.</p>
<p>Jenže samotný Zprávobot je docela suchar, tak dostal parťáka. <b>Slunkobot</b> roznášel v poledne výhradně dobré zprávy, protože ke kávičce po obědě nikdo nechce krvák ani propady na burze. Věčně naladěný chlapík, co nezná blbou náladu.</p>
<p>A protože dva jsou málo, přibyl večer třetí do mariáše. <b>Hrubot</b> nosil trochu jiné zprávy a hlavně si k nim neodpustil komentář — ironický, sarkastický, hrubý. Zkrátka Hrubot.</p>
<p>Sedm ráno, poledne, sedm večer. Slušně obsazená směna.</p>
<h2 id="ctyri-dny">Čtyři dny</h2>
<p>Teď to, na co jsem docela pyšný a co bych normálně přešel jednou větou.</p>
<p>První verze vznikla pátého ledna. Do produkce šlo devátého. Mezi tím proběhlo čtyřiatřicet iterací a skript narostl z 566 řádků na 1 873, tedy ze čtrnácti kilobajtů na dvaašedesát.</p>
<p>Čtyři dny od prvního řádku k něčemu, co samo třikrát denně publikuje. A nezapomeňte, prosím, že nejsem žádnej programátor…d8-D</p>
<h2 id="archos">Archos</h2>
<p>Tady musím být na chvíli vážný, protože bez jednoho člověka by nebylo vůbec nic.</p>
<p>Během těch čtyř dnů jsem Archosovi poslal k posouzení asi šest verzí po sobě. U té šesté prohlásil, že je to perfektní a že jsem evidentně perfekcionista a hnidopich. A hned nato mi radši udělal přístup na server, aby si zbytek dovolené užil bez mých mailů.</p>
<p>Napsal jsem to tenkrát jako vtip o tom, jak jsem někoho uštval. Dneska vím, že to je nejdůležitější věta z celé té historie.</p>
<p>Do ledna 2026 jsem provozoval instanci, ale na stroj, kde běží, jsem se nedostal. Archos mi nedal jen přihlašovací údaje. Dal mi práva spravovat si to svoje a k tomu něco, co se shání podstatně hůř — trpělivost se mnou. Vydržel šest verzí amatérského skriptu, dokud jsem si neosahal, jak se na serveru pracuje.</p>
<p>Bez toho by nebylo nic z toho, co přišlo potom. A tím myslím doslova nic. Kdybych si na digestech nevyzkoušel, že to jde, do přepisu celého Zprávobota bych se nepustil a dodneška bychom seděli na primitivních IFTTT filtrech.</p>
<p>Takže: díky, Archosi.</p>
<h2 id="dva-dny">Dva dny</h2>
<p>A teď se podívejte na kalendář, protože tohle mě dostalo, až když jsem si to nedávno srovnal.</p>
<p><b>9. ledna</b> jde digest do produkce. <b>10. ledna</b> dostávám přístup na server. <b>11. ledna</b> se ptám do pléna, co říkáte na tooty, které nevyrobil IFTTT, ale kus Ruby. <b>13. února</b> hlásím, že vývoj nového Zprávobota je hotový.</p>
<p>Dva dny. Přesně tolik uplynulo mezi spuštěním digestu a prvním veřejným záběrem systému, který o měsíc později nahradil skoro celého Zprávobota.</p>
<p>Já si tehdy myslel, že si dělám hračku na výběr zpráv. Ve skutečnosti to byla zkušební jízda.</p>
<h2 id="co-po-nich-zbylo">Co po nich zbylo</h2>
<p>Digest je pryč, ale rozebral jsem ho na součástky a půlka z nich běží dál.</p>
<p><b>Bluesky.</b> Na jaře jsem k digestům dodělal publikování na Bluesky a je to podstatně víc práce, než to vypadá — přihlášení přes aplikační heslo, skládání vláken, dělení na tři sta grafémů. A pak facety, tedy to, co v příspěvku udělá z odkazu odkaz. Posílají se zvlášť jako rozsahy v textu a jejich pozice se <b>nepočítají ve znacích, ale v bajtech UTF-8</b>. Na tohle se nedá přijít přemýšlením. Přijdete na to tak, že máte v postu háček, odkaz se posune o dvě místa a rozsype se uprostřed slova.</p>
<p>Vyřešíte to jednou a pak už to umíte. A přesně tenhle kus dneska pohání komentáře pod články na tomhle blogu, jen zeštíhlený na sto čtyřicet tři řádků, protože blog nevydává třikrát denně.</p>
<p><b>A Hrubot vlastně neumřel.</b> Nový Zprávobot hlídá, co na instanci trenduje, a k vytipovanému postu připíše krátký komentář. Ten komentář nepíše nikdo nový — v kódu je soubor, jehož hlavička poctivě přiznává, že je to port digestového kódu, konkrétně té části, co dělala sarkasmus.</p>
<p>Takže když dneska Zprávobot upozorní na trendující post a přisadí si k němu něco jedovatého, mluví Hrubot. Účet zmizel, povaha zůstala. Ze všech tří to přežil zrovna ten protivnej — Slunkobot by o trendech nejspíš nic hezkého neřekl.</p>
<h2 id="jak-to-skoncilo">Jak to skončilo</h2>
<p>Desátého února jsem se veřejně omlouval, že digesty zanedbávám, protože <i>„jsem jen jeden a nerozmnožuji se dělením&quot;</i>. V březnu jsem je ještě jednou pořádně předělal. V dubnu k tomu přibylo Bluesky.</p>
<p>A osmnáctého května jsem napsal jednu větu:</p>
<p><i>„Čte ty AI digesty na Zprávobotovi ještě někdo? Kdyby ne, dejte vědět.&quot;</i></p>
<p>Na tuhle otázku znáte odpověď dřív, než ji položíte. Kdyby to někdo četl, nemuseli byste se ptát.</p>
<p>Poslední digest vyšel jednatřicátého července. Kód zůstal na GitHubu, záloha na serveru. Nemazal jsem to proto, že by to nefungovalo — fungovalo to skvěle. Mazal jsem to proto, že provozovat něco, co nikdo nečte, je jen forma zdvořilosti vůči vlastní minulé práci.</p>
<h2 id="a-presto">A přesto</h2>
<p>Kdybych to měl shrnout: postavil jsem tři roboty, sedm měsíců je krmil, nakonec je vypnul a nikdo si toho nevšiml.</p>
<p>Zní to jako průšvih, ale rozhodně není.</p>
<p>Ten projekt měl totiž jediný skutečný výstup a nebyly to digesty. Byl to přístup na server, znalost Ruby a hlavně důkaz, že se do velké věci můžu pustit. To všechno odevzdal během prvního týdne. Zbylých sedm měsíců byl bonus, který navíc rozdal svoje součástky dvěma dalším projektům.</p>
<p>Nejlepší vedlejší produkt, jakej jsem kdy vyrobil. A stál mě čtyři večery mezi svátky.</p>]]></description>
  <category>zpravobot</category><category>ai</category><category>ruby</category><category>digest</category>
</item>
<item>
  <title>Čtyři dny blogu</title>
  <link>https://sean.cz/posts/2026/ctyri-dny-blogu/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/ctyri-dny-blogu/</guid>
  <pubDate>Fri, 31 Jul 2026 23:00:53 +0200</pubDate>
  <description><![CDATA[<p>Za poslední dny, i když se to nezdá, jsem na blogu udělal <b>116 commitů ve 24 pull requestech</b>. Něco z toho je vidět přímo tady na webu, to podstatné se ale odehrálo pod kapotou. Ale nejdřív  prostý výčet toho, co se povedlo:</p>
<h2 id="co-je-hotove">Co je hotové</h2>
<ul><li>audio jako plnohodnotný typ postu, citace s atribucí a chat posty</li><li>tvrdá zalomení a task listy v markdownu</li><li>médium si post nárokuje jen tehdy, když je text opravdu popisek — 104 starých příspěvků se tím přesunulo do správného typu</li><li>menu ukazuje jen typy, které web skutečně má, takže AUDIO ani CHAT tu zatím neuvidíte; objeví se samy s prvním takovým postem</li><li>aktivní položka v menu je konečně barevně odlišená a první položka se jmenuje Vše, ne Domů</li><li>časová zóna se respektuje i při zobrazení, nejen při zápisu</li><li>naplánované publikování — draft s budoucím datem se pustí ven sám</li><li>vlastní favicon a ikona pro plochu na iOS</li><li>widget s posledními příspěvky z Bluesky a obecný widget na jakékoliv RSS</li></ul>
<h2 id="pod-kapotou-z-nastroje-pro-jeden-blog-je-projekt">Pod kapotou — z nástroje pro jeden blog je projekt</h2>
<p>Tohle je ta část, kvůli které se ty čtyři dny nedají shrnout do odrážky.</p>
<p>Nástroj, o kterém jsem tu celou dobu psal, přestal být nástrojem jen pro tenhle web. Vytáhl jsem engine do separátního repozitáře pod názvem <code>blog.sh</code>, dal mu licenci MIT a <b>od 30. července je  veřejný</b>.</p>
<p>Skoro to i platilo. Skoro — protože to znamená, že v kódu nesmí zůstat nic mého. Barvy webu, které byly natvrdo v CSS, se přestěhovaly do konfigurace: sedm barev pro světlý a  sedm pro tmavý režim, zbytek se z nich dopočítá.</p>
<p>Všechny texty se přeložily do skutečných locale souborů, takže engine mluví česky, anglicky a nově i německy — a to jak na webu, tak i v průvodci v terminálu. Konfigurace a grafika každé instalace žijí mimo git, aby si kdokoliv mohl aktualizovat kód, aniž by si přepsal vlastní banner.</p>
<p>Nejlepší test je druhá instalace, takže existuje: <a href="https://blogsh.app">blogsh.app</a>, web o tomto enginu, postavený tímto enginem. Dva weby na jednom kódu odhalí za týden víc než měsíc  přemýšlení, co by se mohlo  pokazit.</p>
<p>Změnil se i způsob, jakým se sem dostávají změny. Dřív jsem kód na server kopíroval rsyncem. Dnes je server obyčejný git klon a nová verze se nasazuje <code>git pullem</code> — sean.cz sleduje moji pracovní větev, blogsh.app jen to, co je vydané.</p>
<p>Z jednoho migračního skriptu se také mezitím stal celý importní podsystém. Umí sedm zdrojů — Bluesky, Mastodon, Pixelfed, Tumblr, Twitter/X, WordPress s RSS a od včerejška Instagram — a ke  každému se dostanete jak průvodcem, tak skriptem, přičemž pod tím běží jediná implementace. Import taky přestal být operace, kterou spustíte omylem: potvrzuje se opsáním počtu příspěvků, ne stiskem <code>y</code>. Když jednou naliju do webu dva tisíce cizích postů, chci to mít na svědomí vědomě.</p>
<p>Podobně se otevřelo nasazování. Surfer, který tenhle web hostuje, byl původně jediná možnost; dnes jsou vedle něj místní adresář, rsync, git (a tím i GitHub Pages), rclone a SFTP. Pojistky proti tomu, aby rozbitý build smazal půlku webu, platí pro všechny stejně.</p>
<p>A protože komentáře pod články sem tahám z Mastodonu, dostala stejnou možnost i druhá síť: web může komentáře a oznamovací příspěvky vést přes Bluesky. Buď jedno, nebo druhé — sčítat reakce ze dvou sítí do jednoho vlákna nedává smysl.</p>
<p>Nakonec terminál. Průvodce, o kterém jsem psal minule jako o číslovaném menu, umí šipky, jednoklávesové odpovědi a vlastní QR kód — po založení draftu se rozsvítí na obrazovce a jeho vyfocením mám náhled rozepsaného textu v telefonu. Žádná knihovna, ten kodér je taky součást repozitáře.</p>
<p>Zbytek těch čtyř dnů spolykala dokumentace a testování na cizích strojích — instalace na Macu, na Linuxu a na Windows přes WSL. Cíl je jednoduchý: <b>kdo si to chce nainstalovat, ať to zvládne bez ptaní.</b></p>
<h2 id="chyby-ktere-to-vytahlo-na-svetlo">Chyby, které to vytáhlo na světlo</h2>
<ul><li>nový příspěvek se stejným názvem ve stejném roce tiše přepsal ten starší</li><li>nedotčený draft se publikoval, jako by měl ručně zadané datum, a přišel tím o oznamovací příspěvek — tedy i o komentáře</li><li>odstavec zabalený do <code>&lt;div&gt;</code> se rozsekal na blok za každý kus a cestou přišel o tučné písmo</li><li>HTML entity, které nebyly v převodní tabulce, mizely i s písmenem uprostřed slova</li><li>příliš dlouhý nadpis vyrobil čtyřsetznakovou adresu příspěvku</li><li>náhled importu hlásil nula médií, tedy přesně to číslo, kvůli kterému náhled existuje</li><li>neodpovězený dotaz na zdroj importu vybral poslední položku místo toho, aby akci zrušil</li><li>drafty nešlo smazat z nabídky hned po uložení</li><li>politika obsahu tiše blokovala skript s překlady, takže se texty vykreslované v prohlížeči zobrazovaly prázdné a nic to nehlásilo</li></ul>
<h2 id="co-dal">Co dál?</h2>
<p>Soustředil jsem se teď na release verze 1.0, přípravu webu <a href="https://blogsh.app">./blog.sh</a>, něco designu, a také už připravuji další funkcionality. Pár nápadů už mám. Hlavně ale zítra bude ten  den, kdy to všechno vypustím do světa a jsem zvědavý, zda budou vůbec nějaké reakce a zda budou pozitivní, a nebo ne. Těším se, a zároveň mám i obavy. Uvidíme.</p>]]></description>
  <category>seancz</category><category>ruby</category><category>nástroje</category><category>blog</category>
</item>
<item>
  <title>Kdo se moc ptá, moc se dozví</title>
  <link>https://sean.cz/posts/2026/kdo-se-moc-pta-moc-se-dozvi/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/kdo-se-moc-pta-moc-se-dozvi/</guid>
  <pubDate>Tue, 28 Jul 2026 12:09:00 +0000</pubDate>
  <description><![CDATA[<p>Po vší té práci na blogu jsem chtěl vědět, co by šlo na blogu zrychlit, co vyhladit, co utěsnit, a tak jsem se na to zeptal Fable - nejnovějšího LLM modelu <a href="https://claude.ai">Claude</a> od<br><a href="https://www.anthropic.com/">Anthropic</a>. Čekal jsem, že mi dá pár nápadů na později a dostal jsem osm commitů, přepsaný velký kus architektury a opravu bugu, o kterém jsem ani netušil.</p>
<h2 id="pulka-archivu-o-ktere-jsem-nevedel">Půlka archivu, o které jsem nevěděl</h2>
<p>První věc, na kterou analýza narazila, byla, že <code>content/posts/</code> mělo najednou 5 822 souborů místo 3 274. iCloud si při nějaké synchronizaci sám pro sebe vyrobil 2 548 kopií — se jménem <code>&lt;slug&gt; 2.json</code>, macOSí konvencí pro konfliktní soubor. Build by to tiše sežral a zdvojil by se mi celý archiv, výpisy, RSS, sitemapa i vyhledávání.</p>
<p>Server je jediný autoritativní zdroj, tak jsem to neopravoval, lokální kopii prostě zahodil a stáhl znovu — <code>rsync --checksum --delete</code>. Vedlejší bonus: několik nových a dva upravené posty se mi nově stáhlo přímo ze serveru.</p>
<p>Aby se tohle příště nestalo, přidal jsem do buildu pojistku: když dva posty vyjdou na stejný rok a slug, celý build spadne s jasnou hláškou místo tichého zdvojení. A do nahrávání na server zase zrcadlovou pojistku — když se počet souborů k nahrání najednou zvýší o víc než pětinu, deploy se zastaví. Dřív hlídal jen prudký úbytek (rozbitý build), ne prudký nárůst.</p>
<h2 id="fonty-hlavicky-a-jeden-zapomenuty-roh-archivu">Fonty, hlavičky a jeden zapomenutý roh archivu</h2>
<p>Web dosud tahal Open Sans z Google Fonts — cizí origin do kritické cesty vykreslení a IP každého návštěvníka mířící rovnou Googlu. Stáhl jsem si font k sobě a díky tomu zjistil, že aktuální verze Open Sans na Google Fonts je variabilní font, takže tři váhy (400/600/700) sedí v jediném souboru na jazykový subset a budu mít dva soubory místo šesti.</p>
<p>Po fontech přišla na řadu Content-Security-Policy, a ta odhalila něco 29 starších postů z migrace s vloženým syrovým embed videem z <code>youtube.com</code>, ne z bezpečnějšího <code>youtube-nocookie.com</code>, jak to dělají nová videa. CSP musela počítat s oběma, jinak by starým videím zčerstva přestalo fungovat přehrávání.</p>
<p>Dva posty také táhly skript z <code>platform.instagram.com</code> — čistý trackovací kód z dob migrace. Ten jsem z dat vystřihl úplně a nahradil obyčejnou kartou s odkazem.</p>
<p>Jednu díru jsem naopak zavřel jen na papíře, protože se zavřít nedá: Surfer, kam se web nahrává, bere přihlašovací token jako součást URL, takže končí v access logu. Ověřil jsem, že token přes hlavičku <code>Authorization</code> prostě na Surfer nejde poslat, a u nahrávání souborů (naprostá většina provozu) by ani tělo požadavku nepomohlo. Zůstává to tedy tak, jak to je, se zdůvodněním rovnou v kódu, ať se za k tomu za rok nevracím se stejnou otázkou.</p>
<h2 id="nosync-aneb-jak-nesyncovat-co-nepotrebuju"><code>.nosync</code>, aneb jak nesyncovat, co nepotřebuju</h2>
<p>Lokální <code>public/</code> jsem měl na Macu v iCloud Drive — každý build tak přepisoval stovky megabajtů, co iCloud hned začal poctivě nahrávat pryč, přestože jde o čistě odvozený výstup, který jde kdykoli<br>znovu &quot;vyrobit&quot;. Přejmenování na <code>public.nosync</code> iCloud ze sledování vyřadí. Je to nedokumentované chování, ale ověřil jsem si ho přímo: <code>xattr</code> na přejmenovaném adresáři ukáže<br><code>com.apple.fileprovider.dir#N</code>, kterou synchronizovaný adresář nemá.</p>
<p>Stejná úvaha platila i pro <code>content/</code> a <code>media/</code> — takže i tyhle dva adresáře dostaly <code>.nosync</code> a lokální build, který ještě ráno neproběhl ani za deset minut kvůli iCloudí I/O režii, teď proběhne<br>za deset vteřin.</p>
<h2 id="vyhledavani-ktere-se-ucilo-za-pochodu">Vyhledávání, které se učilo za pochodu</h2>
<p>Index pro vyhledávání rostl s každým postem a stahoval se celý na každou návštěvu <code>/search/</code> — 488 kB komprimovaně, i když návštěvník hledal něco z minulého týdne. Rozdělil jsem ho na dva: pět set nejnovějších postů se stáhne hned, zbytek archivu líně, až někdo skutečně něco zadá do políčka.</p>
<h2 id="cheat-sheet-prestal-byt-rukojmim-jednoho-postu">Cheat sheet přestal být rukojmím jednoho postu</h2>
<p>Nápověda pro markdown syntaxi žila jako obyčejný publikovaný post, a odkaz na ni v editoru byl natvrdo zadrátovaný na jeho adresu. Kdybych ho někdy smazal nebo odpublikoval, nápověda by mířila do prázdna — nikdo by o tom nevěděl, dokud by na to nekliknul.</p>
<p>Vytáhl jsem markdown parser (270 řádků, co dosud žily zavřené v nástroji pro psaní postů) do vlastní knihovny a naučil build stavět i stránky mimo <code>content/posts/</code>. Cheat sheet je teď <code>/markdown/</code> — generuje se přímo ze souboru v repozitáři při každém buildu, stejně jako se dnes generuje vyhledávání. Nejde ho smazat ani odpublikovat, protože to není post. Existuje, dokud existuje ten soubor.</p>
<h2 id="jak-to-dopadlo">Jak to dopadlo</h2>
<ul><li>lokální build: z <b>přes 10 minut</b> na <b>10 vteřin</b></li><li>soubory k hashování při běžném nasazení: ze <b>všech ~7 700</b> na <b>jen změněné</b></li><li><code>search-index.json</code> na každou návštěvu vyhledávání: z <b>488 kB</b> na <b>137 kB</b>, zbytek líně</li><li>requesty na Mastodon při běhu cronu statistik: ze všech tootovaných postů na ty z jen posledních <b>90 dní</b> (starší jednou týdně)</li><li>CSP hlavička, self-hosted fonty, žádný trackovací skript v datech: <b>0 → hotovo</b></li><li>osm commitů, 18 souborů, skoro devět set přidaných řádků — a jedna oprava bugu, o kterém jsem ještě ráno nevěděl</li></ul>
<p>Chtěl jsem krátký přehled, ale Fable mi dal kompletní analýzu včetně řešení a oprav.</p>]]></description>
  <category>sean.cz</category><category>ruby</category><category>výkon</category><category>bezpečnost</category><category>icloud</category>
</item>
<item>
  <title>Draft, náhled, koš — jak dneska pracuju s příspěvkem</title>
  <link>https://sean.cz/posts/2026/draft-nahled-kos-jak-dneska-pracuju-s/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/draft-nahled-kos-jak-dneska-pracuju-s/</guid>
  <pubDate>Mon, 27 Jul 2026 12:07:35 +0000</pubDate>
  <description><![CDATA[<p>Když jsem tu naposledy psal o tom, <a href="/posts/2026/jak-je-tenhle-blog-postaveny/">jak je tenhle blog postavený</a>, <code>manage-post.sh</code> uměl v podstatě tři věci: <b>napsat</b>, <b>upravit</b> a <b>smazat</b>. Fungovalo to, ale mělo to pár much, na které jsem přišel až za provozu — a protože je psaní kódu k tomuhle blogu skoro stejná zábava jako psaní příspěvků, sedl jsem si a předělal to. Tenhle post je o tom, jak s příspěvkem pracuju teď.</p>
<h2 id="draft-ne-rovnou-na-web">Draft, ne rovnou na web</h2>
<p><code>add</code> nikdy nepublikuje rovnou. Vždycky vznikne draft s vlastní skrytou adresou (<code>/draft/&lt;náhodný token&gt;/...</code>) — dá se otevřít z telefonu i uprostřed rozepsaného textu, ale nikdo jiný ji neuhodne, protože není nikde odkazovaná ani v žádném výpisu. Teprve když jsem s textem hotový, přijde na řadu skutečná otázka: publikovat, nechat rozepsané jako draft, nebo se vrátit zpátky do editoru.</p>
<figure><img src="https://sean.cz/posts/2026/draft-nahled-kos-jak-dneska-pracuju-s/01.png" width="970" height="1038" alt="Náhled na draft postu pro blog" loading="lazy" decoding="async"><figcaption>Náhled na draft postu pro blog</figcaption></figure>
<h2 id="publish-umel-jednu-osklivou-vec">Publish uměl jednu ošklivou věc</h2>
<p>Tohle byla ta nejzávažnější chyba, na kterou jsem přišel: <code>publish</code> post publikoval <b>okamžitě</b>, jakmile jsem vybral slug ze seznamu. Žádný náhled, žádné &quot;jsi si jistý&quot; — jen holé rozhodnutí udělané za mě. Chtěl jsem se ale ještě podívat, jak draft vypadá, než ho pustím ven. Teď <code>publish</code> udělá přesně to, co <code>add</code> po založení — ukáže náhled a zeptá se, co dál. Skutečnou publikaci spouští až vědomá volba v tom menu, ne samotné zavolání příkazu.</p>
<h2 id="unpublish-zpatky-do-supliku">Unpublish — zpátky do šuplíku</h2>
<p>Přibyla i opačná operace: <code>unpublish</code> vrátí publikovaný příspěvek zpátky do draftu. Hodí se, když si po publikaci všimnu překlepu, který nechci opravovat narychlo, nebo když se rozhodnu text ještě pořádně přepracovat. Součástí je i smazání přidruženého tootu na Mastodonu přes jeho API — jinak by po dobu, než příspěvek zase publikuju, na síti visel odkaz na stránku, která dočasně neexistuje. Při další publikaci navíc dostane nové, aktuální datum — chová se to jako čerstvě napsaný text, ne jako by se jen tiše přemístil v archivu.</p>
<h2 id="kos-misto-nevratneho-smazani">Koš místo nevratného smazání</h2>
<p><code>delete</code> dřív smazal JSON i všechna přidružená média natvrdo. Žádný git u obsahu, žádná záloha — jeden překlep ve slugu a je to pryč. Teď <code>delete</code> přesouvá všechno do <code>trash/</code>, a <code>restore &lt;slug&gt;</code> to vrátí přesně tam, kde to bylo. Není to plnohodnotná historie verzí, jen jedna úroveň zpět — ale přesně to mi chybělo.</p>
<h2 id="toot-na-pozadani">Toot na požádání</h2>
<p>Někdy zůstane příspěvek bez tootu zajišťujícího vaše reakce z Mastodonu — třeba u starých migrovaných věcí z Tumblru, nebo když se odeslání tootu při publikaci nepovede (výpadek sítě, expirovaný token). Dřív jsem s tím nemohl nic dělat jinak než ručně. Nový příkaz <code>toot &lt;slug&gt;</code> pošle komentářový toot dodatečně, ke komukoliv publikovanému, kdykoliv. Existující toot ale nikdy nepřepíše — když už jeden je, druhý se neposílá, protože pro to není důvod.</p>
<h2 id="pruvodce-pro-dny-kdy-zapomenu-prikazy">Průvodce pro dny, kdy zapomenu příkazy</h2>
<p>Nástroj má dnes devět různých akcí a nechci si je pamatovat nazpaměť pokaždé, když sednu k psaní. Stačí teď spustit <code>./blog.sh</code> bez ničeho a naskočí jednoduché číslované menu — vyberu si, co chci udělat, a po dokončení se vrátím zpátky do stejného menu, dokud neřeknu konec. Přesná stejná logika jako předtím u CLI, jen v přívětivější podobě pro dny, kdy nechci nic ťukat z hlavy.</p>
<figure><img src="https://sean.cz/posts/2026/draft-nahled-kos-jak-dneska-pracuju-s/02.png" width="613" height="437" alt="Průvodce funkcemi blogu" loading="lazy" decoding="async"><figcaption>Průvodce funkcemi blogu</figcaption></figure>
<h2 id="prejmenovani-a-co-bude-dal">Přejmenování a co bude dál</h2>
<p>Nakonec i drobnost: <code>manage-post.sh</code> jsem přejmenoval na <code>blog.sh</code> — název, který sedí líp k tomu, co ten nástroj dneska umí, a protože nezůstal svázaný jen s prací nad jedním příspěvkem. Zbytek pojmenování v repozitáři (<code>deploy-web.sh</code>, <code>refresh-sidebar.sh</code>) jsem záměrně nechal být — dělají jinou, úzce vymezenou práci a přejmenování by tomu nic nepřidalo.</p>]]></description>
  <category>seancz</category><category>ruby</category><category>nástroje</category><category>blog</category>
</item>
<item>
  <title>Když změna jednoho řádku CSS znamená nahrát šest tisíc souborů</title>
  <link>https://sean.cz/posts/2026/kdyz-zmena-jednoho-radku-css-znamena-nahrat-sest/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/kdyz-zmena-jednoho-radku-css-znamena-nahrat-sest/</guid>
  <pubDate>Sun, 26 Jul 2026 12:35:00 +0000</pubDate>
  <description><![CDATA[<p>Chtěl jsem tu změnit barvu odkazů. Jeden řádek ve stylech. Spustil jsem deployment a s hrůzou v očích koukal, jak se na server nahrává šest tisíc souborů.</p>
<p>Nic se nerozbilo, ale bylo jasné, že něco je velký špatný.</p>
<h2 id="muze-za-to-vychytavka">Může za to vychytávka</h2>
<p>Každá stránka měla v hlavičce otisk obsahu stylů:</p>
<pre><code class="language-html">&lt;link rel=&quot;stylesheet&quot; href=&quot;/assets/css/site.css?v=a3f9c21b04&quot;&gt;</code></pre>
<p>Když se styly změní, změní se adresa a prohlížeč si stáhne novou verzi místo té nacachované. Dal jsem to tam schválně a byl na to docela pyšný.</p>
<p>Jenže se tím otisk propsal do každé stránky webu. Změním jeden znak v CSS, změní se všech 6 228 stránek — a deploy skript, který umí posílat jen to, co se skutečně změnilo, to poslušně pošle všechno.</p>
<p>Když jsem se podíval, co vlastně moje úložiště posílá prohlížečům, došlo mi to:</p>
<pre><code>$ curl -sI https://sean.cz/assets/css/site.css
cache-control: public, max-age=0
etag: W/&quot;409e-19f9a201251&quot;</code></pre>
<p><code>max-age=0</code> znamená, že se prohlížeč u každého načtení stejně ptá, jestli se soubor nezměnil. Ta vychytávka nebyla nikdy potřeba. Řešila problém, který jsem neměl, a způsobila ten, co jsem měl.</p>
<h2 id="novy-prispevek-prepsal-cely-archiv">Nový příspěvek přepsal celý archiv</h2>
<p>Stránky výpisu se stránkovaly odshora: deset nejnovějších na první stranu, dalších deset na druhou. Nový příspěvek se zařadí na začátek a posune všechno ostatní — hranice všech 328 stran se posunou s ním. Nový post tak znamenal přepsat cca 435 souborů.</p>
<p>Spravilo se to obrácením směru. Desítky se teď počítají od nejstaršího příspěvku, takže nejstarší desítka je navždycky stejná a nový text se přidá jen do té poslední, rozepsané stránky.</p>
<p>Daň je, že <code>/page/1/</code> dneska znamená nejstarší příspěvky, ale to nevadí, protože se na ně chodí přes „Novější / Starší&quot;.</p>
<h2 id="vec-kterou-jsem-necekal">Věc, kterou jsem nečekal</h2>
<p>Při ověřování jsem přidal zkušební příspěvek a čekal devět změněných souborů. Vyšlo jich 65 — a byly mezi nimi stránky, které s tím textem nemohly mít nic společného.</p>
<p>Ukázalo se, že když web přegeneruju dvakrát za sebou, pokaždé vyleze trochu jiný výsledek. Příspěvky se řadí podle data a Ruby negarantuje, který ze dvou se stejným datem skončí první. A po stěhování z Tumblru a Twitteru má 110 příspěvků úplně stejné datum jako nějaký jiný.</p>
<p>Nic nezměním, spustím build a přesto mám změněné soubory. Vůbec jsem to netušil. Oprava je jeden řádek: když je datum stejné, rozhodne jméno příspěvku.</p>
<h2 id="merit-ne-hadat">Měřit, ne hádat</h2>
<p>Byl jsem si jistý, co bude nejdražší operací — kopírování 384 MB fotek. Změřil jsem to a představa se rozsypala. Fotky: jedna sekunda.</p>
<p>Nejdražší bylo mazání složky s hotovým webem, <b>3,8 sekundy</b>. Build ji vždycky smazal celou a hned do ní nasypal zpátky skoro totožných 7 700 souborů. Teď se nemaže; zapisuje se jen to, co se opravdu liší.</p>
<h2 id="dve-veci-mimo-rychlost">Dvě věci mimo rychlost</h2>
<p>Komentáře pod články tahám z Mastodonu a jméno autora jsem vkládal do stránky bez ošetření. Jenže jméno účtu si nastavuje kdokoli ve Fediverse — stačilo se přejmenovat na kus kódu, odpovědět mi na toot a nechat si ho spustit v prohlížeči každému čtenáři. Učebnicová díra. Zavřeno.</p>
<p>A postranní panel si tahal poslední tooty a commity přímo v prohlížeči návštěvníka: čtyři a víc dotazů na cizí služby při každém otevření jakékoli stránky. GitHub navíc nepřihlášené pouští jen šedesátkrát za hodinu, takže ta kartička po chvíli mizela. Teď si data stáhne server.</p>
<h2 id="jak-to-dopadlo">Jak to dopadlo</h2>
<ul><li>změna stylů: z 6 228 souborů na <b>jeden</b></li><li>nový příspěvek: z ~435 na <b>sedm až devět</b></li><li>přegenerování beze změny obsahu: z desítek tiše změněných souborů na <b>nulu</b></li><li>dotazy na cizí služby při otevření stránky: ze čtyř a víc na <b>žádný</b></li><li>obrázky stažené na úvodní stránce: z desítek na <b>jeden</b></li><li>build: ze třinácti sekund na <b>sedm a půl</b></li></ul>
<p>Dvě poučení. Byl jsem si jistý, že problém jsou fotky, a byla to složka, na kterou bych nesáhl ani po dlouhém přemýšlení. A to prohazování pořadí nikdy nespadlo, nic nenahlásilo, nic nerozbilo — jen potichu dělalo práci navíc.</p>
<hr>
<p>Jestli jste četli <a href="/posts/2026/jak-je-tenhle-blog-postaveny/">Jak je postavený tenhle blog</a>, tak ho tenhle článek na pár místech přepisuje — tooty ani commity už se v prohlížeči netahají a složka s hotovým webem se nemaže. Původní text nechávám být; popisoval stav, který tehdy platil.</p>]]></description>
  <category>blog</category><category>sean.cz</category><category>ruby</category><category>výkon</category><category>bezpečnost</category>
</item>
<item>
  <title>Shooter: generátor promo screenshotů, co se osamostatnil</title>
  <link>https://sean.cz/posts/2026/shooter-generator-promo-screenshotu-co-se-osamostatnil/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/shooter-generator-promo-screenshotu-co-se-osamostatnil/</guid>
  <pubDate>Sat, 25 Jul 2026 20:00:00 +0000</pubDate>
  <description><![CDATA[<p>Když jsem pro TangerineUI Classic přidával nové barevné varianty, potřeboval jsem k nim pokaždé to samé: promo screenshot do README – browser okno v light i dark módu diagonálně vedle sebe, k tomu iPhone mockup, na barevně tónovaném pozadí. Ručně to skládat mě po 5 minutách přestalo bavit a tak vznikl malý Python skript schovaný hluboko v <code>art/Screenshots/</code> repa.</p>
<figure><img src="https://sean.cz/posts/2026/shooter-generator-promo-screenshotu-co-se-osamostatnil/01.png" width="3568" height="3018" alt="Screenshot Deník N vytvořený Shooterem" loading="lazy" decoding="async"><figcaption>Screenshot Deník N vytvořený Shooterem</figcaption></figure>
<h2 id="vykosteni">Vykostění</h2>
<p>Skript uměl jen jednu věc pro jeden konkrétní projekt – natvrdo zadrátované jméno souborů <code>TangerineUI-&lt;variant&gt;.png</code>, natvrdo osm barevných variant. Když jsem ale potřeboval podobné promo obrázky i pro Fedík, Katalog nebo Sloníka, vyplatilo se ho z TangerineUI vytrhnout a zobecnit. Tak vznikl <b>Shooter</b> – samostatný nástroj, co spustíš jako:</p>
<pre><code>python3 shoot.py &lt;jméno&gt; --bg &lt;barva&gt;</code></pre>
<p>a on si sám v <code>screenshots/</code> najde <code>&lt;jméno&gt;-light.png</code>, <code>-dark.png</code> a volitelně i <code>-iphone.png</code>.</p>
<h2 id="jak-to-funguje">Jak to funguje</h2>
<p>Trik je v tom, že se nefotí žádný skutečný telefon ani prohlížeč. Je tam jednou provždy připravená šablona – ořezané browser chrome s drop shadow a čistý iPhone rámeček s &quot;vypáleným&quot; stavovým řádkem a transparentní dírou uprostřed. Screenshoty se pořizují v Chrome DevTools na přesný viewport a DPR, a skript je pak jen nalepí do šablony přes Pillow.</p>
<h2 id="detektivka-se-stinem">Detektivka se stínem</h2>
<p>Nejzábavnější část bylo lovení jednoho vizuálního bugu – v levém horním rohu okna se objevovala falešná, moc tmavá skvrna stínu, kterou jsem předtím vždycky opravoval ručně kopírováním čistého kousku pozadí přes to špatné místo. Ukázalo se, že šablona má v sobě zapečený druhý, přebytečný stín navázaný přesně na výšku toolbaru – takže se tam sčítaly dva stíny najednou. Řešení nakonec bylo přesně to, co jsem dělal ručně, jen automatizované: najít přesnou hranici (na pixel) a přelepit ji čistým pruhem pozadí zespodu.</p>
<h2 id="co-z-toho-je">Co z toho je</h2>
<p>Shooter teď umí udělat promo screenshot pro libovolný web – fedik.online, katalog.zpravobot.news i Sloníka jsem jím prohnal bez jediné úpravy kódu, jen se změnou jména a barvy.</p>]]></description>
  <category>shooter</category><category>tangerineui</category><category>python</category><category>nastroje</category><category>screenshot</category>
</item>
<item>
  <title>Jak je tenhle blog postavený</title>
  <link>https://sean.cz/posts/2026/jak-je-tenhle-blog-postaveny/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/jak-je-tenhle-blog-postaveny/</guid>
  <pubDate>Fri, 24 Jul 2026 19:17:00 +0000</pubDate>
  <description><![CDATA[<p>Když jsem se rozhodl opustit Tumblr a mít svůj obsah konečně pod vlastní kontrolou, věděl jsem jedno: nechci žádný Wordpress, Ghost ani jiný hotový CMS s databází, pluginy a věčnými aktualizacemi. Chtěl jsem něco tak jednoduchého, aby to šlo i za deset let přečíst a opravit, i kdybych už sám zapomněl jak na to.</p>
<p>Tohle zároveň z tohohle web/logu dělá geekovskou, ne-li nerdovskou záležitost, protože nikdo normální (ať už to znamená cokoliv) nepíše posty v Markdownu na serverovém terminálu...d8-D</p>
<figure><img src="https://sean.cz/posts/2026/jak-je-tenhle-blog-postaveny/01.png" alt="Markdown tohoto článku" loading="lazy" decoding="async"></figure>
<h2 id="zadna-databaze-jen-soubory">Žádná databáze, jen soubory</h2>
<p>Každý příspěvek je jeden JSON soubor. Žádné MySQL, SQLite, ORM. Obsah příspěvku je pole bloků — text, obrázek, video, odkaz, seznam — ve stejném formátu, jaký používá Tumblr pro svoje NPF (Neue Post Format). Díky tomu mají historické importy z Tumblru a Twitteru úplně stejnou strukturu jako příspěvky, které píšu ručně dnes. Žádná zvláštní výjimka, žádný &quot;legacy formát&quot;.</p>
<p>Fotky a videa leží vedle postu — nikdy nic neodkazuju na cizí server (žádný hotlinking), všechno je stažené a uložené lokálně už při importu.</p>
<h2 id="build-staticky-web-z-jsonu">Build: statický web z JSONů</h2>
<p><code>build_blog.rb</code> je jeden Ruby skript, který projde všechny JSONy a vyrenderuje z nich statické HTML. Žádný Jekyll, Hugo ani Next.js — jen ERB šablony a hrst funkcí, které skládají HTML ručně. Build mimo jiné:</p>
<ul><li>generuje stránkování po desítkách příspěvků, archivy podle štítků a podle typu obsahu (text/obrázky/video/odkazy),</li><li>staví JSON index pro vyhledávání a RSS/sitemap,</li><li>řeší formátování textu (tučně, kurzíva, odkazy, přeškrtnutí) podle offsetů v poli <code>formatting</code> — stejný princip jako u Tumblr NPF,</li><li>automaticky seskupuje po sobě jdoucí obrázkové bloky do fotogalerie.</li></ul>
<p>Výsledek je čistá hromada statických souborů, kterou umí obsloužit úplně cokoliv.</p>
<h2 id="psani-cli-misto-administrace-v-prohlizeci">Psaní: CLI místo administrace v prohlížeči</h2>
<p>Zvažoval jsem administrační rozhraní v prohlížeči, ale místní HTTP server, který umí zapisovat soubory, otevírá zbytečná rizika (CSRF z jiné otevřené záložky, path traversal a podobně). Místo toho mám <code>manage_post.rb</code>, který otevře <code>$EDITOR</code> na markdown souboru s YAML frontmatterem (přesně takhle vypadá i tenhle článek, než se zpracuje). <code>**tučně**</code>, <code>*kurzíva*</code>, <code>[odkaz](url)</code> a <code>![popisek](obrázek &quot;titulek&quot;)</code> se převedou na stejné content bloky, jaké produkují importy z Tumblru a Twitteru — píšu tedy stejným &quot;jazykem&quot;, jakým jsou uložené i příspěvky staré přes deset let.</p>
<p>Skript umí <code>add</code>, <code>edit &lt;slug&gt;</code>, <code>delete &lt;slug&gt;</code> i <code>list</code> s filtrem podle typu nebo štítku, a po uložení příspěvku rovnou nabídne rebuild webu.</p>
<h2 id="publikovani-z-mobilu">Publikování z mobilu</h2>
<p>Když píšu z iPadu nebo z telefonu přes SSH, nemám po ruce lokální cestu k fotce. Vyřešil jsem to složkou <code>incoming/</code> na serveru, kam nahraju fotku přes SFTP, a v Markdownu pak stačí napsat jen <code>![popisek](foto.jpg)</code> — holé jméno souboru se automaticky přeloží na <code>incoming/foto.jpg</code>. Pokud soubor v tu chvíli ještě neexistuje, skript počká a opakovaně kontroluje, dokud fotku nenahraju nebo uložení nezruším. Díky tomu můžu nejdřív napsat celý text a fotky dohnat později.</p>
<h2 id="mastodon-jako-vrstva-pro-komentare">Mastodon jako vrstva pro komentáře</h2>
<p>Nemám (a ani nechci) vlastní systém komentářů. Každý nový příspěvek se automaticky tootne na Mastodon (<code>mastodon_poster.rb</code>), a odkaz na ten toot se uloží k příspěvku jako <code>mastodon_url</code>. Na stránce příspěvku pak JavaScript (<code>comments.js</code>) stáhne přes veřejné Mastodon API odpovědi na ten toot a zobrazí je jako komentáře — se jménem, avatarem a časem. Žádná vlastní databáze komentářů, žádná moderace navíc — to všechno dělá Mastodon. Stejný widget zobrazuje i počet favů, boostů a odpovědí přímo pod textem příspěvku.</p>
<h2 id="widgety-v-postrannim-panelu">Widgety v postranním panelu</h2>
<p>V patičce/postranním panelu žijou tři malé JS widgety, každý s jiným zdrojem dat a jiným způsobem načtení:</p>
<ul><li><b>Poslední tooty</b> — natahují se za běhu v prohlížeči přímo z Mastodon API.</li><li><b>Poslední commity</b> — totéž, ale z GitHub API (poslední push eventy mého účtu).</li><li><b>Poslední Pixelfedy</b> — na rozdíl od těch dvou se stahují už při buildu na serveru (<code>build_blog.rb</code>), protože Pixelfedí Atom feed nemá CORS hlavičku a z prohlížeče by nešel načíst.</li></ul>
<h2 id="vyhledavani-a-dalsi-drobnosti">Vyhledávání a další drobnosti</h2>
<p>Vyhledávání je čistě klientské: build vygeneruje <code>search-index.json</code> se všemi příspěvky (bez diakritiky, malými písmeny), prohlížeč si ho stáhne jednou a pak nad ním vyhodnocuje dotazy s podporou frází v uvozovkách a vylučování slova pomocí <code>-slovo</code>. Žádný Algolia, žádný server-side search.</p>
<p>Zbytek je už jen běžná výbava: přepínač světlého/tmavého motivu (CSS proměnné + <code>prefers-color-scheme</code>), lightbox na obrázky, sbalovací navigace na mobilu — všechno bez jakéhokoli frameworku, čistý vanilla JS v malých samostatných souborech.</p>
<h2 id="nasazeni-chytry-sync-na-surfer">Nasazení: chytrý sync na Surfer</h2>
<p>Build maže a znovu vytváří celé <code>public/</code>, takže se nedá spoléhat na čas změny souborů — každý build má nové mtime úplně na všem. <code>deploy-web.sh</code> proto drží mimo <code>public/</code> manifest SHA-256 hashů všech souborů a při nasazení nahraje na úložiště (Cloudron Surfer, přes jeho Files API) jen to, co se opravdu změnilo. Výsledek: rebuild tří tisíc příspěvků neznamená při každém nasazení upload tří tisíc souborů, ale jen těch pár, co se skutečně změnily.</p>
<h2 id="odkud-se-to-sem-vsechno-dostalo">Odkud se to sem všechno dostalo</h2>
<p>Blog neběží od nuly — naimportoval jsem do něj historii ze čtyř Tumblr blogů a z archivu vlastních tweetů z Twitteru/X (2008–2022, jen samostatné příspěvky, žádné odpovědi ani retweety). Oba importy (<code>migrate_tumblr.rb</code>, <code>migrate_twitter.rb</code>) publikovaly posty přes <code>post_writer.rb</code>, který používá i ruční psaní, takže žádný příspěvek nemá &quot;výsadní&quot; postavení podle původu.</p>
<h2 id="proc-takhle">Proč takhle</h2>
<p>Celé je to sázka na to, že obyčejné soubory, obyčejný Ruby skript a hrstka JavaScriptu bez frameworku vydrží déle a budou se snáz opravovat než cokoliv postavené na cizí platformě nebo cizí databázi. Nic tu neběží jako služba, kterou by mi někdo mohl vypnout nebo zpoplatnit — jen soubory, které mám u sebe a rozumím jim.</p>
<p>A přesně tak jsem to chtěl...d8-D</p>]]></description>
  <category>sean.cz</category><category>architektura</category><category>ruby</category><category>self-hosting</category><category>technologie</category>
</item>
<item>
  <title>Nový web/log SEAN.cz</title>
  <link>https://sean.cz/posts/2026/novy-web-log-sean-cz/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/novy-web-log-sean-cz/</guid>
  <pubDate>Thu, 23 Jul 2026 12:52:00 +0200</pubDate>
  <description><![CDATA[<p>Podíval jsem se po letech na svůj blog a zjistil, že pro samý microblogging na Twitteru a Mastodonu ten blog vlastně umírá. Protože ho ale mám rád, a chci si ho ponechat i <br>nadále, rozhodl jsem se, že je čas ho předělat, a to z gruntu.</p>
<figure><img src="https://sean.cz/posts/2026/novy-web-log-sean-cz/01.png" width="3131" height="2648" alt="design nového SEAN.cz" loading="lazy" decoding="async"><figcaption>design nového SEAN.cz</figcaption></figure>
<p>Nejen nový, lepší, čitelnější design, ale kompletní přesun z Tumbleru, kam jsem byl tak nějak donucen se přesunout kvůli konci Posterous, na vlastní kód. Pár dnů už prgám, a <br>výsledky se dostavují.</p>
<p>Navíc jsem na nový blog přemigroval obsah nejen z mého starého blogu, ale i některých side projektů, pár tisíc tweetů (takže mohu s klidným svědomím promazat svůj Twitter) a <br>dost možná i některé další, pokud se mi podaří dohledat exporty.</p>
<p>Co se pozadí týče, učím se Markdown, protože nové posty budou tvořeny právě s jeho pomocí - prostě jen základní formátování, url, obrázek, a to je všechno.</p>
<p>A poběží to, a to doufám že již brzy, na Surferu od <a href="https://oscloud.cz">OSCloud</a>, tak držte palce...d8-D</p>]]></description>
  <category>blog</category><category>design</category><category>jižbrzy</category>
</item>
<item>
  <title>Pokusný post na novém blogu</title>
  <link>https://sean.cz/posts/2026/pokusny-post-na-novem-blogu/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/pokusny-post-na-novem-blogu/</guid>
  <pubDate>Thu, 23 Jul 2026 11:55:00 +0200</pubDate>
  <description><![CDATA[<p>Na novém blogu nebudou klasické komentáře, např. přes Disqus, ale přes Fediverse.</p>
<p>Myšlenka je taková, že nový blog post po publikování vytvoří post obsahující odkaz na něj na mém Mastodonu, a moji čtenáři pak, pokud budou chtít,<br>budou moci reagovat právě na tento post, a jejich reakce se pak budou zobrazovat v komentářové sekci pod postem.</p>
<p>Tento post jen ověří, zda to, co jsme naprgali, skutečně funguje, a nebo zda to ještě potřebuje trochu péče...d8-D</p>]]></description>
  <category>pokus</category><category>blog</category><category>post</category><category>oničem</category>
</item>
<item>
  <title>Fedík – jak vznikl průvodce Fediverse</title>
  <link>https://sean.cz/posts/2026/fedik-jak-vznikl-pruvodce-fediverse/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/fedik-jak-vznikl-pruvodce-fediverse/</guid>
  <pubDate>Tue, 23 Jun 2026 12:00:00 +0000</pubDate>
  <description><![CDATA[<h2 id="pruvodce-ktery-chybel">Průvodce, který chyběl</h2>
<p>Po dokončení Sloníku jsem si říkal, že průvodce Fediversem, na kterém jsem posledních pár dní pracoval, je technicky hotov a leží u korektorů – aby ho jazykově zpřístupnili i lidem, kteří vládnou nejen češtinem, ale i češtinou.</p>
<p>Jenže o dva dny později jsem musel přiznat, že jsem trochu kecal – konečně mi došlo, co tomu vlastně chybí, a musel jsem si ještě chvíli sednout k práci. Cíl zůstal ale stejný: stihnout to do víkendu, než se korektoři vrhnou na finální verzi.</p>
<figure><img src="https://sean.cz/posts/2026/fedik-jak-vznikl-pruvodce-fediverse/01.png" width="3568" height="3018" alt="Screenshot Fedík.online" loading="lazy" decoding="async"><figcaption>Screenshot Fedík.online</figcaption></figure>
<h2 id="co-to-vlastne-melo-byt">Co to vlastně mělo být</h2>
<p>O pár dnů později už jsem to popsal přesněji: šlo o <b>onboarding nováčka do Fediverse</b> – a nebyl jsem si jistý jen já, potvrdilo mi to i pár lidí, se kterými jsem to konzultoval. Technicky zbývalo dodělat jedno propojení pohledu do průvodce, zbytek už byl na korektorech.</p>
<p>Po víkendu se blížilo vydání. Textové korektury byly hotové, design dovychytaný, zbývala jen poslední funkce, kterou nešlo udělat dřív, než budou finální verze textů a aktualizovaná data.</p>
<h2 id="spusteni">Spuštění</h2>
<p>A pak, ještě týž den, to přišlo: <a href="https://fedik.online"><b>fedik.online</b></a> běží.</p>
<blockquote>Fediverse je vesmír propojených nezávislých sociálních sítí — místo jedné firmy ho tvoří tisíce serverů, které si spolu povídají. Je to obrovský prostor, skoro jako ten mezihvězdný.</blockquote>
<p>Fedík vyšel rovnou dvojjazyčně, česky i anglicky – <b>Fedik, Fediverse onboarding guide and catalogue</b> – protože fediverse není jen česká záležitost.</p>
<p>Po dalších třech dnech jsem pak mohl napsat, že všechny technické a designové věci jsou dotažené, a rozhodl jsem se nechat projekt pár dní běžet, ať si to sedne, než se podívám na poslední návrhy od korektorů.</p>
<h2 id="otevrena-otazka">Otevřená otázka</h2>
<p>Nejzajímavější moment ale přišel den poté, 23. června, kdy jsem se komunity zeptal na rovinu:</p>
<blockquote>Vadí vám, že jde o výsledek vibe codingu (AI programuje podle pokynů vývojáře) a grafika je také od AI?</blockquote>
<p>Nebyla to řečnická otázka na efekt – Fedík skutečně vznikl jako spolupráce s AI, od kódu po grafiku, a bylo mi zajímavé slyšet, jestli to pro lidi, kteří hledají cestu do Fediverse, něco mění.</p>
<p>BTW Ta anketa...</p>
<figure><img src="https://sean.cz/posts/2026/fedik-jak-vznikl-pruvodce-fediverse/02.png" width="1316" height="1024" alt="Anketa o AI" loading="lazy" decoding="async"><figcaption>Anketa o AI</figcaption></figure>
<p>Průvodce Fediverse <a href="https://fedik.online"><b>fedik.online</b></a> je dostuný na adrese <a href="https://fedik.online">https://fedik.online</a>.</p>]]></description>
  <category>fedik</category><category>fediverse</category><category>mastodon</category><category>onboarding</category>
</item>
<item>
  <title>Od Katalogu ke Sloníkovi</title>
  <link>https://sean.cz/posts/2026/od-katalogu-ke-slonikovi/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2026/od-katalogu-ke-slonikovi/</guid>
  <pubDate>Tue, 16 Jun 2026 20:00:00 +0000</pubDate>
  <description><![CDATA[<h2 id="jak-to-zacalo">Jak to začalo</h2>
<p>Někdy věci vzniknou tak trochu proti vlastní vůli. Koncem května jsem si řekl, že to tentokrát nevydržím, a s pomocí kluků z <a href="https://mastodon.social/@oscloud">@oscloud</a> jsem spáchal drobnůstku – katalog botů provozovaných na Zprávobotovi. Největší práce nebyla v programování, ale v úpravě a opravě kategorizace všech zdrojů, které se za ty roky nasbíraly.</p>
<p>Druhý den jsem katalog ještě trochu potunil, aby fungoval o něco lépe – a hned jsem se zeptal do placu: nebyl by zájem o něco podobného, ale obecně zaměřené na české Mastodon účty? Podobné vyhledávání, podobné metriky, jen místo botů &quot;živé&quot; účty?</p>
<figure><img src="https://sean.cz/posts/2026/od-katalogu-ke-slonikovi/01.png" width="3568" height="3018" alt="Screenshot Katalog (katalog.zpravobot.news)" loading="lazy" decoding="async"><figcaption>Screenshot Katalog (katalog.zpravobot.news)</figcaption></figure>
<h2 id="z-napadu-se-stava-projekt">Z nápadu se stává projekt</h2>
<p>Ukázalo se, že zájem byl. Začátkem června jsem s klukama z oscloud usoudil, že tomu dáme šanci, a druhý den se do katalogu začaly importovat tisíce českých a slovenských Mastodon účtů.</p>
<p>Když import doběhl, čísla byla docela výmluvná:</p>
<ul><li><b>Celkem: 2 581 účtů</b></li><li>Skutečně aktivní (publikace ≤ 90 dní): 475</li><li>Bez <code>last_status_at</code> (nikdy nepostnuli): 745</li><li>Neaktivní (&gt; 90 dní): 1 361</li></ul>
<p>A z toho ještě zajímavější detail – importovaly se jen non-automated účty, takže těch 475 aktivních jsou skuteční živí lidé. Zbytek jsou opuštěné participace na síti – přihlásili se, možná jednou tootli, a zmizeli.</p>
<h2 id="beta-feedback-jmeno">Beta, feedback, jméno</h2>
<p>Po pár dnech jsem poprosil komunitu, ať se podívá na testovací verzi a řekne mi, co jí vadí, co chybí, co by šlo zlepšit. Zpětná vazba přišla a já jsem si ji vzal k srdci – další verze implementovala prakticky všechny připomínky.</p>
<p>A projekt dostal jméno: <b>Sloník</b>.</p>
<figure><img src="https://sean.cz/posts/2026/od-katalogu-ke-slonikovi/02.png" width="3568" height="3018" alt="Screenshot Sloník.online" loading="lazy" decoding="async"><figcaption>Screenshot Sloník.online</figcaption></figure>
<h2 id="spusteni-a-rozdeleni-prace">Spuštění a rozdělení práce</h2>
<p>O den později už jsem mohl napsat, že <a href="https://slonik.online">slonik.online</a> lze považovat za provozuschopný, minimálně v betě. Chybějící statistiky (třeba počet postů za minulý týden) se měly dopočítat v následující pondělí vůči checkmarku z předchozího týdne.</p>
<p>Tím se otevřel zajímavý moment – měl jsem teď dvě aplikace, které dělaly podobnou věc pro různá data, a rostly nerovnoměrně. Sloník dostal nové funkce dřív než Katalog, tak bylo na čase to srovnat: <b>backportovat do Katalogu všechno, co vzniklo na Sloníkovi a dávalo tam smysl.</b></p>
<p>To se povedlo a Katalog měl najednou všechny Sloníkovy funkce, které do něj patřily – a bonusem, že si data mohl brát rovnou z databáze, místo tahání přes RSS jako u Sloníka.</p>
<h2 id="doladeni">Doladění</h2>
<p>Zbytek června byl už jen o doladění – v půli června proběhl update Sloníka prakticky bez problémů (jen se nezaktualizovalo datum poslední aktualizace) a já už jen ručně data očistil od všech zprávobotíků a rockobasilisků, co se tam omylem zatoulali. Potom už přibyla jen poslední kosmetická vylepšení – identifikátor přílohy u postů se změnil na tlačítko, které otevře náhled celého postu včetně příloh.</p>
<p>Tak vznikly ze zprávobotího katalogu botů dvě samostatné, ale příbuzné aplikace – jedna pro boty, druhá pro lidi. A obě rostou dál, jedna vedle druhé.</p>]]></description>
  <category>katalog</category><category>slonik</category><category>mastodon</category><category>zpravobot</category>
</item>
<item>
  <title>Komixy, komixy, komixy</title>
  <link>https://sean.cz/posts/2024/komixy-komixy-komixy/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2024/komixy-komixy-komixy/</guid>
  <pubDate>Mon, 14 Oct 2024 07:42:00 +0200</pubDate>
  <description><![CDATA[<p>Mám rád komixy a myslím, že nejsem úplně sám, kdo to tak má. Mám rád hrdinské komixy i stripy, chytré i hloupé, černobílé i barevné… A tak na Zprávobotu nemohou chybět, byť v tomto případě jde většinově o krátké stripy.</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2024/komixy-komixy-komixy/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2024/komixy-komixy-komixy/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure></div>
<h2 id="ceske-komixy">České komixy</h2>
<p>🐘 <a href="https://zpravobot.news/@filmator">filmator</a></p>
<p>🐘 <a href="https://zpravobot.news/@historje">historje</a></p>
<p>🐘 <a href="https://zpravobot.news/@macomix1">macomix1</a></p>
<p>🐘 <a href="https://zpravobot.news/@MiroslavKemel">MiroslavKemel</a></p>
<p>🐘 <a href="https://zpravobot.news/@novakvaclav">novakvaclav</a></p>
<p>🐘 <a href="https://zpravobot.news/@Pasfauxpas">Pasfauxpas</a></p>
<p>🐘 <a href="https://zpravobot.news/@VilemzRoupova">VilemzRoupova</a></p>
<p>🐘 <a href="https://zpravobot.news/@vladimir_balcar">vladimir_balcar</a></p>
<p>🐘 <a href="https://zpravobot.news/@veselypolitik">veselypolitik</a></p>
<h2 id="zahranicni-komixy">Zahraniční komixy</h2>
<p>🐘 <a href="https://zpravobot.news/@CassandraComics">CassandraComics</a></p>
<p>🐘 <a href="https://zpravobot.news/@foxes_in_love">foxes_in_love</a></p>
<p>🐘 <a href="https://zpravobot.news/@NaozajstnyShooty">NaozajstnyShooty</a></p>
<p>🐘 <a href="https://zpravobot.news/@TerribleMaps">TerribleMaps</a> 🆕</p>
<p>🐘 <a href="https://zpravobot.news/@tomgauld">tomgauld</a></p>
<p>🐘 <a href="https://zpravobot.news/@_yesbut_">_yesbut_</a> 🆕</p>
<h2 id="kolaze">Koláže</h2>
<p>🐘 <a href="https://zpravobot.news/@TMBKOFFICIAL">TMBKOFFICIAL</a></p>
<p>🐘 <a href="https://zpravobot.news/@zomriofficial">zomriofficial</a></p>
<p>🐘 <a href="https://zpravobot.news/@nadcasovezpravodajstvo">nadcasovespravodajstvo</a></p>
<p><b>P.S.:</b> Prompt k obrázkům zní: “<b>Nakresli realistickou kresbu stolu komiksového kreslíře. na stole by měly být kreslící potřeby, skicy komiksů a celkově tvůrčí chaos.”</b></p>
<p><b>Aktualizováno:</b> 14.10.2024 20:40 přidány TerribleMaps a _<i>yesbut</i>_.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Trochu statistiky a TOP10 zprávobotů</title>
  <link>https://sean.cz/posts/2024/trochu-statistiky-a-top10-zpravobotu/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2024/trochu-statistiky-a-top10-zpravobotu/</guid>
  <pubDate>Mon, 07 Oct 2024 15:02:00 +0200</pubDate>
  <description><![CDATA[<p>Dnes tu pro vás mám trochu statistiky. Ne, nebojte se, nebude to složité a nebude to bolet, bude to jen trochu zajímavostí a možná i překvapivé pořadí zprávobotíků v několika kategoriích.</p>
<figure><img src="https://sean.cz/posts/2024/trochu-statistiky-a-top10-zpravobotu/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p>Před vyhlášením těch nejlepších ale trochu té slíbené statistiky.</p>
<p>Na serveru <a href="https://zpravobot.news">Zprávobot.news</a> aktuálně běží <b>374</b> produkčních zprávobotíků!</p>
<p>K dnešnímu dni vytvořili <b>77 847</b> postů (už to neplatí, už je jich nejméně o několik set více)!</p>
<p>Sleduje je (součtem všech sledování) neuvěřitelných <b>12 951</b> sloníků!</p>
<p>S trochou nadsázky by se tedy dalo říct, že Zprávobot je na českém Mastodonu nejsledovanější, protože nejsledovanějším účtem dle <a href="https://mastodex.cz">Mastodex.cz</a> je  🐘 <a href="https://www.forendors.cz/medvidekpu">@medvidekpu</a> s 2868 sledujícími, což je přeci jen o něco méně 🤣.</p>
<p>A teď už k vyhlášení těch nejlepších.</p>
<h2 id="top3-nejsledovanejsi-zpravodajsti-zpravobotici">TOP3 nejsledovanější zpravodajští zprávobotíci</h2>
<p>🥇 <a href="https://zpravobot.news/@CT24zive">@CT24zive</a> s <b>1 873</b> sledujícími</p>
<p>🥈 <a href="https://zpravobot.news/@SeznamZpravy">@SeznamZpravy</a> s <b>1 103</b> sledujícími</p>
<p>🥉 <a href="https://www.forendors.cz/enkocz">@enkocz</a> s <b>628</b> sledujícími</p>
<p>Na dalších místech se umístili:</p>
<p>🏅<a href="https://zpravobot.news/@AndroidAuth">@AndroidAuth</a> s 343 sledujícími</p>
<p>🏅<a href="https://zpravobot.news/@Minuta_N">@Minuta_N</a> s 270 sledujícími</p>
<p>🏅<a href="https://zpravobot.news/@CHMUCHMI">@CHMUCHMI</a> s 206 sledujícími</p>
<p>🏅<a href="https://zpravobot.news/@Aktualnecz">@Aktualnecz</a> s 184 sledujícími</p>
<p>🏅<a href="https://zpravobot.news/@CRoPlus">@CRoPlus</a> s 147 sledujícími</p>
<p>🏅<a href="https://zpravobot.news/@NewsroomCT24">@NewsroomCT24</a> s 119 sledujícími</p>
<p>🏅<a href="https://www.forendors.cz/hospodarky">@hospodarky</a> s 109 sledujícími</p>
<h2 id="top3-nejsledovanejsi-osobni-zpravobotici">TOP3 nejsledovanější osobní zprávobotíci</h2>
<p>🥇 <a href="https://zpravobot.news/@DrabovaDana">@DrabovaDana</a> s <b>586</b> sledujícími</p>
<p>🥈 <a href="https://www.forendors.cz/tomgauld">@tomgauld</a> s <b>398</b> sledujícími</p>
<p>🥉 <a href="https://zpravobot.news/@Posledniskaut">@Posledniskaut</a> s <b>266</b> sledujícími</p>
<p>Na dalších místech se umístili:</p>
<p>🏅<a href="https://www.forendors.cz/prezidentpavel">@prezidentpavel</a> s 224 sledujícími</p>
<p>🏅<a href="https://zpravobot.news/@PanHradu">@PanHradu</a> s 207 sledujícími</p>
<p>🏅<a href="https://zpravobot.news/@JakubSzanto">@JakubSzanto</a> s 192 sledujícími</p>
<p>🏅<a href="https://www.forendors.cz/historje">@historje</a> s 177 sledujícími</p>
<p>🏅<a href="https://www.forendors.cz/jindrichsidlo">@jindrichsidlo</a> s 163 sledujícími</p>
<p>🏅<a href="https://www.forendors.cz/kalousekm">@kalousekm</a> s 148 sledujícími</p>
<p>🏅<a href="https://www.forendors.cz/bartkovskym">@bartkovskym</a> s 118 sledujícími</p>
<h2 id="top3-nejpracovitejsi-zpravobotici">TOP3 nejpracovitější zprávobotíci</h2>
<p>🥇 <a href="https://zpravobot.news/@Rainmaker1973">@Rainmaker1973</a> s <b>5 520</b> příspěvky</p>
<p>🥈 <a href="https://zpravobot.news/@Minuta_N">@Minuta_N</a> s 3500 příspěvky</p>
<p>🥉 <a href="https://www.forendors.cz/terazsk">@terazsk</a> s 3450 příspěvky</p>
<p>Na dalších místech se umístili:</p>
<p>🏅<a href="https://zpravobot.news/@CHMU_hydrologie">@CHMU_hydrologie</a> s 3 090 příspěvky</p>
<p>🏅<a href="https://www.forendors.cz/novinkycz">@novinkycz</a> s 2 870 příspěvky</p>
<p>🏅<a href="https://www.forendors.cz/spravympm">@spravy_mpm</a> s 2 230 příspěvky</p>
<p>🏅<a href="https://zpravobot.news/@iDNEScz">@iDNEScz</a> s 2 190 příspěvky</p>
<p>🏅<a href="https://www.forendors.cz/ceskenovinycz">@ceskenoviny_cz</a> s 1 910 příspěvky</p>
<p>🏅<a href="https://zpravobot.news/@iROZHLAScz">@iROZHLAScz</a> s 1 680 příspěvky</p>
<p>🏅<a href="https://www.forendors.cz/sport">@sport</a>CT s 1 300 příspěvky</p>
<p>A proč to všechno vlastně? No přeci jako hmatatelný důkaz toho, že Zprávobot.news nejen že fungují, nejen že generují spoustu tootů, ale také že je i spousta lidí skutečně sleduje a za to všem velké díky.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Nad Tatrou sa blýska…</title>
  <link>https://sean.cz/posts/2024/nad-tatrou-sa-blyska/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2024/nad-tatrou-sa-blyska/</guid>
  <pubDate>Tue, 01 Oct 2024 18:18:00 +0200</pubDate>
  <description><![CDATA[<p>Nad Tatrou sa blýska,<br>hromy divo bijú.<br>Zastavme ich bratia,<br>veď sa ony stratia,<br>Slováci ožijú.<br><br>To je začátek textu slovenské hymny známý i mnoha z nás Čechů ještě z dob společného státu, kdy jsme Slováky brali jako své bratry. A protože si mezi sourozenci bývá zvykem pomáhat, Zprávobot.news se rozšířil o několik zprávobotíků určených právě pro Slováky. Jde o několik TV zpravodajství, tiskové služby, deníky a časopisy, nová internetová TV, technologický web, sport i něco málo humoru.</p>
<figure><img src="https://sean.cz/posts/2024/nad-tatrou-sa-blyska/01.jpg" width="1024" height="742" alt="" loading="lazy" decoding="async"></figure>
<p><i>Nad Tatrou sa blýska,</i><br><i>hromy divo bijú.</i><br><i>Zastavme ich bratia,</i><br><i>veď sa ony stratia,</i><br><i>Slováci ožijú.</i></p>
<p>To je začátek textu slovenské hymny známý i mnoha z nás Čechů ještě z dob společného státu, kdy jsme Slováky brali jako své bratry. A protože si mezi sourozenci bývá zvykem pomáhat, Zprávobot.news se rozšířil o několik zprávobotíků určených právě pro Slováky. Jde o několik TV zpravodajství, tiskové služby, deníky a časopisy, nová internetová TV, technologický web, sport i něco málo humoru.</p>
<h2 id="tv-zpravodajstvi">TV zpravodajství</h2>
<p>🐘 <a href="https://zpravobot.news/@spravy_rtvs">Správy RTVS</a></p>
<p>🐘 <a href="https://zpravobot.news/@novinysk">Noviny TV JOJ</a></p>
<p>🐘 <a href="https://zpravobot.news/@TelevizneNoviny">Televizne noviny TV Markíza</a></p>
<p>🐘 <a href="https://zpravobot.news/@tvTA3">TV TA3</a></p>
<h2 id="tiskove-sluzby">Tiskové služby</h2>
<p>🐘 <a href="https://zpravobot.news/@terazsk">TERAZ.sk - spravodajský portál Tlačovej agentúry Slovenskej republiky</a></p>
<p>🐘 <a href="https://zpravobot.news/@webnovinysk">Webnoviny.sk - Spravodajský portál s aktuálnymi informáciami od agentury SITA</a></p>
<h2 id="deniky">Deníky</h2>
<p>🐘 <a href="https://zpravobot.news/@Aktualitysk">Aktuality.sk</a></p>
<p>🐘 <a href="https://zpravobot.news/@dennikN">Denník N</a></p>
<p>🐘 <a href="https://zpravobot.news/@spravy_mpm">Minúta po minúte - Najrýchlejšie spravodajstvo na Slovensku</a></p>
<p>🐘 <a href="https://zpravobot.news/@denniksme">Denník SME</a></p>
<p>🐘 <a href="https://zpravobot.news/@hnonline">Hospodárske noviny</a></p>
<p>🐘 <a href="https://zpravobot.news/@Pravdask">Pravda.sk</a></p>
<h2 id="casopisy">Časopisy</h2>
<p>🐘 <a href="https://zpravobot.news/@tyzdensk">.týždeň - Týždenník o politike, spoločenskom dianí a kultúre</a></p>
<p>🐘 <a href="https://zpravobot.news/@etrend_sk">Týždenník TREND</a></p>
<h2 id="internetova-tv">Internetová TV</h2>
<p>🐘 <a href="https://zpravobot.news/@DVTV_SK">DVTV SK</a></p>
<h2 id="technologie">Technologie</h2>
<p>🐘 <a href="https://zpravobot.news/@Zivesk">Živé.sk</a></p>
<h2 id="kultura">Kultura</h2>
<p>🐘 <a href="https://zpravobot.news/@SlovenskydomvPrahe">Slovenský dom v Prahe</a></p>
<h2 id="sport">Sport</h2>
<p>🐘 <a href="https://zpravobot.news/@F1onlinesk">F1online.sk</a></p>
<p>🐘 <a href="https://zpravobot.news/@EisKing">EisKing.tv</a></p>
<p>🐘 <a href="https://zpravobot.news/@StevoEisele">Stevo Eisele</a></p>
<h2 id="humor">Humor</h2>
<p>🐘 <a href="https://zpravobot.news/@nadcasovespravodajstvo">Nadčasové spravodajstvo</a></p>
<p>🐘 <a href="https://zpravobot.news/@NaozajstnyShooty">Naozajstný Shooty</a></p>
<p>🐘 <a href="https://zpravobot.news/@silnereci">Silné reči - Stand-up Comedy</a></p>
<p>🐘 <a href="https://zpravobot.news/@zomriofficial">Zomri</a></p>
<p>P.S.: Skript použitý pro vytvoření obrázku je text slovenské hymny.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Zrušené (neobnovené) účty - 09/2024</title>
  <link>https://sean.cz/posts/2024/zrusene-neobnovene-ucty-09-2024/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2024/zrusene-neobnovene-ucty-09-2024/</guid>
  <pubDate>Mon, 30 Sep 2024 16:17:00 +0200</pubDate>
  <description><![CDATA[<p>Při obnovování serveru Zprávobot.news zůstalo několik účtů, které nebyly obnoveny. Zde je jejich úplný výčet, jak jsem slíbil v předešlém postu.</p>
<figure><img src="https://sean.cz/posts/2024/zrusene-neobnovene-ucty-09-2024/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<h2 id="ucty-existujici-na-mastodonu">Účty existující na Mastodonu</h2>
<p><a href="https://www.forendors.cz/archeohistories">@archeohistories</a><br>@Paralelni_Listy</p>
<h2 id="zrusene-x-ucty">Zrušené X účty</h2>
<p><a href="https://www.forendors.cz/168hodin">@168hodin</a><br><a href="https://www.forendors.cz/jirikostaf1">@jirikostaf1</a><br><a href="https://www.forendors.cz/schwarzenbergk">@schwarzenbergk</a></p>
<h2 id="ucty-bez-aktivity">Účty bez aktivity</h2>
<p><a href="https://www.forendors.cz/fotbalcs">@fotbal_cs</a><br>@MartinReznicek<br>@DanielStach<br>@JakubZelezny<br><a href="https://www.forendors.cz/mppoky">@mppoky</a><br><a href="https://www.forendors.cz/uamemesforces">@uamemesforces</a></p>
<h2 id="ucty-bez-sledujicich">Účty bez sledujících</h2>
<p>@UdalostiBrno    <br>@UdalostiOstrava<br><a href="https://www.forendors.cz/vitaliacz">@vitaliacz</a></p>
<h2 id="ucty-ktere-nebyly-obnoveny-z-jinych-duvodu">Účty, které nebyly obnoveny z jiných důvodů</h2>
<p>@A2larm<br>@KevinMagnussen<br>@KOLOnaKOLO<br>@LoganSargeant<br>@StastnyPodcast<br>@ZhouGuanyu24</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Jak to aktuálně vypadá s provozem Zprávobot.news v 09/2024</title>
  <link>https://sean.cz/posts/2024/jak-to-aktualne-vypada-s-provozem-zpravobot-news-v-09-2024/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2024/jak-to-aktualne-vypada-s-provozem-zpravobot-news-v-09-2024/</guid>
  <pubDate>Mon, 23 Sep 2024 07:30:00 +0200</pubDate>
  <description><![CDATA[<p>I když to pro mnohé může vypadat, že se na Zprávobotu nic neděje, není to pravda. Vlastně pravdou je úplný opak. Děje se toho strašně moc, a v tomhle postu jsem shrnul veškeré dění za poslední měsíc, a nebylo toho vůbec málo.</p>
<figure><img src="https://sean.cz/posts/2024/jak-to-aktualne-vypada-s-provozem-zpravobot-news-v-09-2024/01.jpg" width="1570" height="1600" alt="" loading="lazy" decoding="async"></figure>
<p>V průběhu srpna mi už došla trpělivost s poměrně drahým hostingem u IONOS, kde mi během posledního půl roku poměrně výrazně osekali funkcionality (activity monitor, snapshot) a rozhodl jsem, že je potřeba server Zprávobot.news přemigrovat na jiný hosting, a rozhodl jsem se pro Contabo.</p>
<p>Zároveň s tím jsem chtěl vyřešit problém s nekonzistentním stavem serveru (updaty Mastodonu nebyli průběžné) a server proto nebyl jen přemigrován, ale kompletně nově nainstalován.  Velké komplikace s upgradem na UBUNTU 24.04, nefunkčními repozitáři na Contabu a díky tomu i instalace Mastodon serveru skrz několik verzí Mastodonu znamenaly obrovskou časovou náročnost a velký dík patří <a href="https://mastodon.arch-linux.cz/@archos">Archos</a>, který na tom strávil několik pozdních odpolední a dva víkendy. Díky moc.</p>
<p>Na serveru byl také použit staronový skin <a href="https://github.com/nileane/TangerineUI-for-Mastodon">Tangerine UI</a> od <a href="https://nileane.fr/@nileane">Nileane</a>, takže to Zprávobot.news moc sluší.</p>
<p>Nová instalace ale také znamenala, že všechny zprávobotíky bylo nutné na novém serveru opět vytvořit a nastavit. Naštěstí nebylo nutné zásadně předělávat i backend (synchronizační logika neběží na mém serveru, ale na IFTTT.com), což celou operaci výrazně zjednodušovalo. Přesto nešlo vzhledem k počtu zprávobotíků o easy task.</p>
<p>Jsem proto moc rád, že mohu oznámit, že celý proces migrace a obnovení provozu všech funkčních botů byl dokončen. Obnoveno bylo 354 botů, na jejichž obnovení bylo potřeba cca 35,5h čistého času práce.</p>
<p>Společně s tím byla upravena retence postů jednotlivých zprávobotíků dle následujícího klíče:</p>
<p>Po této době budou všechny příspěvky, které dosáhly předepsaného &quot;stáří&quot;, automaticky mazány, aby nedošlo k přeplnění disku.</p>
<p>K obnově několika zprávobotíků nedošlo, protože buď primárně jejich zdroje byly ukončeny (smazané X účty) či nejsou aktivní, nebo sekundárně měli nulovou nebo téměř žádnou sledovanost. Kompletní seznam těchto účtů odpublikuji v tomto týdnu.</p>
<p>Změnil se také způsob komunikace. Změny na serveru (přidání/odebírání botů, upgrade, odstávka, apod.) budou komunikovány výhradně z účtu <a href="https://zpravobot.news/@zpravobot">Zprávobot</a>, zatímco komentáře k těmto aktivitám půjdou z účtu <a href="https://mastodon.social/@danielsnor">danielsnor</a>, mého osobního účtu.</p>
<p>Věřím, že se vám nový Zprávobot.news líbí a zachováte mu přízeň i nadále.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Ukončení boti</title>
  <link>https://sean.cz/posts/2024/ukonceni-boti/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2024/ukonceni-boti/</guid>
  <pubDate>Mon, 26 Feb 2024 09:20:00 +0000</pubDate>
  <description><![CDATA[<p>Tak jako ve skutečném, i v tom virtuálním životě se přihodí, že robot již odvedl svou práci a buď je nahrazen něčím novéjším a nebo je vyřazený bez náhrady. Po zrušení Nitteru před několika dny jsem při obnovování do provozu usoudil, že boti na tomto seznamu se už do provozu nevrátí.</p>
<p>Jejich další provoz nedává smysl, protože buď nejsou sledovaní, poskytují duplicitní informace a nebo prostě nadměrně zatěžují server či Twitter applet na IFTTT a hrozí vyčerpání limitu zpráv.</p>
<figure><img src="https://sean.cz/posts/2024/ukonceni-boti/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p></p>
<h2 id="boti-ukonceni-26-2-2024">Boti ukončení 26.2.2024</h2>
<p>Aninnnk</p>
<p>auv_ajs</p>
<p>baldachyn</p>
<p>bullmonde</p>
<p>cestina20</p>
<p>chovatel</p>
<p>DailyVejr</p>
<p>DavidGrudl</p>
<p>Fbeyeee</p>
<p>HoupaciOsel</p>
<p>jietienming</p>
<p>kramerius_nkcr</p>
<p>Kuliocko1</p>
<p>Lazikkkk</p>
<p>LiamLawson30</p>
<p>m_horacek</p>
<p>MasarykOfficial</p>
<p>masinko</p>
<p>mcputna</p>
<p>Mini - Mini, LeylandMiniClub, MiniMagazine, britishminiclub, justminicooper minisportltd, UKClassicMini</p>
<p>MotejlekSkocdop</p>
<p>MurielBink</p>
<p>nabrnodobry</p>
<p>natoratomi</p>
<p>niklovka</p>
<p>NOVA_SCENA_ND</p>
<p>nyckdevries</p>
<p>Plisen2</p>
<p>prasniatko</p>
<p>rabinkavzacviku</p>
<p>realphilhazard</p>
<p>selner84</p>
<p>skodoliba</p>
<p>stary_mrzout</p>
<p>suchosch</p>
<p>Tichotlapka</p>
<p>titulkovnik</p>
<p>tondablanik</p>
<p>zdislavapokorna</p>
<p>Zly_Negr</p>
<figure><img src="https://sean.cz/posts/2024/ukonceni-boti/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p>Díky za pochopení.</p>
<figure><img src="https://sean.cz/posts/2024/ukonceni-boti/03.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p>P.S.: Obrázky vytvořil DALL E na prompt &quot;Jak si představuješ, že roboti po ukončení své činnosti odcházejí do nebe?&quot;</p>
<figure><img src="https://sean.cz/posts/2024/ukonceni-boti/04.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>]]></description>
  <category>mastodon</category><category>ai artwork</category><category>tumblr</category>
</item>
<item>
  <title>Kultura za 500</title>
  <link>https://sean.cz/posts/2024/kultura-za-500/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2024/kultura-za-500/</guid>
  <pubDate>Fri, 19 Jan 2024 11:25:00 +0000</pubDate>
  <description><![CDATA[<p>Nejsem si zcela jist, zda Kultura za 500 zazněla v televizní soutěži <b>6 ran do klobouku</b> nebo někde jinde, ale faktem je, že kulturně by se žít mělo, a ne jen za 500,- a proto je na Zprávobotu už od počátku kultura přítomna a její zastoupení není úplně malé. A aby se o ní také někdo dozvěděl, zde je ucelenější přehled.</p>
<figure><img src="https://sean.cz/posts/2024/kultura-za-500/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p></p>
<h2 id="kulturni-instituce">Kulturní instituce</h2>
<p>🐘  <a href="https://zpravobot.news/web/@MinKultury#">Ministerstvo kultury</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@CFilharmonie#">Česká filharmonie</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@Cinohra_ND#">Činohra Národního divadla</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@narodnigalerie#">Národní galerie</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@narodniknihovna#">Národní knihovna</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@narodnimuzeum#">Národní muzeum</a></p>
<h2 id="kulturni-centra">Kulturní centra</h2>
<p>🐘  <a href="https://zpravobot.news/web/@gi_tschechien#">Goethe-Institut Prag</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@ICPraga#">Instituto Cervantes Praga</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@IFPrague#">Institut Français Prague</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@PLInst_Praha#">Polský institut</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@rkfpr#">Rakouské kulturní fórum</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@SlovenskydomvPrahe#">Slovenský dom v Prahe</a></p>
<h2 id="casopisy-a-weby">Časopisy a weby</h2>
<p>🐘  <a href="https://zpravobot.news/web/@A2larm#">A2larm</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@ZkrA2tka#">ZkrA2tka</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@CasopisBabylon#">Časopis Babylon</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@Kultura21_cz#">Kultura21.cz</a></p>
<figure><img src="https://sean.cz/posts/2024/kultura-za-500/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p></p>
<h2 id="filmova-a-televizni-tvorba">Filmová a televizní tvorba</h2>
<p>🐘  <a href="https://zpravobot.news/web/@EDNA_cz#">Edna.cz</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@filmozrouti#">Filmožrouti</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@filmservercz#">filmserver.cz</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@filmtorocz#">FilmToro.cz</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@kinobox_cz#">Kinobox.cz</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@totalfilmweb#">TotalFilmWeb</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@MovieZonecz#">MovieZone.cz</a></p>
<figure><img src="https://sean.cz/posts/2024/kultura-za-500/03.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p></p>
<h2 id="historie">Historie</h2>
<p>🐘  <a href="https://zpravobot.news/web/@culturaltutor#">The Cultural Tutor</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@GavinnyOriginal#">GavinnyOriginal</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@historyinmemes#">Historic Vids</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@Rainmaker1973#">Massimo</a> - historické fotografie</p>
<p>🐘  <a href="https://zpravobot.news/web/@stoplusjednicka#">100+1</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@zivahistorie#">Živá historie</a></p>
<figure><img src="https://sean.cz/posts/2024/kultura-za-500/04.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p></p>
<h2 id="hudba">Hudba</h2>
<p>🐘  <a href="https://zpravobot.news/web/@fullmoonmag#">Full Moon Mag</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@headliner_cz#">Headliner</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@musicservercz#">musicserver.cz</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@RockPop_magazin#">Rock &amp; Pop Magazín</a></p>
<figure><img src="https://sean.cz/posts/2024/kultura-za-500/05.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p></p>
<h2 id="literatura">Literatura</h2>
<p>🐘  <a href="https://zpravobot.news/web/@iliteraturacz#">iLiteratura.cz</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@OkoKosmasu#">Oko Kosmasu</a></p>
<h2 id="media">Média</h2>
<p>🐘  <a href="https://zpravobot.news/web/@CTart#">Česká televize - ČT art</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@crojazz#">Český rozhlas - Jazz</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@CRo_RadioWave#">český rozhlas - Radio Wave</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@CRoVltava#">Český rozhlas - Vltava</a></p>
<h2 id="dalsi">Další</h2>
<p>🐘  <a href="https://zpravobot.news/web/@FPolicko#">Filmové políčko</a> - fotografie z míst slavných filmových scén</p>
<p>🐘  <a href="https://zpravobot.news/web/@nastojaka#">Na stojáka!</a> - stand-up</p>
<p>🐘  <a href="https://zpravobot.news/web/@silnereci#">Silné reči</a> - slovenský stand-up</p>
<p>🐘  <a href="https://zpravobot.news/web/@zadnadama#">Žádná dáma</a> - pěstuje jazyk</p>
<h2 id="odstraneni-boti">Odstranění boti</h2>
<p>🐘  <a href="https://zpravobot.news/web/@cestina20#">Čeština 2.0</a> - nová čeština</p>
<p>🐘  <a href="https://zpravobot.news/web/@kramerius_nkcr#">Národní knihovna - Kramerius</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@NOVA_SCENA_ND#">Nová scéna Národního divadla</a></p>
<p>🐘  <a href="https://zpravobot.news/web/@Tichotlapka#">Tichotlapka</a> - stará se o rozšiřování <a href="https://www.forendors.cz/hashtag/slonik-naucny">#slonik_naucny</a></p>
<p>A ještě k doprovodným obrázkům - Prompt zněl: &quot;Jak podle tebe vypadá kultura/film/historie/hudba/literatura?&quot;</p>
<p>Updated: 26.2.2024</p>]]></description>
  <category>mastodon</category><category>ai artwork</category><category>text</category><category>tumblr</category>
</item>
<item>
  <title>Stát jsem já</title>
  <link>https://sean.cz/posts/2023/stat-jsem-ja/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/stat-jsem-ja/</guid>
  <pubDate>Wed, 22 Nov 2023 18:37:00 +0100</pubDate>
  <description><![CDATA[<p>Absolutismus jako forma vládnutí, ztělesněný údajným Ludvíkovým výrokem „Stát jsem já“ (L&#39;état c&#39;est moi), dosáhl ve Francii během druhé poloviny 17. století svého vrcholu. Od té doby jsme se ale přeci jen trochu posunuli a stát je zastupován mnoha a mnoha institucemi a lidmi, a proto jsem pro vás připravil tento &quot;politický speciál&quot; obsahující mnoho &quot;státních&quot; informačních zdrojů.</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2023/stat-jsem-ja/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/stat-jsem-ja/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/stat-jsem-ja/03.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/stat-jsem-ja/04.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure></div>
<h2 id="politicka-reprezentace-cr">Politická reprezentace ČR</h2>
<p>🐘 <a href="https://zpravobot.news/web/@prezidentpavel#">Prezident České republiky</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@strakovka#">Vláda České republiky</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@snemovna#">Poslanecká sněmovna České republiky</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@SenatCZ#">Senát parlamentu České republiky</a></p>
<h2 id="ministerstva-cr">Ministerstva ČR</h2>
<p>🐘 <a href="https://zpravobot.news/web/@vnitro#">Ministerstvo vnitra</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@mpsvcz#">Ministerstvo práce a sociálních věcí</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@mistnirozvoj#">Ministerstvo pro místní rozvoj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@ZdravkoOnline#">Ministerstvo zdravotnictví</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@MinFinCZ#">Ministerstvo financí</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@ObranaTweetuje#">Ministerstvo obrany</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@SpravedlnostCZ#">Ministerstvo spravedlnosti</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@mzvcr#">Ministerstvo zahraničních věcí</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@mpo_tweetuje#">Ministerstvo průmyslu a obchodu</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@min_dopravy#">Ministerstvo dopravy</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@msmtcr#">Ministerstvo sportu, mládeže a tělovýchovy</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@MZeCr#">Ministerstvo zemědělství</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@mzpcr#">Ministerstvo životního prostředí</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@MinKultury#">Ministerstvo kultury</a></p>
<h2 id="kraje-cr">Kraje ČR</h2>
<p>🐘 <a href="https://zpravobot.news/web/@PrahaEU#">Hlavní město Praha</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@usteckykrajzive#">Ústecký kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Libereckykraj#">Liberecký kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Karlovarskykraj#">Karlovarský kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@StredoceskyK#">Středočeský kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hkregion#">Královéhradecký kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@plzensky_kr#">Plzeňský kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@pardubickykraj1#">Pardubický kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@JihoceskyO#">Jihočeský kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@krajvysocina#">Kraj Vysočina</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@KrajMsk#">Moravskoslezský kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@OlomouckyKraj#">Olomoucký kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@zlinskykraj#">Zlínský kraj</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Jihomoravsky_kraj#">Jihomoravský kraj</a></p>
<h2 id="bezpecnost-a-zachranne-sluzby">Bezpečnost a záchranné služby</h2>
<p>🐘 <a href="https://zpravobot.news/web/@ArmadaCR#">Armáda ČR</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@HasiciPraha#">Hasiči Praha</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@PolicieCZ#">Policie ČR</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@zzshmp#">Zdravotní záchranná služba Hlavního města Prahy</a></p>
<h2 id="doprava">Doprava</h2>
<p>🐘 <a href="https://zpravobot.news/web/@PIDoficialni#">Pražská integrovaná doprava</a></p>
<h2 id="finance">Finance</h2>
<p>🐘 <a href="https://zpravobot.news/web/@CNB_cz#">Česká národní banka</a></p>
<h2 id="kultura">Kultura</h2>
<p>🐘 <a href="https://zpravobot.news/web/@CFilharmonie#">Česká filharmonie</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Cinohra_ND#">Národní divadlo - Činohra</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@NOVA_SCENA_ND#">Národní divadlo - Nová scéna</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@narodnigalerie#">Národní galerie</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@narodniknihovna#">Národní knihovna</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@narodnimuzeum#">Národní muzeum</a></p>
<h2 id="ustavy-a-agentury-zrizene-statem">Ústavy a agentury zřízené státem</h2>
<p>🐘 <a href="https://zpravobot.news/web/@CHMUCHMI#">Český hydrometeorologický ústav</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@NUKIB_CZ#">Národní úřad pro kybernetickou a informační bezpečnost</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@SUJBofficial#">Státní úřad pro jadernou bezpečnost</a></p>
<h2 id="dalsi-projekty">Další projekty</h2>
<p>🐘 <a href="https://zpravobot.news/web/@AgroriskC#">Agrorisk</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Intersucho#">Intersucho</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@kramerius_nkcr#">Kramerius - Digitální knihovna</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@vystrahy#">Výstrahy - výstrahy ČHMÚ před nebezpečnými hydrometeorologickými jevy</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@CHMU_hydrologie#">Hydrologie - hydrologické výstrahy ČHMU</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@NaPranyri#">Potraviny Na pranýři</a></p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Chance Liga - to jako že fotbal</title>
  <link>https://sean.cz/posts/2023/chance-liga-to-jako-ze-fotbal/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/chance-liga-to-jako-ze-fotbal/</guid>
  <pubDate>Thu, 19 Oct 2023 16:04:00 +0200</pubDate>
  <description><![CDATA[<p>Jestli něčemu opravdu nerozumím, je to fotbal. Ne že bych neznal pravidla, to ano, ale nikdy mě fotbal nebavil, nikdy mě to nechytlo za srdce, a nechápu, co na tom kdo vidí. Ale protože vím, že to spousta lidí má rádo a zajímá je to, připravil jsem tenhle český fotbalový speciál.</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2023/chance-liga-to-jako-ze-fotbal/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/chance-liga-to-jako-ze-fotbal/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/chance-liga-to-jako-ze-fotbal/03.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/chance-liga-to-jako-ze-fotbal/04.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure></div>
<h2 id="chance-liga">Chance Liga</h2>
<p>🐘 <a href="https://zpravobot.news/@chanceliga">Chance Liga</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@LFAcze#">Ligová fotbalová asociace</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@FacrRozhodci#">Komise rozhodčích FAČR</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@MOL_Cup#">MOL Cup</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@ceskarepre_cz#">Česká fotbalová reprezentace</a></p>
<h2 id="tymy">Týmy</h2>
<p>🐘 <a href="https://zpravobot.news/web/@bohemians1905#">Bohemians Praha 1905</a></p>
<p>🐘 <a href="https://zpravobot.news/@FKDuklaPraha">FK Dukla Praha</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@SK_Dynamo_CB#">SK Dynamo České Budějovice</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@FCHradec#">FC Hradec Králové</a></p>
<p>🐘 <a href="https://zpravobot.news/@FCSlovanLiberec">FC Slovan Liberec</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@FKJablonec#">FK Jablonec</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@MFKKarvina#">MFK Karviná</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@fkmladaboleslav#">FK Mladá Boleslav</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@SKSigmaOlomouc#">SK Sigma Olomouc</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@fcbanikostrava#">FC Baník Ostrava</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@FK_Pardubice#">FK Pardubice</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@fcviktorkaplzen#">FC Viktoria Plzeň</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@slaviaofficial#">SK Slavia Praha</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@1_FCS#">1. FC Slovácko</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@ACSparta_CZ#">AC Sparta Praha</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@FK_Teplice#">FK Teplice</a></p>
<h2 id="zpravodajstvi">Zpravodajství</h2>
<p>🐘 <a href="https://zpravobot.news/web/@sportCT#">ČT Sport</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@DenikSport#">Deník Sport</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@novasport_cz#">Nova Sport</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@iROZHLAS_sport#">iROZHLAS Sport</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@RadiozurnalS#">Radiožurnál Sport</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@sportcz#">Sport.cz</a></p>
<h2 id="reporteri-a-komentatori">Reportéři a komentátoři</h2>
<p>🐘 <a href="https://zpravobot.news/web/@JaromirBosak#">Jaromír Bosák</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@ZdenekFolprecht#">Zdenek Folprecht</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Pod_Y39#">Jakub Podaný</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@davidsobisek#">David Sobišek</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@SportakCZ#">Sporťák</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@VacekJan#">Jan Vacek</a></p>
<h2 id="podcasty">Podcasty</h2>
<p>🐘 <a href="https://zpravobot.news/web/@FootballClub_cz#">FootballClub_cz</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@NosiciVody#">Nosiči vody</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@spartanske#">Sparťanské Noviny</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@za_carou#">Za čárou</a></p>
<h2 id="zajimave-ucty">Zajímavé účty</h2>
<p>🐘 <a href="https://zpravobot.news/web/@fc_koeficient#">FC Koeficient</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@infotbal#">Fotbalové přestupy</a></p>
<p>🐘 <a href="https://zpravobot.news/@milanCoen">Milan Coen</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@LigaMlada#">Mladá liga</a></p>
<h2 id="aktualizovano"><b>Aktualizováno</b></h2>
<p>Aktualizováno 18.10.2024</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Formule 1 - 2025</title>
  <link>https://sean.cz/posts/2023/formule-1-2025/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/formule-1-2025/</guid>
  <pubDate>Mon, 09 Oct 2023 06:17:00 +0200</pubDate>
  <description><![CDATA[<p>Moje první vzpomínka na Formuli 1 je velmi matná. Je mi 10 a táta mě budí v neděli v hluboké noci, abychom se spolu dívali na záznam závodů F1. Villneuve, Prost, Lauda…to byli mí první hrdinové. A od té doby sleduji Formuli 1 nepřetržitě už více než 40 let.</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2023/formule-1-2025/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/formule-1-2025/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/formule-1-2025/03.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/formule-1-2025/04.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure></div>
<p>A pořád mě to baví, pořád se o dění kolem F1 zajímám, a to je také důvod, proč jsem připravil tenhle speciál a věřím a doufám, že to bude zajímavé i pro vás ostatní.</p>
<h2 id="formule-1"><b>Formule 1:</b></h2>
<p><b>F1</b> - @F1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a> - Formule 1</p>
<p>🐘 <a href="https://zpravobot.news/web/@fia#">FIA</a> - Mezinárodní automobilová federace</p>
<p>🐘 <a href="https://zpravobot.news/web/@pirellisport#">Pirelli Sport</a> - dodavatel pneumatik</p>
<p>🐘 <a href="https://zpravobot.news/web/@f1academy#">F1 Academy</a> - ženská formule</p>
<h2 id="tymy"><b>Týmy</b></h2>
<p><b>McLaren F1</b> - @McLarenF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Scuderia Ferrari</b> - @ScuderiaFerrari via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Red Bull Racing</b> - <a href="https://www.forendors.cz/redbullracing">@redbullracing</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Mercedes AMG F1</b> - @MercedesAMGF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Aston Martin F1</b> - @AstonMartinF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Alpine F1 Team</b> - @AlpineF1Team via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Haas F1 Team</b> - @HaasF1Team via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Visa Cash App Racing Bulls Formula One Team</b> - <a href="https://www.forendors.cz/visacashapprb">@visacashapprb</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Williams Racing</b> - @WilliamsRacing via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Stake F1 Team</b> - <a href="https://www.forendors.cz/stakef1team">@stakef1team</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<h2 id="piloti"><b>Piloti:</b></h2>
<p>🐘 <a href="https://zpravobot.news/web/@LandoNorris#">Lando Norris - McLaren F1</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@OscarPiastri#">Oscar Piastri - McLaren F1</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@LewisHamilton#">Lewis Hamilton - Scuderia Ferrari</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Charles_Leclerc#">Charles Leclerc - Scuderia Ferrari</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Max33Verstappen#">Max Verstappen - Red Bull Racing</a></p>
<p>🐘 <a href="https://zpravobot.news/@LiamLawson30">Liam Lawson - Red Bull Racing</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@GeorgeRussell63#">George Russell - Mercedes AMG F1</a></p>
<p>🐘 <a href="https://zpravobot.news/@kimi_antonelli">Andrea Kimi Antonelli - Mercedes AMG F1</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@alo_oficial#">Fernando Alonso - Aston Martin F1</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@lance_stroll#">Lance Stroll - Aston Martin F1</a></p>
<p><b>🐘 </b><a href="https://zpravobot.news/web/@PierreGASLY#">Pierre Gasly - Alpine F1 Team</a></p>
<p><b>🐘 </b><a href="https://zpravobot.news/@jackdoohan33">Jack Doohan - Alpine F1 Team</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@OconEsteban#">Esteban Ocon - Haas F1 Team</a></p>
<p>🐘 <a href="https://zpravobot.news/@OllieBearman">Oliver Bearman - Haas F1 Team</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@yukitsunoda07#">Yuki Tsunoda - Visa Cash App RB F1 Team</a></p>
<p>🐘 <a href="https://zpravobot.news/@Isack_Hadjar">Isaac Hadjar - Visa Cash App RB F1 Team</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@alex_albon#">Alex Albon - Williams Racing</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Carlossainz55#">Carlos Sainz - Williams Racing</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@HulkHulkenberg#">Hulk Hulkenberg - Haas F1 Team</a></p>
<p>🐘 <a href="https://zpravobot.news/@gabortoleto85">Gabriel Bortoleto - Haas F1 Team</a></p>
<h2 id="dalsi-piloti"><b>Další piloti:</b></h2>
<p>🐘 <a href="https://zpravobot.news/web/@ValtteriBottas#">Valtteri Bottas - Mercedes AMG F1</a></p>
<p>🐘 <a href="https://zpravobot.news/@FranColapinto">Franco Colapinto - Alpine F1 Team</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@SChecoPerez#">Checo Perez</a></p>
<h2 id="okruhy">Okruhy</h2>
<p><b>GP Bahrainu - Sakhir</b> - @BAH_Int_Circuit via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Austrálie - Melbourne</b> - <a href="https://www.forendors.cz/ausgrandprix">@ausgrandprix</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Azerbajdžánu - Baku</b> - @BakuCityCircuit via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Monaka - Monaco</b> - @ACM_Media via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Španělska - Barcelona</b> - @Circuitcat_eng via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a> Barcelona</p>
<p><b>GP Kanady - Montreal</b> - @F1GPCanada via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP UK - Silverstone</b> - @SilverstoneUK via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Maďarska - Hungaroring</b> - @HungaroringF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Holandska - Zandvoort</b> - @CMCZtweets via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Itálie - Monza</b> - @Autodromo_Monza via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Singapuru - Marina Bay</b> - @F1NightRace via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Japonska - Suzuka</b> - <a href="https://www.forendors.cz/suzukaevent">@suzuka_event</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP USA - Austin</b> - @COTA via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Mexika - Mexico City</b> - <a href="https://www.forendors.cz/mexicogp">@mexicogp</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Sao Paula - Interlagos</b> - @InterlagosTrack via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>GP Abu Dhabi - Yas Marina</b> - <a href="https://www.forendors.cz/ymcofficial">@ymcofficial</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<h2 id="zpravodajstvi">Zpravodajství</h2>
<p>🐘 <a href="https://zpravobot.news/web/@F1onlinesk#">F1online.sk</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@f1sports#">F1 Sports</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@GPF1cz#">GPF1.cz</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@svetformule#">Svět Formule</a></p>
<p><b>Decalspotters</b> - <a href="https://www.forendors.cz/decalspotters">@decalspotters</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>ESPN F1</b> - @ESPNF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>F1Visualised</b> - <a href="https://www.forendors.cz/f1visualized">@f1visualized</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>formularacers</b> - <a href="https://www.forendors.cz/formularacers">@formularacers_</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Sky Sports F1</b> - @SkySportsF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<h2 id="komentatori"><b>Komentátoři</b></h2>
<p>🐘 <a href="https://zpravobot.news/web/@StevoEisele#">Števo Eisele</a></p>
<p>🐘 <a href="https://zpravobot.news/@PavelFabry">Pavel Fabry</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@JosefKral#">Josef Král</a></p>
<p>🐘 <a href="https://zpravobot.news/@KBulisova">Karolína Bulisová</a></p>
<p>🐘 <a href="https://zpravobot.news/@F1pacient">Formulový pacient</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@TomRichtrF1#">Tomáš Richtr</a></p>
<p><b>Martin Brundle</b> - @MBrundleF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Albert Fabrega</b> - @AlbertFabrega via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Nate Saunders</b> - <a href="https://www.forendors.cz/natesaunders">@natesaunders</a>F1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<p><b>Luke Smith</b> - @LukeSmithF1 via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<h2 id="podcasty"><b>Podcasty</b></h2>
<p>🐘 <a href="https://zpravobot.news/web/@EisKing#">EisKing</a></p>
<p><b>WTF1</b> - <a href="https://www.forendors.cz/wtf1official">@wtf1official</a> via 🌍<a href="https://sportsbots.xyz">SportsBots.xyz</a></p>
<h2 id="humor">Humor</h2>
<p>🐘 <a href="https://zpravobot.news/@f1trollofficial">F1 TROLL</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@ConorSketches#">Conor Sketches</a></p>
<p><b>P.S.</b>: Bohužel není možné odkazovat přímo na <b>SportsBots.xyz</b>, takže pokud vás zaujal některý ze sportbotů a chcete jej odebírat, musíte na stránku <a href="https://sportsbots.xyz/">https://SportsBots.xyz</a>, přihlásit se tam svým mastodoním účtem a vyhledat název účtu zmíněný vpravo od zdroje. Pokud jste na instanci <a href="https://mastodon.social">mastodon.social</a>, můžete využít seznam sledujících účtu <a href="https:/](https://www.forendors.cz/sportbots">[</a>/mastodon.social/web/@sportbots#)@sportbots.</p>
<h2 id="velka-aktualizace-23-3-2025">Velká aktualizace 23.3.2025</h2>
<p>Doplněni noví piloti a komentátoři.</p>
<h2 id="velka-aktualizace-18-10-2024">Velká aktualizace 18.10.2024</h2>
<p>V souvislosti s reinstalací serveru bylo odstraněno několik zprávobotíků jezdců, okruhů, komentátorů i podcastů.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Kdopak to mluví? Kdo to píše?</title>
  <link>https://sean.cz/posts/2023/kdopak-to-mluvi-kdo-to-pise/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/kdopak-to-mluvi-kdo-to-pise/</guid>
  <pubDate>Thu, 05 Oct 2023 14:30:00 +0200</pubDate>
  <description><![CDATA[<p>Ať chceme nebo ne, naše názory do značné míry ovlivňují jiní lidé, a my si toho často ani nejsme vědomi. Jednou skupinou lidí, kteří nás ovlivňují jsou lidé kteří vystupují v TV nebo píší pro naše oblíbené noviny.</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2023/kdopak-to-mluvi-kdo-to-pise/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/kdopak-to-mluvi-kdo-to-pise/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure></div>
<p>Následující seznam obsahuje zprávobotí účty novinářů, moderátorů, odborníků, mluvících hlav, vše hezky abecedně seřazeno. Jediné, co jsem si netroufl, je rozdělit je do podseznamů, protože u některých to doopravdy nejde...d8-D</p>
<p>🐘<a href="https://zpravobot.news/web/@bartkovskym#">Martin Bartkovský</a></p>
<p>🐘<a href="https://zpravobot.news/web/@cermak#">Miloš Čermák</a></p>
<p>🐘<a href="https://zpravobot.news/web/@DrabovaDana#">Dana Drábová</a> - ředitelka Státního úřadu pro jadernou bezpečnost</p>
<p>🐘<a href="https://zpravobot.news/web/@StevoEisele#">Števo Eisele</a> - sportovní komentátor</p>
<p>🐘<a href="https://zpravobot.news/web/@tvtomas#">Tomáš Etzler</a></p>
<p>🐘<a href="https://zpravobot.news/web/@fendrych_m#">Martin Fendrych</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Madla_G#">Madla Gromovová</a> - Madla_G</p>
<p>🐘<a href="https://zpravobot.news/web/@PetrHonzejk#">Petr Honzejk</a></p>
<p>🐘<a href="https://zpravobot.news/web/@dallasstars93#">Jiří Hrdina</a> - hokejový skaut</p>
<p>🐘<a href="https://zpravobot.news/web/@kalousekm#">Miroslav Kalousek</a> - expolitik</p>
<p>🐘<a href="https://zpravobot.news/web/@kanakovaeki#">Ekaterina Kanakova</a></p>
<p>🐘<a href="https://zpravobot.news/web/@JaroslavKmenta#">Jaroslav Kmenta</a></p>
<p>🐘<a href="https://zpravobot.news/web/@jirikostaf1#">Jiří Košta</a> - komentátor F1</p>
<p>🐘<a href="https://zpravobot.news/web/@LukasKovanda#">Lukáš Kovanda</a> - ekonom</p>
<p>🐘<a href="https://zpravobot.news/web/@JosefKral#">Josef Král</a> - automobilový závodník a komentátor F1</p>
<p>🐘<a href="https://zpravobot.news/web/@TatanaMikova#">Taťána Míková</a></p>
<p>🐘<a href="https://zpravobot.news/web/@AlexandrMitrofa#">Alexandr Mitrofanov</a></p>
<p>🐘<a href="https://zpravobot.news/web/@janmolacek#">Jan Moláček</a></p>
<p>🐘<a href="https://zpravobot.news/web/@vaclavmoravec#">Václav Moravec</a></p>
<p>🐘<a href="https://zpravobot.news/web/@niklovka#">Jana Niklová</a></p>
<p>🐘<a href="https://zpravobot.news/web/@andreas_ppdp#">Andreas Papadopulos</a></p>
<p>🐘<a href="https://zpravobot.news/web/@BohumilPecinka#">Bohumil Pečinka</a></p>
<p>🐘<a href="https://zpravobot.news/web/@andrewofpolesia#">Andrej Poleščuk</a></p>
<p>🐘<a href="https://zpravobot.news/web/@zdislavapokorna#">Zdislava Pokorná</a></p>
<p>🐘<a href="https://zpravobot.news/web/@DanPriban#">Dan Přibáň</a> - cestovatel</p>
<p>🐘<a href="https://zpravobot.news/web/@TomRichtrF1#">Tomáš Richtr</a> - komentátor F1</p>
<p>🐘<a href="https://zpravobot.news/web/@MichaelRomancov#">Michael Romancov</a></p>
<p>🐘<a href="https://zpravobot.news/web/@MichaelRozsypal#">Michael Rozsypal</a></p>
<p>🐘<a href="https://zpravobot.news/web/@A_Rychlikova#">Apolena Rychlíková</a></p>
<p>🐘<a href="https://zpravobot.news/web/@MartinReznicek#">Martin Řezníček</a></p>
<p>🐘<a href="https://zpravobot.news/web/@atomsedlacek#">Tomáš Sedláček</a> - ekonom</p>
<p>🐘<a href="https://zpravobot.news/web/@mskalick#">Matěj Skalický</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ondrasoukup#">Ondřej Soukup</a></p>
<p>🐘<a href="https://zpravobot.news/web/@DanielStach#">Daniel Stach</a></p>
<p>🐘<a href="https://zpravobot.news/web/@LudekStanek#">Luděk Staněk</a></p>
<p>🐘<a href="https://zpravobot.news/web/@JakubSzanto#">Jakub Szántó</a></p>
<p>🐘<a href="https://zpravobot.news/web/@jindrichsidlo#">Jindřich Šídlo</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Ian_Willoughby#">Ian Willoughby</a></p>
<p>🐘<a href="https://zpravobot.news/web/@AnetaZachova#">Aneta Zachová</a></p>
<p>🐘<a href="https://zpravobot.news/web/@OndrejZamazal#">Ondřej Zamazal</a></p>
<p>🐘<a href="https://zpravobot.news/web/@robertzaruba#">Robert Záruba</a></p>
<p>🐘<a href="https://zpravobot.news/web/@AZarybnicka#">Alena Zárybnická</a></p>
<p>🐘<a href="https://zpravobot.news/web/@JakubZelezny#">Jakub Železný</a></p>
<p>🐘<a href="https://zpravobot.news/web/@IvoZelinka#">Ivo Zelinka</a></p>
<p>🐘<a href="https://zpravobot.news/web/@JakubZofcak#">Jakub Žofčák</a></p>
<p><b>Bonusové účty:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@Aninnnk#">Aninnnk</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Fbeyeee#">Fbeyeee</a></p>
<p>🐘<a href="https://zpravobot.news/web/@GavinnyOriginal#">GavinnyOriginal</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Lazikkkk#">Lazikkkk</a></p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Což takhle dát si podcast?</title>
  <link>https://sean.cz/posts/2023/coz-takhle-dat-si-podcast/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/coz-takhle-dat-si-podcast/</guid>
  <pubDate>Wed, 04 Oct 2023 14:00:00 +0200</pubDate>
  <description><![CDATA[<p>Abych se přiznal, podcasty mě poměrně dlouho míjely. Nejspíš to bylo tím, že jsem zkoušel ty nesprávné, ale poslední dobou jsem pár opravdu dobrých podcastů našel a tu a tam jim dávám šanci. Tady je můj podcastový list.</p>
<figure><img src="https://sean.cz/posts/2023/coz-takhle-dat-si-podcast/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p><b>Kulturní podcasty:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@Fukocast#">Fukocast</a></p>
<p><b>Politické podcasty:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@BohumilPecinka#">Kecy a politika</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Ptamseja#">Ptám se já</a></p>
<p>🐘<a href="https://zpravobot.news/web/@StudioN#">Studio N</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Vinohradska12#">Vinohradská 12</a></p>
<p>🐘<a href="https://zpravobot.news/web/@VlevoDole#">Vlevo Dole</a></p>
<p>🐘<a href="https://zpravobot.news/web/@zaminutusest#">Za minutu šest</a></p>
<p><b>Rozhovory:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@DVTVcz#">DVTV.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@MichaelRozsypal#">Michaelův MashUp</a></p>
<p>🐘<a href="https://zpravobot.news/web/@SpotlightCz#">Spotlight Cz</a></p>
<p><b>Sportovní podcasty:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@bombyktyci#">Bomby k tyči</a></p>
<p>🐘<a href="https://zpravobot.news/web/@EisKing#">EisKing</a></p>
<p>🐘<a href="https://zpravobot.news/web/@formuloviny#">Formuloviny</a></p>
<p>🐘<a href="https://zpravobot.news/web/@KOLOnaKOLO#">KOLO na KOLO</a></p>
<p>🐘<a href="https://zpravobot.news/web/@NosiciVody#">Nosici Vody</a></p>
<p>🐘<a href="https://zpravobot.news/web/@tiebreaktennis_#">Tenisová stopa</a></p>
<p><b>Zábavně-satirické podcasty:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@StastnePondeli#">Šťastné Pondělí</a></p>
<p>🐘<a href="https://zpravobot.news/web/@StastnyPodcast#">Šťastný Podcast</a></p>
<p><b>Bonus</b></p>
<p>🐘<a href="https://zpravobot.news/web/@ConorSketches#">Conor Sketches</a></p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>PNS - Poštovní novinová služba</title>
  <link>https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/</guid>
  <pubDate>Tue, 03 Oct 2023 16:01:00 +0200</pubDate>
  <description><![CDATA[<p>Dřív stávaly papundeklové stánky prodávající noviny v každé vesnici, a přinášely tak do našich měst a vesnic denní zprávy, nejnovější informace i možnost poznávání vzdálených destinací, a to vše v době, kdy jsme se aktivně mohli dostat tak maximálně k Baltu, a i to jen někdo.</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/02.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/03.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/04.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/05.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/06.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure class="span-2"><img src="https://sean.cz/posts/2023/pns-postovni-novinova-sluzba/07.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure></div>
<p>Dnes je tomu už jinak - vše je na internetu, a tak na vás na následujících řádcích čekají roztříděné deníky, večerníky, nočníky, týdeníky, magazíny i časopisy, prostě vše, co byste v takové papundeklové trafice našli.</p>
<h2 id="bezny-denni-tisk">Běžný denní tisk</h2>
<p>🐘<a href="https://zpravobot.news/web/@Aktualnecz#">Aktuálně.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@CNNPrima#">CNN Prima</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ceskenoviny_cz#">ČTK - České noviny</a></p>
<p>🐘<a href="https://zpravobot.news/web/@denikcz#">Deník</a></p>
<p>🐘<a href="https://zpravobot.news/web/@enkocz#">Deník N</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Minuta_N#">Deník N - Minuta N</a></p>
<p>🐘<a href="https://zpravobot.news/web/@DReferendum#">Deník Referendum</a></p>
<p>🐘<a href="https://zpravobot.news/web/@echo24cz#">Echo24</a></p>
<p>🐘<a href="https://zpravobot.news/web/@FORUM_24#">FORUM24</a></p>
<p>🐘<a href="https://zpravobot.news/web/@hospodarky#">Hospodářské noviny</a></p>
<p>🐘<a href="https://zpravobot.news/web/@HoupaciOsel#">Houpací Osel</a></p>
<p>🐘<a href="https://zpravobot.news/web/@iDNEScz#">iDNES</a></p>
<p>🐘<a href="https://zpravobot.news/web/@lidovky#">Lidové noviny</a></p>
<p>🐘<a href="https://zpravobot.news/web/@neviditelnypes#">Neviditelný pes</a></p>
<p>🐘<a href="https://zpravobot.news/web/@nova_praha#">Nová Večerní Praha</a></p>
<p>🐘<a href="https://zpravobot.news/web/@novinkycz#">Novinky.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@SeznamZpravy#">Seznam Zprávy</a></p>
<p>🐘<a href="https://zpravobot.news/web/@televizninoviny#">TN.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@titulkovnik#">Titulkovník</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Voxpot#">Voxpot</a></p>
<h2 id="analyticke-ekonomicke-investigativni-a-spotrebitelske-casopisy">Analytické, ekonomické, investigativní a spotřebitelské časopisy</h2>
<p>🐘<a href="https://zpravobot.news/web/@A2larm#">A2larm</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ZkrA2tka#">A2larm - ZkrA2tka</a></p>
<p>🐘<a href="https://zpravobot.news/web/@czechcrunch#">CzechCrunch</a></p>
<p>🐘<a href="https://zpravobot.news/web/@CasopisdTest#">Časopis dTest</a></p>
<p>🐘<a href="https://zpravobot.news/web/@e15#">e15.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ekonom_cz#">Ekonom.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@tydenikeuro#">Týdeník EURO</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ForbesCesko#">Forbes</a></p>
<p>🐘<a href="https://zpravobot.news/web/@hlidacipes_org#">HlídacíPes.org</a></p>
<p>🐘<a href="https://zpravobot.news/web/@mediarcz#">Mediář.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@tydenikhrot#">Týdeník Hrot</a></p>
<p>🐘<a href="https://zpravobot.news/web/@investigace_cz#">Investigace.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Reflex_cz#">Reflex</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Reporter_CZ#">Reportér</a></p>
<p>🐘<a href="https://zpravobot.news/web/@RESPEKT_CZ#">RESPEKT</a></p>
<h2 id="magaziny-pro-zeny">Magazíny pro ženy</h2>
<p>🐘<a href="https://zpravobot.news/web/@cosmopolitan_cz#">Cosmopolitan</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ELLE_cz#">ELLE</a></p>
<p>🐘<a href="https://zpravobot.news/web/@HarpersBazaarCZ#">Harper’s Bazaar</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Heroine_cz#">Heroine</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Marianne_cz#">Marianne</a></p>
<p>🐘<a href="https://zpravobot.news/web/@svetzeny#">Svět Ženy</a></p>
<p>🐘<a href="https://zpravobot.news/web/@vitaliacz#">Vitalia</a></p>
<h2 id="kulturni-magaziny">Kulturní magazíny</h2>
<p>🐘<a href="https://zpravobot.news/web/@EDNA_cz#">EDNA.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@filmtorocz#">FilmToro.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@filmservercz#">Filmserver.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@filmozrouti#">Filmožrouti</a></p>
<p>🐘<a href="https://zpravobot.news/web/@fullmoonmag#">Full Moon Magazín</a></p>
<p>🐘<a href="https://zpravobot.news/web/@iliteraturacz#">iLiteratura.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@kinobox_cz#">Kinobox.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Kultura21_cz#">Kultura21.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@MovieZonecz#">MovieZone.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@musicservercz#">Musicserver.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@RockPop_magazin#">Rock&amp;Pop Magazín</a></p>
<p>🐘<a href="https://zpravobot.news/web/@totalfilmweb#">Total Film Web</a></p>
<p>🐘<a href="https://zpravobot.news/web/@OkoKosmasu#">Oko Kosmasu</a></p>
<h2 id="odborne-casopisy">Odborné časopisy</h2>
<p><b>Cestovatelské a přírodovědné časopisy</b></p>
<p>🐘<a href="https://zpravobot.news/web/@stoplusjednicka#">100+1 Zahraniční zajímavost</a></p>
<p>🐘<a href="https://zpravobot.news/web/@CeskoNational#">National Geographic</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Vesmir1871#">Vesmír 1871</a></p>
<p><b>Herní magazíny</b></p>
<p>🐘<a href="https://zpravobot.news/web/@BonusWebCZ#">BonusWeb.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Doupecz#">Doupě.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@GamePress_cz#">GamePress.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@gamescz#">Games.cz</a></p>
<p><b>Časopisy zaměřené na historii</b></p>
<p>🐘<a href="https://zpravobot.news/web/@zivahistorie#">Živá historie</a></p>
<p><b>Motoristické časopisy</b></p>
<p>🐘<a href="https://zpravobot.news/web/@autocz#">Auto.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@autorevuecz#">AutoRevue</a></p>
<p>🐘<a href="https://zpravobot.news/web/@autosalon.tv#">Autosalon.tv</a></p>
<p><b>Technologické časopisy</b></p>
<p>🐘<a href="https://zpravobot.news/web/@AndroidAuth#">Android Authority</a></p>
<p>🐘<a href="https://zpravobot.news/web/@BGR#">BGR</a></p>
<p>🐘<a href="https://zpravobot.news/web/@computer_zive#">Computer - Živě</a></p>
<p>🐘<a href="https://zpravobot.news/web/@dcrainmakerblog#">DC Rainmaker Blog</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Deep_in_IT_cz#">Deep in IT</a></p>
<p>🐘<a href="https://zpravobot.news/web/@DXOMARK#">DXOMARK</a></p>
<p>🐘<a href="https://zpravobot.news/web/@lsaeu#">Letem světem Applem</a></p>
<p>🐘<a href="https://zpravobot.news/web/@MobilManiacz#">MobilMania</a></p>
<p>🐘<a href="https://zpravobot.news/web/@operatorivcr#">Operátoři v ČR</a></p>
<p>🐘<a href="https://zpravobot.news/web/@PhoneArena#">PhoneArena</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Pocketlint#">Pocket-lint</a></p>
<p>🐘<a href="https://zpravobot.news/web/@smartmania#">SmartMania</a></p>
<p>🐘<a href="https://zpravobot.news/web/@wareable#">Wareable</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ZDNET#">ZD NET</a></p>
<h2 id="sportovni-noviny-casopisy-a-magaziny">Sportovní noviny, časopisy a magazíny</h2>
<p>🐘<a href="https://zpravobot.news/web/@DenikSport#">Deník Sport</a></p>
<p>🐘<a href="https://zpravobot.news/web/@hokejcznews#">Hokej.cz News</a></p>
<p>🐘<a href="https://zpravobot.news/web/@iDNEScz_Sport#">iDNES.cz Sport</a></p>
<p>🐘<a href="https://zpravobot.news/web/@iROZHLAS_sport#">iROZHLAS.cz Sport</a></p>
<p>🐘<a href="https://zpravobot.news/web/@LivesportCZ#">Livesport.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@novasport_cz#">NovaSport.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@sportcz#">Sport.cz</a></p>
<p>🐘<a href="https://zpravobot.news/web/@RadiozurnalS#">Radiožurnál Sport</a></p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>IFTTT applet BlueSky→Mastodon(Exclude Mentions)</title>
  <link>https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/</guid>
  <pubDate>Mon, 02 Oct 2023 16:35:00 +0200</pubDate>
  <description><![CDATA[<p>Pro svou potřebu jsem napsal IFTTT applet pro crossposting příspěvků z BlueSky na Mastodon. Bohužel se mi nedaří tento applet uvolnit jako veřejný, tak ho publikuji touto cestou a pokud to půjde, uvolním jej i na IFTTT. Applet využívá filter, je tedy možné, že bude chtít placený IFTTT membership.</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/02.jpg" width="1404" height="718" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/03.jpg" width="1367" height="740" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/04.jpg" width="1128" height="1600" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/05.jpg" width="1378" height="742" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/ifttt-applet-bluesky-mastodon-exclude-mentions/06.jpg" width="1313" height="1155" alt="" loading="lazy" decoding="async"></figure></div>
<p>Pro svou potřebu jsem napsal IFTTT applet pro crossposting příspěvků z BlueSky na Mastodon. Bohužel se mi nedaří tento applet uvolnit jako veřejný, tak ho publikuji touto cestou a pokud to bude možné, uvolním jej i na IFTTT.</p>
<p>Applet využívá služby RSS Feed a Webhook a také filter, je tedy možné, že bude chtít placený IFTTT membership. Bez toho filtru to bohužel nejde, čistí HTML tagy a formátování. Pokud vás toto limituje, omlouvám se.</p>
<p>I<b>F THIS</b></p>
<p>Jako zdroj použijte službu RSS Feed, jako spoušťeč New feed item a jako Feed následující adresu:</p>
<p><a href="https://bluestream.deno.dev/[">https://bluestream.deno.dev/[</a><b>your BlueSky username</b>].bsky.social?repost=include&amp;reply=exclude</p>
<p>To je RSS Feed vašeho BlueSky účtu.</p>
<p><b>THAN THAT</b></p>
<p>Jako cíl použijeme službu Webhooks, kterou stačí nakonfigurovat pro Mastodon. Jako spoušť je Make a web request…</p>
<p>Do URL zadejte custom adresu s vaší instancí</p>
<p>Zvolte Metodu <b>POST</b>, a Content type <b>application/x-www-form-urlencoded</b>.</p>
<p>Additional header musí obsahovat <b>Authorization: Bearer [</b>Your access token<b>]</b>, který získáte v Mastodonu - Nastavení - Vývoj (<a href="https://www.bobmatyas.com/blog/auto-post-mastodon/">návod</a>)</p>
<p>Do BODY stačí zadat jen <b>status=&lt;&lt;&lt;EntryTitle&gt;&gt;&gt;</b>, bude modnuto filtrem.</p>
<p><b>FILTER</b></p>
<p>IFTTT umožňuje vytvářet filtry mírně omezeným JavaScriptem. Pro jeho přidání klikněte na symbol <b>+</b> mezi <b>IF</b> a <b>THAN THAT</b>. My použijeme následující kód a uložíme přes SAVE.</p>
<p>let newContent = Feed.newFeedItem.EntryContent;</p>
<p>let entryURL = Feed.newFeedItem.EntryUrl;</p>
<p>newContent = newContent.toString();</p>
<p>newContent = newContent.replace(/&lt;br&gt;/ig, &#39;\n&#39;).replace(/  /g, &#39; &#39;).replace(/  /g, &#39; &#39;);</p>
<p>newContent = newContent.replace(/(&lt;([^&gt;]+)&gt;)/ig, &#39; &#39;);</p>
<p>const requestBody = `status=${newContent}\n\n${entryURL}`;</p>
<p>MakerWebhooks.makeWebRequest.setBody(requestBody);</p>
<p>Pak už jen stačí uložit applet, pojmenovat si jej a jít to vyzkoušet.</p>
<p>A to je všechno...d8-D</p>
<p>P.S. Poděkování patří Adam807 za to, že jsem mohl použít IF z jeho appletu.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Český rozhlas</title>
  <link>https://sean.cz/posts/2023/cesky-rozhlas/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/cesky-rozhlas/</guid>
  <pubDate>Sat, 30 Sep 2023 15:26:00 +0200</pubDate>
  <description><![CDATA[<p>Podobně jako Česká televize i Český rozhlas je veřejnoprávní organizace poskytující vyvážené zpravodajství a publicistiku. Kromě toho také provozuje kontinuální vysílání mnoha tematicky zaměřených rozhlasových stanic, z nichž mnohé zaslouží vaši pozornost.</p>
<figure><img src="https://sean.cz/posts/2023/cesky-rozhlas/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p>Podobně jako Česká televize i Český rozhlas je veřejnoprávní organizace poskytující vyvážené zpravodajství a publicistiku. Kromě toho také provozuje kontinuální vysílání mnoha tematicky zaměřených rozhlasových stanic, z nichž mnohé zaslouží vaši pozornost.</p>
<p><b>Zpravodajství:</b></p>
<p>🐘 <a href="https://mastodon.rozhlas.cz/@radiozurnal#">ČRo Radiožurnál</a> - oficiální účet</p>
<p>🐘 <a href="https://mastodon.rozhlas.cz/@irozhlas#">iROZHLAS.cz</a>- oficiální účet</p>
<p>🐘 <a href="https://zpravobot.news/web/@radiozurnals#">ČRo Radiožurnál Sport</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@irozhlas_sport#">iROZHLAS.cz Sport</a></p>
<p><b>Datová analytika:</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@dataRozhlas">ČRo Data Rozhlas</a></p>
<p><b>Pořady:</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@overovna#">Ověřovna</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@Vinohradska12#">Vinohradská 12</a></p>
<p><b>Stanice:</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@CRoPlus#">ČRo Plus</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@crojazz#">ČRo Jazz</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@CRoVltava#">ČRo Vltava</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@CRo_RadioWave#">ČRo Radio Wave</a></p>
<p>Rozhlasové zpravodajství je k dispozici na Zprávobot.news.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Česká televize</title>
  <link>https://sean.cz/posts/2023/ceska-televize/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/ceska-televize/</guid>
  <pubDate>Sat, 30 Sep 2023 07:39:00 +0200</pubDate>
  <description><![CDATA[<p>“Česká televize poskytuje službu veřejnosti tvorbou a šířením televizních programů, popřípadě dalšího multimediálního obsahu a doplňkových služeb na celém území České republiky za účelem naplňování demokratických, sociálních a kulturních potřeb společnosti a potřeby zachovat mediální pluralitu (dále jen &quot;veřejná služba v oblasti televizního vysílání&quot;).”</p>
<figure><img src="https://sean.cz/posts/2023/ceska-televize/01.jpg" width="1024" height="1024" alt="" loading="lazy" decoding="async"></figure>
<p>Takto je to definováno v zákonu č.483, §2, odst.1, a Česká televize se toto svým zpravodajstvím snaží naplnit, a proto poskytuje kontinuální zpravodajství a další publicistické pořady.</p>
<p><b>Hlavní zprávy:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@CT24zive#">ČT24 Živě</a></p>
<p>🐘<a href="https://zpravobot.news/web/@UdalostiBrno#">Události Brno</a></p>
<p>🐘<a href="https://zpravobot.news/web/@UdalostiOstrava#">Události Ostrava</a></p>
<p>🐘<a href="https://zpravobot.news/web/@UKomentare#">Události, Komentáře</a></p>
<p><b>Další pořady ČT24:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@90ct24#">Hyde Park</a></p>
<p>🐘<a href="https://zpravobot.news/web/@hpcivilizace#">Hyde Park Civilizace</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Interviewct24#">Interview ČT24</a></p>
<p>🐘<a href="https://zpravobot.news/web/@NewsroomCT24#">Newsroom ČT24</a></p>
<p>P<b>ublicistika:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@168hodin#">168 hodin</a></p>
<p>🐘<a href="https://zpravobot.news/web/@OtazkyVM#">Otázky Václava Moravce</a></p>
<p>🐘<a href="https://zpravobot.news/web/@ReporteriCT#">Reportéři ČT</a></p>
<p>🐘<a href="https://zpravobot.news/web/@Vedact24#">Věda ČT24</a></p>
<p>S<b>port:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@sportCT#">ČT Sport</a></p>
<p>K<b>ultura:</b></p>
<p>🐘<a href="https://zpravobot.news/web/@CTart#">ČT Art</a></p>
<p>Nejdůvěryhodnější zpravodajství je vám k dispozici na Zprávobot.news.</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>Prehistorie Zprávobota v obrazech</title>
  <link>https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/</guid>
  <pubDate>Thu, 28 Sep 2023 10:58:00 +0200</pubDate>
  <description><![CDATA[<p>Tady je několik screenů pořízených během <a href="https://www.forendors.cz/hashtag/velkytestmastodonapps">#VelkýTestMastodonApps</a> zachycujících prehistorii Zprávobota - tehdy ještě Tweetbota</p>
<div class="photo-grid"><figure><img src="https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/01.jpg" width="739" height="1600" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/02.jpg" width="739" height="1600" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/03.jpg" width="739" height="1600" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/04.jpg" width="739" height="1600" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/05.jpg" width="739" height="1600" alt="" loading="lazy" decoding="async"></figure><figure><img src="https://sean.cz/posts/2023/prehistorie-zpravobota-v-obrazech/06.jpg" width="739" height="1600" alt="" loading="lazy" decoding="async"></figure></div>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>
<item>
  <title>SPECIÁL: Extraliga Ledního hokeje</title>
  <link>https://sean.cz/posts/2023/special-extraliga-ledniho-hokeje/</link>
  <guid isPermaLink="true">https://sean.cz/posts/2023/special-extraliga-ledniho-hokeje/</guid>
  <pubDate>Wed, 27 Sep 2023 13:44:00 +0200</pubDate>
  <description><![CDATA[<p>Přišel podzim a na zimních stadionech napříč celým Českem začala nová sezóna Extraligy Ledního hokeje. Pocházím z hokejového města, malého, v severozápadních čechách, a u nás nikdo nikdy nechtěl bejt profesionálním fotbalistou, u nás vždycky všichni chtěli bejt Hlína nebo Bubla, Banán, Kýhos, Kapoun, nebo později Růža, Kozel, Albi, Guma,… takže já hokej miluju.</p>
<figure><img src="https://sean.cz/posts/2023/special-extraliga-ledniho-hokeje/01.jpg" width="1600" height="800" alt="" loading="lazy" decoding="async"></figure>
<p>Přišel podzim a na zimních stadionech napříč celým Českem začala nová sezóna Extraligy Ledního hokeje (vím, jak se jmenuje titulární sponzor, ale to neznamená, že ho tu nutně musím zmiňovat, ne?).</p>
<p>Pocházím z hokejového města, malého, v severozápadních čechách, a u nás nikdo nikdy nechtěl bejt profesionálním fotbalistou, u nás vždycky všichni chtěli bejt Hlína nebo Bubla, Banán, Kýhos, Kapoun, nebo později Růža, Kozel, Albi, Guma,… takže já hokej miluju.</p>
<p>A protože jsem přesvědčený o tom, že nejsem sám, připravil jsem pro všechny tenhle malý speciál:</p>
<p><b>Vedení extraligy</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@telhcz#">telhcz</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@apklh2022#">apklh2022</a></p>
<p><b>Kluby</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@HCKometa#">HCKometa</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@HC_Motor#">HC_Motor</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@MountfieldHK#">MountfieldHK</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hokejkv#">hokejkv</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hcbilitygri#">hcbilitygri</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@RytiriKladno#">RytiriKladno</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hcvlitvinov#">hcvlitvinov</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@bkboleslav#">bkboleslav</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hcolomouc#">hcolomouc</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hcvitkovice#">hcvitkovice</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@HCPCE#">HCPCE</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@HC_Plzen#">HC_Plzen</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@HCSpartaPraha#">HCSpartaPraha</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hcocelaricz#">hcocelaricz</a></p>
<p><b>Národní tým</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@czehockey#">czehockey</a></p>
<p><b>Zprávy</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@webhokejcz#">webhokejcz</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@hokejcznews#">hokejcznews</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@telhstats#">telhstats</a></p>
<p><b>Redaktoři</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@robertzaruba#">robertzaruba</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@ondrejzamazal#">ondrejzamazal</a></p>
<p>🐘 <a href="https://zpravobot.news/web/@niklovka#">niklovka</a></p>
<p><b>Mluvící hlavy</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@dallasstars93#">dallasstars93</a></p>
<p><b>Podcast</b></p>
<p>🐘 <a href="https://zpravobot.news/web/@bombyktyci#">bombyktyci</a></p>
<p>Vše je k dispozici již v tomto okamžiku, takže máte ještě spoustu času si tento hokejový speciál užít.</p>
<p>DO TOHO!</p>
<p>(P.S. Asi se to bude ještě rozšiřovat, protože minimálně u mluvících hlav to určitě není vše, ale je to na dýl, tak to tu sledujte…d8-D)</p>]]></description>
  <category>zpravobot</category><category>forendors</category>
</item>

  </channel>
</rss>
