Krutá Smršť Přednášek 2018
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
V roce 2016 došlo k nejvýznamnějšímu klání mezi člověkem a počítačem. Lee Sedol, nejlepší hráč Go na světě, se utkal s programem AlphaGo. Co musel tým vývojářů udělat, aby AlphaGo zvítězilo? Jak na to reagovala veřejnost? Kromě toho, že se na přednášce budeme bavit o zmíněném klání, si vysvětlíme, jaké existují algoritmy umělé inteligence pro hry a na jakých základních principech jsou založené. Probereme to od těch úplně nejjednodušších (Minimax) až po nejmodernější algoritmy (AlphaZero), jejichž síla a obecnost je činí ještě děsivějšími než je AlphaGo. Výklad bude prokládán promítáním pasáží z AlphaGo Movie.
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).
Někdy potřebujeme najít podřetězec ve velkém množství textu. Základní řetězcové algoritmy a datové struktury (např. trie). Indexování: jak si pro velké množství textu předpočítat datovou strukturu (v našem případě sufixové pole), která umožní vyhledávat v něm rychleji než v lineárním čase? Další témata dle zájmu časových možností, např. regexy a vyhledávací automaty.
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.
Intervalový strom je datová struktura pracující s intervaly, se kterou se můžeme setkat v mnoha úlohách (zejména soutěžních). Řekneme si, co to intervalový strom je, jaké všechny druhy intervalových stromů existují a jejich použití si ukážeme na úlohách. Na závěr si představíme jednu „magickou“ datovou strukturu jménem Fenwickův strom.
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)Stromy jsou jednou z nejtypičtějších (a nejjednodušších) odrůd grafů. Ledacos pro ně umíme řešit mnohem rychleji než pro obecné grafy, tak se pojďme podívat, jak se to dělá. Předvedeme několik obecných technik pro práci se stromy: DFS očíslování, „vandalskou indukci“, intervalové reprezentace. Různé rozklady: heavy-light, Fredericksonův, separátorový a ST-stromy.
Zapomeňte na pracné vyvažování vyhledávacích stromů. Místo toho zavedeme triviální pravidlo: pokaždé, když pracujeme s nějakým prvkem, vytáhneme ho do kořene stromu. Ukážeme, že toto pravidlo stačí na dosažení logaritmické složitosti, tedy aspoň amortizovaně. Také dokážeme, že Splay strom je nejhůře konstanta-krát horší než libovolný jiný strom, a možná i spousta dalších magických vlastností.
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.
Někdy v šedesátých letech byl objeven in-place heapsort a s ním implicitní halda (taková ta permutace prvků v poli, kde potomci i-tého prvku jsou na pozicích 2i a 2i+1) a následně byla položena otázka, zda by náhodou nešlo vyrobit i implicitní strom. Vydáme se tedy na cestu za datovou strukturou, která pozůstává jen z nějaké prapodivné permutace n prvků v poli, a která umí Insert, Find, Delete, Min, Max, Pred i Succ v čase O(log n). Jo a jen tak mimochodem to bude celé cache-oblivious.
Jak rychle umíte násobit n-ciferná čísla? My to umíme lineárně. Hodí se k tomu chytrý trik pana Fouriera, který už dávno patří k matematické a fyzikální klasice. Ukážeme, co je Fourierova transformace zač, jak ji rychle spočítat a k čemu je dobrá: rychlé násobení polynomů i čísel, digitální zpracování zvuku a obrazu (spektrální analýza či třeba komprese).
Předpoklady: Základy komplexních číselSložitost a vyčíslitelnost
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.
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á?
Úvod do teorie vyčíslitelnosti. Jak je možné, že existují problémy, které nelze řešit žádným algoritmem, přestože jsou exaktně zadané? Tím nemám na mysli obdobu neřešitelné rovnice. Je to spíš jako rovnice, o které nedokážeme rozhodnout, zda má řeší. Vysvětlíme si problém zastavení (halting problem) a dokážeme si jeho neřešitelnost. Zmíníme také další problémy, které jsou úplně stejně neřešitelné jako problém zastavení, ale mají větší praktické důsledky.
První Gödelova věta o neúplnosti je jedním z nejznámějších a nejpodivnějších tvrzení v historii matematiky. Říká, že v každé rozumné matematické teorii existují tvrzení, která jsou pravdivá, ale nelze je dokázat. Ukážeme si, že Gödelovy věty poměrně úzce souvisí s informatikou a ve světle informatiky si místo „Jak takováhle divná věc může platit?“, budete říkat „No to je naprosto jasné, že to musí platit, a nikdy by to nemohlo být jinak.“ Podíváme se i na další zajímavé partie teorie vyčíslitelnosti, třeba věty o rekurzi a Riceovu větu.
Předpoklady: VYCIS, případně základní přehled o Turingových strojích a Halting problému.Programovací jazyky a filosofie
Rust je moderní programovací jazyk zaměřený na typovou a paměťovou bezpečnost, nekompromisní výkon, multithreading bez pastí. Zároveň přejímá nějaké vlastnosti funkcionálních jazyků se zachováním výborného výkonu, například iterátory jsou stejně rychlé jako for cykly. Ukážeme si základní principy jazyka. Jak se spravují objekty bez garbage collectoru a co nám to umožňuje (a co zakazuje).
Předpoklady: Schopnost programovat, tušení o nízkoúrovňových paměťových věcech.Něco mezi Haskellem a Perlem - striktní typový systém, primárně funkcionální, hromada syntaktických featur a dobrý na prasení build skriptů i složitější systémy. Ukážeme si jak funguje typesystém, nějaké zajímavé vlastnosti, nějaké funkcionální vychytávky nebo jak F# zkompilovat do Javascriptu (a že to není tak marný nápad).
print "Ffff".decode("rot13")
")
[PYTH]
Python je jazyk, který svou jednoduchostí získává přízeň mnoha programátorů. Potkáte ho leckde, od kurzů programování pro malé děti přes matematické výpočty po umělou inteligenci. Pokud ho náhodou ještě neumíte, ukážeme si, že za 90 minut se ho zvládnete naučit taky.
import antigravity
")
[PYTH2]
Povídání o méně zmiňovaných částech Pythonu. Dekorátory, metaclasses, generátory, funkcionální styl programování v Pythonu. Jak napsat quicksort jako lambda funkci. Představení zajímavých modulů nejen ze standardní knihovny. Další témata dle přání účastníků: paralelní programování (asyncio, multiprocessing), síťová komunikace, GUI, matematické výpočty, propojení Pythonu s C, ...
Předpoklady: PYTHJazyk 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.
Je to Perl, a přitom to Perl není. Co je to? Aneb jak to dopadne, když se pokusíme navrhnout programovací jazyk budoucnosti a inspirovat se přitom filosofií Perlu. Typový systém, pokud zrovna chcete. Objekty, třídy a metatřídy. Periodická soustava (meta)operátorů. Definování jazyka v sobě samém. A co se to stalo s regulárními výrazy? Jak vypadají implementace P6 a kdy je prozatím lepší programovat na papíře. Praktické cvičení ve stavbě vzdušných zámků a bydlení v nich.
Tvrdí se, že číst kód je mnohdy těžší, než ho psát – dokonce i po sobě, stačí krátká doba.
Je několik obecně uznávaných pravidel, jak kód psát a jak ne, aby byl hezký a dobře čitelný.
Od základních (rozumná pojmenovací konvence, systematické odsazování),
až po to, kdy opravdu použít goto
, jak členit program na funkce a jak využít
nějaké třídy, moduly a podobně. Jak napsat užitečný komentář nebo dokumentaci.
A kdy se vyplatí se na všechna tato pravidla vybodnout.
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.
Společné filosofování nad programovacími jazyky a zejména nad tím, proč jsou všechny na draka, jen některé víc než jiné. Proč lze mít všechno na světě, jenže ne najednou. Proč je někdy lepší nechat programátora, aby si sedl na své vlastní vidle. Proč jsou některé vlastnosti jazyků na první pohled geniální, zatímco jiné (až) na ten druhý. Proč je důležitá hustota kódu a Huffmanův princip. Proč je někdy důležitější evoluce než revoluce.
Programátorské nástroje
Memory layout procesu, něco málo o alokaci paměti. Formáty souborů pro rychlé bastlení (NetPBM, Dot, pcap). Nástroje na hledání chyb (Sanitizers, Valgrind). To vše proloženo příklady bugů z praxe. Bude to hodně UNIXové a Cčkové.
Jak vyvíjet program delší dobu a nezbláznit se u toho. Různé systémy pro správu verzí od diff/patch přes CVS a SVN až ke Gitu. Jak Git funguje: stromy, commity, větve, tagy. Merge mezi větvemi nebo mezi různými počítači.
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é.
Výroba software není zdaleka jenom o programování. Ukážeme si, jak psát kód tak, aby nejenom fungoval, ale aby vyzařoval krásu a pokoj všem programátorům dobré vůle. Povíme si o různých způsobech testování, o tom jak udržet v kódu pořádek a dalších nástrojích, které pomáhají vyvíjet kvalitní software.
Předpoklady: Znát aspoň jeden příčetný programovací jazykOdlož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.
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.
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.
Sítě, Internet, web, bezpečnost
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: Základní přehled o sítíchCo 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ý.
Vyrábět složitější aplikaci čistě v Javascriptu a HTML může být trochu peklo, tak si ukážeme, jak se v tom neutopit. Vyrobíme si totiž magickou abstrakci a z každé části stránky uděláme jenom funkci, která dostane stav svojí části a vrátí HTML, které nám prohlížeč zobrazí. Pomocí toho se dá v aplikaci udělat hezky pořádek, tak si ukážeme jak se v tomto modelu dá naprogramovat všechno potřebné.
Předpoklady: Znalost JavaScriptuOrganizá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 kešovatelné. Případně také nahlédnutí do dalšího zákulisí KSPčka.
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 číselProgramá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.
Pod pokličkou – hardware, operační systémy, formáty
Unixové 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řednictví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ů?
Jak vypadá rozhraní mezi jádrem Linux a uživatelskými programy. Co se doopravdy
stane, pokud ve svém céčkovém programu zavoláme printf
nebo malloc
.
Jak napsat program, který vůbec nepotřebuje standardní céčkovou knihovnu.
Co všechno se umí chovat jako soubor a co jako signál.
Ako sú dáta uložené na disku? Rozdelenie disku na partície pomocou MBR a GPT schémy. Ako funguje FAT (12, 16, 32) a jej rozšírenia VFAT, TFAT. Krok dozadu v podobe exFAT. Linuxové filesystémy EXT2 až EXT4. Multiplatformový UDF nielen na optické disky. Čo použiť na SSD? A ak ostane čas, tak niečo o UBIFS používaný na flash pamätiach bez radiču.
Jeden z nejrozšířenějších formátů na předávání dokumentů má za sebou spletitou historii i dokumentaci. Ukážeme si, jak vypadá uvnitř a co se do něj dá uložit: grafické objekty, text, fonty, odkazy, všelijaké anotace a meta-data, a dokonce i kryptografické podpisy. Zmíníme se o profilech, třeba PDF/X a PDF/A. Při troše štěstí si vytvoříme jednoduchý PDF soubor ručně a možná půjde i otevřít.
Narozdíl od "normálních" jazyků se v SQL (a podobných) moc nepopisuje jak se má výsledek spočítat, jen kde se má sehnat. Co s tím tedy databáze bude dělat? Proč nebude mít 7mi hlavý JOIN hroznou složitost a proč možná ano. Co bude dělat když po ní budeme chtít transakce? Jak se dají ukládat data, aby byla bezpečně na disku a po ruce v RAMce?
Předpoklady: Alespoň trochu se s databázemi kamaráditCo se děje, když připojíme USB zařízení k počítači, jak počítač pozná, zda je to fleška nebo tiskárna a jak na ni přenese data.
Jak sobě pořídit vlastní elektronické zařízení, od schématu a návrhu PCB přes výrobu a osazení k oživení.
Matematické a fyzikální přednášky
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í.
Možná vás už také zarazilo, že některé fraktály nejsou ani dvourozměrné, ani třírozměrné, ale něco mezi tím. Pojďme se podívat, co to znamená. Cestou potkáme různé zajímavé partie matematiky (jako třeba metrické prostory a teorii míry) a různá podivuhodná zvířátka: Cantorovo diskontinuum, von Kochovu vločku a Hilbertovu křivku.
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.
Jak komunikovat po lince, která průměrně každý k-tý bit přenese špatně? Jak funguje diskové pole odolné proti selhání k disků? K tomu se hodí teorie samoopravných kódů, která nás naučí: vzdálenost slov a jejich souvislost s detekcí a opravou chyb, paritní a lineární kódy, perfektní kódy, Reed-Solomonovy a vůbec polynomiální kódy a několik dolních odhadů nádavkem. A jak s teorií kódů souvisí třeba čeština?
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 :–).
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.
return 0.5*dead + 0.5*alive;
")
[QC]
Stručný úvod do kvantového počítání. Kvantová superpozice stavů výpočtu a její kolaps při měření. Základní kvantové operace: negace, řízená negace, permutace, Hadamardovo hradlo, Tofolliho hradlo. Groverův algoritmus na hledání v odmocninovém čase. Kvantová Fourierova transformace a Shorův algoritmus pro faktorizaci.
Předpoklady: Znalost komplexních čísel je nutností, znalost lineární algebry výhodou.Při navrhování algoritmů a počítání jejich složitosti narazíme na celou řádku zajímavých a ne úplně triviálních kombinatorických problémů, a tak se naučíme, jak na ně. 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, rekurentní rovnice a princip inkluze a exkluze. Možná se také potkáme s Dlouhým, Širokým a poněkud zmatenou šatnářkou.
Možnosti zaměřování vysílačů - úhel příjmu (Angle of Arrival), Dopplerův posun, rozdíl v času příjmu (Time Difference of Arrival). Ukázka implementace pasivního radaru na běžně dostupném hardwaru.
Ostatní
Jak synchronizovat soubory, posílat maily, zálohovat, mít přitom všechna data pod kontrolou a nezbláznit se ze správy serverů? Ukážeme si, jak mít stejná data na všech svých chytrých zařízeních (Syncthing), jak si snadno pořídit mail server a "cloudové" úložiště (Mailinabox), vlastní VPNku, aby bylo vše hezky přístupné a aby poskytovatelé připojení nemohli šmírovat (WireGuard). Jak při tom všem nepřijít o data a pohodlně zálohovat.
Z předchozí přednášky máme představu o tom, jak vypadá pěkná sazba. K její výrobě nám pomůže typografický systém TeX. Praktická přednáška s ukázkami použití TeXu od hladké sazby knihy až po zběsilosti hraničící s programováním. Jak do TeXu vkládat obrázky a jak to raději nedělat. Kde shánět další informace: TeXbook, TeXbook naruby a další zajímavá literatura. Praktické rozdíly mezi různými dialekty TeXu. Všelijaká rozšíření: pdfTeX, eTeX, LuaTeX.
Nematfyzácké přednášky
Základní přehled toho, jak se vyhledávají, těží a upravují suroviny.
Výběr tanců, které pohledem matematika „fungují jinak“, než momentálně masověji tancované tance v ČR. Speciální nabídka s dobrým poměrem zábavnosti ku náročnosti (testováno na lidech po dobu minimálně několika generací). O tancích bude dopředu známa jejich anotace a časová náročnost na naučení. Volba konkrétních tanců, které se opravdu naučíme, proběhne účastníky 5 minut před začátkem přednášky. Kdo přijde pozdě, nevolí.
Ekonomika je process výroby, spotřeby a hlavně směny zboží a peněz. Děje se toho ale hromada, tak se v tom zmatku zkusíme trochu zorientovat a vymyslet jak tyto věci modelovat. Ukážeme si co jsou peníze, trh, akcie, dluhopisy, burzy a hlavně k čemu je to dobré? Jak funguje nabídka a poptávka na spotřebitelském trhu, jak to ovlivňuje marketing nebo jak toto funguje burzách. Kdo určuje cenu másla a kdo cenu Bitcoinu. Nebo třeba co je to suplement a komplement a proč firmy vyvíjí open source.
Cestování po české i zahraniční přírodě, občas s nějakou kulturou. Jak rozumně levně přespávat, jíst a přesouvat se? Co je fajn vzít si sebou, co s sebou radši nebrat? Jak to celé naplánovat? A kam se vlastně podívat? Na všechny tyto otázky si pokusíme odpovědět, podíváme se při tom také na fotky z pěkných míst (máte-li také nějaké hezké, které chcete ukázat, napište mi a domluvíme se).
Evoluční teorie je asi jedním z největších převratů v lidském náhledu na svět. Jak se na takovou věc vůbec přišlo, proč to tak dlouho trvalo a proč si myslíme, že je to pravda? Jak si to vše alespoň trochu představit? Mnoho nečekaných překvapení, informatické a fyzikální souvislosti. Proč jsou stromy vysoké, jak souvisí pohlavní rozmnožování s počítačovou bezpečností, co má evoluce společného s Windows a co s halting problémem?
Předpoklady: Základní přednáška nevyžadující předchozí biologické znalosti.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?
Chtěli jste někdy podpořit nějakou charitu a přispět na dobrou věc? (Nebo vás zastavil někdo na ulici a chtěl to po vás?) Ale možností je hrozně moc, jak si vybrat? Přemýšleli jste někdy o tom, co se děje s vašimi peněži poté, co je darujete, a jaký mají reálný dopad? Přesně tyto otázky si klade hnutí efektivního altruismu, které se snaží vědeckými metodami zkoumat účinnost jak konkrétních charitativních organizací, tak obecně různých druhů pomoci / „dělání dobra“. Efektivita se mezi nimi často liší i o několik řádů. Jak se taková věc zkoumá a na co se přišlo? Kolik stojí zachránit jeden život?
Utrpení zvířat způsobené lidmi je celkem rozsáhlý a velmi přehlížený problém. Zkusíme se na tento problém podívat ve faktech a číslech. Zaměříme se převážně na zemědělské velkochovy, kde je problém největší rozsahem (cca 20 miliard zvířat celosvětově), ale přijde řeč i na další situace (kožešinové farmy, laboratoře, útulky). Jak vypadají životní podmínky různých druhů zvířat v různých situacích a kolik jich je. Legislativní ochrana zvířat či spíš její absence. Možná řešení a jejich úskalí: tlak na zlepšení podmínek (legislativní, spotřebitelský, corporate outreach), vegetariánství/veganství/reduktariánství, ekologické zemědělství. Zdravotní, ekologické a ekonomické aspekty výroby a spotřeby živočišných produktů. Něco málo o utrpení zvířat v divoké přírodě. Trocha filozofování o vědomí a vnitřním životě zvířat.
Základy první pomoci. Co dělat s člověkem v bezvědomí? Co dělat s člověkem, který nedýchá (a jak to poznáme)? Kdy a jak volat záchranku? Psychologie a bystander effect, aneb proč musíte zasáhnout vy a nikdo z čumilů kolem to za vás neudělá. 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 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.
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.
Čá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, ...
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.
Cestování po železnici už dlouho patří do života mnoha z nás. Kolik o ní ale víme? Trocha historie, zajímavosti z předpisů, pár pohledů za hranice. Jak se staví trať, jak vlak a jak to všechno, když už to je hotové, skloubit do fungujícího systému. Čím se zajišťuje bezpečnost (a jak může z pohledu systému vlak prostě odletět) a k čemu jsou všechna ta návěstidla u tratí.
Jak a kudy vedou ve vlaku kabely, jak se propojují mezi sebou a mezi vozy a co si z toho vzít do života bastlíře.