• Úskalí GHA runneru

    Měl jsem takovou tvůrčí krizi. Můžu to alespoň svádět na dobu LLM. Má dneska vůbec smysl něco tvořit? Jenže stroje vám, zatím, odpoví jen na to, co jste se zeptali. Proto čtu online články i časopisy, které mi rozšiřují obzor, protože mi podsou­vají infor­mace, na které bych se býval nezep­tal. Jednak mám puzení něco psát, jednak je blog z velké části deník pro mě samot­ného, jako si psal Kocour Modroočko, co všechno zažil (kdo neznáte zhudeb­něnou verzi s Dejda­rem, pusťte si, je to poklad pro děti i dospělé).

    Pojďme se rozehřát něčím jedno­duchým až banálním.

    Jeden z nejznámějších build nástrojů Jenkins se dříve konfi­gu­roval jen klikáním v GUI. Bylo to nepohod­lné, špatně se to verzo­valo, záloho­valo a možném code review ani nemluvě. Naštěstí tu je s námi už nějakou dobu Jenkinsfile, který leží v repozitáři vedle zdrojového kódu.

    Vedle toho existuje lákavá alter­na­tiva GitHub Actions (dále jen GHA). Předs­tavte si, že byste se nemuseli starat o vlastní build server, jaká pohoda. Do jaké pasti byste se asi tak mohli dostat?

  • Vietnam informatiky

    Mým oblíbeným článkem, hlavně kvůli analogii z historie, je The Vietnam of Computer Science, který před již mnoha lety napsal Ted Neward. S jeho laskavým svolením přináším překlad. Dlouho jsem si na něj netrou­fal, ale nakonec jsem učesal výsledek z DeepL. Překlad uvolňuji pod licencí Creative Commons BY-NC-SA 3.0, nicméně autorská práva stále náleží Tedu Newardovi.

    Nabízím analogii k objektově-relačnímu mapování a problémům, které představuje

    26. června 2006

    (Na Micro­soft TechEd 2004 v San Diegu, jsem se na akci po konfe­renci účastnil rozho­voru s Harrym Piersonem a Clemensem Vaster­sem, a jak je typické, když se my tři sejdeme, předmětem našich diskusí byla archi­tek­to­nická témata. Kolem nás se shromáždil dav lidí stejných zájmů. Přišla řeč na techno­logie objek­tově-re­lač­ního mapování a tehdy jsem poprvé použil větu: „Objek­tově-re­lační mapování je Vietnamem infor­ma­ti­ky“. V mezidobí jsem obdržel řadu žádostí o upřes­nění diskuse, která se za tímto výrokem skrývá, a vzhledem k nedáv­nému oznámení Micro­softu ohledně „podpory entit“ v ADO.NET 3.0 a přijetí Java Persis­tence API jako náhrady za EJB Entity Beans i JDO se zdálo, že je čas přesně to udělat.

    (2022 Poznámka: Tento článek je již patnáct let starý. Několikrát jsem byl v pokušení historickou část zkrátit - to je jedna z nejčas­tějších výtek k tomuto dílu -, ale v zájmu toho, aby po světě nekolo­valo více jeho kopií, jsem ji zde ponechal. Pokud chcete lekci historie přeskočit, zde je rychlý odkaz na techno­lo­gické kousky.)

    Žádný ozbro­jený konflikt v dějinách USA nestrašil americkou armádu více než Válka ve Vietnamu, známá jako Vietnam. Tolik odlišných prvků se spojilo, aby vytvořily nejrozhod­nější bod obratu v moder­ních americ­kých dějinách, že se vzpírá snaze jakého­koli laika je od sebe oddělit. Přesto je příběh Vietnamu v podstatě prostý: Spojené státy zahájily vojenský projekt s jedno­duchými, ale nejas­nými a proti­chůd­nými cíli a rychle se zapletly do šlamas­tyky, která nejenže svrhla dvě vlády (jednu legálně, druhou silou zbraní), ale také hluboce pozna­me­nala americkou vojen­skou doktrínu na další čtyři deseti­letí (přinejmenším).

    Ačkoli se to může zdát banální, Objek­tově-re­lační mapování je Vietnamem informatiky. Předs­ta­vuje šlamas­tyku, která začíná dobře, postupem času se kompli­kuje a zanedlouho své účast­níky uvězní v závazku, který nemá jasné ohranič­ení, jasné podmínky vítěz­ství ani jasnou strategii úniku.

  • FIRST Lego League Challenge

    Miluju lego, jako dítě jsem si s ním nesku­tečně vyhrál a moje láska k němu přetr­vává i do dospělosti. Nicméně pozorní čtenáři blogu vědí, že kroužek programování se snažím držet nízkonák­la­dový, takže lego robotům jsem se dlouho vyhýbal. Učitel infor­ma­tiky na naší škole, Matěj Burda, přišel s nápadem, že ho zaujala soutěž FIRST Lego League Challenge. Říkal jsem si proč ne, kroužek stejně potře­boval po letech nový impulz. Domlu­vili jsme se na tande­mové výuce a šli do toho. Jestli soutěž neznáte nebo váháte, zda se příští rok přihlásit, tak vás může násle­dující text navna­dit, abyste se příští rok zúčast­nili i vy.

  • Opěrné písně pro intervaly

    Mám pocit, že jsem v hudbě uvázl na úrovni věčného začáteč­níka a abych se z toho vymanil, tak jsem se na stará kolena přihlásil do ZUŠky. Je to ten nejlepší krok, co jsem mohl udělat. Dokonce mě to nakoplo, abych konečně pokročil i s hudební teorií.

  • Hledání šéfa

    Hledání šéfá není náborový příspěvek, ale táborová hra, mně rovněž známá pod názvem Hledání pokladu. Bratr Zet, Miloš Zaple­tal, celoži­votní sběratel her, kterému vděčíme za mnohé, nedávno oslavil 95. naroze­niny. Což mi připom­nělo, že si má člověk budovat vlastní sbírku. Tam kde on skončil, kniha Retrohraní začíná. Jim nehodlám konku­ro­vat, ale o své poznámky bych se s vámi rád podělil. Ani nevím, kde se hra vzala, abych mohl někomu připsat zásluhy. Já se s ní seznámil na táboře Pikomat.

  • Finta s cache na více nodech

    Jeden z klamů, kterému stále podléhám, je, že vám program poběží v jediné instanci. Jasně, mnohdy na to myslím, klasicky zajištění, aby úloha v celém clusteru běžela maximálně právě jednou, k tomu perfektně slouží knihovna ShedLock. Nicméně pro některé případy stále ještě nemám vypěs­to­vanou dosta­tečnou intuici. Fousatá legenda praví, že v IT máme dva obtížné problémy: pojme­nování věcí a invali­daci cache. No a jak invali­dovat cache pro více nodů? Distri­buo­vaná cache. Tak to nechceš. Pro svůj případ jsem našel jedno­dušší funkční řešení.

  • Elektronická parkovací brzda Toyota Avensis

    Automa­tická elekt­ro­nická parko­vací brzda se mi ze začátku zdála jako zbyteč­nost, ale člověk si na ni rychle zvykne, takže když přestane fungo­vat, začne vám chybět. A co že se mi rozbilo v mé Toyotě Avensis a jak jsem to opravil? Hledáním jsem strávil jeden večer a vy už teď nemusíte.

  • Skrytý poklad nahlížení do katastru

    Abych nebyl jen negativní a nepsal pouze o námit­kách ohledně elekt­ro­nic­kých přihlášek na střední nebo se vyjadřoval k novému staveb­nímu řízení (obecně vítám, proces prove­dení by šlo kriti­zo­vat), tak bych tentokrát pro změnu raději chválil a poodkryl skryté poklady státní správy. Český katastr nemovi­tostí i obchodní a živnos­tenský rejstřík v našem českém rozsahu a přístup­nosti shledávám, i ve světovém srovnání, jako věc nevída­nou. Nahlížení do katastru nemovi­tostí na adrese https://nahlizenidokn.cuzk.cz jistě znáte a vlastně si nedokážu předs­ta­vit, že by někdo alespoň jednou v životě nepoužil (i když možná jsem příliš uzavřen do své bubli­ny). Každopádně bych vám chtěl ukázat, jak získat víc infor­mací, než jen jakou má nemovi­tost výměru a komu patří. Lze zjistit, od koho ji kdo dostal nebo koupil a dokonce za kolik. Jen je to pro běžného člověka trochu neintui­tivní, tak to alespoň vydá na článek.

  • Jak jsem debuggoval kotel

    Jako programátor mám jisté tendence myšlen­kových pochodů i v běžné životě, zkrátka analy­tický přístup nemůžu potlačit. Poslední sezónu nám nefun­go­valo podla­hové topení. Jak jsem na to přišel, jak hledal příčinu a jak se to vyřešilo?

  • Zjednodušený funkční model Enigma

    Na kroužku progra­mování se věnujeme i aktivitám bez počítače. Patří mezi ně i kryptog­rafie a Caesa­rova šifra. Její princip i vysvět­lení jsou snadné. Názorně na ní lze ukázat i prolo­mení šifer. Zde je hlavní problém konkrétně v tom, že se stejné písmeno šifruje vždy stejně, tudíž je dnes triviální ji prolomit frekvenční analýzou či hrubou silou. Co dalšího tedy předs­tavit zvídavým žákům, aby to bylo zajímavé jak po technické stránce, tak se silným příběhem? Jedno­značně Enigma. Ale jak jim to předat?

subscribe via RSS