
Software Unscripted
A weekly podcast of casual conversations about code hosted by Richard Feldman. Each episode features discussions on software development topics, programming languages, and industry trends. The show aims to provide insights and perspectives from experienced developers.
Episodes
TigerBeetle's Spectacular Jepsen Report - with Joran Greef
Richard talks with TigerBeetle founder Joran Greef about how their team's database achieved a wildly successful Jepsen Report. Where other databases have been famously skewered in the past, TigerBeetle passed with flying colors, and Richard and Joran discuss the story of how they got there, how TigerBeetle makes money when their database is open source, and many other topics around software qualit
AI & Software Quality with Shawn Wang (aka swyx)
Richard talks with AI expert Shawn "swyx" Wang about all sorts of AI topics, including how it fits into IDEs, AI agent implementations, the economics of AI subscriptions, the future of AI in software, and how all of this affects software quality.This episode was sponsored by mailtrap.io - modern email delivery for developers. Try Mailtrap for free: https://l.rw.rw/software_unscripted_3Patreon supp
HTMX Creator Carson Gross on Comp Sci's Evolution
HTMX creator and Montana State University instructor Carson Gross talks to Richard about why HTMX moved from version 2 straight to version 4, API boundaries in library design, jQuery, and how the field of Computer Science education is now changing from the perspective of someone who's been teaching it for years.This episode was sponsored by mailtrap.io - modern email delivery for developers. Try M
How Mitchell Hashimoto Builds Ghostty
Ghostty creator and Hashicorp cofounder Mitchell Hashimoto talks with Richard about the development of that high-performance terminal emulator: how he's been building Ghostty, how he does native GUI development while sharing code across platforms, how LLMs have affected both the project and his love of coding, his thoughts on AI ethics, and more.This episode was sponsored by mailtrap.io - mod
Gleam's Design and Compiler - with creator Louis Pilfold
Gleam programming language creator Louis Pilfold talks with Richard about Gleam's design and various challenges that came up when implementing its compiler.- Gleam Language - https://gleam.run- Erlang Language - https://www.erlang.org- Elixir Language - https://elixir-lang.org- Roc Language - https://www.roc-lang.org- Hadoukenify https://github.com/reibitto/hadoukenify - presumably based on https:
Metaprogramming Your IDE in Lean 4 with Harry Goldstein
Harry Goldstein talks with Richard Feldman about the Lean 4 programming language's compile-time metaprogramming capabilities, including how they can be used to control elements of your IDE in realtime. They also discuss other topics like property-based testing, theorem proving, and Smalltalk.You can get ad-free episodes (including video) by supporting Software Unscripted on Patreon! https://www.pa
Jonathan Blow on Programming Language Design
Jonathan Blow, creator of popular games Braid and The Witness, talks with Richard about programming language design - including the design of the programming language he's been building for game developers.Keynote & Tech Demo - https://youtu.be/IdpD5QIVOKQECS and Rust's Borrow Checker - https://youtu.be/4t1K66dMhWk"The 30 Million Line Problem" - https://youtu.be/kZRE7HIO3vk"A New Programming L
Zig Creator Andrew Kelley
Richard talks with Zig Creator Andrew Kelley.- Support Zig - https://ziglang.org/zsf/- Zig's "Writergate" - https://ziglang.org/download/0.15.1/release-notes.html#Writergate- "What Color is Your Function?" by Robert Nystrom - https://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/- "Asynchrony is not Concurrency" by Loris Cro - https://kristoff.it/blog/asynchrony-is-not-concurre
Securing Evolving Software with Noah Hall
xz vulnerability: https://en.wikipedia.org/wiki/XZ_Utils_backdoorSpectre: https://en.wikipedia.org/wiki/Spectre_(security_vulnerability)Meltdown: https://en.wikipedia.org/wiki/Meltdown_(security_vulnerability)Heartbleed: https://en.wikipedia.org/wiki/HeartbleedNoah on GitHub https://github.com/eeue56 - Substack https://substack.com/@eeue56 - BlueSky https://bsky.app/profile/derw-lang.com Hosted on
Andreas Kling on Ladybird Browser, SerenityOS, and Powerlifting
Ladybird Browser - https://ladybird.orgSerenityOS - https://serenityos.orgStory of the man who used powerlifting to recover after falling off a roof https://startingstrength.com/articles/brian_jones_story.pdfStrongLifts 5x5 - https://stronglifts.com/stronglifts-5x5/Starting Strength - https://startingstrength.com/ Hosted on Acast. See acast.com/privacy for more information.
GPU Programming and Language Design with Chris Lattner
Richard talks with Swift, LLVM, Clang, and Mojo creator Chris Lattner about programming on the GPU and on the CPU, as well as a number of programming language design topics.Chris's "Democratizing AI Compute" blog series - https://www.modular.com/blog/democratizing-compute-part-1-deepseeks-impact-on-aiMojo https://www.modular.com/mojoRoc https://www.roc-lang.orgSoftware Unscripted episode with Futh
Broken AI Discourse with Steve Klabnik
Longtime Rust contributor Steve Klabnik talks with Richard about the broken state of AI discourse, from excessive hype to excessive hate, and reasonable alternatives we could pursue instead.Steve's blog post: "I am disappointed in the AI discourse" - https://steveklabnik.com/writing/i-am-disappointed-in-the-ai-discourse/Deep dive into why Rust's compile times are slow: https://www.pingcap.com/blog
Language Design Deep Dive with Elixir Creator José Valim
Elixir creator José Valim goes into a very deep dive on language design with Richard, centered around some upcoming major design changes to the Roc programming language.- https://elixir-lang.org- https://roc-lang.org- Unison's algebraic effects: https://www.unison-lang.org/docs/fundamentals/abilities/- Koka's algebraic effects: https://koka-lang.github.io/koka/doc/book.html#why-effects- OCaml's al
From Scala to Roc with Monica McGuigan
Monica McGuigan, a Scala programmer at JP Morgan, talks with Richard about her experiences learning Roc with a Scala background. They get into topics like how language design affects beginners and experts, what parts of functional programming are easier and harder to learn than others, and how language designers inform their design decisions.Support Software Unscripted on Patreon: https://patreon.
Testing in Production with Mike Bryzek
Mike Bryzek has been a technical cofounder of two very successful companies using some very unorthodox technical strategies that have worked out very well for him and his teams! These include testing in production, spending the first few months of a brand-new company's life investing in automation and tooling before shipping a product, and microservices - but not done in the way I've usually heard
Building Video Editing Software with Andrew Lisowski
Richard talks with Andrew Lisowski, a Senior Engineer at Descript - which makes audio and video editing software that has been used to edit this very podcast! They talk about some of the surprising challenges of dealing with video editing compared to audio alone, the economics of niche podcasts and programming conferences, and the evolution of Web browsers!Support Software Unscripted on Patreon: h
The EYG Language with Peter Saxton
Richard talks with Peter Saxton, creator of the EYG programming language, about the problems Peter aims to solve with EYG, and some of the unique design decisions he's made with it. A type-safe eval() operation even comes up in the discussion!Support Software Unscripted on Patreon: https://patreon.com/SoftwareUnscriptedEYG: https://eyg.runUnison: https://unison-lang.orgRoc: https://roc-lang.org Ho
AI in Programming Education with Will Sentance
Richard talks with Will Sentance, the teacher of the Hard Parts series and the founder and CEO of CodeSmith, which is a Software Engineering and AI immersive education program. They talk about how AI is intersecting with modern programming education, what's considered "fundamentals" these days, and how Will thinks about teaching object-oriented and functional programming.Support Software Unscripte
Software for Elite Athletes with Kyle Boddy
Richard talks with Kyle Boddy about the biomechanical and data analysis software Kyle wrote—and continues to write—as the founder and CTO of Driveline Baseball, a data-driven player development company that has landed numerous players in Major League Baseball, including multiple Most Valuable Players and 2024's number one draft pick. They talk about Kyle's background in PHP and the C++ he wrote to
Mojo with Chris Lattner
For the 100th episode of Software Unscripted, Richard talks with Chris Lattner, creator of Swift, the Clang C++ compiler, LLVM, and now the Mojo programming language, about Mojo, Roc, API design, compiler optimizations, and language design!"Swift for C++ Practitioners" by Doug Gregor - https://www.douggregor.net/posts/swift-for-cxx-practitioners-value-types/Mojo - https://www.modular.com/mojoModul
Tooling-Aware Language Design with Eli Dowling
Richard talks with Eli Dowling about his contributions to the Roc programming language, as well as the intersection of language design and editor tooling, parsers that recover from errors, tree-sitter, going beyond the language server protocol, and the downsides of macros.Perceus paper - https://www.microsoft.com/en-us/research/uploads/prod/2020/11/perceus-tr-v1.pdfThe Koka Programming Language -
The CrowdStrike Incident with Kelly Shortridge
Richard talks with Kelly Shortridge about the CrowdStrike Incident that caused many computers worldwide to get stuck in a boot loop on July 19, 2024.A video version of this episode is available on YouTube at https://www.youtube.com/watch?v=rzjaZssBEiI or ad-free to our wonderful Patreon supporters! https://www.patreon.com/posts/109888395The incident: https://en.wikipedia.org/wiki/2024_CrowdStrike_
Distributed Functions with Jonathan Magen
Richard talks with distributed systems scientist Jonathen Magen about functional programming in distributed systems, including languages like Gleam, Elixir, Ballerina, and Jolie. They also talk about type inference, big data, and a few other topics.Jonathan Magen: https://yonkeltron.com or https://jawns.club/@yonkeltronProgramming languages mentioned:https://ballerina.iohttps://www.jolie-lang.orgh
Undo-Redo and Persistent State with Tom Ballinger
Richard talks with Tom Ballinger about undo and redo in the context of REPLs and running effects, stateful systems in general, hot code loading, and database query planning. Hosted on Acast. See acast.com/privacy for more information.
Smalltalk's Past, Present, and Future with Juan Vuletich
Richard talks with Juan Vuletich, creator of Cuis Smalltalk, about the past, present and future of Smalltalk - including quite a bit of interesting history and programming philosophy! Hosted on Acast. See acast.com/privacy for more information.
From Game Dev to Web Dev
Richard talks with Wolfgang Schuster about his experiences first as a professional game developer, and then later as a professional Web developer. Theytalk about the differences in programming practices he's seen between the two, including things like automated testing, dependency management, and releases. Hosted on Acast. See acast.com/privacy for more information.
Fuzz Testing with Brendan Hansknecht
Richard talks with Brendan Hansknecht, an AI compiler engineer at Modular, about various testing techniques, including fuzzing, property-based tests, database tests, tests involving network requests, and more! Hosted on Acast. See acast.com/privacy for more information.
A Haskeller Tries Smalltalk with Ian Jeffries
Richard talks with Ian Jeffries about his experiences as a Haskeller exploring modern Smalltalk (arguably the original object-oriented programming language), including both the historical context of where Smalltalk came from as well as what it's like using it in a modern context. Hosted on Acast. See acast.com/privacy for more information.
Comparing F#, Elm, and Haskell with Michael Newton
Richard talks to Michael Newton, a programmer working as a consultant and trainer who has used several different functional programming languages in professional settings. They talk about the differences Michael has found between using F sharp, Haskell, and Elm, and especially how those differences apply in the context of professional production programming. Hosted on Acast. See acast.com/privacy
Native UIs without Electron - with Nathan Sobo
Richard talks with Nathan Sobo, founder of Zed Industries (which creates the high-performance Zed code editor) about his time as an early developer on the Atom code editor, including how that project led to Electron. They then discuss how the Zed team has created GPUI, which uses native operating system APIs for events and goes straight to the graphics card for rendering. Hosted on Acast. See acas
Compiling Smart Contracts with Lucas Rosa
Richard talks with Lucas Rosa, a compiler engineer working on the Aiken programming language for smart contracts, about tradeoffs in language and compiler design, property-based testing, syntax and familiarity, and compile-time evaluation of constants. Hosted on Acast. See acast.com/privacy for more information.
Gleam 1.0 with Louis Pilfold
Richard talks with Louis Pilfold, creator of the Gleam programming language, about the language's 1.0 release, as well as other topics like backwards compatibility, hot-swapping code in production, and implementing a typed version of Erlang's famous OTP system, which had also been famously considered to be un-typeable. Hosted on Acast. See acast.com/privacy for more information.
Compilers and Overly Complex Web Development with Thorsten Ball
Richard talks to Thorsten Ball, a programmer at Zed Industries and author of two books on compilers. They start out talking about the differences between compilers and interpreters, what the trickiest parts are of teaching compilers, and then end up talking about the unnecessary complexity that has taken over modern Web Development. Hosted on Acast. See acast.com/privacy for more information.
Incremental Compilation with Alex Kladov
Richard talks with Rust Analyzer creator Alex Kladov (aka matklad) about compilers, including ways they can do incremental compilation, memory management strategies, modules and boundaries, and even monomorphization! Hosted on Acast. See acast.com/privacy for more information.
Programming and Industrial Design with Greg Wilson
Richard talks with programming teacher Greg Wilson about different types of beginner programmers and how they learn most effectively, what counterintuitive aspects of programming languages they tend to find more or less difficult to learn, and about the surprising relationship between software architecture and industrial design. Hosted on Acast. See acast.com/privacy for more information.
Pure Functional Programming in C with Ryan Fleury
Richard talks with RAD Game Tools Debugger programmer Ryan Fleury, about memory management in debugging, caching, operator overloading, and pure functional programming in...C?! Hosted on Acast. See acast.com/privacy for more information.
Lambda Set Defunctionalization with Ayaz Hafiz
Richard talks with Ayaz Hafiz, a contributor to the Roc programming language, about a very specific topic in the Roc compiler, namely lambda set defunctionalization (including explaining what that term actually means). They then zoom out to talk about why more languages don't try to implement techniques like this in general. Hosted on Acast. See acast.com/privacy for more information.
Implementing Databases with Glauber Costa
Richard talks with Glauber Costa about how to implement databases that can do millions of reads per second, how hardware changes have affected the tradeoffs around relational and NoSQL databsaes, and what people mean by Big Data. Hosted on Acast. See acast.com/privacy for more information.
The Return of Hypermedia with Carson Gross
Richard talks with HTMX creator Carson Gross about some of the ways in which modern web development has arguably regressed over the past 15 or so years, as well as Hypertext, Hypermedia, HyperCard, HyperView, HyperScript, and even some other topics that don't have hyper in the name. Hosted on Acast. See acast.com/privacy for more information.
Go and Functional Programming with Lane Wagner
Hosted on Acast. See acast.com/privacy for more information.
The Roc Programming Language with Richard Feldman
Hosted on Acast. See acast.com/privacy for more information.
Making JITted Code Faster with Chris Nuernberger
Richard talks with Chris Nuernberger about his experiences making code run faster in the context of the Java Virtual Machine (JVM) and the similarities and differences between that and trying to make C++ code faster...among several other topics! Hosted on Acast. See acast.com/privacy for more information.
Things Web Devs Can Learn from Game Devs with Casey Muratori
Richard talks with Casey Muratori, a game engine programmer who's known for creating the term Immediate Mode GUIs, for his Twitch series Handmade Hero, and most recently for his excellent Performance Aware Programming course. They talk about performance and the programming culture around it, how memory safety relates to progarm architecture, what Web development can learn from game development, an
How Programming has Changed with Conor Hoekstra
Hosted on Acast. See acast.com/privacy for more information.
Escaping Software Disenchantment with Nikita Prokopov
Richard talks with Nikita Prokopov, an open-source Clojure developer and creator of the Fira Code typeface, about some of the reasons he'd felt a sense of disenchantment with the direction of software in the past, and strategies he's developed for improving things in the future. Hosted on Acast. See acast.com/privacy for more information.
WebAssembly in Practice with Brian Carroll
Richard talks with Brian Carroll about his experience using WebAssembly in practice - including some of the benefits and challenges of using WebAssembly in practice, why WebAssembly adoption might not be as high as it could be today, and speculation about what the future might hold for it. Hosted on Acast. See acast.com/privacy for more information.
Disassembling Languages with Matt Godbolt
Richard talks with Matt Godbolt, author of the godbolt.org Compiler Explorer, about how certain aspects of the Compiler Explorer work, as well as "disassembling" language designs themselves - talking about reference counting optimizations, destructors and unwinding, and even defending the infamous design decision of NaN != NaN. Hosted on Acast. See acast.com/privacy for more information.
Designing Compilers for Speed with Troels Henriksen
Hosted on Acast. See acast.com/privacy for more information.
Gradual vs Static Typing with José Valim
Hosted on Acast. See acast.com/privacy for more information.
The SemVer Rabbit Hole with Predrag Gruevski
Richard talks with Predrag Gruevski, author of the cargo-semver-checks tool for detecting accidental semantic versioning mistakes in Rust packages, as well as Trustfall, which is an incredibly flexible query engine. They talk about why semantic versioning is so especially tricky to get right in Rust, tradeoffs in different package managers' approaches to semver in general, and how his work on carg
Type System Complexity with Chris Krycho
Hosted on Acast. See acast.com/privacy for more information.
Making Parsing I/O Bound with Daniel Lemire
Richard talks to Daniel Lemire about his work on simdjson, arguably the fastest JSON parser in the world. They also talk about parsing performance in other contexts, benchmarking, NodeJS string representations, and textbook approaches to performance versus real-world experimentation. Hosted on Acast. See acast.com/privacy for more information.
Niche Domain Knowledge with Ashley Williams
Richard talks with former Rust core team member Ashley Williams, aka ag_dubs,, about various different types of niche domain knowledge - from CSS tricks in web development to low-level systems programming, package managers, and even organization-specific domain knowledge. Hosted on Acast. See acast.com/privacy for more information.
Building a Terminal in Zig and Swift with Mitchell Hashimoto
Richard talks with HashiCorp cofounder Mitchell Hashimoto about a side project of his: a high-performance terminal emulator that he wrote using Zig and Swift, and which has become his daily driver terminal. Hosted on Acast. See acast.com/privacy for more information.
React Hooks Design Review
Hosted on Acast. See acast.com/privacy for more information.
Thinking in Array Languages with Alex Shroyer
Richard talks to to Alex Shroyer about his unusually extensive experiences with Array Languages like APL and J - where they come from, how they have more to offer than just extreme conciseness, and what feature creep looks like in a language that's mostly symbols.Links to Alex's website and more info about array languages:alexshroyer.comhttps://nsl.com/https://vector.org.uk/https://github.com/inte
My Contribution to the Left-Pad Incident with Simon Lydell
Richard talks with Simon Lydell, a programmer whose open-source JavaScript work ended up contributing to what might be the most infamous package-related outage in programming history. In addition to talking about that story, they also talk about open source in general, breaking changes in general, and specific projects like CoffeeScript, Prettier, Elm, and Roc. Hosted on Acast. See acast.com/priva
Comparing Haskell to R with Will Kurt
Richard talks to Will Kurt, an AI Engineer at Hex as well as the author of both the countbayesie.com blog as well as the book Get Programming with Haskell, from Manning Publications. They talk about the book, about Haskell in general, and end up comparing Haskell to R, as well as type systems and artificial intelligence! Hosted on Acast. See acast.com/privacy for more information.
Defunctionalization in a Functional Language with Ayaz Hafiz
Richard talks to Ayaz Hafiz about his work on the Roc programming language. They discuss behind-the-scenes compiler details like implementing ad-hoc polymorphism and defunctionalization using lambda sets. Along the way they get into how these implementation details interact with design of the language, and the experience of using the language. Hosted on Acast. See acast.com/privacy for more inform
Linking & Binary Hot Code Loading with Jakub Konka
Richard talks to Jakub Konka, a programmer who works on the Zig programming language. They talk about the low-level systems programming involved in Jacob's work on Zig and other projects, including things like disassembling binaries, hot code loading in a systems language, writing a linker from scratch, and testing machine code without access to the actual hardware - or even an emulator! Hosted on
From Bootcamp to Teaching Masters' Comp Sci
Richard talks to Chelsea Troy, a programmer working at Mozilla who has a side gig teaching Masters' Computer Science students at the University of Chicago. This is highly unusual, considering she does not have a computer science degree! They talk about how she landed that job, including how the interview process differs from industry interviews, among other topics. Hosted on Acast. See acast.com/p
Syntax and the Future of Programming with Josh Warner
Richard talks with Josh Warner, who has been working on making improvements to the Roc programming language, particularly around the parser and formatter. They start out talking about syntax and code formatting, but after some plot twists, the conversation ends up on AI and the future of programming itself! Hosted on Acast. See acast.com/privacy for more information.
Growing Programming Communities with Ryan Haskell-Glatz
Richard talks with Ryan Haskell-Glatz, author of the open-source Elm projects elm-spa and Elm Land. They get into things like new user onboarding experiences, framework churn, and dynamics between authors and users in open-source communities. Hosted on Acast. See acast.com/privacy for more information.
AI Tools Today
Richard talks to Stachu Koric about the Dark programming language's shift to being a programming language built around AI, as well as their own personal experiences so far exploring chatGPT, Copilot, and other emerging AI tools. Hosted on Acast. See acast.com/privacy for more information.
From Erlang to Management to C++
Dizzy Smith talks with Richard about his career path from C++ to Erlang to Management and now back to C++. Along the way, they talk about package management and several other languages - including Go, Rust, JavaScript, and even Perl. Hosted on Acast. See acast.com/privacy for more information.
Conditional Cardinality with Joël Quenneville
Hosted on Acast. See acast.com/privacy for more information.
Speeding up Rust's Compiler
Richard talks with Nicholas Nethercote, a member of the Rust programming language's Performance Working Group and author of the Rust Performance Book. They discuss how he and others have worked to speed up Rust's compiler, different strategies for speeding up compilers in general, and how compiler performance fits into the working dynamic of Rust's ecosystem of contributors. Hosted on Acast. See a
Evolutionary vs Revolutionary Languages with James Ward
Hosted on Acast. See acast.com/privacy for more information.
The Rust + Elm Stack
Hosted on Acast. See acast.com/privacy for more information.
The Monolith-Microservices Spectrum
Richard talks with Ashley Davis, author of the book Bootstrapping Microservices, about their differing perspectives on microservices, monoliths, and everything in between! Ashley is also the author of Rapid Fullstack Development, available at https://rapidfullstackdevelopment.com Hosted on Acast. See acast.com/privacy for more information.
Swift and Unicode API Design with Rob Napier
Hosted on Acast. See acast.com/privacy for more information.
Haskell and Clojure in Production with Eric Normand
Richard talks to Eric Normand about his experiences using both Haskell and Clojure in production, and his perspectives on comparing and contrasting the approaches of the two languages.Eric hosts a podcast (https://ericnormand.me/podcast) and you can use code podsoftunsc22 at checkout to get a discount on his book Grokking Simplicity: https://www.manning.com/books/grokking-simplicity Hosted on Acas
F# in Production with Scott Wlaschin
Richard talks with Scott Wlaschin, author of the book Domain Modeling Made Functional and the website F# for Fun and Profit, about using F# in production and the minimal essence of functional programming. Hosted on Acast. See acast.com/privacy for more information.
Scratch-Building an Operating System with Steve Klabnik
Hosted on Acast. See acast.com/privacy for more information.
Scaling Slack's Infrastructure
Hosted on Acast. See acast.com/privacy for more information.
Bootstrapping a Compiler via WASM with Loris Cro
Hosted on Acast. See acast.com/privacy for more information.
Technical Empathy with Andrea Goulet
Richard talks with Andrea Goulet, a programmer at Corgibytes and coauthor of the book Empathy-Driven Software Development published by Pearson. They talk about the surprising interactions between technology and empathy, including how empathy for other programmers can lead to not only better interactions with other programmers, but even better understanding of the technology itself. Hosted on Acast
Embracing the Chaos with Jean Yang
Richard talks with Akita Software founder and former PhD Computer Science professor Jean Yang, about about her experiences in academia and in industry as a startup founder, and how different programmers think about guarantees - or lack thereof - in chaotic production systems Hosted on Acast. See acast.com/privacy for more information.
Are Functions Data? with Yehonathan Sharvit
Richard talks with Yehonathan Sharvit, author of the book Data Oriented Programming from Manning Publications, about data oriented programming, immutability, and whether functions should be considered data. Hosted on Acast. See acast.com/privacy for more information.
Derw with Noah Hall
Richard talks with Noah Hall, the creator of the Derw programming language, about backwards compatibility, tradeoffs in different styles of running open-source projects, and how languages evolve through risk-taking and experimentation. Hosted on Acast. See acast.com/privacy for more information.











