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

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

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

Algoritmy a datové struktury

Datové struktury pro pokročilé [DS2]

Důmyslnější varianty vyhledávacích stromů: splay stromy, BB-α stromy, vícerozměrné stromy. Chytřejší haldy: binomiální, Fibonacciho, 2-3. Amortizovaná analýza složitosti. Též několik přátelských randomizovaných datových struktur: skip listy a treapy.

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

Datové struktury ve volném stylu ("Všechno důležité jde spočítat v konstantním čase.") [DSX]

Pojďme spolu na výlet krajinou datových struktur. Vyšlapané cestičky lesem vyhledávacích stromů mineme a raději zahneme do opravdové džungle. Potkáme struktury pracující ve skoro konstantním čase, dynamické reprezentace grafů, roztodivné druhy hešováni a cokoliv dalšího, o co si průvodci řeknete.

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

Komprese dat ("Jnm idln kpln j nstlčtln.") [PRESS]

Přehled základních kompresních algoritmů: triviální algoritmy (RLE), statistické metody (Huffmanovo a aritmetické kódování), slovníková komprese (LZ77, LZ78, LZW), Burrowsova-Wheelerova transformace (BZIP). Pokud zbude čas, tak i něco o ztrátové kompresi obrázků a zvuku (prediktory, wavelets, JPEG, MPEG, fraktály).

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

Aplikace informatiky

Praktická kryptografie ("A proč jsou všechny ty zámky na papírových dveřích?") [PCRYPT]

Programátoři si často myslí, že pro bezpečnou komunikaci stačí vybrat si z knihovny osvědčenou silnou šifru. Jak naivní! Navrhnout bezpečný protokol není maličkost a dá se při tom ledacos zpackat. Replay útoky (jak otevřít auto krabičkou za 30 dolarů), útoky na padding a na blokovou strukturu. Čí že je ten podpis? Jak nepoužívat RSA a jak nehešovat hesla. Jak náhodná jsou vaše čísla? Postranní kanály: časování, spotřeba, záření. K čemu se crackerům hodí termoska s tekutým dusíkem.

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

Uživatelská rozhraní ("Nákup potvrďte stiskem tlačítka s černou lebkou.") [UX]

Co mají společného automat na jízdenky, velké červené tlačítko v jaderné elektrárně a KSPácké webové stránky? Jsou to rozhraní, jejichž pomocí lidé něco ovládají a plní nějaké úkoly. Jak taková rozhraní navrhovat a jak je následně testovat? Proč raději nenavrhovat to, o co si lidi řeknou, a proč nevadí, že Vim by v běžném testování určitě neuspěl? A je opravdu nejdůležitější poučka „Zapomeňte na poučky“? Projdeme celý proces návrhu uživatelského rozhraní, pojmenujeme zdánlivě samozřejmé, a přece často opomíjené zásady a upozorníme na časté prohřešky.

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

Čárové kódy ("Jak naučit počítače číst láhve od Coly") [BAR]

Čárové kódy dnes potkáváme na každém kroku, ale jak doopravdy fungují? Prozkoumáme klasické jednorozměrné kódy (UPC, EAN, Code39, Code128), jakož i novější dvojrozměrné (QR, Aztec, DataMatrix). Kódovací a dekódovací algoritmy plus trocha matematiky okolo zabezpečení proti chybám. Další počítačem čitelné značky: RFID, bíle křížky na asfaltu, ...

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

Dovednosti

Orientace [ORI]

Jak ze neztratit v terénu a jak se neztratit na moři. Vývoj umění navigace. K čemu je důležité slunce a hvězdy, ale proč mořeplavcům nestačí, alespoň dokud neobjevíme hodinky. Použití mapy, busoly a GPSky. Orientace bez pomůcek a použití Ariadniny nitě. Bleskový úvod do sférické astronomie a časomíry čili jak (ne)postavit sluneční a třeba i měsíční hodiny. Jak reprezentovat mapu v počítači a jak raději ne. Jak zapisovat polohu místa na Zemi (přestože Země má tvar podivně nakousnuté hrušky) a kolika způsoby to jde. Různé druhy map a jejich (z)kreslení. Jak se neztratit v kartografii. Praktické cvičení v terénu.

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

Grafika a typografie

TeX ("No pages of output. Ask a TeXnician.") [TEX]

Donald E. Knuth napsal TeX před desítkami let proto, že mu nikdo nebyl schopen vysázet matematický text podle jeho požadavků. Od té doby se hojně používá pro sazbu nejrůznějších publikací. V této spíše praktické přednášce si ukážeme použití TeXu od hladké sazby knihy až po zběsilosti hraničící s programováním. Pozornost věnujeme i zdrojům informací a rozdílům mezi různými dialekty TeXu.

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

Matematické přednášky

Catalanova a Fibonacciho čísla ("1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, ?") [CAT]

Kolik existuje binárních stromů? Kolika způsoby jde uzávorkovat výraz? A kolika způsoby projít čtvercovou mřížku, aniž bychom překročili úhlopříčku? Kam oko pohlédne, všude se skrývají Catalanova čísla. Kromě případů, kdy za ně zaskakují čísla Fibonacciho. Povídání o dvou zajímavých posloupnostech a jejich početném příbuzenstvu. Dlouhá cesta od hezkého vzorečku k rychlému algoritmu.

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

Meta-matematika ("Tato věta sem nepatří.") [METAM]

Pokud budeme v životě věřit všemu, co je „přeci zřejmé“, dostaneme se brzy do potíží a v matematice to platí dvojnásob. Přírodní vědy si vymyslely opakovatelné pokusy a matematici axiomatický přístup. Ukážeme, jak z jednoduché sady axiomů vybudovat takřka celou matematiku. Dokonce tak, že správnost důkazů za nás ověří počítač, aspoň když mu trochu pomůžeme. Nadšení trochu ochladí Gödelova věta: ať děláme, co děláme, vždy zbude nějaké nerozhodnutelné tvrzení. Pomůže přidávat axiomy? Asi ne, ale za odměnu získáme mnoho různých matematik. A dá-li bůh, stihneme dokázat jeho existenci i neexistenci :–).

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

Ostatní

Jak jsme crackovali GSM [GSM]

V přednášce bych chtěl zevrubně popsat postupy a techniky implementované v projektu Deka, který dokáže zlomit klíč na skutečné síti během několika sekund. Prozkoumáme chyby v implementaci šifrování v GSM, zhodnotíme možnosti útoků na různé LFSR šifry, a nakonec navrhneme implementaci útoku, která využije potenciálu moderního hardware (SSD, grafické karty a vektorové jednotky). Obsahuje demo programování grafických karet, což kupodivu s balíčkem PyOpenCL není žádná magie.

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

Začínáme s elektronikou ("Bastlím, bastlíš, bastlíme") [ELE]

Jak se vrhnout do světa elektroniky? Ukážeme si zapojení od úplných základů (co je to vlastně napětí a proud) a běžné stavební funkční bloky a praktické aplikace (proudový zdroj, nabíjení akumulátoru). Samozřejmě si také řekneme, co je ke startu bestlířské kariéry potřeba a jak vzniklé věci debugovat. Přednáška je zaměřena na začátečníky s různými MCU kity typu Arduino.

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

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

Filesystémy ("Opravdu je FAT tabulka tlustá?") [FS]

Povídání o tom, co leží mezi nulami a jedničkami na plotnách disku a přátelskou adresářovou strukturou našeho OS. Jak funguje FAT a jeho varianty (VFAT, FAT32). Tradiční Linuxové filesystémy od EXT2 k EXT4. Nadějný nový BtrFS, který je možná za pár let nahradí. Co se hodí na SSD.

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

Programovací jazyky

Pokročilé povídání o Pythonu ("import antigravity") [PYTH2]

Povídání o méně zmiňovaných částech Pythonu. New-style classes, dekorátory, metaclasses, generátory, funkcionální styl programování v Pythonu. Jak napsat quicksort jako lambda funkci. Představení zajímavých modulů.

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

Programování v jazyce C [C]

Jazyk C patří k nejrozšířenějším jazykům, hodí se pro low-level programování i kusy kódu, které mají zejména být rychlé. Představíme si datové typy a běžné programové konstrukce, vysvětlíme si základy práce s ukazateli a také se seznámíme se standardními knihovnami jazyka C.

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

Programátorské dovednosti

Evoluční algoritmy ("Já to dělat nebudu, ať to za mě udělají mravenci!") [EVA]

Evoluční algoritmy se inspirují strukturami chování v přírodě a na jejich základě pak (optimalizačně) hledají řešení těžkých problémů. Ukážeme si obecné schéma genetického algoritmu stejně jako některé konkrétní způsoby, jak ho realizovat, a podíváme se na pár situací, kdy evoluční algoritmy dosáhly mnohem lepšího výsledku, než se čekalo.

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

Programátorské nástroje

Textový editor Vim ("Víš, jaký je nejlepší textový editor? Vim.") [VIM]

Odložme na chvíli své myše a pojďme si vyzkoušet textový editor, který umí poslouchat na slovo. Pravda, budeme se ta slova muset chvíli učit, ale výsledek bude proklatě efektivní. Základní příkazy, práce s regulárními výrazy, makra, kouzla. Vimovité ovládání jiných programů, třeba webového prohlížeče.

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

Sítě a bezpečnost

Bitcoin [BTC]

Jak provozovat digitální měnový systém bez centrální autority – algoritmy blockchain, proof-of-work a jejich varianty. Datová struktura Merkle tree. A pak nějaké aplikace, uživatelské hledisko, motivace a výhled do budoucnosti.

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

Nematfyzácké přednášky

Hudba z pohledu matematiky, fyziky a informatiky [MUSIC]

Co dokáže a co už nedokáže rozpoznat lidský sluch? Na čem je založená libozvučnost z pohledu fyziky? Jak spolu souvisí zlatý řez a koncertní sály? Co se děje při digitalizaci hudby? A na čem závisí kvalita jejího přehrávání?

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

Zamrzlá evoluce [FROZEVO]

Proč nejsilnější a nejpřizpůsobivější většinou nepřežijí, zatímco suboptimální se drží věky? Bude nás zajímat, proč se biologové domnívají, že pohlavní rozmnožování brzdí a následně úplně zastavuje evoluci a proč nakonec i přesto sexuální druhy tolik potkáváme v přírodě. Na přednášce nejprve ve stručnosti nastíníme, jak měnily biologické pohledy na evoluci, a pak se vrhneme na teorii zamrzlé plasticity, za kterou byl Jaroslav Flegr „oceněn“ Bludným balvanem.

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