Pavel Stříž: Sudoku s překryvy
Abstrakt
Bude mi velkou ctí vám představit mou práci v oblasti rekreační matematiky. Od mého bádání u pozastavení rekurzivní funkce, kde to vše začalo, přes generování a ověřování sudoku s překryvy (kombinované sudoku). Dojde také na řešení sudoku buňku po buňce s komentářem, která hráčská strategie (logická metoda) je použita. Mezi nástroji se objeví programy Sugen (Daniel Beer), Picat (Hakan Kjellerstrand) a Sudoku (Kyle Gough). K automatizaci autor užil Bash, Python, Lua, C a LuaLaTeX. Jádrem povídání bude si představit podmínky kladené na specifická sudoku: olympijské kruhy (PF2024 pro Informační bulletin České statistické společnosti), logo firmy Husqvarna (dárek pro tatíka k narozeninám), měsíční kalendář (vzpomínka na TeXovou legendu doktora Karla Horáka) a 6 sudoku na krychli (jistý experiment, jestli by to vůbec šlo). Autor se snaží najít zobecněnou metodu vypsání podmínek, postupně představí dílčí úvahy a mezikroky s jejich mantinely. Tím se povídání dostane k nejtěžším typům klasického sudoku: 3D sudoku a dvouročnímu kalendáři. Autor představí některé možnosti vizualizace (viz fotky), a nápady, kde a jak bádat nad sudoku dál.
Zde je fotka dárku, který budou moci získat zájemci na konferenci v Žilině. Byl to jistý výrobní experiment. Nejspíš však není nad papír.
O autorovi
Slavko Fedorik: Ansible: Automatizácia správy systémov a softvéru
Abstrakt
Kto spravuje len jeden (svoj) počítač/server, pravdepodobne nikdy neriešil problém automatizácie jeho nastavenia. Dokonca i niekoľko strojov sa dá spravovať manuálne, no tu sa už iste mnohí stretli so situáciou, keď treba tú istú činnosť (príkaz, súbor, ...) urobiť opakovane na každom. A ako to v takých prípadoch býva, na niektorom príkaz spustiť zabudnete, na inom si nevšimnete, že skončil chybou, a výsledkom je, že máte systémy v stave, ktorý nie je jednoduché ani definovať, ani zistiť.
Na riešenie tohoto problému mnohí používajú spoločné úložisko konfigurácie, alebo multiplexery SSH, ktoré spúšťajú rovnaký príkaz na viacerých strojoch, či iné podobné riešenia, ktoré správu viacerých strojov síce významne uľahčujú, ale často neriešia problém, že stroje sa líšia, a to v rôznych aspektoch, či už majú rôzne OS ale i jeho rôzne verzie, a nezabudnime na ich rôzne úlohy (webový server, DB server, desktop, ...), ktoré vyžadujú rôzny softvér a zase i jeho rôzne verzie.
Skutočné riešenie sa nazýva automatizácia konfigurácie/nasadenia. Ja som sa o ňu začal zaujímať po tom, ako som začal používať kontajnery (LXC), ktoré razom zvýraznili rozličnosť ich úloh, ale zároveň vyžadovali značné množstvo spoločných nastavení. Existuje viacero riešení tejto automatizácie, a ja som zvolil Ansible. Neviem, či je lepšie alebo horšie ako ostatné riešenia, zvolil som ho pretože to je slobodný softvér, je dostupný v Debiane ako balík a nevyžaduje agentov. No a aj preto, že používa Python a Jinja2, ktoré sú mi blízke.
Ansible je nástroj (alebo presnejšie sada nástrojov), ktorá poskytuje spôsob nastavenia systému, nasadenia a nastavenia softvéru deklaratívnym spôsobom. Čiže definujete čo má urobiť, na ktorom stroji a za akých podmienok a nemusíte (aspoň teda väčšinou) definovať ako to urobiť. Ako má byť ktorá úloha urobená definuje samotné Ansible, pomocou zabudovaných modulov, ktorých je naozaj nepreberné množstvo, a ak niečo chýba, nie je problém definovať vlastný modul, prípadne nainštalovať ho z externého zdroja (napr. GitHub, Ansible Galaxy, apod.)
Pomocou Ansible možno spravovať stroje kompletne (tzn. všetko okrem inštalácie) alebo i čiastočne (tzn. len niektoré jeho časti/funkcie) a správa viacerých (i rôznych) strojov prestáva byť nočnou morou otravných opakujúcich sa činností a znovu sa stáva zábavou, ktorá robí radosť... A na jeho použitie nepotrebujete vôbec poznať/vedieť programovanie v Python, no určite využijete znalosť šablón Jinja2.
V príspevku sa pokúsim Ansible predstaviť, popísať jeho základné princípy a možnosti, doplnené o niekoľko ukážok a dúfam, že poslúži ako motivácia na jeho použitie. Samozrejme, pridám aj niekoľko ukážok konfigurácie i výsledku. Zároveň v ňom však ponechám veľa oblastí/funkcií nedotknutých, pretože možností je naozaj veľa, no našťastie, pokojne ich každý môže objavovať postupne, tak ako bude postupne rásť počet úloh, ktoré budete do správy pridávať.
O autorovi
Pôvodne vyštudoval vysokofrekvenčnú elektrotechniku a s počítačmi začal pracovať v 80-tych rokoch 20. storočia, najprv ako koníček, no od roku 1997 (dodnes) profesionálne. Viac ako dve desaťročia spravuje Linuxové systémy, desktopy i (verejné a interné) servery. Viac-menej ako koníčku sa venuje programovaniu (v súčasnosti najmä Python) rôznych systémových a sieťových nástrojov a nevyhýba sa ani programovaniu mikrokontrolérov.
Okrem toho dlhoročne prispieva k vývoju slobodného/otvoreného softvéru, najmä v oblasti jeho lokalizácie a autori ho (ne)milujú kvôli schopnosti nachádzať a hlásiť v programoch chyby, ktorých identifikácia vyžaduje dlhodobú a systematickú analýzu. Ako jeden zo zakladajúcich členov stál pri zrode SOIT a hoci zo zdravotných dôvodov musel svoje aktivity výrazne obmedziť, stále propaguje OSS v článkoch (v slovenčine) na svojej webovej stránke (http://www.slavino.sk), šíri osvetu o OSS i prácou s mladou generáciou a zasadzuje sa v oblasti počítačovej bezpečnosti a ochrane súkromia (nie len) v počítačových sieťach.
Ondřej Vencálek: Vizualizace dat o úmrtnosti v Anglii pomocí softwaru R a interpretace srovnání měr úmrtnosti u očkovaných a neočkovaných proti onemocnění COVID-19
Abstrakt
Mohlo by se zdát, že epidemie onemocnění COVID-19, která silně po několik let ovlivňovala naše životy, patří definitivně minulosti. Zatímco se mediální pozornost přesunula k jiným, aktuálnějším problémům, vědecká komunita nadále zkoumá různé aspekty týkající se efektivity jak nefarmakologických opatření typu uzavření škol či sportovišť, tak také léčebných postupů a zejména prevence onemocnění. Hlavní pozornost je přitom zcela pochopitelně věnována efektivitě vakcín, o nichž se hovořilo jako o „jízdence ven z pandemie“. V příspěvku se zamyslíme nad tím, co můžeme říci z veřejně dostupných dat o efektivitě vakcín proti onemocnění COVID-19. Efektivitu přitom můžeme uvažovat proti samotné nákaze, proti těžkému průběhu vyžadujícímu hospitalizaci a proti úmrtí na COVID-19. Zaměříme se přitom právě na efektivitu, s jakou vakcíny brání úmrtí. Prozkoumáme data o úmrtnosti z Anglie, která zveřejnil Britský národní statistický úřad (Office for National Statistics) v srpnu 2023 [1]. Ukážeme několik vizualizací těchto dat, která se objevila na sociálních sítích. Vysvětlíme, v čem je úskalí interpretace těchto grafů. Ukážeme, jak data vizualizovat pomocí softwaru R [2], a to zejména s využitím balíčku ggplot2 [3], který v současnosti představuje zřejmě nejpopulárnější grafický nástroj softwaru R. K práci s daty využijeme balíček dplyr [4]. V diskusi vysvětlíme rozdíl mezi dvěma základními typy studií, pomocí nichž zkoumáme efekty různých faktorů na lidské zdraví. Jde o experimentální a observační studie. Velká část (ne-li většina) našich poznatků týkajících se efektivity vakcín proti onemocnění COVID-19 je vyvozena ze srovnání nemocnosti či úmrtnosti očkované a neočkované populace. Například výše zmíněná data o úmrtnosti v Anglii jsou observační povahy. To s sebou ovšem nese riziko různých zkreslení. V současnosti se živě diskutuje o možném zkreslení známém jako Healthy Vaccinee Bias (zkreslení zdravého vakcinovaného), viz např. [5]. Objevuje se tento efekt i v datech o úmrtnosti v Anglii?
[1] Deaths by vaccination status, England. Office for National Statistics [online]. [cit. 2024-06-07]. Dostupné z https://www.ons.gov.uk/peoplepopulationandcommunity/birthsdeathsandmarriages/deaths/datasets/deathsbyvaccinationstatusengland
[2] R Core Team (2023). R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria.
[3] Wickham, H. ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York, 2016. [cit. 2024-06-07]. Dostupné z https://ggplot2-book.org/
[4] Wickham, H., François, R., Henry, L., Müller, K., Vaughan, D. (2023). dplyr: A Grammar of Data Manipulation. R package version 1.1.3, .
[5] Fürst, T., Bazalová, A., Fryčák, T., Janošek, J. Does the healthy vaccinee bias rule them all? Association of COVID-19 vaccination status and all-cause mortality from an analysis of data from 2.2 million individual health records. Int J Infect Dis. 2024 May; 142:106976. doi: 10.1016/j.ijid.2024.02.019. Epub 2024 Feb 22. PMID: 38401782.
O autorovi