
Kodsnack
Kodsnack är ett poddradioprogram på svenska om utveckling, kodknackande och allt som hör därtill. Kodsnack drivs av Kristoffer Grönlund, Fredrik Björeman och Tobias Hieta
Latest episodes

Feb 20, 2024 • 41min
Kodsnack 570 - Debug your ideas, with Eric Normand
Fredrik is joined by Eric Normand for a discussion of debugging your ideas through domain modeling, using Eric’s concept of lenses to find more good questions to ask. Eric is writing a book about domain modeling and has developed the concept of lenses - ways to look at various aspects of your domain, model, and code in order to better consider various solutions and questions. Why? Because design is needed, but is easily lost in the modern urge to be fast and agile. There’s a lot you can and need do on the way to a working system. Eric pushes for design which is an integral part, perferably right in the code, rather than a separate one which can become outdated and separated without anyone noticing. Just spend a little more time on it. Tricks for seeing your domain with fresher eyes. Change is not always maximal and unpredictable! But thinking it is can lead to a lot of indirection and abstraction where a single if-statement could have sufficed for years. Refactoring as a way of finding the seams in your model. What is the code actually supposed to do? How does it actually fit with the domain? Recorded during Øredev 2023, where Eric gave two presentations about the topics discussed: Better software design with domain modeling and Stratified design and functional architecture. Thank you Cloudnet for sponsoring our VPS! Comments, questions or tips? We are @kodsnack, @tobiashieta, @oferlundand @bjoreman on Twitter, have a page on Facebook and can be emailed at info@kodsnack.se if you want to write longer. We read everything we receive. If you enjoy Kodsnack we would love a review in iTunes! You can also support the podcast by buying us a coffee (or two!) through Ko-fi. Links Eric Eric’s Øredev 2023 presentations: Better software design with domain modeling *Stratified design and functional architecture Eric has his own podcast Grokking simplicity - Eric’s book on functional programming Domain modeling Waterfall UML Clojure REPL - Red-evaluate-print loop Kodsnack 294 - the episode where Dan Lebrero gave Fredrik a feel for REPL-driven development Domain modeling lenses Drawing on the right side of the brain The “keynote yesterday” - Na’Tosha Bard about code outliving you (see also episode 558) Then a miracle occurs Titles I’m really on to something Anti-design trend In a waterfall world On the way to code Experimentation in code Not about moving your hand I don’t want rules Yes, that’s the right question! Take five minutes Spending more time on it Code lets me play with ideas I’m happy working on a whiteboard Debug your ideas Server babysitters

Feb 13, 2024 • 58min
Kodsnack 569 - Dina förändringar som rådata, med Johan Haleby
Fredrik snackar med Johan Haleby om hans öppna källkod, event sourcing, och om att börja använda Kubernetes 2015. Vi börjar med att prata om Powermock - ett ramverk man helst inte ska använda - för att sedan diskutera Rest assured och Awaitility. Därefter diskuteras Occurrent och event sourcing. Vad innebär event sourcing? Johan tyckte att event sourcing borde kunna vara enklare och innehålla mycket mindre magi. Det har sina kostnader att släppa saker som öppen källkod. Och det är inte lätt att fördela sin tid på bästa möjliga sätt. Det kan lätt gå väldigt mycket tid på saker som visar sig inte ge så mycket till slut. Utifrån sett kan alla öppna projekt verka ungefär lika stora - oavsett om det egentligen är ett storföretag bakom det ena och en ensam utvecklare i Skåne bakom det andra. Fredrik får lära sig om ADR och får en ahaupplevelse. Sist men inte minst berättar Johan om hur det var att börja med Kubernetes 2015 - hur man gick tillväga för att välja det och vilka fallgropar och problem man sprang på längs vägen. Kom på Kodsnackskväll hos Net Insight i Stockholm 21 februari! Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Johan Parkster Domändriven design Event sourcing Johans öppna källkods-bibliotek Powermock Statiska metoder i Java Easymock och Mockito Eclipse Resst assured Awaitility Occurrent Audit logs Integrationsevents Pure functions Cloudevents CNCF - Cloud native computing foundation GDPR CQRS - command query responsibility separation Spring ADR - architecture decision records Verktyg för ADR Kubernetes Varför Parkster valde Kubernetes ECS - Amazons elastic container service Docker swarm Mesosphere DC/OS Tutum - numera Docker cloud Service discovery Tomcat (Gamla) Kubernetesfallgropar och vägar runt dem Titlar Dogfooding där också All svart magi man kan tänka sig En stor matris Här kan jag kanske bidra med någonting Dyrt personligen Dina förändringar som rådata Större event Integrationsevent Mycket magi Utan att det smutsar ner din befintliga kod Queries mot eventströmmen En dålig fråga Plåster och silvertejp Jag har inte 24/7-support Utifrån sett blir alla projekt lika stora Skevt på ett fascinerande sätt Som tur var, i efterhand Så lite fancy som möjligt

Feb 6, 2024 • 1h 6min
Kodsnack 568 - Gör vad du vill, se inga felmeddelanden, med Oskar Wickström och Mattias Ask
Fredrik snackar med Oskar Wickström och Mattias Ask, som tillsammans har byggt vidare på Oskars idéer om egenskapsbaserad testning. Vad är bättre än att ha en testlösning där man skriver specar för sina specifika problem? Vad sägs om en lösning där man inte behöver skriva några specar alls? Oskar tvekade, men Mattias var ihärdig och till slut trillade poletten ner. Jo, det går att göra nyttiga tester där användaren inte behöver göra mer än att ange URL:en till sin webbtjänst. Det inte bara går, det finns massvis man kan göra. Solida tester för alla de som driver någon sorts webbtjänst för de som inte har tid och resurser (eller kunskap) att sätta upp en massa tester själva. Sugen på att testa Squidler? De hundra första som använder kupongkoden KODSNACK24 får en månad gratis! Kom på Kodsnackskväll hos Net Insight i Stockholm 21 februari! Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Oskar Mattias Tidigare avsnitt med Oskar Property-based testing Squidler - Mattias och Oskars företag Jayway - numera Devoteam Quickstrom Todomvc - exempelappar Liam O’Connor Quickstrom: property based acceptance testing with LTL specifications - Oskars och Liams paper F* 80/20-tänk Selenium Cypress State machine Fuzzing Axe-core - testning Squidler.io Kom på Kodsnackkväll hos Net Insight 21 februari Titlar Klivande över en viss tröskel Fast ingen kommer att förstå det Nu ska jag skriva ett paper Göra det mänskligt tillgängligt Mitt exceptionellt naiva perspektiv Beskriva generella problem på internet Måste man skriva en spec? Testa ganska generella saker Gör vad du vill, se inga felmeddelanden Ingen knasig AI-grej Lärdom från våra användare Generell baslinjetestning Baslinje för kvalité på webben Vi ska göra en grej Målgruppen är en icke-teknisk användare Simply add an annotation Vi skriver specarna Vi kan skriva en spec för detta Någonting som alla kan titta på Produktifiering av en tanke Vi börjar där de andra slutar Om vi bara har en URL Ingen ska behöva vara i vårt UI En giltig mening Någon annans magiska låda

Jan 30, 2024 • 1h 23min
Kodsnack 567 - Arrow straight through, with Matt Topol and Lars Wikman
Fredrik has Matt Topol and Lars Wikman over for a deep and wide chat about Apache Arrow and many, many topics in the orbit of the language-independent columnar memory format for flat and hierarchical data. What does that even mean? What is the point? And why does Arrow only feel more and more interesting and useful the more you think about deeply integrating it into your systems? Feeding data to systems fast enough is a problem which is focused on much less than it ought to be. With Arrow you can send data over the network, process it on the CPU - or GPU for that matter- and send it along to the database. All without parsing, transformation, or copies unless absolutely necessary. Thank you Cloudnet for sponsoring our VPS! Comments, questions or tips? We are @kodsnack, @tobiashieta, @oferlund and @bjoreman on Twitter, have a page on Facebook and can be emailed at info@kodsnack.se if you want to write longer. We read everything we receive. If you enjoy Kodsnack we would love a review in iTunes! You can also support the podcast by buying us a coffee (or two!) through Ko-fi. Links Lars Matt Øredev Matt’s Øredev presentations: State of the Apache Arrow ecosystem: How your project can leverage Arrow! and Leveraging Apache Arrow for ML workflows Kallbadhuset Apache Arrow Lars talks about his Arrow rabbit hole in Regular programming SIMD/vectorization Spark Explorer - builds on Polars Null bitmap Zeromq Airbyte Arrow flight Dremio Arrow flight SQL Influxdb Arrow flight RPC Kafka Pulsar Opentelemetry Arrow IPC format - also known as Feather ADBC - Arrow database connectivity ODBC and JDBC Snowflake DBT - SQL to SQL Jinja Datafusion Ibis Substrait Meta’s Velox engine Arrow’s project management committee (PMC) Voltron data Matt’s Arrow book - In-memory analytics with Apache Arrow Rapids and Cudf The Theseus engine - accelerator-native distributed compute engine using Arrow The composable codex The standards chapter Dremio Hugging face Apache Hop - orchestration data scheduling thing Directed acyclic graph UCX - libraries for finding fast routes for data Infiniband NUMA CUDA GRPC Foam bananas Turkish pepper - Tyrkisk peber Plopp Marianne Titles For me, it started during the speaker’s dinner Old, dated, and Java A real nerd snipe Identical representation in memory Working on columns It’s already laid out that way Pass the memory, as is Null plus null is null A wild perk Arrow into the thing So many curly brackets you need to store Arrow straight through Something data people like to do So many backends The SQL string is for people I’m rude, and he’s polite Feed the data fast enough A depressing amount of JSON Arrow the whole way through These are the problems in data Reference the bytes as they are Boiling down to Arrow Data lakehouses Removing inefficiency

Jan 23, 2024 • 57min
Kodsnack 566 - Träna upp dina lillfingrar
Fredrik och Kristoffer snackar knappar, musik, och fönsterhantering. Kom på Kodsnackskväll hos Net Insight i Stockholm 21 februari! Kristoffer har ett nytt tangenbord med konkavitet, och massor av tumtangenter. Plus dubbla former av trådlöshet, även om blåtand inte fungerar perfekt. Pausernas betydelse för inlärning är stor. Fredrik har ett Stream deck och har efter visst funderande på vad som är användbart att lägga på en separat knappsats längre bort från den vanliga. Fönsterhantering kanske är en bra grej? Och automatisering? Som avslutning en musikfråga: Finns det någon musikpryl som även den som inte kan något om musik (än?) kan ha glädje av? Kristoffer har solida tips! Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Kom på Kodsnackkväll hos Net Insight Solna business park Vretenvägen Dygma Dygma defy Dygma raise Ergodox och Moonlander Kinesis advantage Moergo glove80 Kaleidoscope - firmware för tangentbord QMK Atreus Keyboardio model 100 Vagnretur Via Bazecor - Dygmas UI för att ställa in tangentbord Accordion för QMK Ben Frain - recenserar tangentbord och har stora händer Hands down reference Hands down neu Dvorak Colemak Gherkin Stream deck Moom Applescript Mission control (och Exposé som var föregångaren) Audio hijack Loopback Fredrik skript som gör Markdownlänkar Cot Sublime text Atkinson hyperlegible Ett exempel på typsnitt optimerat för dyslektiker Bjarne Stroustrup Comic code Comic sans Rainbow parenthesis för Lisp Rainbow brackets för VS code Talon - systemet för röststyrning Cursorless - byggt på Talon Video av Cursoress i aktion Iosevka (Kristoffer kör varianten term SS07) Input Ubuntu mono Bartek och Kristoffer snackar musik PO-33 K.O! Teenage engineering Game & watch Game boy Koala - telefonapp för samplande Weekly beats Kristoffers weekly beats såhär långt M8 tracker Lars Underjord Minidisc Hackbara minidiscspelare Titlar Med reservation för allt Jag har ett nytt tangentbord En arvskedja Konkavitet för varje hand Gräva i snön med händerna Om man har sexton tumtangenter Inåtböjda Trumpfingrar Till och med dasslockshänderna Qwerty på jobbet Muskelminnet från alla layouter Röra pekfingrarna inåt Träna upp dina lillfingrar Tangentbordet tar slut där fingrarna inte är Knappar för lite fönsterhantering En Kodsnackknapp Batcaveknapp Tveksamhetstecken Kodar på en högre nivå En hel familj av tips Jag är inte så kraftfull

Jan 16, 2024 • 1h 12min
Kodsnack 565 - Protokollet är fruset, med Björn Wärmedal
Fredrik snackar med Björn Wärmedal om Gemini - ett nytt nätverksprotokoll och sidformat på samma nivå som HTTP och HTML. Ungefär. Fast så mycket enklare. Bygg klienter, sidor, och hela servrar som är våldsamt mycket enklare än vad dagens webb är. Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Webbhuset Elm Evan Czaplicki - skapare av Elm Elm-meetupen Björn Gemini En lång lista Geminimjukvara Nätverksprotokoll på samma nivå som HTTP Fediverse Gemini i Björeman // Melin // Åhs Hej (resten av) internet! snackade Gemini i avsnitt 10 Substack och nazister Solderpunk Apolloprogrammet Mercuryprogrammet Geminiprogrammet Gopher Mime-typer text/gemini AV-98 - första Geminiklienten, döpt efter AV-98 ingram Lynx TUI - text-based user interface Björns gemlog Daniel Stenberg Curl Antenna CAPCOM Flounder - plattform med publiceringsformulär på webben Molly Brown - server för Gemini skriven i Go Gemserv - server i Rust IPV6 RSS Atom TLS TOFU - trust on first use CA OCSP stapling Android 2.1 - från 2009 TLS 1.3 Lagrange Favicons Astrobotany - Geminispelet Botany - originalet CGI-skript Geddit - “Reddit för Gemini” Svelte Sidan om vingummin Titlar Med huvudet uppe i molnen Någonting som heter Gemini Ett annat nätverksprotokoll Inte optimerat för dagens webb Jämföra en myra med en sumobrottare Inte avskalad http Inget krafs 1500 rader Gjort för människor Kör ett självsignerat cert, byt aldrig Lastbilar med extramaterial Protokollet är fruset Det ska aldrig förändras Det finns inga favicons Vattna varandras blommor Galet mycket snabbare än dn.se Nästan ingenting att hämta Precis vad som helst på andra sidan De är inte många, men de är snälla

Jan 9, 2024 • 56min
Kodsnack 564 - Längsta vägen mellan A och B, med Kåre von Geijer
Fredrik snackar med Kåre von Geijer om Advent of code … och om språket Zote Kåre skrev och därefter löste årets upplaga i! Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Advent of code Kåre Kåres Advent of code-bidrag 2020, 2021, 2022, 2023 Kodsnacks advent of code-repo för 2023 Python Haskell Rust Julia Kodsnack om Julia med skaparen Stefan Karpinski MATLAB Z3-biblioteket SAT-lösare Djikstras algoritm Dynamisk programmering Kortaste vägen-problem NP-kompletta problem Zote - Kåres språk Betaveros Noulith - Betaveros eget språk Pipes List comprehension Jquery och kedjebara funktioner Pipes i Julia Zote - karaktären Hollow knight Structs Prioritetskö Tupler Förra avsnittet Rust-lifetimes Variants och invariants i Rust-lifetimes diskuteras längre ner på länken ovan Crafting interpreters Kodsnacks Slack Shoelace formula (area inuti simpel polygon) Picks teorem Titlar Han har gjort saker på häftiga sätt Väldigt genomtänkt för sitt område Ett bra Matlab, och gratis När alla går på ledighet Längsta vägen mellan A och B En ints-funktion Nästa meningsfulla drag Det rimliga nästa steget Inte det lättaste språket att börja i

Jan 2, 2024 • 43min
Kodsnack 563 - Unika migreringar, med Emil Privér
Fredrik snackar med Emil Privér om Rust och Emils databasmigreringsverktyg Geni. Vad är trevligt med Rust, vad är svårt att komma in i, och hur blev Emil sugen på att skriva ett CLI-verktyg i Rust över julen? Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Emil Tidigare avsnitt med Emil Linode Rust Advent of code Ocaml Zig Eslint Prettier Prettiers belöning för en Rust-version Ägandeskap i Rust Race conditions Go Async Futures Closure LLVM Async traits Traits Promise Makron i Rust Wasm - Webassembly Leptos Solid React Vue Axum - webbserver/runtime för Rust Actix JSX Neovim Lazyvim lazy.nvim Mason för LSP:er LSP Cody - Sourcegraphs alternativ till Copilot CLI Turso - libsql - fork på Sqlite Dbmate Atlas - “manage your database schema as code” Geni - Emils migreringsverktyg Sidecar för Kubernetes Sqlx ORM Prisma Heapen Stacken Lifetimes i Rust Emils Advent of code-dashboard Railway Fly Titlar Ett skitspråk Det här kan rädda världen Hur datorn tänker Jag gillar strikta språk Ett lager ovanpå minnet Strikt men trevligt En wrapper på Chatgpt Det enda du bidrar med är din SQL-kod Migreringar kan vara svårt Unika migreringar

Dec 26, 2023 • 1h 8min
Kodsnack 562 - Våga karriärväxla, med Maria Olsson, Connie Tran Hedberg, och Pauliina Raitaniemi
Fredrik snackar med Maria Olsson, Connie Tran Hedberg, och Pauliina Raitaniemi - nybakade utvecklare med härligt skilda bakgrunder som berättar om hur de bestämde sig för att bli utvecklare, hur utbildningen var, och hur det är att få första jobbet och komma in i det nya arbetslivet. Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Maria Pauliina Connie Øredev Linnéuniversitetet Webbprogrammerare - utbildningen Connie, Maria, och Pauliina gick tillsammans UNHCR - FN:s flyktingkommissariat Interaktionsdesign YH-utbildningar Advent of code Udemy Codetogether Serverless Wetal Bitio - där Pauliina jobbar LIA - Lärande i arbete Grogu Impostor syndrome GDPR Titlar Paragrafryttare och rapportskrivare Vår framtid är digital 40 timmar räcker inte Nu väljer jag Hjälp varandra När man satt sitt liv på paus En ganska traumatisk algoritmkurs Jäkla objektorienteringen Jag hade åkt till Danmark Nio sidors instruktioner Karriärväxlar Kommuntanterna Ny och såhär gammal Jag är verkligen Grogu Ingen kan ju allting Ett ställe där det finns ett pingisbord GDPR-nörd GDPR-enhörning Våga karriärväxla!

Dec 19, 2023 • 1h 5min
Kodsnack 561 - Ett hav av skräp
Fredrik och Kristoffer snackar om vintermörker, vinterproduktivitet, och framför allt om hur skräpigt nätet är just nu. Nätet fylls snabbare av snabbare med mer och mer innehåll som är genererat med mindre och mindre mänskligt engagemang och arbetsinsats. Visst kan man känna en viss hunger efter något äkta? En längtan att komma från vågen av skräpinnehåll, och hitta saker som faktiskt är kommunikation mellan människor? Vi kan väl få en ny marknad för mänsklig kontakt till slut? Är hobbyn med mekaniska tangentbord en sorts motvikt och motsats till allt massproducerat? Som uppvärmning: intryck och tankar om årets Øredev. Som avslutning: tangentbordssnack. Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.seom du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Øredev Nanowrinmo Advent of code Eric Normand Monika Intervjun med Monika Lisp Ett av Kristoffers snack om Lisp Web audio Webkit KHTML Facebook erbjude betalversion utan reklam Reflecting on 18 years at Google - blogginlägget om att Google tappat sin stil Altavista Jeeves Slå på apan Kagi Plagiarism and you(tube) - Hbomberguys video Hej (resten av) internet! Vimeo Steve Ballmer Ballmer peak Intelligence is not enough - Bryan Cantrills snack Bryan snackar om Oracle Milkshake duck Shaders Jeff Minter Gallium-layouten Graphite-layouten typelit.io Skriet från vildmarken Gherkin Lily58 Sweep Boba U4T XDA Kreative keys Kristoffer bloggar om sin tidigare layout keybr Monkeytype Titlar Det var alltid ett tag sedan sist Bullerbyupplevelsen Man vill ha ett projekt Allt det som du inte fick med Inte bara sunkig design Skämmas in i märgen Internets bottenskrap Vad är poängen med allt Totalt mörker av content Webb 4 Handgjort innehåll Toppen av en skräpvåg Ett cirkulärt beroende Reglera den ritade bostadsmarknaden En hunger efter något som är äkta Kommunikation utan avsändare Ett hav av skräp Mitt framework är mitt Förankrad i verkligheten En familj av layouter Jag trycker P utan att tänka på det Träna på att sudda snabbt Höger alternativtumme