Záznamy přednášek - Smršť 2023

↩ zpět na seznam všech přednášek

Akce: Krutá Smršť Přednášek 2023

Aplikace informatiky

Hledáme jízdní řády a v jízdních řádech ("Do Třebové jste se dostali, tak teď ještě zpátky, tentokrát optimálně!") [TRAINS]

S jízdními řády veřejné dopravy se dá dělat mnohé, hlavně je ale používají k orientaci cestující. V této přednášce se zaměřím na to, kde potřebný dataset získat, jak ho předzpracovat a pak na rychlé algoritmy používané pro vyhledávání optimálních spojů (včetně zamyšlení nad definicí této optimality).

Otevřít přednášku (webový přehrávač)

Fyzikální přednášky

Brýle: víc než jste chtěli vědět [BRYLE]

Jak fungují refrakční vady oka (tj. takové ty klasické problémy, které má spousta mladých lidí „od počítačů“), jak se měří a jak se řeší. Přednáška je z části teoretická a vysvětlující a z části slouží jako návod co dělat, když takovou vadu máte, a popisuje tipy z praxe co jsem musel zjistit tou těžkou cestou (jak v českém kontextu fungují různí lékaři, vyšetření, proces získání brýlí atd.). Na závěr se dotkneme dvou témat, která budí překvapivě silné emoce, a to jestli byste měli mít speciální brýle na počítač, a jestli je dobrý nápad objednávat brýle po internetu.

Otevřít přednášku (webový přehrávač)

Raketová věda neni hudební teorie ("Houston, we have a problem") [ROCKET]

Jak studenstký tým z ČVUTu posouvá hranice civilní raketové vědy. Raketa Illustria měřící přes 3,5 metru představuje výsledek dvouletého vývoje laboratoře CTU Space Research. Jedná se o doposud největší raketu svého druhu vyrobenou v Česku. Rozebereme si její vývoj a testování. Jak probíhala soutěž v Portugalsku a kdy máme první start? Je složité raketu ovládat? Dozvíte se i jakou roli hrají LEGO kostky a rajský plyn.

Otevřít přednášku (webový přehrávač)

Sluneční výpočty [SUN]

Pojďme si spočítat, kdy zítra vyjde slunce! Očekávejte spoustu úhlů a nedostatek prostorové představivosti. Přednáška bude ráno pokračovat praktickou částí, kdy vyjdeme na kopec a ověříme správnost výsledku.

Otevřít přednášku (webový přehrávač)

Grafika a typografie

Typografie ("What You See Is all What You've Got!?") [TYPO]

Jak na počítači text nejen napsat, ale také vysázet tak, aby pěkně vypadal a aby (což je důležitější) se i příjemně četl. Jak se sází pohádka, jak báseň a jak knížka o algoritmech plná komplikovaných vzorců. Jak jde dohromady staleté umění typografické a moderní technika. Přineste knihy i letáky, zkritizujeme sazeče, co se do nich vejde.

Otevřít přednášku (webový přehrávač)

Hudba a tanec

Swing 101 [SWING]

Na přednášce nebudeme ani stavět houpačku, ani psát GUI v Javě, nýbrž tančit! Zanoříme se do světa částečně improvizovaných párových tanců, které vznikaly na počátku minulého století během boomu Big Bandu. Věnovat se budeme 6-countové verzi Lindy Hopu, jejím základním figurám a jak o nich během tance komunikovat bez použití slov. Nakonec si můžeme předvést sestavu Shim Sham, která je pokládána za jakousi hymnu stepu.

Otevřít přednášku (webový přehrávač)

Jiné aneb co vám chci ukázat

Obskurní způsoby komunikace ("Komunikace (potlesk)") [UGABUGA]

Co ovšem dělat, když selže páteřní síť? Jak navrhnout zprávu lidem a civilizacím, které nikdy nepotkáme? A jak poslat instrukce agentovi na druhé straně Lamanšského průlivu? O tom všem si něco málo povíme.

Otevřít přednášku (webový přehrávač)

Povaha lidstva ("Je větší šance, že vás někdo okrade, nebo pomůže přes přechod?") [HUMANKIND]

Je člověk od přírody sobecké bezohledné zvíře, které myslí jen samo na sebe a jediné, co ho drží od bratrovraždy je společnost a její pravidla dodržována výhružkou trestu? Nebo vlastně každý miluje každého a těch pár projevů nenávisti je jen výsledek nekvalitního spánku pár rozmrzelých nešťastníků? Ponořte se s námi do spletitého světa lidské psychiky a s trochou štěstí se vynoříte o něco moudřejší.

Otevřít přednášku (webový přehrávač)

Technicky zajímavá železniční neštěstí [RAILBUM]

Technicky zajímavá železniční neštěstí: Ani železnici se občas nevyhnou nehody. Na přednášce projdeme pár těch, jejichž příčina je technicky zajímavá a případně jak jsme se z takových nehod pokusili poučit. Věděli jste, že vlak může uletět?

Otevřít přednášku (webový přehrávač)

Čaj ("Jak vypadá odvar z nezralých pražců?") [TEA]

Pojďme usednout k šálku lahodného čaje a povídat si o tom, co se v něm skrývá. Kde se čaj vzal, kde se pěstuje, jak se zpracovává a jak ho připravovat. Trocha čajového zeměpisu, dějepisu i čajové chemie a čajové kultury. Též o všelijakých substancích čaji podobných.

Otevřít přednášku (webový přehrávač)

Operační systémy

NixOS ("Reprodukovatelně kompilovat už umíme. Tak co začít konfigurovat?") [NIXOS]

Na minulé smršti jsem sliboval ukázat svéráznou Linuxovou distribuci NixOS, leč nakonec přednáška pokryla jen funkcionální jazyk Nix a jak pomocí něj popsat návod na sestavení balíčku. V této přednášce bych rád rest zahladil a ukázal, jak spravovat celou konfiguraci svého systému v Nixu. Znáte ten závan čerstvého vzduchu, když přejdete na nový osobní notebook a teď postupně instalujete a konfigurujete a přemýšlíte, co případně tentokrát udělat jinak? Já ne, naklonuju si svůj repozitář s konfigurací, zavolám nixos-install a za 15 minut mám stroj k nerozeznání od původního.

Otevřít přednášku (webový přehrávač)

SystemD [SYSTEMD]

Internetovými diskutujícími nenáviděný soubor init systému a přidružených démonků je nejrozšířenějším svého druhu. Je vůbec možné, aby většina běžných distribucí používala něco tak pekelného? Na přednášce se vás pokusím přesvědčit, že SystemD je vlastně docela milý a zejména velmi mocný kamarád, který za nás umí oddřít spoustu těžké práce, i pokud nejsme admini serveru, ale jen běžní uživatelé Linuxových notebooků. Krom tlachání si spolu rovnou nějakou službu napíšeme a pokud zbyde čas, zkusíme postavit co nejmenší bootovatelný systém se SystemD jako initem.

Otevřít přednášku (webový přehrávač)

Pod pokličkou – hardware, operační systémy, formáty

Hardware Hacking 101 + úlohy z ECSC2023 ("Zkoušeli jste to vypnout a zapnout tisíckrát za sekundu?") [HWHX]

Co dělat, když máte v ruce kus HW, který si s vámi nechce povídat? Co je to logický analyzér a jak se používá? V říjnu jsem se tohle musel naučit během Evropské soutěže v Kyberbezpečnosti a možná to naučím i vás. Na HW úloze, kterou jsem tehdy řešil, se podíváme jak přečíst paměť, do které nemáme přístup, spustit nedosažitelný kód nebo přečíst ze stejné paměti dvakrát různou hodnotu. Po cestě si povíme, co je to I2C, EEPROM, jak vypadají paměti mikrokontrolerů a ukážeme si, jak zneužít toho, že RAMky nejsou tak prchavé, jak si myslíme nebo že se v digitálním světě jedniček a nul může vyskytnout půlka.

Otevřít přednášku (webový přehrávač)

Ladíme mikrokontroléry ve 21. století ("To už není potřeba chybové kódy vyblikávat LEDkou?") [MICRO21]

Dnešní mikrokontroléry už běžně umí (semi-)autonomní zápis na sériový port a mají dobrou podporu pro ladění v běžných nástrojích. Ukážeme si, jak si zjednodušit ladění a na co si dát pozor.

Otevřít přednášku (webový přehrávač)

Nebojte se RTOSu ("Jak to mám udělat pořádně, když mne pořád někdo přerušuje") [RTOS]

Dnešní mikrokontroléry mají spoustu výkonu, a spoustu periferií, které umí fungovat s poměrně velkou mírou autonomie. Ukážeme si, co je to RTOS (realtime operační systém) a jak si s jeho pomocí zjednodušit práci. Pracovat budeme s FreeRTOSem, který je používán například v ESP-IDF a jedná se o jeden z nejjednodušších RTOS. Přednáška předpokládá, že posluchači někdy pracovali s Arduinem / ekvivalentem.

Otevřít přednášku (webový přehrávač)

Programátorské dovednosti

Stručný úvod do technologických startupů [STARTUP]

"Startup" je populární forma podnikání v technologickém sektoru. Programátoři, kteří by si chtěli vydělat nějaké peníze, mohou buď někam jít dělat programátory, dělat jiným programátory na volné noze, nebo (sami či v kolektivu) zkusit naprogramovat něco vlastního (a přitom se tím uživit). Tato přednáška se bude zabývat poslední možností. Zaměříme se zejména na případ, který pojmenujeme "startup", totiž když výsledný produkt dokáže generovat alespoň kvadraticky v čase rostoucí finanční příjem.
Vysvětlíme si základní termíny a metriky (SaaS, B2B2C, ARR, ESOP, IPO a tak), co je to venture capital, a co je třeba v takovém startupu řešit kromě toho tu věc naprogramovat. Co nejvíce času zkusíme věnovat diskuzi, při nedostatku otázek se podíváme blíže na příběhy několika (ne)úspěšných startupů. Přednáška může být užitečná všem, kdo by si v budoucnu chtěli vydělávat vlastním projektem, nebo by je někdo do nějakého startupu lákal. Startup spoluvedený přednášejícím nějakým způsobem nasbíral od investorů v posledních letech přes 100M.

Otevřít přednášku (webový přehrávač)

Programátorské nástroje

Chatovací protokol Matrix [MATRIX]

Matrix je moderní chatovací protokol navržený tak, že každý si může provozovat svůj server, který se domluví se všemi ostatními servery. Pojďme nahlédnout, jak taková věci uvnitř funguje. Synchronizace stavových grafů a spousta zajímavé kryptografie. Zkušenosti (dobré i špatné) z provozování vlastních serverů.

Otevřít přednášku (webový přehrávač)

Distribuce software [DISTRO]

Jak se balíčkují projekty pro programovací jazyky, linuxové distribuce a další.

Otevřít přednášku (webový přehrávač)

Drakobijectví na příkladu LLVM ("Procházka myšlenkovým pochodem LLVM když kouká na váš code.") [LLVM]

LLVM je jeden z nejsofistikovanějších kusů softwaru, který máme. Budu povídat o tom, jak to uvnitř vlastně všechno funguje, když po LLVM chceme optimalizovat nějaký náš code. (LLVM IR, canonicalization, optimalisation pipeline, inlining, loop unrolling, …?). Z přednášky si půjde vzít nějaké konkrétní tipy, jak psát code, který bude LLVM chutnat.

Otevřít přednášku (webový přehrávač)

Jak nakreslit hrocha v Shadertoy ("www.shadertoy.com/view/wtGczK") [HIPPOGOD]

Vyhlídkový výlet světem počítačové grafiky, demonstrovaný na :hippogod: - projdeme základní principy simulace světla, raytracingu, GPU a proceduální generace. Jak definovat scénu s hrochem pomocí pár řádek kódu a jak to celé použít pro nakreslení obrázku v Shadertoy.

Otevřít přednášku (webový přehrávač)

Když se LuaJIT rozhodně něco JITnout... ("Co jsem našel, když jsem cestoval zdrojáky jednoho z nejlepšíchi JITů.") [LJ]

Budu povídat o interních detailech fungování LuaJITu. Třeba jak funguje ten slavný interpreter napsaný v assembly, nebo velmi konkrétně, co všechno se musí stát, když se LuaJIT rozhodne něco JITnout. Předpokládám že už víte, jak uvnitř fungují normální interpretry.

Otevřít přednášku (webový přehrávač)

Sítě a bezpečnost

Praktický úvod do Jekyllu [JEKYLL]

Chtěl sis někdy vytvořit vlastní webovou stránku, ale ručně psát HTML a CSS tě otravuje? Zajímalo by tě, jak z Markdownu generovat pěkně vypadající, databázemi a jinou havětí nezatížené webové stránky? Ukážeme si, jak si pomocí Jekyllu vytvořit, spravovat a v neposlední řadě také publikovat webovou stránku.

Otevřít přednášku (webový přehrávač)

Teoretická informatika

Dlaždičková složitost ("Co je negace koupelny?") [TILES]

Nadefinujeme trochu netradiční počítač založený na dlaždičkách v koupelně. Prostudujeme, jak se různé druhy dlaždičkových počítačů chovají, a zjistíme, že to docela dobře odpovídá klasické teorii složitostních tříd. Jaké problémy má matematik, jehož koupelna je nekonečně velká?

Otevřít přednášku (webový přehrávač)

Evoluční teorie grafů [EVTERGRA]

Evoluční teorie grafů je mladý obor na pomezí matematické biologie a teoretické informatiky, který studuje jisté náhodné procesy, které modelují, jak se věci šíří po grafech (sítích). Každý vrchol grafu má jednu z typicky dvou barev, které proti sobě "bojují" tak, že náhodné vrcholy náhodně přebarvují své sousedy na svou barvu až dokud jedna barva "nevyhraje". Klíčové otázky jsou určit pravděpodobnost výhry jednotlivých barev a čas, jak dlouho bude souboj průměrně trvat, v závislosti na tom, jak vypadá graf a počáteční obarvení jeho vrcholů. V přednášce si ukážeme některé elegantní výsledky z oboru, jako například Isotermální větu [Nature '05], FPRAS pro pravděpodobnost fixace na neorientovaných grafech [SODA '14] nebo existenci rychlých superamplifikátorů [Nat.Comm '21]. Prerekvizity: alespoň základy teorie grafů (vrchol, hrana, stupeň) a alespoň intuitivní chápání pojmu pravděpodobnost.

Otevřít přednášku (webový přehrávač)

Formální verifikace programů ("Ta funkce to pole opravdu setřídí, přísahám!") [FORMPROV]

Formální verifikace se zabývá ověřováním, že programy opravdu dělají to, co mají. Například když píšete software do vesmírné rakety, nějaký šikovně umístěný bug v navigaci by byl fakt drahý. Taková příležitost vás asi v nejbližší době nečeká, ale ukážeme si alespoň, jak taková verifikace typicky vypadá v kódu, a zkusíme si u nějakých implementací základních algoritmů dokázat jejich správnost.

Otevřít přednášku (webový přehrávač)

Umělá inteligence

AlphaZero a AI pro hry s velkým stavovým prostorem [AIGO]

Desková hra Go je zajímavá z mnoha úhlů. Je to jedna z nejstarších her na světě, vyniká matematicky svůdnou estetikou, inspirovala kombinatorickou teorii her a tradičně sloužila jako příklad problému, ve kterém ještě před 10 lety lidská mysl a intuice o řád převyšovala výpočetní sílu počítačů. Na začátku roku 2014 velká většina výzkumníků počítačového Go předpokládala, že překonání lidských mistrů je dekády před námi. Na začátku roku 2016 AlphaGo od DeepMindu porazil nejlepšího goistu světa Lee Sedola.
Krátce vysvětlíme pravidla Go a povíme si, proč bylo Go pro počítače tak těžké ve srovnání např. s šachy. Popíšeme klíčový herní algoritmus MCTS, od základů Monte Carlo metody přes exploration-exploitation dilema v optimalizačních problémech až po aplikaci v minimaxových herních stromech. Pak se podíváme na to, jakou roli v tom všem hrají hluboké neuronové sítě a v čem spočívá klíčová myšlenka AlphaGo a AlphaZero.
Na závěr se zamyslíme, jak robustní ta "AI silnější než lidi" doopravdy je, a jestli nám to něco říká třeba o robustnosti velkých jazykových modelů. Přednášející je autorem historického Go programu Pachi, který sloužil v Nature publikacích DeepMindu jako hlavní referenční baseline pro prezentaci výsledků AlphaGo.

Otevřít přednášku (webový přehrávač)

Bezpečnost umělé inteligence ("Pošlou nám počítače z budoucnosti nahého Arnolda Schwarzeneggera?") [SAFE]

Umělá inteligence se k nám blíží každým dnem. S ní se ale blíží i spousta reálných rizik. Podívejme se společně na reálná nebezpečí, která s umělou inteligencí přicházejí a jestli jim dokážeme zabránit.

Otevřít přednášku (webový přehrávač)

Od umělého neuronu k ChatGPT [GPT]

Velké jazykové modely (Large language model, LLM) vyvolaly v posledním roce velkou bouři i mezi laickou veřejností. Jejich využití pro řešení všemožných úloh je vskutku impozantní. Na jednoduchých příkladech si ukážeme, jak funguje neuronová síť a jak se učí. Na řešení problému rozpoznávání obrázků (kde se to lépe ukazuje) si ukážeme základní koncepty a vývoj. Potom už přejdeme k jazykovým modelům. Představíme si, k čemu to vlastně bylo a je dobré, a ukážeme si několik vzorových úloh, na kterých se jazykové modely vyhodnocují, jako je například Winograd schema challenge.
Vysvětlíme si zásadní průlomy, které postupně vedly od jednoduchých jazykových nástrojů k nejnovějším systémům jako ChatGPT a GPT-4 - kódování vstupu pomocí word2vec a byte pair encoding, rekurentní sítě s attention, prompt engineering. Zmíníme si limitace současných LLM a nahlédneme do budoucnosti, jak se některé z nich možná budou řešit. Na závěr odstoupíme od čistě technického popisu a zamyslíme se nad vývojem a bezpečností AI.

Otevřít přednášku (webový přehrávač)