-
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 netroufal, 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 Microsoft TechEd 2004 v San Diegu, jsem se na akci po konferenci účastnil rozhovoru s Harrym Piersonem a Clemensem Vastersem, a jak je typické, když se my tři sejdeme, předmětem našich diskusí byla architektonická témata. Kolem nás se shromáždil dav lidí stejných zájmů. Přišla řeč na technologie objektově-relačního mapování a tehdy jsem poprvé použil větu: „Objektově-relační mapování je Vietnamem informatiky“. V mezidobí jsem obdržel řadu žádostí o upřesnění diskuse, která se za tímto výrokem skrývá, a vzhledem k nedávnému oznámení Microsoftu ohledně „podpory entit“ v ADO.NET 3.0 a přijetí Java Persistence 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častějších výtek k tomuto dílu -, ale v zájmu toho, aby po světě nekolovalo více jeho kopií, jsem ji zde ponechal. Pokud chcete lekci historie přeskočit, zde je rychlý odkaz na technologické kousky.)
Žádný ozbrojený 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 nejrozhodnější bod obratu v moderních amerických dějinách, že se vzpírá snaze jakéhokoli laika je od sebe oddělit. Přesto je příběh Vietnamu v podstatě prostý: Spojené státy zahájily vojenský projekt s jednoduchými, ale nejasnými a protichůdnými cíli a rychle se zapletly do šlamastyky, která nejenže svrhla dvě vlády (jednu legálně, druhou silou zbraní), ale také hluboce poznamenala americkou vojenskou doktrínu na další čtyři desetiletí (přinejmenším).
Ačkoli se to může zdát banální, Objektově-relační mapování je Vietnamem informatiky. Představuje šlamastyku, která začíná dobře, postupem času se komplikuje a zanedlouho své účastníky uvězní v závazku, který nemá jasné ohraničení, jasné podmínky vítězství ani jasnou strategii úniku.
-
FIRST Lego League Challenge
Miluju lego, jako dítě jsem si s ním neskutečně vyhrál a moje láska k němu přetrvá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ákladový, takže lego robotům jsem se dlouho vyhýbal. Učitel informatiky 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řeboval po letech nový impulz. Domluvili jsme se na tandemové 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ásledující text navnadit, abyste se příští rok zúčastnili 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š Zapletal, celoživotní sběratel her, kterému vděčíme za mnohé, nedávno oslavil 95. narozeniny. Což mi připomnělo, že si má člověk budovat vlastní sbírku. Tam kde on skončil, kniha Retrohraní začíná. Jim nehodlám konkurovat, 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ěstovanou dostatečnou intuici. Fousatá legenda praví, že v IT máme dva obtížné problémy: pojmenování věcí a invalidaci cache. No a jak invalidovat cache pro více nodů? Distribuovaná cache. Tak to nechceš. Pro svůj případ jsem našel jednodušší funkční řešení.
-
Elektronická parkovací brzda Toyota Avensis
Automatická elektronická parkovací brzda se mi ze začátku zdála jako zbytečnost, ale člověk si na ni rychle zvykne, takže když přestane fungovat, 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ámitkách ohledně elektronických přihlášek na střední nebo se vyjadřoval k novému stavebnímu řízení (obecně vítám, proces provedení by šlo kritizovat), tak bych tentokrát pro změnu raději chválil a poodkryl skryté poklady státní správy. Český katastr nemovitostí i obchodní a živnostenský rejstřík v našem českém rozsahu a přístupnosti shledávám, i ve světovém srovnání, jako věc nevídanou. Nahlížení do katastru nemovitostí na adrese https://nahlizenidokn.cuzk.cz jistě znáte a vlastně si nedokážu představit, že by někdo alespoň jednou v životě nepoužil (i když možná jsem příliš uzavřen do své bubliny). Každopádně bych vám chtěl ukázat, jak získat víc informací, než jen jakou má nemovitost 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 neintuitivní, tak to alespoň vydá na článek.
-
Jak jsem debuggoval kotel
Jako programátor mám jisté tendence myšlenkových pochodů i v běžné životě, zkrátka analytický přístup nemůžu potlačit. Poslední sezónu nám nefungovalo podlahové 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 programování se věnujeme i aktivitám bez počítače. Patří mezi ně i kryptografie a Caesarova šifra. Její princip i vysvětlení jsou snadné. Názorně na ní lze ukázat i prolomení š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ředstavit zvídavým žákům, aby to bylo zajímavé jak po technické stránce, tak se silným příběhem? Jednoznačně Enigma. Ale jak jim to předat?
-
Děti programují hry na konzoli
Již mnohokrát jsem se vyznával, že jsem se k počítačům dostal přes hry. Na jejich tvorbu jsem však neměl schopnosti. Ovšem i cesta k nim byla v dobách osmibitů (jako C64) obtížnější. Nicméně nutkání mě nikdy úplně neopustilo. Dlouho jsem měl v hledáčku pygame respektive knihu Making Games with Python & Pygame. Osobně jsem se k tomu nikdy nedostal, ale s vedením kroužku programování jsem o tom opět začal uvažovat. Zatím sobě a hlavně dětem nehodlám písmenkovými programovacími jazyky komplikovat život a zůstanu u blokových jazyků. Naštěstí taková varianta existuje a tu vám chci přiblížit. Jedná se o dialekt Microbitu. Navíc jsou na trhu k dispozici i fyzické herní konzole, kde si vlastní výtvory můžete doslova osahat.
subscribe via RSS