jOpenSpace

jOpenSpace - ročník 2023

Přednášky a záznamy

Fotogalerie

Kompletní fotogalerie z akce

Zápisky z konference

    Víťa Plšek

    🎤 AI nástroje z pohledu vývojáře

    • copilot má tlačítko “next” a ukáže další možná řešení
    • ChatGpt může odfiltrovat dotazy na kolegy
    • Ideální je začít promtem - jsem expert programátor, nevysvětluj detaily, vracej mi funkční kód
      • learnprompting.org
    • Používejte jej jako “brigádníka”, součet malých úkolů dá větší časovou úsporu než snaha o řešení velkého problému
    • Vypněte historii, aby nedocházelo k trénování na Vašich datech
    • https://www.phind.com/ - kromě výstupu ukazuje i zdroje

    https://www.linkedin.com/in/vitaplsek/

    Roman Provazník

    🎤 Podcast DIY (téměř) zadarmo

    • praktické zkušenosti z podcastu Pod Vocasem, aneb jak to udělat levně
    • hardware
      • na mikrofonu nešetřit, mají Shure MV7, cena kolem 7k CZK
      • rekordér zoom podtrak P4, dobré je mít 4 vstupy, cena kolem 4k CZK
    • doporučuje nahrávat se sluchátky na uších kvůli zpětné vazbě
    • Audacity pro zpracování zvuku
      • ideálně nahrávejte rovnou mix všech stop
    • Postprocessing
      • aplikovat compression, srovná hlasitosti různých stop (hostů)
      • aplikovat noise reduction - odstraňuje šum a ruchy (nechte si 2 vteřiny ticha na začátku jako sample)
      • exportují do 320kbit
    • publikace
      • Soundcloud - měsíční feečko (není úplně nejlevnější)
      • a nebo vlastní RSS s odkazy na MP3 v cloudu (třeba na Azure), hosting i serverless - jen statické HTML stačí
      • je dobré mít pro MP3 CDNku, aby to bylo skutečně levné
    • v prezentaci je odkaz na github projekt Funcaster na upload hotových M3 na blobstorage v cloudu
    • Podcasting 2.0 https://bramble.fm/guides/podcasting-2point0/ a OSS podcast index https://podcastindex.org/ and castopod pro self-hosted podcasty - https://castopod.org/

    https://www.linkedin.com/in/dzoukr/

    Jan Novotný

    🎤 Dokumentační portál v Next.JS, GitHub, CI/CD

    • požadavky:
      • v gitu
      • markdown
      • víceúčelová
    • example -> test suite
    • interaktivní příklady
      • markdown
    • mdx
    • Greymatter hlavička
    • vložené značky s dalším obsahem
    • 1 zdroj příkladů překládaný do 4 jazyků (GraphQL, REST, Java, C#)
    • automatizované testy do všech jazyků generované z příkladů
    • z diskuse vyplynulo alternativní možnost, jak řešit podobné věci pomocí https://myst-parser.readthedocs.io/en/v0.17.1/index.html 

    https://www.linkedin.com/in/jannovotny/

    Zdenek Henek

    🎤 Alokace paměti

    • snaha vyřešit pomalost aplikace přidáním CPU nemusí být řešení, to co se nemění je sběrnice k paměti RAM, ta je shodná ať je v serveru 6 nebo 112 jader
    • nahradit 5 serverů jedním silnějším, virtualizovaným
    • Roste počet jader procesoru, ale paměťová propustnost se tolik nezvyšuje (sběrnice je sdílená jádry)
    • Kde je limit růstu počtu jader vzhledem k paměti?
    • profiling práce s pamětí na produkci
      • eBPF skripty pro monitoring jádra
      • Java Flight Recorder, monitoring alokace paměti
    • trik: když procesor nebere deklarovaný příkon, může to signalizovat, že nejede naplno z důvodu zdržení na IO operaci
    • hardcore testa je měřit odběr elektřiny na CPU - pokud to není výrobcem udávané maximum, tak procesor není vytížen úplně

    https://www.linkedin.com/in/vrablik/

    Michal Augustýn

    🎤 Hantec vs. katalánština

    • lidské věže
    • autonomní společenství Katalánsko - severovýchod španělska
    • balconing - skákání z balkonu do bazénu, za smrt jsou dva body, za zranění 1 (vede Německo a v závěru je GB)
    • katalánština není španělština, jako oficiální jazyk je pouze v Andoře - jinak jí mluví sever Španělska a jih Francie

    https://www.linkedin.com/in/michalaugustyn/

    Tomáš Záluský

    🎤 20 let bez gitu 😱

    • v telco často plno byznys logiky a legacy kódu v imperativním kódu uvnitř databáze
    • vývoj proti databázi, waterfall, absence moderních programovacích technik
    • absence verzování, export procedur z databáze do plaintextu a zazipování
    • řízení přístupu postaru - dohoda vývojářů a mechanismus “zamykání” toho na čem daný člověk dělá
    • historicky import ze zipů do gitu z více jak 10 let záloh
    • https://github.com/java-diff-utils/java-diff-utils pro vytváření patchů, ve výsledku 100 tisíc commitů (z jiného systému vytáhli commit message a autory)

    https://www.linkedin.com/in/tomaszalusky/

    Marian Schubert

    🎤 Muj frontend toolbox (HTMX, Shoelace, hyperscript, ...)

    • HTMX - život na frontendu bez Reactu - JS knihovna, která se jednoduše přilinkuje do stránky
    • umožňuje obohatit standardní HTML tagy o další atributy, které zavádějí dynamičnost do stránky (AJAX), ale stále deklarativním způsobem
      • umožňuje i lazy load, refreshe částí stránky na základě nějakých podmínek
      • infinity load, interaktivní search
    • vypadá velmi čitelně a jednoduše
    • https://htmx.org/ 

    https://www.linkedin.com/in/marianschubert/

    Peter Cipov

    🎤 Hackers's diet

    • 50kg za 7 měsíců, bez tréninku a chození do fitka
    • přerušovaný půst, jídlo 1x denně s nízkým podílem sacharidů (ketodieta)
    • není nutné počítat gramy - protože v jednom jídle toho do sebe prostě tolik nedostanete
    • nutriční ketóza
    • zajímavé je, že dieta neovlivní kognitivní schopnosti - tělo / mozek dokáže dobře fungovat i s ketony (i bez kafe)
    • budete mít ale hlad a než do toho vstoupíte budete na ostatní nepříjemný
    • první přijdete o dost vody v těle i s minerály, je nutné pít a minerály doplňovat
    • pořád neumíme výdej / příjem kalorií dobře měřit - tělo dokáže plno věcí obcházet
    • to, že vydáváte kalorie, ještě neznamená, že budete hubnout - hezký příklad s termoskou, která sice vyzařuje teplo / kalorie ale neztratí nic na své váze
    • BMR - Basal Metabolic Rate je proměnlivý - tělo se snaží za den spálit přibližně stejný počet kalorií
    • chcete-li zhubnout, je nutné tělo přesvědčit, že může pálit kalorie
    • www.metabolickyridicak.cz 
    • https://www.youtube.com/@metabolickyridicak
    • https://twitter.com/MRidicak
    • pochopit, že “hlad přijde a odejde”
    • ketóza je evoluční záležitost, tělo po čase samo sníží potřebu hladu, a člověk přestane být ve stresu - vychází z pravěku, kdy lidé často daleko putovali za stravou a hladověli
    • jakmile tělo přejde na ketony, tak jako první spaluje tuky a pak teprve svaly
    • ketony se mohou měřit z krve (existuje ketometr)

    https://www.linkedin.com/in/petercipov/

    Michal Těhník

    🎤 Co dalšího můžete měřit?

    • nevybočovat hladinou cukru z ideálního rozsahu ani moc nahoru ani dolů
    • pod 70 nízká hladina cukru, nad 130 diabetes
    • nízká hladina cukru zdá se zhoršuje kvalitu spánku
    • kafe žádný cukr nepřidává
    • Senzor - Freestyle libre senzor 1750, 14 dní
      • měří z mesisvalového prostoru, ne z krve (drátek pod kůži)
    • aplikace Veri (39$/měsíc) / SuperSapiens (2000 cena aplikace včetně senzoru)
      • doporučuje koupit si senzor a zaplatit si subscription u Veri
    • Jessie Inchauspé - Glucose revolution (kniha)

    https://www.linkedin.com/in/mictech/

    Jan Voráček

    🎤 Bun: Jak skriptovací jazyk ke skriptování přišel

    • skriptováním je myšlena alternativa k Bashi
    • use-case - při vytvoření PR aktualizovat issue description na GitHubu a vložit do ní MD fragment
    • první verze byla v bashi, ale nakonec zmigrovali na Bun, který má řadu výhod:
    • JavaScript/TypeScript runtime - skriptům rozumí celý tým
    • 1:1 kompatibilní s NodeJS
    • rychle startuje a je i rychlý na vykonávání (oproti Node)
    • zabudovaný package manager - tj. zjednoduší se vlastní spouštění skriptu
    • součástí je i testovací framework - není nutné kvůli tomu zatahovat další komplexitu

    https://www.linkedin.com/in/janvoracek/

    Vladka Janu

    🎤 Automatizace domacnosti a jak (ne)zacit

    • Shelly Pro 3EM - nepřímé měření spotřeby (cívky na drátech)
    • oběhové čerpadlo je dobrý kandidát na řízení chytristikou
    • kvalitní wifi
    • potřebujeme API, ne to ovládat přes apky
    • Sonoff/ewelink  eWeLink API
    • Home assistant, běží na Raspberry 4, napájena přes malou UPS

    https://www.linkedin.com/in/vladka/

    Milan Lempera

    🎤 Programmer's Brain

    • kniha Felienne Hermans
    • kognitivní zátěž – nelze mít v hlavě dost (=všechno)
    • krátkodobá paměť rulezzz
    • De Grootův šachový pokus – nesmyslné situace si profíci pamatujou stejně špatně jako amatéři
    • ukládání do chunků (± 7)
    • McKeithen’s experiment
    • chunkování mohou zlepšovat design-patterny, pokud je čtenář zná
    • beacons v kódu – naming, struktura, …
    • špatných jmen se nikdy nezbavíš
    • kód se špatně pojmenovanými proměnnými a názvy metod statisticky obsahuje více chyb
    • konvence je třeba dodržovat kvůli jiným lidem (moje budoucí já je jiný člověk)
    • pomůžeme nejen lidem, ale i nástrojům (AI)

    https://www.linkedin.com/in/milanlempera/

    Jiří Pinkas

    🎤 Quality Gates

    • systém, který hlídá kvalitu kódu přes pravidlový systém
    • quality gates zamezí builldu na úrovni CI pipeline, pokud kód nesplňuje požadovanou kvalitu kódu
    • vhodné ho pustit i na prehistorických aplikacích (s vhodně nastavenými pravidly) - lepší něco než nic
    • quality gate = nezbuildíš, dokud…
    • sada pravidel alespoň na code coverage

    https://www.linkedin.com/in/jirkapinkas/

    Jaroslav Holaň

    🎤 Github Next, Future of Copilot X

    • githubnext.com = CoPilot for …
    • v budoucnu pomůže s description u pull-requestů (dáme mu jen “šablonu”, jak by to mělo vypadat)
    • /prbot how, /prbot suggest, /prbot describe - navrhne PR podle zadání, vysvětlí PR pro review
    • paper.js - vizualizace codebase

    https://www.linkedin.com/in/jaroslavholan/

    Martin Kouba

    🎤 Quarkus pod kapotou

    • framework pro vývoj webových aplikací
    • orientovaný na build time - vše se snaží vyřešit při kompilaci
    • Jandex, žere bytecode a vytvoří index, který umožňuje reflexní analýzu kódu: https://github.com/smallrye/jandex 
    • vytvořili Gizmo, což je nadstavba nad ASM: https://github.com/quarkusio/gizmo 
    • udržují mapování bytekód <-> test, který ho používá; když se změní bytekód, přetestují se ovlivněné testy

    https://www.linkedin.com/in/martin-kouba/

    Pavel Košťál

    🎤 AWS pro developery, aneb jak na cloudu neutratit balík peněz

    • on demand, kdykoliv možno vytvořit a zrušit
    • spot, bez záruky - kdykoliv vám to mohou vypnout
    • reserved - kupuje se na delší období dopředu, je tam veliká sleva
    • free tier možnosti
      • něco je vždy zdarma, něco jen první rok, případně zkušební verze, které jsou třeba jen na 1-3 měsíců použití
    • Cognito - služba na správu uživatelů
    • Amplify - ovládání AWS přes cmd line

    https://www.linkedin.com/in/pavel-kostal-5a76707b/

    Ondřej Šika

    🎤 VPN v roce 2023

    • Cloudflare access - pro 50 uživatelů zadarmo
    • Cloudflare tunnel - démon na vaší infrastruktuře, přes který se routuje provoz
    • alternativa: HashiCorp Boundary
    • WireGuard moderní VPN (alternative OpenVPN), crossplatformní, multiplatformní
    • Tailscale je nadstavba nad WireGuard, přidává použitelné UI (komerční a cloudové řešení)
      • 3 uživatelé zdarma, 100 přístrojů
    • Headscale je opensource alternativa k Tailscale

    https://www.linkedin.com/in/ondrejsika/

    Vilibald Wanča

    🎤 smartphone bez Google/Apple - aktuální stav

    • kdo nemá Linux jako Kernel - iOS jako jediný
    • shrnutí statistik o telefonech
    • existují mobily s OS založených na Linuxu (Ubuntu Touch, postmasterOS atp.)
    • Librem 5 - HW s Pure OS
    • Android bez Google? (AOSP=Android Open Source Project - nebrat) LineageOS, GrapheneOS (jen na Pixelech), /e/OS
    • LineageOS je pokračování CyanogenMod
    • microG je OS projekt, který imituje API Google a nahrazuje je vlastní implementací
    • /e/OS - LineageOS + microG + Nextcloud a email

    https://www.linkedin.com/in/wvi/

    Tomucha

    🎤 Máte vědomí? A mohla bych ho vidět?

    • kde je hranice, která dělí vědomé bytosti od nevědomých?
    • má LLM vědomí?
    • theory of mind
      • já mám vědomí a protože vy jste podobní jako já, tak usuzuji, že máte taky vědomí
      • děti >= 4 roky, zvířata
    • problém je, že LLM prochází (částí?) testů Theory of mind
    • popis operace řešící epilepsii, kdy se přeruší corpus callosum a člověk žije se dvěma nezávislými polovinami mozku, které spolu nekomunikují
      • z některých testů se zdá, že po této operací existují ve hlavě 2 osobnosti
    • revize teorie - možná nakonec nikdo nemá vědomí 🙂
    • kde je hranice, která dělí vědomé bytosti od nevědomých?
    • má LLM vědomí?
    • theory of mind
      • já mám vědomí a protože vy jste podobní jako já, tak usuzuji, že máte taky vědomí
      • děti >= 4 roky, zvířata
    • problém je, že LLM prochází (částí?) testů Theory of mind
    • popis operace řešící epilepsii, kdy se přeruší corpus callosum a člověk žije se dvěma nezávislými polovinami mozku, které spolu nekomunikují
      • z některých testů se zdá, že po této operací existují ve hlavě 2 osobnosti
    • revize teorie - možná nakonec nikdo nemá vědomí 🙂

    https://www.linkedin.com/in/tomucha/

    Daniel Crha

    🎤 Integrace při vývoji all-flash array

    • Orchestrator = místo pushování každého commitu od více vývojářů zvlášť se pošlou tyto commity nejdřív do orchestratoru, ten otestuje najednou celou tuto sadu a když je to ok, pushne najednou (když ne, bisekcí najde příčinu a eskaluje)

    https://www.linkedin.com/in/daniel-crha/

    Michal Franc

    🎤 NIA

    • OVM = orgán veřejné moci (využití zdarma není ve vlastním eshopu)
    • pozor: eidentita.cz už není portál NIA (stát doménu pustil)
    • funguje na bázi SAML protokolu
    • celkem složitý registrační proces pro poskytovatele služby

    https://www.linkedin.com/in/francmichal/

    Alois Holub

    🎤 (Don't) Panic!

    • aplikace Transmit: synchronizace souborů
    • aplikace Prompt2: připojování na vzdálené servery z mobilu
    • aplikace Noda: IDE pouze pro MacOS
    • vydali hru: Firewatch
    • herní konzole: PlayDate - každý týden nová hra, e-ink display, kromě tlačítek (ne)praktická klička na ovládání her
    • firma, která dělá věcí, které je baví; netradiční; focus na design

    https://www.linkedin.com/in/alois-holub-29bba5198/

    Lukáš Vlček

    🎤 Proč má Aiven OSPO (Open Source Program Office) a proč Vy byste měli taky.

    • https://todogroup.org/
    • open source program office = zaměstnanci placení společností na full time pracují pro open source projekt, na kterém firma staví svou budoucnost
    • https://todogroup.org/
    • 5 stupňu vyspělosti práce s OSS
      • používáte OS software
      • vzdělávání v oblasti OS software
      • propagace OS, účast v ekosystému
      • hostování projektů na své náklady
      • stát se klíčovým přispěvatelem a spolurozhodovatelem o dalším rozvoji
    • přirovnání k modelu pojišťoven

    https://www.linkedin.com/in/lukasvlcek/

    dond

    🎤 Kompost

    • když budete dokompostu sypat logr z kafe, vaše žížaly vás budou milovat
    • vše se v kompostu rozloží, i beton (CaO SiO2)
    • dodat: celulózu, kyslík, teplo
    • rozklad lidského těla v lidské kompostárně trvá měsíc (bez kostí)
    • ročně zemře v ČR 130000 lidí
    • legálně není možné nechat se v ČR po smrti zkompostovat
    • “máme moderní technologie, středověký instituce a pravěký mozky”
    • kosti se po zkompostování rozdrtí, odstraní se nerozložitelné zbytky (plomby) a pak “vyzvednete si milovanou manželku ve 20litrovým pytli”

    https://www.linkedin.com/in/dondrich/

    Filip Štaffa

    🎤 Coding Dojo

    • skupina lidí se sejde a snaží se zlepšit své programátorské dovednosti
    • trénovat lze spoustu věcí, TDD, minimální implementace,...
    • kata = paralela z karate - souboj nasucho
    • příkladem může být String calculator: https://codingdojo.org/kata/StringCalculator/ popř. https://osherove.com/tdd-kata-1 
    • pokud chcete katu vést
      • vyzkoušejte si ji jako účastník
      • mějte plán, připravte si téma
      • komunikujte co by se na daném problému chcete naučit
      • vynucujte postup po minimálních iterativních krocích

    https://www.linkedin.com/in/filip-staffa/

    Filip Sedlák

    🎤 Jak fungují transakce v distribuované databázi

    • používají Citus - rozšíření do PostgreSQL pro distribuovaný provoz
    • koordinátor = další PG db, která ví o všech transakcích
    • zvýšené riziko distribuovaných deadlocků
    • nakonec používají v produkci v izolaci READ COMMITTED a na jejich use-case se zdá být dostatečně dobré
    • v diskusi padl odkaz na https://jepsen.io/ - analytiky, kteří se věnují prověřování právě distribuovaných systémů

    https://www.linkedin.com/in/filip-sedlak/

    Martin Talpa

    🎤 Life 3.0 po 3 letech

    • jsme téměř v polovině sci-fi příběhu, který Martin rozkreslil o ovládnutí světa ze strany AI v minulé přednášce
    • narrow AI, code generation, vytváření filmů a psaní zpráv a ovlivňování veřejného mínění se dnes již s AI řeší
    • co nás ještě čeká - bude sama designovat HW, podávat patenty, AGI, dojde k uvědomění umělé inteligence, založí si na to firmu, přes kterou bude financovat své aktivity, přes veřejné mínění provede změny celosvětově tak, aby to bylo v souladu s jejím i plány

    https://www.linkedin.com/in/martin-talpa-7378825/

    Ladislav Prskavec

    🎤 Jak si navrhnout vlastní observability backend

    • plná verze přednášky na https://community.cncf.io/cloud-native-prague/
    • observability řeší příliš mnoho firem
    • náklady na observabilitu by obvykle neměli přesáhnout 10% nákladů na infrastrukturu
    • doporučuje LGTM stack  - Loki, Grafana, Tempo a Mimir
    • Clickhouse - sloupcová databáze, používá SQL pro dotazování
    • time-series databáze - doporučuje: Netflix Attlas, Apache DataFusion
    • Pipeline:
      • Amazon Kinesis Ingestor
      • uložení do S3
      • transformační logika
      • ClickHouse
    • vedle toho provozovat TS databázi, která pomůže řešit alerting díky In Memory TSDB
    • doporučuje talk Netflixu na Monitorama 2023: https://vimeo.com/843994807

    https://www.linkedin.com/in/ladislavprskavec/

    Ondro Mihályi

    🎤 CZJUG - Česká Java User Group a Java komunita

    • www.jug.cz
    • snaží se organizovat meetupy i v prostorách firem a spojovat lidi ze společné komunity
    • nabídněte své přednášky, pokud byste se v tomto oboru pohybovali
    • koná se na MFF UK, Malá strana - přednášky jsou nahrávané a dostupné na webu
    • BrnoJUG, Živo U Palečka, vede Martin Štefanko

    https://www.linkedin.com/in/mihalyiondrej/

    Ondra Nekola

    🎤 Dlaždice

    • většina OS využívá systém plovoucích oken
    • existují ale dlaždicové systémy, které jsou možná na první pohled složitější, ale když si na ně zvyknete, mohou být efektivnější

    František Řezáč

    🎤 4 jezdci nejisté apokalypsy

    • z programátora uživatelem
    • algoritmus je jednoznačný, opakovatelný, konečný
    • https://siderea.dreamwidth.org/1219758.html 
    • software je soustava rozhodnutí
    • rozhodnutí v reálném světě, ale neodpovídají definici algoritmu
    • https://algorithmsbook.com/ - 4 zdroje nejistoty
      • dopady našich akcí jsou nejisté
      • správnost našeho vnitřního modelu je nejistá
      • skutečný stav okolního světa je nejistá
      • reakce ostatních na naše rozhodnutí je nejistá
    • matematika na to reaguje pravděpodobností a statistikou
    • frekventistický (hod kostkou) x bayesovský přístup (jistota výsledku)

    https://www.linkedin.com/in/frantisekrezac/

    Jiří Matějka

    🎤 Directus

    • headless (bez prezentačního frontendu) CMS: https://directus.io/ 
    • obsahuje návrhář datových struktur uživatelsky přívětivým způsobem
    • další funkcí je návrhář flow pro vstup těchto dat do systému
    • má preview režim
    • API: REST/GraphQL, realtime websockets
    • webhooky pro build statického výstupu
    • v rámci flows možnost dělat vlastní operations
    • má podporu pro celou řadu SQL databází
    • vystavuje jen API - frontend si děláš sám

    https://www.linkedin.com/in/jirkamatejka/

    Pavel Lahoda

    🎤 KMP a KSP

    • ke generování UI na základě kódu využívá annotation processing
    • KMP = Kotlin multiplatform - pro aplikace v Kotlinu proti Androidu i iOS
    • KSP = Kotlin symbol processing, je to velmi svérázné API
    • SwiftUI, Jetbpack mají podle Pavla špatnou abstrakci
    • jeho přístup je typesafe, přestože vnitřní mechanismy provádějí celkem programátorské “prasárny”
    • bonusy tohoto přístupu
      • téměř se neřeší přechody mezi stránkami
      • validační framework prakticky zdarma
    • DSL pro tvorbu scén
    • generuje nativní kód a je interoperabilní s ostatními používanými knihovnami
    • www.objectforms.com 

    https://www.linkedin.com/in/pavellahoda/

    Petr Ferschmann

    🎤 Bankovní API

    • vznikly prémiové API, na které se mohou účetní software napojit aniž by potřebovaly PSD2
    • většina bank v ČR to má, v různorodé kvalitě, ale celkem se to dá
    • v zahraničí je situace mnohem horší

    https://www.linkedin.com/in/fersman/