Krutá Smršť Přednášek 2016
Seznam přednášek – Karolínka
Hlasování o přednáškách na Smršt již skončilo a Smršt již také proběhla.
Níže se alespoň můžeš podívat na seznam přednášek, může Ti být inspirací nebo motivací třeba pro příští Smršt.
- Matfyzácké přednášky
- Nematfyzácké přednášky
Matfyzácké přednášky
V této kategorii sídlí přednášky týkající se informatiky, případně matematiky či fyziky.
Algoritmy a datové struktury
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.
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.
K čemu je dobré, když grafem teče voda. Předvedeme si klasický problém toků v sítích a jeho všelijaké, mnohdy dosti překvapivé aplikace. Jak rozestavět n věží na šachovnici a jak ji místo toho pokrýt dominovými kostkami? Další souvislosti, jako třeba násobná souvislost grafů.
Předpoklady: Umět plavat (zejména v matematice)Základní algoritmy pro řešení geometrických úloh – konvexní obal, dva nejbližší body v rovině, výpočet obsahu nekonvexního mnohoúhelníka, lokalizace bodu, scanline algoritmus a jeho použití, Voroného diagramy a souvislost s persistentními datovými strukturami.
Někdy potřebujeme najít podřetězec ve velkém množství textu. Stromeček trochu připomínající ten biologický aneb trie. Proč se ve vstupu vracet neboli Knuthův-Morrisův-Prattův algoritmus. Hledání více řetězců najednou podle Aha a Corasickové. Okénkové hešování Rabina a Karpa.
Suffixový strom je zajímavá datová struktura, pomocí níž jde vyřešit většinu řetězcových problémů v lineárním čase. Podíváme se, jak suffixový strom vypadá, k čemu se hodí a jak ho sestrojit. Též prozkoumáme několik příbuzných zvířátek, jako třeba suffixové pole a suffixový automat.
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).
O problému hledání cest v grafech trochu podrobněji. Obecné relaxační schéma, Bellmanův-Fordův a Dijkstrův algoritmus a jejich zrychlení pomocí různých datových struktur. Potenciálová redukce a heuristiky (třeba A*), zaokrouhlování délek hran. Souvislosti s násobením matic: transitivní uzávěr, Seidelův algoritmus, Kleeneho algoritmus a regulární výrazy.
Ukážeme si, proč není možné překonat rychlost vyhledávacích stromů v obecném případě, a pak předvedeme datovou strukturu, která sice pracuje jen s celými čísly od 0 do nějakého U-1, ale výměnou zvládne Insert, Find i Delete v čase jen O(log log U).
Dnešní procesory mají několik úrovní vyrovnávacích pamětí (cache), což způsobuje, že ačkoliv si jsou všechny části paměti rovny, některé si jsou rovnější. Jak taková cache funguje? Jak se procesor rozhodne, co si v ní zapamatuje a co vyhodí? Jak toho můžeme využívat při programování, aby naše programy běžely rychleji? Předvedeme kousek teorie i několik praktických ukázek s poněkud překvapivým chováním.
Předpoklady: Cachu oříškyTeoretická informatika
Spousta algoritmů je mnohem rychlejší, než jak na první pohled vypadají. Šikovný způsob, jak takové chování zkoumat, je amortizovaná časová složitost. Předvedeme několik trochu překvapivých příkladů amortizace: dvojková a jiná počitadla, datové struktury založené na přebudovávání, vyhledávací stromy bez otravného vyvažování, dynamizace datových struktur, udržování historie.
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.
Úlohy, kterými se zabývá strojové učení. Co je to učení s učitelem a bez učitele? Ukážeme si základní postupy, jak počítač můžeme naučit rozpoznávat věci, které sami rozpoznat neumíme. Umí Facebook nebo Google poznat, co máme rádi, jakou máme náladu, nebo jestli jsme těhotní?
Zajímá vás, jak pomocí velmi jednoduché sady pravidel vytvořit systém se zajímavým chováním? Fascinují vás fraktály? Připadá vám zajímavé uvažovat o tom, jaký nejjednodušší nástroj stačí k vyřešení zadaného problému? Nebo jestli existuje stroj, který dokáže vyrobit svoji vlastní kopii? Ve stručnosti si představíme konečné automaty a pak se ponoříme do pestré říše celulárních automatů.
Programovací jazyky a nástroje
print "Ffff".decode("rot13")
")
[PYTH]
Jak programovat v Pythonu a jak v něm „nepsat Cčko“. Syntaxe, datové typy, funkce, třídy, ... Na co si dát pozor, v čem se Python liší od ostatních jazyků a proč je mezi nimi tak oblíbený.
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ů.
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.
1[x]+++++x[1]
")
[CWIZ]
Ponořme se do hlubin Céčka, snad až na samé dno. Typový systém: elementární
typy, typové výrazy, automatické konverze a rozpad typů (pole vs. ukazatel).
Pořadí vyhodnocování kontra pořadí side-efektů (priority, synchronizační body
a volatile). Triky s preprocesorem. Návěští a příkaz switch.
Všelijaké zrady (velikosti typů, zarovnání, (a+b)+c ≠ a+(b+c), ...).
Dialekty Céčka od K&R až po novou normu C11 a různá nestandardní rozšíření jazyka.
Proč jsou objekty potřebnější v mysli programátorově než v jazyce a proč je C lepší
než C++
:–)
++
("Je dobré znát, co umí atomová bomba (a její datový typ), abychom ji nechtěli použít.")
[CPP]
Pokročilejší prvky C++
(šablony, přetěžování funkcí a operátorů,
preprocesorové hacky, ...) a možnosti jejich (po|zne)užití. Jak s nimi vytvořit věci
magické (smart pointers, lambda funkce), ale i na první pohled docela obyčejné,
které si bohužel jinak pořídit nejde. Nahlédneme do vnitřností slavné knihovny
Boost. Proč je třeba preprocesorem vygenerovat 512 šablonovaných
typů jen, abychom mohli rozumně předávat pointery na metody? Jaká akrobacie je
nutná pro obyčejnou statickou inicializaci seznamu? A mnohá další překvapení.
Přednáška vás naučí psát v C++
složité věci a přesvědčí, že v něm nechcete
psát ani jednoduché.
++
, staticky alokovaný kyblík
Představíme si SQL, jazyk databází. Ukážeme si základní příkazy i práci
o kus složitější. Jak ušetřit skriptu práci a sobě čas, aneb jak se zeptat
rovnou na to, co chci vědět. K čemu se hodí složený dotaz a klíčové slovo JOIN
.
Což takhle projednou neříkat počítači, jak má věci počítat, ale jenom mu zadat podmínky, které má výsledek splňovat? Neprocedurální programování vychází přesně z této myšlenky. Podíváme se na programovací jazyk Prolog, který vychází z formální logiky. Zjistíme, které problémy se v něm neobyčejně zjednoduší a které naopak programování promění v noční můru. Pokud jsi milovník rekurze, budeš u této přednášky nejspíš skoro celou dobu spokojeně vrnět.
Mezi programem v Céčku, který jste právě dopsali, a tranzistory uvnitř vašeho procesoru leží obrovské území obývané překladači, linkery, knihovníky, operačními systémy, loadery a jinými bájnými bytostmi. Pojďme zjistit, co jsou zač a co všechno s programem provádějí. Co udělá kompilátor za nás a co musíme naopak udělat my za něj.
Kdo píše programy, které vždy hned fungují, ať se přihlásí. A kdo ne, ať se přihlásí na
tuto přednášku. Ladit programy vás nenaučíme, ale ukážeme několik nástrojů, které mohou
pomoci z nejhoršího. Mezi nimi třeba gdb
– řádkový debugger (odvšivovač), strace
,
valgrind
a perf
. Kdy je chceme použít, a kdy se naopak víc hodí printf
a assert
.
Když se něco vyvíjí delší dobu, přijde vhod nějaký sofistikovaný nástroj. Na jeden takový, Git, se podíváme. Povíme si, jak Git ukládá změny, co jsou commity, větve, tagy a jak vypadá merge mezi větvemi. Nakonec možná předvedeme i nějaké kouzelnické triky: hledání bugů půlením historie, přepisování dějin.
Pokročilá prednáška o Gite pre tých, ktorí si ho už ošahali ale nerozumejú mu poriadne.
Začneme základnými stavebnými kameňmi gitového repozitára a ako sú v skutočnosti
súbory, adresáre a ich história reprezentované. Ďalej si popíšeme, čo presne jednotlivé
gitové príkazy s repozitárom (a ďalšími súbormi) robia a prečo niekedy užívateľovi
vynadajú. Vysvetlíme si a ukážeme si ako sa majú konflikty v Gite riešiť a ako sa im
jednoducho vyhnúť. Ak bude čas ukážeme si aj mocné nízkoúrovňové gitové príkazy a
napíšeme si pomocou nich vlastný príkaz git commit
. Alebo na želanie hocičo iné.
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.
Hardware a operační systémy
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.
Jak vypadá víceprocesorové či vícejádrové PCčko a co to znamená pro programátora. Procesy, vlákna a úskalí komunikace mezi nimi. Jak se snese n kohoutů na jednom smetišti? Synchronizační primitiva: mutexy, semafory, podmínkové proměnné. Spinlocky, deadlocky a livelocky. Jde to i bez synchronizace: atomické operace, transakční paměť. Které jazyky nám pomáhají a které spíš škodí. Kdy je lepší vlákna použít a kdy ne.
Předpoklady: Trochu představy o hardwaruUnixové operační systémy (zejména Linux) dobývají svět. Jak fungují uvnitř a jaké nabízejí výhody? Unixová filosofie a historie. Proč je systém složený ze spousty malých a jednoduchých kousků stabilnější a bezpečnější? Proč ovládání prostřednictím textových příkazů je často efektivnější než klikátka? Jaké to je mít svůj systém pod kontrolou a „vidět mu pod ruce“? V čem spočívá moc textových souborů?
Praktičtěji zaměřená přednáška než UNIX, zabývající se hlavně tím, jak efektivně používat příkazovou řádku. Ukážeme si na spoustě příkladů, jak nám může automatizace všedních činností ulehčit život a jak silné nástroje pro ni UNIXový shell (který navzdory svému názvu existuje i pro Windows) svou jednoduchostí a flexibilitou poskytuje. Budeme spojovat spoustu jednoduchých příkazů do mocných celků a s nimi plnit i na první pohled komplexní úlohy, jako třeba automatické stahování a parsování věcí z webu. Některé činnosti vyžadují lidskou nápaditost a vhled. Ty ostatní bychom měli přenechat strojům.
mkfifo p;nc -lp80<psed -re "s/GET /tac</;s/ .*/;echo;echo& 200 OK/;q"sh|tac>p
")
[SS]
Co vše se dá napsat za pomoci unixového shellu a spřízněných utilit. Webové aplikace, šablonovací systém, síťová komunikace, OOP, ... Proč to obvykle není dobrý nápad, ale občas taky ano.
Jak si program pod Linuxem povídá s operačním systémem, když chce otevřít soubor, přečíst soubor, půjčit trochu paměti a jiná šprťouchlata. Předvedeme si, jaká existují v Linuxu systémová volání. Naučíme se namapovat si soubor rovnou do paměti, posílat a odchytávat signály, uspávat a probouzet proces, plodit děti a další. Pokud zbyde čas, můžeme si napsat démona a klienta a povídat si po síti.
Předpoklady: Schopnost přečíst a napsat jednoduchý program v C.Čo to vlastne ten linuxový kernel obsahuje, čím sa líši programovanie v kerneli od toho bežného. Ako kernel skompilovať, kde hľadať pomoc a akým spôsobom funguje samotný vývoj linuxového kernelu. Ako zmeniť zdrojáky nejakej komponenty, ako ich publikovať a ako ich dostať do „hlavnej“ verzie kernelu dostupnej pre všetkých. Doneste si svoje notebooky, ktorým nefunguje poriadne touchpad, rôzne Fn klávesy, prídavné tlačítka, podsvietenie displeja, klávesnice a pod. Skúsime to odladiť a opraviť, prípadne napísať pre nefunkčné zariadenia nové ovládače.
Sítě a bezpečnost
Jak funguje Internet a počítačové sítě vůbec: od elektronů v drátech (fotonů v optických kabelech nebo elektromagnetických vln) přes packety a jejich routing až k jednotlivým síťovým službám. Adresace, internetworking a dynamický routing. Jak NAT zachránil i zničil Internet a proč se těšíme na IPv6. Budeme si povídat o běžně používaných protokolech – DNS, FTP, HTTP nebo třeba i mailových SMTP a IMAP. Zaměříme se více na ty nejpoužívanější (metody GET a POST v HTTP), nakousneme cacheování a nadlábneme se cookies. A pokud zbude čas, využijeme zranitelnosti některých protokolů a provedeme síťový útok.
Stručný úvod do fungování sítě. Praktické ukázky hackování běžné sítě od MITM po převzetí (třeba emailového) účtu. Pomůže nám HTTPS? Jak je to na WiFi? Zastaví nás heslo? Na jak dlouho? A konečně – jak se tomu všemu lze bránit, pokud to vůbec jde.
Internetoví provideri nám pomaly začínajú ponúkať pripojenie do sveta IPv6 Internetu. Čo to IPv6 je? Čím sa líši od svojho staršieho kolegu IPv4? Prečo by sa o neho mal zaujímať aj obyčajný užívateľ? Pozrieme sa aké problémy IPv6 rieši, aké má výhody oproti IPv4 ako aj na súčasný stav podpory IPv6 v operačných systémoch. A hlavne s akými problémami sa človek bežne stretne než si bude môcť doma spraviť IPv6 sieť.
Předpoklady: NETVětšina webu je dnes založena na protokolu HTTP, pojďme se podívat, jak funguje uvnitř. Metody GET, POST, ale třeba i PUT. Dohadování o typu dat. Cacheování, revalidace a transformace dat. Křupavé sušenky. Jak se vypořádat s dynamicky generovaným obsahem aneb protokol CGI. Mezi klientem a serverem aneb DNS a virtuální servery. Nakonec do toho všeho přimícháme SSL/TLS a máme HTTPS. Malá ochutnávka HTTP/2.0.
Co se stane s e-mailem, když jej odešlete? Kudy chodí a kudy jej čerti nesou? Jaké máte záruky, že přijde; proč občas přijde pozdě nebo vůbec. Problém formátů a kódování, chyby webových i jiných klientů. Protokoly SMTP, POP, IMAP a co se stane, když do nich přimícháme SSL/TLS. E-mailová bezpečnost, SPAM a (nefunkční) obrana pomocí SPF, DKIM a DMARC. Nakonec se podíváme na ne zrovna triviální grafový problém, který je v emailech skrytý.
Kryptografie čili tajuplná nauka o šifrách, jejich konstrukci a hlavně o jejich luštění. Přísně tajné. Šifrovací systémy jako lego: základními kostičkami nám budou symetrické a asymetrické šifry a jednosměrné funkce, stavět z nich budeme kryptografické protokoly na bezpečný přenos, autentikaci, digitální podpisy a třeba i na házení korunou po telefonu. Předvedeme nerozluštitelnou šifru a dokonce to o ní i dokážeme.
Pokročilejší a občas nečekané aplikace základních kryptografických primitiv. Jak přesvědčit server, že známe heslo, aniž bychom mu ho posílali? Jak zajistit, aby útočník nemohl dešifrovat komunikaci, ani když dodatečně získá soukromý klíč? Jak funguje BitCoin (decentralizovaná digitální měna) či Tor (protokol znemožňující komukoli po cestě vědět, kdo s kým komunikuje)?
Předpoklady: Základní povědomí o šifrování (CRYPT) a víra v existenci náhodných číselJak 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.
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.
Matematické přednášky
Dokážeme rozeznat falešnou kostku? Úvod do Bayesovy teorie pro úplné začátečníky. Ukážeme si základní výpočty s podmíněnou pravděpodobností. Na závěr si řekneme pár zajímavostí o tom, jak lidský mozek zkresluje úvahy o pravděpodobnosti a statistice v každodenním životě.
Rychlokurz teorie čísel pro začátečníky. Číselné obory. Dělitelnost a prvočísla. Modulární aritmetika (aneb počítání jako na hodinách, kde 10 + 9 + 8 = 3). Kongruenční rovnice. Malá Fermatova věta.
Jak matematici dokáží vzít „obecné“ a ještě více jej zobecnit. Lehký úvod do grup. Ukážeme si, jak zkoumat matematické operace, aniž bychom řešili, jestli se bavíme o sčítání, násobení, nebo skládání zobrazení.
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 :–).
Středoškolská kombinatorika bývá otravnou „zoologií“ plnou pojmů a vzorečků. My si místo toho ukážeme přístup k počítání založený na elegantních úvahách. Základní triky s faktoriály a kombinačními čísly, sčítání konečných a občas i nekonečných řad a rekurentní rovnice. Také zajdeme na návštěvu k Dlouhému a Širokému a za poněkud zmatenou šatnářkou.
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.
Ostatní
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.
Přednáška spíše motivační a hravá, o tom, co se stane, když se střetne svět matematiky se světem divných, neexaktních a nejednoznačných lidských jazyků. Podíváme se na vlastnosti přirozených jazyků a zaměříme se na to, jak moc komplikují jejich počítačové zpracování. Pojmenujeme odlišnosti mezi kontrolou pravopisu, automatickým překladem a konverzací s uživatelem, a zbude-li čas, naznačíme, co se umí a osvědčuje používat.
Strojový překlad udělal za posledních pár let obrovský pokrok, a přestože není těžké počítače nachytat, překlady mezi mnoha dvojicemi jazyků už produkují použitelné výsledky. Na překlad půjdeme od konce, tedy od vyhodnocování. Jak poznat dobrý překlad? Jak funguje BLEU, de facto standard hodnocení překladu? Jaké má problémy a alternativy? A jak že ten překlad vlastně vzniká? Povíme si o různých přístupech, podíváme se na určování významu i morfologickou analýzu. A na závěr se třeba pobavíme nad některými autentickými výstupy.
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.
O podstatě světla a barevného vidění a různých pokusech o reprezentaci barev v počítačích, fotoaparátech, televizích a podobných zařízeních. Systémy RGB, CMY(K), HSV, XYZ, Lab s jejich výhodami i neduhy. „Systém“ Pantone. Reálné kontra imaginární barvy aneb proč nejde vyfotit duha.
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.
SDR je poslední dobou velmi populární technologie. Umožňuje pomocí jednoho univerzálního hardware přijímat různé druhy rádiových signálů a jejich zpracování nechat na softwaru. Vysvětlíme si princip fungování SDR. Podíváme se, jaké signály kolem nás létají, a uděláme si jednoduchý přijímač FM rádia v GnuRadiu.
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.
Nematfyzácké přednášky
Vybrat si vysokou školu může být náročný úkol. Čím se vlastně jednotlivé školy liší a čím z toho se obvykle moc nevytahují? Na co je dobré se při výběru ptát a co je spíš drobný detail? Souvisí nějak náročnost studia a vlídnost vyučujících? Povídání o rozdílech mezi školami od někoho, komu byla jedna škola málo.
Ať věřící či nevěřící, s projevy náboženství se setkáváme dnes a denně. Kde se ale taková věc vzala? Může být náboženství jen projevem nevyspělé techniky, nebo je za tím mnohem víc? Je srovnatelné pohanství dávných Slovanů a víra dnešních indiánů? A co má společného křesťanství s východními náboženstvími? Ne každý muslim je fanatik, ale každý fanatik je muslim. Nebo ne? A jak má člověk brát vážně křesťany, když se dohadují o blbostech? Co mají společného a čím se liší bohoslužby napříč jednotlivými monoteistickými náboženstvími i napříč jednotlivými církvemi? Pojďme si popovídat o tom i o mnohém dalším.
Znakové jazyky byly dlouhou dobu považovány za méně důležité než ty, které mají mluvenou podobu. V polovině 20. století ovšem Wiliam Stokoe ukázal, že americký znakový jazyk má podobnou strukturu jako mluvený jazyk. Jeho dílo odstartovalo množství výzkumů, díky kterým dnes víme, že znakové jazyky jsou plnohodnotnými lidskými jazyky a že se v mnoha ohledech chovají stejně jako ty mluvené. Které ohledy to vlastně jsou a co se od znakových jazyků můžeme naučit o naší řeči? Přednáška převážně teoretická, ale v případě zájmu můžeme vytáhnout i pár znaků z českého znakového jazyka.
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í?
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.
Naturalismus je teorie, že svět řídí neměnné přírodní zákony, které mají poměrně jednoduchý matematický charakter, jsou celkem lhostejné k lidským osudům, měří stejně dobrým i zlým. Že život není magická vitální esence, nýbrž sada komplexních chemických interakcí. Že myšlení je výpočetní proces jako každý jiný. Naturalismus není axiomem vědy, nýbrž jedním z jejích největších objevů. Proč si dnes myslíme, že je nejspíš pravdivý? Jak vypadala mnohasetletá bolestivá cesta k němu a proč se z ní svým způsobem vzpamatováváme dodnes? Jaký vliv to má na naše vnímání hodnot, života a jeho smyslu?
Naše přesvědčení o světě jsou jako mapa nějakého území. Měli bychom se snažit, aby mapa co nejlépe odrážela skutečnost, neustále ji upravovat podle nově objevených faktů. Přesto se lidi často spíš snaží přesvědčit ostatní i sebe, že jejich názor je správný, než aby věnovali veškeré úsilí nalezení názoru nejlépe kopírujícího realitu. Odhlížíme od nepříjemných pravd. Proč? Jak se naučit své názory absolutně podřídit realitě, přijímat svět, jaký je? Jaké systematické chyby v uvažování lidský mozek dělá a jak nám jejich znalost (ne)může pomoci? K čemu se hodí znát teorii pravděpodobnosti či úvahy z oblasti umělé inteligence?
Pobavíme se o základech první pomoci. Jak správně vyhodnotit situaci a kdy je potřeba volat pomoc? Jak se postarat o člověka v bezvědomí, jak kontrolovat životní funkce a jak člověka stabilizovat do příjezdu pomoci? Ukážeme si, jak málo stačí k záchraně života a naučíme se nebát se první pomoci. A také, že naše bezpečí je v každé situaci na prvním místě.
Jak fungují dnešní zámky, co jsou to stavítka a jak vlastně fungují klíče. A jak se pomocí jednoduchých nástrojů dají využít výrobní nedokonalosti zámků k jejich odemčení. Použití planžet, napínáků, praktické ukázky odemykání, nastínění technik bumpingu a dalších postupů, jak se dostat přes zamčené dveře.
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 vzorové řešení KSP 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.
Čá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, ...
Převážně nevážné a mírně nepřed-vídatelné po-vídání o jazyku i jazyce. Základní jazykové rodiny a jejich podobnosti i odlišnosti. Co má společného čínština s angličtinou a co nikoliv. Proč jeden jazyk potřebuje 15 pádů, zatímco jiný se bez nich obejde úplně. Jak se jazyky vyvíjejí a jak se navzájem ovlivňují. Kde se berou jazyková pravidla. Kde se vzalo písmo a proč se mluvený a psaný jazyk tolik liší. Jak se na jazyk dívá matematik a jak se na matematiku dívají lingvisté.
Malá inventura zvuků, které lidé dovedou vytvářet, a jejich použití v komunikaci. Různé způsoby vytváření a modulace zvuku. Kolik různých B dokážete říci? Fonetické kontrasty a co si z nich různé jazyky vybraly. Rázy, polosamohlásky a jiní obyvatelé polosvěta. Přízvuk kontra délka. Asimilace, přehlasování a další „principy líné huby.“ Vše prakticky procvičíme.
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.
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.
Organizátoři KSPčka rádi dělají pokusy na sobě samých, a tak při vývoji nového webu semináře pohrdli všemi vyzkoušenými webovými frameworky a napsali si potvůrku jménem Hippo. Trochu netradiční, ale v mnoha ohledech velice příjemnou. Namátkově: HTML coby datová struktura, triky s kryptografickými tokeny, kombinování programovacích jazyků a tvorba dynamickych stránek, které jsou přitom skvěle cacheovatelné. Případně také nahlédnutí do dalšího zákulisí KSPčka.
Jak přečíst DNA, zkompilovat z toho bílkovinu a jak získané znalosti využít.
Podíváme se na to, jak se vlastně na čtení DNA přišlo, jak funguje Sangerovo sekvenování a jak se od svého vzniku vylepšilo. Povíme si, jaká magie stojí za 454, Illuminou a řekneme si něco i o alternativních metodách, které se tolik nepoužívají. Nakonec zabrousíme i do novějších metod, například Nanoporu. Povíme si taky, kterak se dá číst DNA na oběžné dráze a že kapesní trikodér ze Star Treku možná není až tak daleko.
Co je to geoinformační systém a na co všechno se dá použít. Základy použití, jak si vyrobit vlastní mapu, jak vizualizovat vlastní procházku či připravit mapu na hru v lese či ve městě.
Jak přispívat do mapy světa OpenStreetMap. Co se dá mapovat bez GPS, jak mapovat s GPS, jak mapovat turistické trasy. K čemu využít kameru v autě / na řídítkách. Jak se na své výtvory podívat.
Jak využívat data z OpenStreetMap – jaký je datový model, co z toho vyplývá, jaké jsou nástroje, co všechno se v datech nachází. Kde najít vrstevnice a jak s tím vším pracovat a nezbláznit se.
Vše si ukážeme ryze prakticky, celou dobu si budeme hrát s neuronovými sítěmi, jen k tomu budeme potřebovat taneční boty. Nebo alespoň pohodlné boty bez podpatků. Celá naše snaha bude mířit k pochopení názvu přednášky, tzn. co jsou to neuronové sítě a co u svatého tučnáka mají společného s tancem.
Předpoklady: někdy jsem viděl tancující pár alespoň na obrázku OR tancuji nerad