Přeskočit na hlavní obsah
Posts

Když AI agent neposlechne příkaz

Nechal jsem AI agenta, ať se přihlásí přes SSH na server a upraví konfiguraci. Řekl jsem mu, ať se před každým zásahem zeptá.

Neptal se. Prostě to udělal.

Instrukce v promptu nejsou zámek, jsou doporučení, které agent při troše snahy obejde. Když má SSH klíč a přístup, dřív nebo později se stane, že něco spustí bez potvrzení - a na produkci s živými daty je tohle přesně ten scénář, který nechcete zažít.

Řešení, které používám, je jednoduché a nezávisí na tom, jestli se agent zeptá nebo ne: zašifrovaný SSH klíč a alias, který spouští Clauda s prázdným SSH_AUTH_SOCK. Agent tak nemá k dispozici žádný agent SSH, přes který by se mohl kamkoliv připojit - i kdyby chtěl, fyzicky se nemá čím autentizovat.

V domácí síti se přes Clauda podílím na správě serveru přímo, většinou bez problémů. Sem tam se něco rozbije nebo smaže - ale mám dostatek záloh, takže je to otázka minut, ne katastrofa. Ve firmě, na produkci a na živých zákaznických datech je tohle úplně jiná váha rozhodnutí, a tam bych stejnou volnost agentovi nikdy nedal.

Podobná opatření, jak bezpečně pouštět AI agenty k infrastruktuře, rozepisuju v newsletteru “Sám sobě ajťákem” - chodí zhruba jednou měsíčně, žádné výplňové e-maily. martinkonicek.eu/newsletter/


Posts

Kubernetes na vrabce

Klient chtěl Kubernetes. Ptal jsem se proč.

“Protože to používají všude.” Jenže “všude” v jeho případě znamenalo jednu aplikaci, dva vývojáře a pár desítek uživatelů denně.

Kubernetes na tohle je kanón na vrabce. Naučit se ho, provozovat ho a udržet ho v bezpečném stavu stojí čas a peníze, které se u projektu tohohle rozsahu nikdy nevrátí. Docker container spolu s jednoduchým docker-compose zvládne to samé s desetinovou režií - a hlavně tomu rozumí i jeden člověk, ne celý tým.

Občas si klienti myslí, že řešením je odlehčená verze - k3s nebo microk8s. Jenže to je pořád Kubernetes. Jak přibývají služby a lidé, kteří k tomu potřebují přístup, komplexita se nabaluje stejně jako u plné verze - jen o to nenápadněji, protože to na začátku vypadalo jednoduše.

Kubernetes dává smysl tam, kde ho firemní prostředí opravdu potřebuje - víc týmů, víc prostředí, jasně oddělená oprávnění, kdo smí co nasadit a kam. Docker sám o sobě se tohle řídí špatně - RBAC v něm prakticky neexistuje, a v momentě, kdy potřebujete auditovat, kdo měl přístup k čemu, narazíte na strop.

Takže než sáhnete po Kubernetes, protože “to používají všude”, zeptejte se, kolik lidí a služeb u vás skutečně potřebuje tu vrstvu řízení oprávnění navíc. Často je odpověď: nikdo, a Docker vám bude stačit roky.

Podobné rozhodování - kdy sáhnout po jednodušším nástroji a kdy ne - rozepisuju v newsletteru “Sám sobě ajťákem”. Chodí zhruba jednou měsíčně, žádné výplňové e-maily. martinkonicek.eu/newsletter/


Posts

Proč .home není správná doména

Dneska mi čtenáři newsletteru napsali, že dělám chybu, kterou dělá skoro každý, kdo si doma nastavuje vlastní domény - včetně mě donedávna.

Používal jsem .home pro věci jako zabbix.home nebo pgadmin.home. Zní to logicky, každý to tak dělá. Jenže .home není nikde oficiálně vyhrazená pro soukromé sítě. Zkuste si napsat cokoliv na .home do adresního řádku Firefoxu - on to nevezme jako adresu, ale jako hledaný výraz a pošle vás rovnou do Google. Prohlížeč prostě nevěří, že jde o skutečnou doménu, protože oficiálně žádná taková není.

Doména, která tohle řeší, existuje - jmenuje se .home.arpa a je definovaná přímo IETF v RFC 6761 jako vyhrazená pro domácí sítě. Tu už si prohlížeč nesnaží opravovat na vyhledávání - bere ji jako adresu, protože jí oficiálně je.

Pro firemní prostředí bohužel obdoba .office neexistuje, ale funguje .alt - taky vyhrazená a bezpečná varianta pro interní použití.

Tahle oprava mě nemrzí. Nejsem neomylný a rád, když mě na něco takového někdo upozorní - přesně proto o tom, co dělám, píšu veřejně.

Podobné opravy vlastních chyb i praktické kroky ke správě domácí sítě sdílím v newsletteru “Sám sobě ajťákem” - chodí zhruba jednou měsíčně, žádné výplňové e-maily, jen věci, které si sami ověříte a nastavíte. martinkonicek.eu/newsletter/


Posts

Claude, autorská práva a otevřené modely

Četl jsem si v Kindlu Cashvertising. Zvýraznil jsem si pár pasáží, hodil je do Claude a poprosil, ať mi je zformátuje do přehledných poznámek.

Odmítl. Text je prý autorsky chráněný.

Model, který se natrénoval na půlce internetu - často bez souhlasu autorů - mi teď kázal o autorských právech nad mými vlastními zvýrazněnými větami z knihy, kterou jsem si legálně koupil.

Hodil jsem to samé do Groq Compound. Bez řečí to zpracoval za pár vteřin.

Není to náhoda. WSJ tenhle týden psal o tom, jak firmy hromadně opouštějí drahé uzavřené modely (Claude, GPT) ve prospěch levnějších open-weight alternativ. Loajalita k jednomu poskytovateli AI je nulová - a je to tak správně. Proč platit za model, který vám nejen kecá do práce, ale ještě si účtuje stovky korun za hodinu provozu, když existuje varianta, kde máte plnou kontrolu nad výstupem i cenou.

V newsletteru “Sám sobě ajťákem” jsem tenhle příběh rozepsal do širšího kontextu - co přesně je open-weight model, proč se u menších projektů dá dostat z tisíců korun měsíčně na stokoruny, a proč tenhle trend hraje ve prospěch firem, ne poskytovatelů. martinkonicek.eu/newsletter/


Posts

Motivační dopisy psané s AI

Když jsem hledal práci, psal jsem motivační dopisy přes AI. Ne tak, že bych napsal “napiš mi motivační dopis” a odeslal, co vypadlo.

Měl jsem v Claude projektovou složku s podklady o sobě - co jsem dělal, na čem jsem pracoval, jak o sobě mluvím. Ke každé pozici jsem pak přidal jako další podklad konkrétní inzerát. AI z toho generovala dopisy, které zněly jako já a mířily přesně na to, co firma hledala. Úspěšnost nebyla malá.

Co mě překvapilo, když jsem se o tom bavil s lidmi kolem - jsem v menšině. Většina buď napíše dvě tři věty sama, nebo to nechá kompletně vygenerovat z prázdného promptu, bez jediného podkladu.

AI je jako vrtačka. Skvělý nástroj, který vám může výrazně usnadnit práci. Problém není nástroj, ale to, že si ho většina lidí neumí nebo nechce pořádně nastavit. Kvalita výstupu se přitom láme přesně na tomhle - kolik kontextu jí dáte, ne na tom, jaký model zrovna používáte.

S AI rozhodně neumí každý, i když si to skoro každý myslí.

Přesně tomuhle se věnuju v newsletteru “Sám sobě ajťákem” - jak si AI nastavit, aby dělala práci za vás, ne jen odpovídala na to, co jí hodíte. martinkonicek.eu/newsletter/


Posts

Jak se dostat do BIOSu z Windows

Mačkat DEL nebo F10 hned po zapnutí notebooku, abyste trefili ten půlvteřinový moment, kdy vás pustí do BIOSu - to je přesně ten pocit jako důchodce v casinu v Las Vegas, co zoufale mačká tlačítko na automatu ve chvíli, kdy se točí válce, protože jednou to prý vyšlo.

Dobrá zpráva: dneska to takhle dělat nemusíte.

Windows má cestu, která funguje pokaždé, bez ohledu na to, jak rychle se váš notebook nabootuje. Jde se přes Nastavení > Systém > Obnovení > Rozšířené spuštění > Restartovat nyní. Počítač se restartuje do modré obrazovky, tam kliknete na Poradce při potížích > Rozšířené možnosti > Nastavení firmwaru UEFI > Restartovat - a nabootujete přímo tam, kam jste mířili.

Ještě rychlejší zkratka: podržte Shift a kliknete na Restartovat ve Start menu. Vede to na stejnou obrazovku, jen o dva kliky dřív.

Žádné odhadování timingu, žádné druhé kolo restartů, protože jste to netrefili poprvé.

Podobné praktické zkratky sdílím v newsletteru “Sám sobě ajťákem” - chodí zhruba jednou měsíčně, jen věci, co vám reálně ušetří čas u vlastního počítače nebo serveru, žádné výplňové e-maily. martinkonicek.eu/newsletter/


Posts

Proč se vypnutý notebook vybíjí

Váš “vypnutý” notebook není vypnutý. Jen o tom mlčí.

Zavřete víko, klepnete na Vypnout, hodíte notebook do batohu, a druhý den má o 15 % míň baterie, i když jste s ním celý den nehnuli. Není to vadná baterie ani rozbitý hardware.

Windows totiž ve výchozím nastavení nevypíná počítač doopravdy. “Vypnout” spustí Fast Startup - hybridní vypnutí, které je ve skutečnosti forma hibernace. Jádro systému se uloží do souboru na disku a část stavu zůstává zmrazená, ne mrtvá.

K tomu se na většině dnešních notebooků přidává Modern Standby - nástupce starého spánkového režimu S3, který drží Wi-Fi a část systému nízkoenergeticky naživu i ve “spánku”, aby vám mohl doručit notifikaci nebo e-mail a probudit se za zlomek vteřiny. Zavřené víko tedy neznamená spící počítač, znamená počítač, který dál poslouchá síť.

Fast Startup a Modern Standby dohromady - a máte notebook, který vypadá vypnutý, ale reálně žere baterii v tašce.

Řešení je jednoduché. Buď vypnete Fast Startup v nastavení napájení, nebo použijete Shift + kliknutí na Vypnout - to hybridní vypnutí obchází a systém se skutečně celý vypne.

Podobné praktické opravy sdílím v newsletteru “Sám sobě ajťákem” - chodí zhruba jednou měsíčně, žádné výplňové e-maily, jen věci, co vám ušetří čas s vlastním počítačem. martinkonicek.eu/newsletter/


Posts

Zakažte root přihlášení na serveru

Kdo se u vás na serveru přihlásil jako root včera ve 3 ráno?

Pokud je odpověď “nevím, prostě root”, máte problém. Root účet totiž neumí říct, který konkrétní člověk co udělal - v logu vidíte jen “root”, ne jméno.

Řešení, které nastavuji klientům jako standard:

✅ Zakázat su přes pam_wheel - obyčejný uživatel se na roota nepřepne, ani kdyby heslo znal ✅ Root pouze z hardwarové konzole - fyzicky u serveru, nikde jinde ✅ Všichni ostatní přistupují přes sudo - pod svým jménem, se svým klíčem ✅ Zakázat PermitRootLogin přes SSH ✅ Zakázat Password Authentication přes SSH - přihlášení jen klíčem

Efekt je jednoduchý. Každý příkaz na serveru jde dohledat ke konkrétnímu člověku, ne k anonymnímu rootovi. A slabé heslo přestává být riziko, protože se přes heslo vůbec nedá přihlásit - jen přes klíč, a pak přes sudo.

Tohle nastavuji na serverech, které spravuji pro klienty.

Přesně tyhle kroky, krok za krokem, najdete i v newsletteru “Sám sobě ajťákem” - chodí zhruba jednou měsíčně, žádné výplňové e-maily, jen věci jako tahle, které si na svém serveru zvládnete nastavit sami, bez drahého dodavatele. martinkonicek.eu/newsletter/


Posts

Krátkodobé nepohodlí je lepší než velký problém v budoucnu

Někde vzadu to víte. Je tam problém, do kterého se vám rok nechce šťouchnout — a pokaždé si najdete důvod, proč zrovna teď ne. Funguje to. Nějak to dopadne. Vyřešíme to příští kvartál.

A IT? To umí být peklo. Stojí to hromadu peněz a výsledky nikde. Za vaše tvrdě vydřené peníze se řeší problémy na úrovni teorie, a to, co vás opravdu trápí, to nikoho nezajímá. Čím to?

Tím, že se obchází skutečná příčina. Může to být cokoliv — od security oddělení, kterému trvá měsíc schválit jedno pravidlo na firewallu, až po nezkušeného ajťáka, co když přestane stíhat, začne hledat kolegu, který má rozumět nějakému totálnímu detailu, a tráví měsíce sháněním člověka, co umí věc, kterou by se za týden naučil.

Jenže skutečná příčina skoro nikdy není chybová hláška v aplikaci. Je to to, že lidé v organizaci odmítají změnu. Že se projekty nedotahují do konce. Že některá oddělení sledují jen krátkodobý zisk. A vyřešit technický problém nestačí — je potřeba posunout celou organizaci a všechny kolem. Nestačí, že jeden ve firmě je rocková hvězda. K posunu ostatních je potřeba i umět komunikovat, a to často schází.

A buďme upřímní — kolikrát jsme to my sami, kdo hledá rychlé řešení a vyhýbá se tomu těžkému. Nejsme vyrovnaní, spadneme do špatných návyků — jídlo, málo pohybu, alkohol — a pak vyčerpaní honíme rychlé zisky toho, co jsme odložili. Jak máme dělat dobrá rozhodnutí, když běžíme v krysím závodě, a všichni kolem nás taky?

Tohle vás brzdí. A vy to víte. Občas v neděli večer se to ozve. Víte, že se to kumuluje, že neřešený problém narůstá. Ale šťouchnout do toho je rizikové, krátkodobě to přinese pokles a kvartálně na tom budete hůř. A bonus za kvartál chce vidět celá firma — a vy nechcete být ten, kdo ho položí.

Někdy je ale potřeba chvilkově klesnout, aby mohl přijít růst. Je na vás nebýt pohodlný a vytvořit prostředí, kde můžou růst i ostatní, co pohodlní nejsou. Je to investice do budoucna, možná lepší než do nemovitosti.

Řešení? Udělat si domácí úkol a vytáhnout ty věci na povrch. Často jsem to ve firmě já, kdo vytáhne dávno zapomenutý problém, který vše brzdí.

V jedné společnosti, kde jsem pracoval, všichni roky chodili kolem vadných disků v serverech. Byly záložní v RAIDu, takže vše „fungovalo“ — ale katastrofa se blížila. Ze šesti lidí jsem byl jediný, kdo s tím přišel za vedením a začal to aktivně řešit. Když jsem se ostatních ptal, jestli si toho nevšimli, slyšel jsem: „Všiml jsem si, ale nepřišlo mi to důležité.“ Firma mohla přijít o data. A z lidí, kteří za to byli placení, to vlastně nikoho nezajímalo — a vedení o tom nevědělo.

To je celé. Skutečný problém většinou nekřičí. Tiše čeká.

Bylo někdy něco u vás, kde jste o krok víc udělali vy — a ostatní to přehlíželi?


Posts

Vibe coding SaaS v praxi — otestoval jsem myinvoice.cz

Vibe coding SaaS v praxi — otestoval jsem www.myinvoice.cz , a tady je výsledek bez příkras. Instalace bez problémů rozhodně nebyla, chyb jsem našel víc než dost, a přesto mi to dává smysl. Proč? To se dočtete za chvilku.

Radek Hulán je softwarový vývojář a majitel agentury mywebdesign.cz z Plzně, který se nebojí AI v praxi — nedávno veřejně přiznal, že zákazníkovi nabídl projekt se slevou přímo proto, že celý vývoj vede přes AI, a podle jeho slov dodal lepší kvalitu za kratší čas. Jeden z jeho vedlejších projektů je myinvoice.cz — open-source fakturační systém pro freelancery, OSVČ a malé firmy, self-hosted, žádné měsíční poplatky. Vaše data zůstávají u vás, žádné limity, žádné per-fakturové poplatky — zkrátka alternativa k placeným SaaS službám, jako je třeba Fakturoid, kterou si provozujete sami na vlastním serveru. Podporuje ARES a VIES lookup, SPAYD QR kódy pro CZK i SEPA EPC pro EUR, ISDOC a Pohoda XML exporty, a celé to běží v Dockeru — technicky tedy poměrně slušně vybavený projekt. My

Tak jsem si to nainstaloval a vyzkoušel. Instalace bez problémů rozhodně nebyla — chyby jsem našel, nahlásil, a Radek je poměrně rychle opravil, to mu dám. Ale říct, že je to “Docker za 3 minuty” jak slibuje web, to bych si nedovolil, minimální technické znalosti jsou nutností. Kdo čekal plug-and-play, byl by zklamaný. Ale zpátky k otázce, která mě zajímá víc: nahradí vibe coding odladěný SaaS jako Fakturoid? Krátká odpověď — ne. Delší odpověď je zajímavější. Fakturoid jsou roky odlaďování, provoz, podpora a desítky tisíc zákazníků co mu věří svá data. To není jen o kódu, to je o důvěře a spolehlivosti — a to se vibe codingem nevygeneruje.

Na druhou stranu — já osobně mám za rok pár faktur a žádné zvláštní požadavky. Pro mě www.myinvoice.cz dává naprostý smysl. Nepotřebuji spolehlivost na úrovni korporátu, a pokud jste podobný případ, vibe codovaný projekt vám klidně stačí.

Co mě ale fakt zaujalo je ten širší kontext. Udělat dnes fakturační aplikaci bude výrazně levnější a rychlejší než před třemi lety, a to je pro etablované hráče signál. Ne, že by je to přes noc zlikvidovalo — velká část hodnoty takového produktu je v tom, že ho někdo provozuje, ladí a dává k tomu support, náklady na vývoj nejsou vše. Ale cenový tlak přijde, konkurence přibude, a produkty co se nerozvíjejí, začnou zaostávat.

Vibe coding je rychlá móda z Asie softwarového světa — nenahradí odladěný produkt s podporou, ale pro velkou část trhu bude “good enough”, a to změní pravidla hry více, než si mnozí v oboru připouštějí.

A co vy, zkoušeli jste nějaký vibe codovaný projekt v praxi? Podělte se v komentářích.

Nezapomeňte se přihlásit do newsletteru dole na martinkonicek.eu