Přihlášené abstrakty

Obtížnosti
začátečníci pokročilí hackeři

Přednášky

Vyhledávejte na netu jako MacGyver (Michal Špaček)

Když něco neznám a chci to najít, tak použiju … Google. No jo, ale co když chci najít veřejně přístupné a na Internet připojené web kamery, nebo elektrárny? Nebo napadené databáze a ukradená hesla? Nebo třeba HTTPS certifikáty, které často odhalí testovací a hůře zabezpečené nebo zapomenuté servery? Co by udělal MacGyver? No, přišel by na tuhle přednášku. Ukážeme si Certificate Transparency, vyhledávač Shodan, neobvyklé dotazy do Google a další tipy a triky.

UEFI: Dobrý sluha nebo zlý pán? (Radek Zajíc)

Specifikace UEFI si klade za cíl jednoho dne plně nahradit IBM PC BIOS a sjednotit proces startování počítače napříč platformami. Přináší podporu některých zajímavých technologií, odstraňuje limity PC BIOSu. Zároveň ale přináší omezení. Co vše UEFI nabízí? Co nám bere? Jaké verze se používají? Jaký je vlastně rozdíl mezi legacy bootem (v režimu PC BIOSu) a UEFI bootem? Existuje důvod, proč startovat počítač pomocí legacy bootu, i když má funkční UEFI implementaci? Jak jsou na tom s podporou UEFI rozšířující karty a startování po síti? A jak je na tom s podporou UEFI ekosystém kolem GNU/Linuxu? I o tom si povíme v této přednášce.

Bezpečné používání linuxového desktopu (Martin Vicián)

Přednáška bude obsahovat několik doporučení na bezpečnou instalaci, bootování a používání linuxového desktopu. Mimo jiné ukážu, jak zabezpečit Thunderbolt rozhraní a proč nevěřit zaheslovanému biosu. V závěru se podíváme na bezpečnost čínské linuxové distribuce Deepin.

Meltdownem to neskončilo. L1TF, POP SS, TLBleed a další. (Vojtěch Pavlík)

Meltdown a Spectre nás vystrašily z kraje roku, ale tím to neskončilo, následovala celá řada dalších zádrhelů v procesorech. Tato přednáška se pokusí rozklíčovat co pod jejich jmény je, co se s nimi dá dělat a jak jsou, či nejsou nebezpečné.

SMTP bezpečně aneb nezapomněli jsme na poštu? (Tomáš Hála)

HTTPS se rozšiřuje nebývalým tempem a web je tak čím dál více chráněn proti nežádoucím zásahům třetích stran. Nezapomněli jsme ale na poštu? Asi nechceme, aby někdo cizí četl naší korespondenci nebo do ní dokonce zasahoval. Šifrování přístupu ke schránce a při odesílání zprávy si můžeme ohlídat, ale je email nějak chráněn ve chvíli, kdy si ho předávají poštovní servery? Jaké jsou možnosti zabezpečení SMTP a jak poznám poskytovatele, který mé emaily chrání? Budeme si povídat o protokolech DANE a MTA-STS.

Jak se píše doplňování v shellu (Karel Kočí)

Napíšeme jen pár počátečních písmen a zmáčkneme tabulátor a máme zbytek, nebo když nevíme jak dál tak znovu a vybereme z nabídky. Pro lidi od příkazové řádky zcela přirozený a bezmyšlenkový úkon. Ale co dělat když místo volby dostaneme v nabídce soubory z aktuálního adresáře? Přesně o tomto bude tato přednáška. Dozvíte se jak napsat jednoduchou doplňovací funkci pro bash a zsh. Nepůjdeme hluboko do niter doplňování, nýbrž si raději ukážeme jak zajistit doplňování jednotlivých typů obsahu.

Toto je volné pokračování nestihnuté přednášky z minulého LinuxDays která se jmenovala: Tipy a triky v shellu. Výrazná část zbytku přednášky se totiž zabývala doplňováním.

How not to write software (Michal Hrusecky)

I've been package maintainer for quite some time. Nowadays I'm old and grumpy. And I would like to share some of my experience and grumpiness and tell you what are the well known errors that everybody is doing over and over again. Maybe it will help you to be a better developer. Maybe it will point you to a new creative ways how to write unusable software and how to make life of people that have to maintain your mess as miserable as possible. That's up to you.

Syncthing: synchronizace souborů bez cloudu (Petr Krčmář)

Je běžné, že máme více počítačů, do toho mobil, tablet a možná ještě něco navíc. Jak mezi všemi zařízeními přenášet soubory? Ukážeme si synchronizaci pomocí Syncthing.

Linuxový desktop a reálie veřejného sektoru (Ondřej Koch)

V NTK přes ulici máme na 150 veřejných PC Fedoru. Nasadili jsme to za 3 dny. Je tam LibreOffice, darktable, git nebo gcc, používáme k tomu Sambu i NFS a aby to bylo cool, tak i Ansible. Kromě toho máme valnou většinu věcí na Linuxu (řízení sítě, digital signage, řízení AV techniky a hromady jiného lepidla) a bude toho čím dál víc. Zajímá-li vás, jak se to celé stalo, co jde s Linuxem dělat a co všechno by si mohl náš oblíbený veřejný sektor odpustit, kdyby jej laskavě na vhodných místech používal, přijďte si poslechnout lidi z IT ve zdech té knihovny/studovny přes ulici. Třeba někoho zvládneme inspirovat.

Go vs. Rust aneb porovnání dvou progresivních kompilovaných jazyků (Pavel Tišnovský)

V oblasti statických programovacích jazyků překládaných do nativního kódu vládl ještě před deseti lety jakýsi status quo - mezi nejpoužívanější jazyky patřila úspěšná dvojice C a C++. Změna nastala po příchodu jazyků Rust a Go, díky nimž byly i do této oblasti vneseny nové myšlenky. Vzhledem k tomu, že Rust a Go se snaží řešit mnohdy ty stejné problémy odlišnými způsoby, je na místě si tyto jazyky porovnat a zjistit, který z nich je pro určitou oblast výhodnější.

Když se Linux nevejde (Lenka Kosková Třísková)

Co dělat, když se Linux nevejde nebo nejde použít, protože cílové zařízení je pomalé, má málo paměti a nevhodnou architekturu? Přehled miniaturních operačních systémů a jejich možných aplikací.

Od Monga k PostgreSQL. Proč? (Pavel Kácha)

Narostou-li poněkud zajímavě strukturovaná JSONová data na větší než malá množství, začne se jejich zpracování komplikovat. Je-li ve hře požadavek na rychlý zápis a vícerozměrné dotazy, výběr nástrojů se úží, a použití dokumentové databáze, která na začátku vypadala jako přirozený kandidát, se může ukázat vším, jen ne pověstnou zlatou střelou - od komplikací s nedeterminismem, přes umělá omezení databázového enginu, až po algoritmické limity.

PGP everywhere (Michal Hrusecky)

PGP and it's opensource implementation GPG is mostly known as a way to sign tarballs or encrypt e-mails. What else could it be good for? And if we are using it for "everything", how to make sure to have your key always with you in a secure way?

Jak GNU grep funguje uvnitř (Ondřej Guth)

Přednáška volně navazuje na povídání o grepu z loňských LinuxDays. Zaměříme se na některé další algoritmy a triky, díky kterým umí nástroj GNU grep vyhledávat tak rychle. Zejména se podíváme na případ, kdy hledáme výskyty více výrazů najednou. S algoritmem se seznámíme nejen teoreticky, ale ukážeme si i jeho praktické využití ve zdrojácích grepu.

Zálohuj s BTRFS (Josef Jebavý)

Popis filesystemu BTRFS - výhody a a novinky oproti běžným filesystémům. Inspirace jak filesystém BTRFS využít k zálohovaní.

(R)evolution of IoT botnets (Jan Neduchal)

This talk will go over the history of Internet of Things (IoT) botnets and their current standing in the malware industry. Firstly I will talk about overview of the current and past threats in the IoT field. Then, we will discuss how one can(not) protect their network against IoT malware. Lastly I will show you how easy it is to build an IoT botnet nowadays from the perspective of a script kiddie or an experienced developer.

vpsFree.cz: vyvíjíme vlastní hardware (Pavel Šnajdr)

Krátká přednáška představující novou aktivitu spolku vpsFree.cz - vývoj vlastní tzv. microserver platformy. Projekt je v rané fázi, LinuxDays jsou vhodná platforma k otevření diskuze se širší komunitou, s cílem zapracovat připomínky do vývoje a snad i přilákat nové přispěvatele k snaze více otevčít samotný hardware, když už otevřený software bereme jako samozřejmost ;-)

Literární adminování (Ondra Kudlík)

Používáte na serverech Bash? Zsh? A jak hledáte v historii? Děláte sami nebo s
kolegy? Dokumentujete? Vzpomenete si po dvou letech, jak jste tenkrát rozjížděli
Galera Cluster?

Postupů jak řešit administraci serverů je spoustu. Chtěl bych vám ukázat
postupy, které používáme v igloonetu při nasazování nových věcí pro nás i
zákazníky.

Pokud jste byli na naší přednášce na loňském OpenAltu, nebojte se,
nerecyklujeme. I když kousek určitě stejný bude.

Budoucnost distribuce SW v Linuxu (Tomáš Chvátal)

Co a jak se dnes dela v distribucnich baliccich a jake problemy pro vas linuxove distribuce resi.
Co vse nas muze potkat pri aktualizacich a novych instalacich v nasledujicich letech. Jsou kontejnery vazne vyhra? Nebo se radeji vy/vrhneme na flatpack?

Zálohy vs. GDPR (Marek Galinski)

GDPR, resp. jeho lokálne zákonné úpravy, na jednej strane požadujú, aby prevádzkovatelia, ktorí spracovávajú osobné údaje svojich klientov alebo používateľov boli pripravení dáta v prípade poruchy obnoviť, na druhej strane požaduje, aby sa údaje osoby, ktorá si o to požiada, boli bezodkladne vymazané. Toto pravidlo predstavuje problém či už pre prevádzkovateľov, ktorí používajú agregované úložiská, alebo inkrementálne zálohy či blockchain. Prídite na prednášku, povieme si, ako potreby európskych úradníkov aspoň trochu uspokojiť, a ako hľadať symbiózu medzi nariadením a zdravým rozumom.

Správa DNS zónových souborů v Gitu (Ondřej Caletka)

V přednášce představím způsob, jakým udržovat DNS záznamy v Gitovském repozitáři a to takovým způsobem, aby nebylo úplně snadné DNS rozbít.

Egovernment v Česku (Ondřej Profant)

Od základních registrů až k portálu občana. Aneb český egoverment.

Zavaděč U-Boot snadno a rychle (Marek Vašut)

U-Boot je mnoho let dominantním zavaděčem v odvětví embedded zařízení, od levných vývojových desek až po družice. Díky velké komunitě prochází živelným vývojem, který může být pro běžného uživatele těžké sledovat.

Přednáška začne představením zavaděče U-Boot, jeho překladem ze zdrojového kódu a spuštěním bez potřeby vývojové desky. Dále bude představen U-Boot Driver Model, tedy jak implementovat ovladače pro U-Boot moderně. Zároveň bude vysvětlena interakce mezi Driver Modelem a Device Tree, z kterého U-Boot umí vyčíst topologii hardwaru a tím odpadá nutnost natvrdo zakódovat tuto topologii to binárky zavaděče. Závěr přednášky se zaměří na optimalizace velikosti zavaděče a jeho použití na systémech s omezenou pamětí.

Infrastructre which heals itself (David Becvarik)

IT is quickly evolving, we created a lot of awesome tools, we have Kubernetes which added API to our infrastructure. We have easy access to all metrics via projects like Istio and Prometheus. Framework like pandas helps us to analyze and learn quickly from data we collect. However we are still stuck with Ansible, puppet and a wikis and a lot of tools which we us to semi-automate our infrastructure. There must be something better! Lets see how we can connect all the tools we have to implement Operators which can maintain and fix common issues in our Infrastructure for us.

Gitlab CI + Docker (Ondrej Sika)

Gitlab má integrované CI a je škoda jej nepoužívat. Ukážeme si jak pomoci něj jednoduše sestavovat, testovat a nasazovat aplikace. A to vše pomoci Dockeru. Všechno z přednášky si také můžete vyzkoušet na workshopu který proběhne po ní.

Hakuna Matata - Account Lifecycle Management (Per Thorsheim, Michal Špaček)

This talk will start with the fundamental question "do you actually need an account to do that?", before we take you through the entire process of creating, securing, maintaining, recovering and finally deleting accounts. We will talk about pin & password security, 2-step verification & 2-factor authentcation, including mail, sms, HOTP/TOTP or push-based 2FA. Handling attack vectors such as SIM swapping & ID theft will also be mentioned. With a nudge to GDPR, we will also talk about the difficulty of doing proper identification online. Last but not least we'll talk about how to delete your account when you're dead.

Test driven development for sysadmins (Michal Halenka)

Test driven development is 20 years old approach used exclusively by developers. Now it's time to bring benefits of this method to sysadmins managing their infrastructure. We will take a look on creating infrastructure with ansible roles along with TDD aproach, resulting in ability to test this role on multiple instances/operating systems/distributions, with variety of test frameworks and testing scenarios.

WebAssembly - nová nejen webová technologie (Tom Marius)

WebAssembly je nová technologie - jednoduše verifikovatelný paměťově bezpečný binární formát pro modulární aplikace. Původní účel WebAssembly jsou webové aplikace, ale vývojáři specifikace kladou důraz na univerzalitu, a tak se pojďme podívat, jak to funguje a co všechno se s WebAssembly dá dělat.

(g)awk in a nutshell (Lukáš Bařinka)

Průlet světem skriptovacího jazyka 'awk' a jeho GNU varianty 'gawk'. V rychlosti představím tento tradiční jazyk i jeho použití pro začátečníky a poté se postupně dostaneme ke GNU verzi tohoto jazyka. Uvidíte také, že i tento jazyk se stále vyvíjí a jaké jsou jeho nejnovější možnosti. Přednáška je určena především těm, kteří by rádi zpracovávali data, ale nechce se jim učit jazyk 'perl'.

NixOS (Richard Marko, Pavel Šnajdr)

Pojdte se podivat, jak vypada DevOps z jineho sveta. Ze sveta cisteho a deklarativne, funkcionalne definovaneho. Jak by vypadala Vas styl prace, kdybyste meli distribuci, ktera ma spravce baliku (a la Apt) a konfiguracni spravu (a la Ansible), v jednom?

STM32 - od registrů po Arduino (Petr Šrámek)

Co je mikrokontrolér STM32.
Najdeme ten správný mikrokontrolér v záplavě STM32.
Jaké jsou k dispozici vývojové kity.
Čím s v čem je programovat a jaké jsou rozdíly mezi jednotlivými přístupy.
Jak programovat STM32 v Arduino IDE.

Otevřená města (Ondřej Profant)

Otevřená města: obce spolupracující na vývoji a propagaci open řešení.

How are we building Turris OS 4.0 (Michal Hrusecky)

Turris OS is a Linux distribution for Turris routers. We have upstream - OpenWRT - to integrate with, but we also have our own features and sometimes they go against each other. With Turris OS 4.0, we are changing the workflow to be able to integrate upstream distribution changes faster. What are our challenges and how we developing our downstream distribution? I'll show you in this talk.

Užitečná browser APIs (Pavol Hejný)

Jak tvořit velké a komplexní aplikace přímo na webu? V krátkosti vám ukážu nejzajímavější a podle mě nejdůležitější javascriptové Browser APIs, které vám při tom pomohou:

WebSockets - Pro tvorbu real-time aplikací
WebWorkers - Paralelizace
FileReader - Práce se soubory
LocalStorage, IndexedDB - Srovnání perzistentních uložišť v prohlížeči
WebGl, WebVR - 3D na webu
Web Audio/Video - Média na webu
Fullscreen API, Pointer Lock API - Pro vývoj her

Proč věnovat čas začátečníkům? (Michal Rybka)

Proč je dobré předávat zkušenosti mladým a začínajícím? Jak se vám může předávaná energie vrátit? Co lze vše dokázat, když nevíte, že to nejde? Lze dělat práci a přitom si splnit sny a dělat radost? Jak to mají děti a proč nám mohou být dobrou inspirací?

Pokročilé bootloadery pro AVR (Petr Stehlík)

Představení pokročilých bootloaderů pro mikrokontroléry Atmel AVR (tedy i malá Arduina) s možností šifrování. Může se hodit například pokud máte v programu tajné přihlašovací údaje někam do cloudu (IoT FTW!) a nechcete, aby si je každý kolemjdoucí mohl přečíst.

Surviving in the world of holes (Iva Glazarová)

Lead:
- Describe high risk vulnerabilities discovered in past year
- Statistic about vulnerabilities discovered per week
- Describe corporate challenges to stay current
- Time spent on patching In typical company

deeper dive:
- The need of having a Patching strategy
- Know your environment
- Understand variability
- Better be safe than sorry
- Reduce attack surface => Trimming Linux installation
- Reduce downtime => KSplice/KPatch
- Plan, test, implement, rinse and repeat

Learnigs:
- Company without patching strategy is like truck company without oil change plan
- Solving patching strategy gives you more time for innovation and added value things
- No patching means disaster awaiting

Multi-Gigabit Ethernet for enthusiasts and small businesses (Adam Kalisz)

How to implement up to 10 Gigabit Ethernet on the budget for enthusiast and small business networks? This talk focuses more on networking hardware and some tips for advanced usage (like hidden full CLI access). The next theme is Aquantia NIC behaviour with GNU/ Linux and some general tips and tricks.

Hybridní cloud a databázové aplikace (Tomáš Vondra)

Hybridní cloud má mnoho podob. Zaměříme se provoz jedné aplikace ve dvou lokalitách, kdy je požadavak na konzistenci dat v databázi. Prodiskutujeme možnosti - buď vzdálený přístup k databázi na primární lokalitě z lokality druhé a nebo replikaci. Obě možnosti mají své dopady na výkon a cenu za uložení a přenos dat v cloudu. Nastíníme metodu měření a výpočtu obou těchto parametrů a ukážeme si dva modelové případy.

PGP Key Signing Party (Emil Miler, Pavel Dostál)

Přednáška předcházející samotné Key Signing Party. Jejím cílem je vysvětlit princip kryptografických podpisů, jak takové podpisy fungují, k čemu to vlastně je a jak bude probíhat KSP. Zkrátka jde o přípravu na workshop.

Kvadrokoptéry a open-source (Karel Kočí)

To jsou ty drony co nám lítají nad hlavou, sledují nás, budou na nás shazovat bomby a doručovat balíky. Tak o tomhle tahle přednáška není. Za světem mediálního strašáku je docela dost zajímavý koníček: RC (FPV) létání. Který je nebezpečný jen majitelově peněžence a možná okolním přihlížejícím. Prostě né moc levná zábava v hávu moderních technologií. V této přednášce si rozebereme jednotlivé části kvadrokoptéry a představíme si open-source projekty které takovým rozborem nalezneme. Dozvíte se jak taková kvadrokoptéra létá a hlavně co jí pohání uvnitř. Možná budete překvapeni co vše je na takové hračce open-source.

Dynamic Analysis in Practice (Miroslav Franc)

Dynamic vs. Static Analysis. A bit of History of the dynamic analysis. C vs. C++ approach of doing things and mixing the two languages. Valgrind vs. Sanitizers. What are the advantages and/or disadvantages of using one tool over the other? Types of bugs you can catch along with some related C and C++ patterns and antipatterns.

Language Server Protocol aneb jak si vytvořit modulární IDE (nejenom) z Vimu (Pavel Tišnovský)

LSP neboli Language Server Protocol je definice protokolu založeného na JSONu, který se používá pro komunikaci mezi IDE či programátorskými textovými editory a specializovanými servery nabízejícími například funkce refaktoringu kódu, Díky LSP je možné do již existujících IDE relativně snadno přidat podporu pro nový programovací jazyk a dokonce je možné nakonfigurovat textový editor Vim takovým způsobem, aby ho bylo (konečně!) možné použít jako plnohodnotné IDE se všemi očekávanými funkcemi. Na této přednášce si řekneme základní informace o LSP i o způsobu jeho použití společně s Vimem.

Proč se (na)učit Golang (Jan Seidl)

Lehký úvod do jednoho z nejpopularnějších jazyku posledních let. Jednoduchý jazyk který se výborně hodí pro systémové nastroje a pro opensource projekty. Vždyť například docker a kubernetes jsou napsány v Go.

Dozvíte se co mi na Go příjde skvělé a co na něm opravdu nesnáším. Na co se hodí a no co spíš ne. Určitě se dotknu témat jako dependence, konkurence, error handling a mnoha dalších..

Přednáška je vhodná pro všechny, kteří se o Go chtějí dozvědět něco víc.

Flatpak Sucks Balls (Lukas Vacek)

Povidani o nejvetsich problemech ktere zpusobuje a odmita resit flatpak (bezpecnost, integrace, architektura). Ukazeme si nejaky ten 0day a tak.

Rešení problematiky pomalých aplikací v Pythonu s využitím nástrojů Cython a Numba (Pavel Tišnovský)

V této přednášce si popíšeme princip činnosti projektů Cython a Numba, které mají společný cíl - urychlit běh programů psaných v Pythonu - ovšem každý z těchto nástrojů tento problém řeší odlišným způsobem.Ukážeme si, kdy může být výhodnější použití Cythonu (se statickým překladačem) a kdy naopak projektu Numba s JIT překladačem.

Network change management and continuous integration in the age of NetDevOps (Matyas Prokop)

What does continuous delivery and integration means for the network engineer? How can the benefits of software tools used in source control brings to network engineers and developers together? If you are the network engineer and you haven't been sleeping for the last couple of years you know that today everything is about network automation and how to run, deploy and manage the infrastructure as code. This presentation will explain how to integrate a GitLab CI/CD pipeline with open source tools such as Vagrant or Ansible, to the 'legacy hardware' like Cisco routers and switches but also to software defined network like Cisco ACI (Application Centric Infrastructure) or Cumulus.

How to protect your edges over the globe? Send it to the Sinkhole! (Jan Hejl)

Why and how we protect the platform to make sure unwanted requests don't harm it.
From time to time, a hacker tries to guess our users' passwords or otherwise misuse any other microservice. Since we want the services available to serve our customers, rather than being busy serving script kiddies, we developed our own distributed protection system to protect the platform on the edges.
We will walk you through the architecture of our solution and share what we learned during the process of setting it up and how it works in real life.

Log management ELISA (Lukáš Malý)

ELISA je robustní, výkonné, přitom však levné řešení pro sběr, korelace a analýzu logů. Jádrem systému je ElasticSearch s uživatelským rozhraním Kibana, které poskytuje vysoký komfort při analýze detekovaných bezpečnostních incidentů a relevantních logů. ELISA je konfigurována monitorovacím systémem Zabbix, který je integrován do tohoto řešení.

eduroam.cz - monitoring infrastruktury a detekce problémů (Václav Mach)

eduroam je mezinárodní roamingová federace, která umožňuje jednoduché síťové připojení akademickým uživatelům v 23302 lokalitách v 90 zemích po celém světě.

V rámci prezentace ukážeme, jak jsme v roce 2018 modernizovali monitoring infrastruktury a vylepšili automatickou detekci problémů na straně Identity a Service providerů.

Novinky v NodeMCU Lua pro ESP8266 (Petr Stehlík)

Shrnutí novinek ve vývoji NodeMCU (=Lua) pro ESP8266 (a ESP32) za poslední rok. Víte, že už můžete psát stokrát delší programy, co se ani nevejdou do paměti?

Restic - další zálohovací software (Věroš Kaplan)

Existuje spousta zálohovacích softwarů a některé z nich dokonce umí i obnovovat. Po otestování různých softwarů jsme si pro zálohování a obnovu vybrali restic.

Oproti klasickým zálohovacím softwarům, které zakládají plné, rozdílové a diferenciální zálohy funguje restic trošku jinak.

Na přednášce si ukážeme, jak ta věc funguje, jak ho použít, kam ukládat a proti čemu nás může ochránit.
A bude-li všechno fungovat, zkusíme zálohovat a obnovit

Vytvořte si svůj doplněk pro prohlížeč díky WebExtensions (Jakub Rychlý)

WebExtensions API je nové rozhraní pro tvorbu doplňků, které mohou fungovat ve všech hlavních prohlížečích (od Firefoxu přes Chrome po Edge), dokonce i ve Firefoxu pro Android. Projdeme, jak takové doplňky vypadají navenek i uvnitř, kde hledat potřebnou dokumentaci a pomoc při vývoji a samozřejmě si každý zkusí nějaký malý doplněk vyrobit. Dále si povíme něco o tom, jak dnes doplňky využit v praxi a jak si díky nim usnadnit práci.

Rust: why you want to learn it (Michal Vaner)

I hope you've already heard about Rust, the relatively new systems programming language. Yes, the one that was officially released 3 years ago and is winning Stack Overflow's „Most loved programming language“ since. Let's look at what is so special about it (the good and the bad), where it stands and why it is a good candidate to add into your toolbox.

Qt a C++, multiplatformní aplikace s GUI snadno a rychle (Ondřej Kolín)

Qt je jeden z nejrozšířenějších grafických frameworků pro C++. V přednášce bych ho chtěl v krátkosti představit a na přednášku by mohl navazovat workshop

vpsAdminOS: moderní náhrada za OpenVZ (Richard Marko)

vpsAdminOS je kompletní řešení pro hostování systémových kontejnerů ("skoro jako plný virtuál") vyvinutý spolkem vpsFree.cz jako nástupce přesluhujícího OpenVZ. Přednáška má za cíl posluchače seznámit s architekturou OS, způsoby jeho nasazení a jeho ovládáním s praktickou ukázkou.

eduroam.cz - správa a deployment pomocí Ansible (Jan Tomášek)

eduroam je mezinárodní roamingová federace, která umožňuje jednoduché síťové připojení akademickým uživatelům v 23302 lokalitách v 90 zemích po celém světě. V rámci prezentace ukážeme, jak na CESNETu pomocí Ansible spravujeme v HA režimu národní Radius zprostředkující roaming uživatelů jak v ČR, tak do zahraničí.

Welcome to Containerland (Fabian Thorns)

Docker and Kubernetes, for many, have revolutionized how applications are deployed. While more and more companies are considering the use of containers, they must contend with misconceptions around the implications of containers. Confusion regarding software design, suitable use cases and deployment methodology continues to exist. This talk recaps the idea behind application containers, explains the role of orchestration tools and summarizes the concepts behind Docker and Kubernetes as well as their implications on the design of containerized applications.

Free and Open Source Licences (Fabian Thorns)

This talk gives an introduction into licencing used for free and open source software. It explains the unique characteristics of open source and free software, gives an overview of the major types of free software licences and introduces the most commonly used ones. The talk also gives practical hints for using, creating, modifying and distributing free software. This talk does not require any previous law or licencing knowledge.

Kubernetes dockeru zbavené (Martin Stiborský)

Docker není ani zdaleka jediné řešení, jak na Linuxu spustit aplikaci v kontejneru. Existují jiné a v některých případech i lepší varianty. Jednou z nich je CRI-O, které chci představit jako container runtime pro Kubernetes, včetně všech nástrojů kolem, které nahrazují docker.

V čem spočívá síla jazyka R? (Petr Štěpánek)

Cílem příspěvku je seznámit publikum s možnostmi využití jazyka R v oblasti statistického hodnocení dat. Posluchač získá základní informace o jazyce R, nejpoužívanější GUI. Dále budou prezentovány nejpoužívanější nástroje s jejichž pomocí lze generovat reporty, nebo prezentovat výsledky formou webové aplikace. Přednáška bude doplněna ukázkami.

12 steps to immortal app (Tomáš Bedřich)

Today we talk a lot about various libs, languages, orchestrators etc. Do you know, what they have in common? Nobody will care about them in 10 years. Let's talk about how to write an app to survive next 3 virtualization solutions, maybe even till IPv8 becomes real. :)

We will learn what "Twelve-Factor App" is, how to write one and maybe something about technologies which may help you with writing and maintaining such app. There will be some examples in Python, but don't worry, we will focus mainly on basic concepts of Unix.

This talk is highly recommended to web developers as well as other developers concerned about high variability and smooth integration of their apps to existing and future systems.

Jak se zabydlet na virtuálním serveru 2/2 (Tomáš Vondra)

Když si objednáte u nějakého poskytovatele virtuální server čili VPS, dostanete často jen holý Linux a čeká na Vás pár úkolů, které byste měli udělat, aby Vám server dobře sloužil. Minule na InstallFestu jsme probrali, jak se na VPS dostat, nastavit si správně heslo nebo lépe autentizaci klíčem a nainstalovat a nastavit nějaké služby. Tentokrát se dostaneme k bezpečnosti, kdy si nastavíme si firewall a blokování útoků na server, a také k monitoringu funkčnímu a výkonnostnímu, aby nám server hezky šlapal a nebyly s ním starosti.

Organizujte se s org-mode (Ondra Kudlík)

Máte chaos v poznámkách, zapomínáte na schůzky? Papíry, 5 online systémů, 3 v mobilu, něco v mailech? Nebo ve všem pořádek, ale stojí to dost úsilí?

Přijďte si poslechnout, s čím vším vám může org-mode pomoci nejen při organizaci času, poznámek, záložek a skriptů. Dozvíte se, co všechno jsem už pro podobné úkoly vyzkoušel, jak se dá implementovat GTD, pracovat i z mobilu a navíc bez cizích cloudů.

New features in XFS and device mapper in practice (Adam Kalisz)

What are the new features in XFS? How can we use the functionality such as reflinks, what has to be taken into account while setting up? How can we work with device mapper for higher storage reliability and performance using dm-cache, dm-integrity and dm-raid?
This talk aims to be a solid starting point for exploring new approaches to storage use on production systems. The talk caters specifically to advanced users and administrators but can be interesting for backup and storage solution developers also.

The "schedutil" frequency scaling governor for the Linux kernel (Giovanni Gherdovich)

Schedutil is a cpufreq governor that uses scheduler utilization data (the PELT number) to select CPUs’ operating frequencies. The PELT number is per-process (as opposed to being per-core), so its value isn’t lost when the process migrates across CPUs -- this is beneficial for making decisions about how fast the CPU has to run. Schedutil is fundamentally different from the current best-in-class governors, that read per-core utilization values (such as intel_pstate on x86) or delegate the matter of frequency selection entirely to the platform (HWP on x86, CPPC on ARM). We’ll review schedutil’s recent developments and present experimental results of its performance in a few practical scenarios.

How I learned to use MySQL slow log (David Karban)

7 years ago, The Slow Query Log was only a tool to eliminate the slowest queries to me. But how about the quick but frequent ones? And how to filter important ones? In this talk I will show you how slow log evolved over time, how to setup it and get most info about your queries.

IOT může pomáhat i ještěrkám a žábám! (Ondřej Flídr)

IOT, to nejsou jenom chytré lavičky, lampy a měřiče znečištění. Když jsem si pořídil terárium s felsumami a pralesničkami, řešil jsem zásadní úkol - jak řídit osvětlení a topení, i když nejsem doma. Výsledkem je systém Teramon - pár skriptů v pythonu, Raspberry PI a digitální teploměry a vlhkoměry. Ukážeme si, jak může systém vypadat, co všechno a za kolik pořídit a jak to celé propojit dohromady, aby ještěrky a žabky byly spokojené. A to všechno open source.

Silverblue: neměnný OS v linuxovém desktopu (Jiří Eischmann)

Team Silverblue je projekt, který se snaží přenést tradiční distribuci Fedora založenou na balíčkovacím systému do konceptu neměnného systému. Základní systém funguje jako neměnný celek spravovaný OSTree, aplikace fungují nezávisle na systému. Přednáška představí specifika systému, jeho výhody a omezení, praktické zkušenosti z používání na desktopu a vize do budoucna.

Connecting External services to Kubernetes (jakub veverka)

So you have your k8s cluster to run and operate your services, but not everything is fit to run in kubernetes.
There's always that manual step of setting up resources external to your k8s cluster (external database, SaaS resource, legacy resource, etc) and configuring your k8s app to connect to it.
Well there is a handy concept called Service Catalog that gives you ability to manage and access external resources as any other k8s object.
Let me introduce you concept behind Service Catalog in this talk.
I will walk you through the logic of Service Catalog and Service Brokers, show you how to create external database from within k8s cluster and pass connection configuration to application running in k8s.

Is it Free? Is it open source? Builing minimal containers from scratch and everything from source to question Opennes of the Open Source World (Konstantin Ignatov)

We are already used to proprietary blobs in Linux kernel. We close our eyes when it comes to non-trivial javascript application ran in our browser. It feels like we can't do anything with binary APKs on our Android phones. There is even no need to mention i-kind of things here.
But when we open some popular project Git repo and when we see a good truly free license in COPYING.md file, are we sure it is really open source? I.e. can we just clone the repository and build the thing? Without non-proprietary compilers, libraries and build systems?
No.

In this talk I will not even try to talk about licensing and laws. I'll just use some Gentoo to build some OCI containers with docker - from scratch. i.e. trying to avoid as much prebuilt dependencies as I can.

Running your own mainframe on Linux (for fun and profit) (Jeroen Baten)

Yes, this talk is about running your own mainframe on your own hardware. Mainframes are old, yes, but they are still very much alive. New hardware is still being developed and there are a lot of fresh jobs in this area too. A lot of mainframes run COBOL workloads. COBOL is far from a dead language. It processes an estimated 85% of all business transactions, and 5 billion lines of new COBOL code are written every year. In this session the speaker will help you in taking your first steps towards running your own mainframe. After a presentation to get familiar with the environment there is a small demo to show you how it really works. If you like then after this session you can continue to build your knowledge of mainframe systems using the links provided during the talk. Come on in and learn the basics of a completely different computer system! And it will take you less than an hour to do that!

BigClown - OSH nejen pro kutily (Štěpán Bechynský)

BigClown je český OSH a OSS projekt pro kutily s přesahem do průmyslových IoT projektů. V přednášce uvidíte praktickou ukázku sestavení zařízení, konfiguraci a vytvoření jednoduchého firmware s propojení na cloudové služby. Dozvíte se také o komerčních projektech, kde je tento hardware reálně využit.

Jak tučňák potkal letadlo (Martin Samek)

Když se váš koníček stane prací, tak se dřív nebo později začnete rozhlížet po novém koníčku. Sportovně založení to mají trochu snazší. Zakláníte hlavu, když slyšíte letecký motor? Cítíte divné chvění, když se přiblížíte letišti? V 15 minutách vám představím dnešní možnosti, jak vyměnit klávesnici za knipl v kabině letadla. Jak, kde, čím a za kolik ...

Proč vyhrál bitvu o cloud open source a proč mě to má zajímat. (Petr Kotas)

Orientovat se v cloudu není jednoduché. Vyvíjet pro něj je ještě těžší.
Ne proto, že by principy byly složitější, ale protože cloud se do jedné hlavy prostě nevejde.
Navíc vyvíjet podobné věci sám a pořád dokola, je holé šílenství. Co s tím?
Vyvíjet společně a spojit své síly. Díky tomu dokážeme vyvíjet rychleji, efektivněji
a zábavněji.

Vítejte ve světě open source!

Úvod do Device Tree Overlay (Marek Vašut)

Device Tree (DT) je jedním ze způsobů, jak popsat topologii hardwaru a předat tuto informaci operačnímu systému. V době kdy specifikace DT vznikala se hardware měnil jen velmi málo a proto mnoho uživatelů DT očekává, že DT bude pouze statický blob. S příchodem levných modulárních vývojových desek a FPGA, kde se hardware může měnit dokonce za chodu zařízení je potřeba tuto situaci řešit. Odpovědí jsou DT Overlays (DTO), fragmenty DT umožňující popsat doplňkové moduly nebo bloky v FPGA a které lze aplikovat na základní DT i za běhu.

Přednáška představí DT a DTO, jejich strukturu a rozdíly. Dále bude vysvětleno jak aplikovat DTO na základní DT v zavaděči U-Boot a jaké má takový přístup výhody a nevýhody. Zbytek přednášky se bude věnovat Linuxu, kde je řešení DTO komplikovanější. Bude vysvětleno, jak Linuxové jádro skutečně používá DT a z toho plynoucí omezení při aplikaci DTO za běhu a configfs loader, který stále není v upstreamu. Přednáška bude zakončena pohledem na FPGA manager a jako použít DTO na systémech s FPGA.

eduroam Plug & Play - automatický provisioning na OpenWRT AP (Jan Tomášek)

eduroam Plug and Play je jednoduché AP postavené nad OpenWRT. Stačí připojit 220 AC a k Internetu (UTP, nebo LTE dongle). Pak se stane kouzlo a ono to svítí síť eduroam samo.

Máme centrální provisioning, kde můžeme spravovat stovky, možná tisíce takových AP. Jaká je však realita? Zkušenosti z projektu. To dobré i špatné. A co dál?

Opensource a služby v datacentru (Tomáš Jursa)

Opensource je stále buzzword dnešní doby a v tomto příspěvku budu prezentovat zkušenosti s přípravou komerční služby na opensource v datacentru.
Jak vytvořit komerční službu v datacentru,
jaké systémy a prostředky k tomuto použít,
jak vybudouvat infrastrukturu pro multitenantní službu,
potřebuji teamy zkušených dodavatelů, marketing a čas.
Jaký mají význam automation, SLA, Reporting, Servicedesk, pro tvorbu služby.

Novinky v MQTT 5 (Adam Hořčica)

Finální verze specifikace MQTT 5.0 je na spadnutí (přesněji řečeno, v květnu 2018 byla schválena Committee Specification, což je jeden krůček od toho být OASIS Standard). V této přednášce se podíváme na novinky a změny, které přináší – a že jich je hodně. Porovnáme si MQTT 5.0 s aktuální verzí MQTT 3.1.1. A nebudou chybět ani zkušenosti z používání aktuální verze MQTT abychom mohli náležitě ocenit novinky ve verzi 5.0.

Why and How I Switched to Flatpak for App Distribution and Development in Sandbox (Jiří Janoušek)

Flatpak, a cross-distribution framework to build and deliver desktop apps, has recently reached version 1.0. My small open-source project, which focuses on the integration of web-based music streaming services with Linux desktop, switched to Flatpak packages as the sole distribution method in March 2017 (Flatpak 0.8) and I have never looked back.

What were the reasons to retire DEB & RPM packaging? Did Flatpak come up to my expectations? What are its benefits from the developer's point of view? How does all the machinery work? How to develop directly inside the sandbox? Are there any rough edges?

This one goes up to 11! (Dhananjay Balan)

This presentation introduces the FreeBSD operating system and the
community that produces it. FreeBSD is an advanced computer operating
system used to power modern servers, desktops, and embedded platforms.
A large community has continually developed it for more than thirty
years. Its advanced networking, security, and storage features have
made FreeBSD the platform of choice for many of the busiest web sites
and most pervasive embedded networking and storage devices.

Jak začít používat docker při vývoji PHP aplikaci (Michal Hošna)

Skoro každý o dockeru už slyšel, ale na localhostu ho začali používat hlavně fanboys, pro běžné programátory vypadá příliš komplikovaně. Krátký úvod do toho jak začít vyvyjet PHP (obecně webové aplikace) kompletně v dockeru. Ať už se vám nikdy nestane "ale u mě to fungovalo". Docker vám taky pomůže se zbavit komplikovaných Readme, zajistí, že celý team má stejný a verzovany dev stack, a zjednoduší přepínání mezi projekty.

Jak sbíráme (váš) hlas aneb projekt Common Voice (Michal Vašíček)

Mozilla se snaží vytvořit hlasový dataset Common Voice, který si budete moct stáhnout a použít pro převod řeči na text i vy. K dispozici je pod licencí CC-0 a je k dispozici už v několika jazycích. V české komunitě nám nestačilo, co pro český Common Voice dělá Mozilla, a rozhodli jsme se česká data sbírat sami. Jaká to mělo úskalí a jak to nakonec dopadlo se dozvíte v přednášce.

Classifying processes into control groups (Michal Koutný)

At the beginning there was the idea of completely generic
classification of tasks into (multiple) hierarchies of control groups. The
kernel API was complemented with libcg project that provided various tools for
control groups management. Then came systemd that claimed the control group
handling in the name of service management.

We describe libcg, the APIs it uses, tools it provides and use cases it cover(s|ed).
Similarly, we describe systemd approach to control groups and how the former
use cases map to systemd land. We learn about conflicts between libcg and
systemd and about uses which are not sufficiently covered by systemd and what
options there are for implementing those inside systemd.

This is not about individual control group controllers.

Building lozalization system for masses (Michal Čihař)

Weblate is now more than six years old project and it evolved from simple web application to complex beast used to translate thousands of projects worldwide. On this route quite a lot of code had to be thrown away and rewritten. I'll look back at these six years and tell you how Weblate has grown up.

What to do after party? (Michal Halenka)

Signing keys after a PGP Keysigning party can take a lot of time. Further, it's very difficult to do right. In this talk we will focus on explaining best practises and introducing tools to aid.

Automatické programování v jazyce m4 (Josef Kubín)

Návaznost na UNIX, jazyk C a jeho preprocesor.
Základní programové konstrukce jazyka (sekvence, cykly, větvení) a jejich zvláštnosti.
Vývoj a ladění generátoru kódu, trasování maker.
Základní konfigurace editoru Vim pro práci s m4.
Projdu ukázkové skripty z mého github-u a pokusím se objasnit případné nejasnosti.
https://en.wikipedia.org/wiki/Automatic_programming

Požadavky na posluchače:
GNU Make, C, Vim

Create your own Minikube in Amazon AWS with Terraform and kubeadm (Jakub Scholz)

Minikube is a great tool for local development of Kubernetes applications. It can run on your regular computer and you don’t have to pay for any additional resources. But what if Minikube is not enough? Maybe sometimes you need more memory, more disk space, or real loadbalancers. You can always get a real Kubernetes cluster. But a full cluster with master and worker nodes might be overkill for just some development or testing work. So what if you could use something in-between? For example your own Minikube deployed in Amazon AWS. This talk will show you how to do exactly that using Terraform and kubeadm and have a running single node Kubernetes cluster with full Amazon AWS integration running in just few minutes.

CaaSP on NUC (Zdenek Kubala)

Jak jsme si hrali se SUSE CaaSP(Containers as a Service Platform) na mini PC Intel NUC s 8GiB Pameti, aby zvladal co se od nej ocekavalo(ovladat vlacky) a zaroven jsme jej mohli kdykoliv odpojit bez korektniho vypnuti.

Testing distributions with LAVA (Andrej Shadura)

LAVA is a continuous integration system for deploying operating systems onto physical and virtual hardware for running tests. With LAVA, it is possible to run automated tests across multiple hardware platforms in the real operating system environment. LAVA powers the infrastructure behind Kernel CI project, ensuring the Linux kernel is tested on as much hardware as possible without human intervention.

This talk will cover LAVA in general and its benefits in the CI process and how it can fit with on your CI infrastructure, and how we at Collabora use it to test Linux distribution images.

Polygrafie a svobodné řízení prostředí v praxi (Martin Hubáček)

Výrobní prostředí malý, střední i velkých podniků prostupuje velké množství „nesvobodných a uzavřených systémů“, které jsou provozně finančně náročné. Ovšem existují lidé a podniky kde se objevuje zcela nový přístup, který přináší inovace do výrobních prostředí.

Přináším příběh, kterého jsem byl součástí o vývoji vlastních řešení sběru dat z prostředí a jejich vyhodnocování včetně řízení v Polygrafickém průmyslu. Od prvních náčrtů a „bastlení“, až po hotové řešení postavené na RPi a Linuxu, které dokáže dodávat relevantní informace k zlepšení kvality.

Nedoceněné wikiprojekty (Ladislav Nešněra)

Jak se rýmují Wikiknihy, "vlastní výzkum" a MV ČR? Uvidíme, zda dojdeme dál, než k sprostonárodní "Žádnej neví jako já.." [https://youtu.be/JrX2jXIkn0Y]

Generování fraktálů v jazyce M4 (Josef Kubín)

Co to jsou fraktály.
L-systém (Lindenmayerův systém) a želví grafika.
Generování jednoduchých obrazců (Sierpiński triangle, Koch snowflake, ...) generování stromových struktur.
Budeme si hrát s gramatickými pravidly, parametrizovat je a koukat se na výsledné obrazce.
Je to překvapivá aplikace jazyka M4.

Workshopy

Gitlab CI + Docker (Ondrej Sika)

Workshop k přednášce o používání Gitlab CI s Dockerem. Vše co na přednášce ukážu si prakticky vyzkoušíme aby jste hned další den mohli začít Gitlab CI používat.

Úvod do Ansiblu (Martin Vicián)

V rámci workshopu si na praktických ukázkách vyzkoušíme základní použití Ansiblu pro orchestraci serverů. Probereme základní moduly, typické způsoby použití a nahlédneme i do některých pokročilejších, ale často používaných funkcí.
Workshop je vhodný jak pro úplně začátečníky, tak pro mírně pokročilé uživatele Ansiblu.

Literární adminování (Ondra Kudlík)

Používáte na serverech Bash? Zsh? A jak hledáte v historii? Děláte sami nebo s
kolegy? Dokumentujete? Vzpomenete si po dvou letech, jak jste tenkrát rozjížděli
Galera Cluster?

Postupů jak řešit administraci serverů je spoustu. Chtěl bych vám ukázat
postupy, které používáme v igloonetu při nasazování nových věcí pro nás i
zákazníky.

Workshop by měl navazovat na přednášku Literární adminování, bude se hodit, když na ní budete.

Qt a C++, rychlé ponoření do vývoje aplikací s GUI (Ondřej Kolín)

Qt je moderní framework pro tvorbu aplikací (nejen) s grafickým uživatelským rozhraním. Během lekce bychom si vytvořili jednoduchou aplikaci, navěsili si jí na databázi, vykreslili nějaké jakože grafy, či si případně řekli, jak komunikovat po síťovém rozhraní. Během workshopu se budeme snažit s tvorbou aplikací maximálně pomoci.

PGP Key Signing Party (Emil Miler, Pavel Dostál)

Workshop navazující na přednášku se stejným názvem. Na samotné párty bude probíhat výměna klíčů a kontrola identit. Pokud principy KSP znáte, přineste si své vlastní vytištěné lístečky s otiskem prstu PGP klíče a všemi identitami na podepsání. Všichni budou potřebovat i doklad totožnosti - občanský průkaz, řidičský průkaz apod.

Icinga 101 (Věroš Kaplan)

Pojďme si osahat monitorovací systém - Icinga 2.

Do předinstalované Icingy si pod dohledem zkusíme přidat nějaké stroje, použijeme různé konfigurační obraty a pokud bude dost času, zmíníme i Icinga cluster.

Hry a hříčky s PyGame (Pavel Šimerda)

PyGame je jednoduchý framework na tvorbu her a hříček v programovacím jazyce Python. Vytvoříme si spolu základ pro jednoduchou hru, kterou si budete moci dále sami vylepšovat. Žádné textové konzole, jen grafická hrací plocha, obrázky v transparentním PNG a ovládání třeba z klávesnice.

Get hands dirty: Kubernetes Intro (David Becvarik, Jakub Veverka, Evgeny Shmarnev)

In the workshop, we will help you with lifting your first applications from docker on the Kubernetes cluster. We will guide you through simple application deployment, help you to understand the importance of probes which tells Kubernetes if your application is healthy or whether traffic should be sent to it. We will show you how to scale and manage your application and of course, we will cover how to expose the app from your network.

IMPORTANT - this is a workshop session - you will need to bring your laptop with minikube installed. We will email you with further instructions.

Hry na webu (Pavol Hejný)

Jak vyvíjet hry na webu? Ukážu vám, jak začít a které frameworky a knihovny použít.

Ovládání IoT přes Firmata (Daniel Veltruský)

Neumíš C a nechce se ti ho učit ? Využij protokol Firmata. Mimo jiné je tento protokol podporován jazyky Python, Java i NodeJS. Ukážeme ti základy Firmata s pomocí NodeJS knihovny Johny-five, Arduina UNO a LCD shieldu.

Build your first flatpak (Jiří Eischmann, Carlos Soriano)

At this workshop participants will package an application of their choice in the Flatpak format and learn what's necessary to publish it in Flathub.
More about the format: https://flatpak.org/
More about Flathub: https://flathub.org/

How to program on Windows for Linux? (Ilja Ryabukhin)

This topic will be about Windows Subsystems for Linux. There I'll explain the main differences of WSL from other solutions and make a setup of WSL

Panelové diskuze

Kam kráčíš, Kryptografie? (Dominik Pantůček)

Jan Dušátko, Dominik Pantůček, Tomáš Rosa a Pavel Vondruška se v debatě zamyslí, v jakém stavu je současná teoretická i aplikovaná kryptografie. Jaké algoritmy dnes použít? Na co si dát pozor? Jak je to s těmi kvantovými počítači? A samozřejmě odpověď na otázku, proč byla kryptografie open source zhruba o sto let dříve než software.

(CC) (BY) LinuxDays 2018
HTTPS DNSSEC TLSA IPv6