Software Unscripted

Richard Feldman

117 episodes listed below

Listen to the show on

PRESS PLAY

Find your next episode

All episodes

In their own words

Software Unscripted, A weekly podcast of casual conversations about code hosted by Richard Feldman. Hosted on Acast. See acast.com/privacy for more information.

As heard by us

Based on 5 episodes we listened to · September 2026

Richard Feldman's guest conversations make software design choices understandable by following their history, implementation constraints, and consequences.

Software Unscripted turns programming decisions into careful conversations about the constraints, histories, and trade-offs behind them. Richard Feldman gives guests room to explain why an approach emerged, then presses on the costs hidden by its success.

Read our full review in PlayNext →

Why you'd press play

Richard Feldman gives React Hooks a design review; your old grudge gets a chance to testify.

Press play if you want

  • get past APL's unfamiliar symbols to the ideas underneath
  • weigh HTMX against thick front ends without demanding a winner
Read the full recommendation in PlayNext →

Talks about

Best episodes of Software Unscripted

Short reviews from the PlayNext desk, based on the episodes we processed.

HTMX Creator Carson Gross on Comp Sci's EvolutionApr 1, 2026

Carson Gross ties HTMX's rise to changing web assumptions and the pressure AI puts on software education.

Software Unscripted places Carson Gross's case for HTMX in a broader story about how web development keeps revising its assumptions. The episode presents HTMX as a lean, hypermedia-minded front-end library, closer to an older AJAX style than to the heavier single-page…

Building a Terminal in Zig and Swift with Mitchell HashimotoJul 19, 2023

A side project becomes a daily driver, with terminal craft meeting the quieter work of shipping software.

Mitchell Hashimoto's terminal emulator comes across as a response to years of small, recurring CLI annoyances: progress bars, multiline output, colors, and platform quirks that keep being solved again and again.

React Hooks Design ReviewJul 11, 2023

A clear, grounded review of why React Hooks emerged, what they cleaned up, and which design questions stayed open.

React Hooks Design Review returns to a React choice that Richard Feldman found hard to read when Hooks first arrived. With Scott Trinh, a programmer at EdgeDB who used React.js on both sides of that shift, the episode works through why the API took shape, what it made easier,…

Thinking in Array Languages with Alex ShroyerJul 5, 2023

A clear look at how APL, J, and K turn constraint into another way of thinking about code.

Array languages are framed here less as a stunt of extreme brevity than as a different bargain with thought. Richard Feldman's conversation with Alex Schroer, a systems engineer and PhD candidate at Indiana University, begins with APL's single-character symbols, then turns…

My Contribution to the Left-Pad Incident with Simon LydellJun 27, 2023

A deleted JavaScript package becomes a focused case study in dependency risk, upgrade strategy, and trust.

Software Unscripted revisits the 2016 LeftPad outage through a plain developer scenario: builds stop because Babel depends on LeftPad, and LeftPad's author has removed his packages from NPM after losing confidence in the package system.

Podcasts like Software Unscripted

Episodes

  1. 1

    Comparing F#, Elm, and Haskell with Michael Newton

    This episode features a discussion with programmer Michael Newton comparing the functional programming languages F-sharp, Haskell, and Elm in professional production contexts.

    ·1h 9m
  2. 2

    Things Web Devs Can Learn from Game Devs with Casey Muratori

    This episode explores what web developers can learn from game development practices, focusing on performance, memory safety, and UI layout challenges like CSS.

    ·2h 7m
  3. 3

    The SemVer Rabbit Hole with Predrag Gruevski

    Richard Feldman interviews Predrag Gruevski about the challenges of implementing semantic versioning in Rust's Cargo package manager and how it led to the creation of tools like Cargo Semver Checks and Trustfall.

    ·58m
  4. 4

    A Haskeller Tries Smalltalk with Ian Jeffries

    A programmer with a Haskell background discusses his exploration of Smalltalk, covering its historical origins at Xerox PARC and the economic context of ARPA funding during the Cold War.

    ·1h 4m
  5. 5

    Gradual vs Static Typing with José Valim

    Host Richard Feldman interviews José Valim, creator of Elixir, about the differences between gradual and static typing, focusing on Elixir's prototype for set theoretic types and the trade-offs involved.

    ·1h 26m
  6. 6

    How Mitchell Hashimoto Builds Ghostty

    Mitchell Hashimoto discusses the trade-offs between native and cross-platform GUI development for his Ghostty terminal emulator, touching on platform-specific features and technical implementation challenges.

    ·1h 4m
  7. 7

    Metaprogramming Your IDE in Lean 4 with Harry Goldstein

    This episode explores how Lean 4's metaprogramming capabilities enable developers to program their IDE from within the system at compile time, featuring an interview with Harry Goldstein about his work integrating these features.

    ·41m
  8. 8

    Zig Creator Andrew Kelley

    Host Richard Feldman interviews Andrew Kelley, creator of the Zig programming language, discussing technical aspects like memory management, I.O.

    ·1h 49m
  9. 9

    Securing Evolving Software with Noah Hall

    This episode discusses the XE exploit case involving homebrew's rolling releases, highlighting the security-performance trade-offs in software deployment.

    ·1h
  10. 10

    Andreas Kling on Ladybird Browser, SerenityOS, and Powerlifting

    Andreas Kling discusses the development of the scratch-built Ladybird Browser and SerenityOS, highlighting the challenges and benefits of creating independent components like JavaScript and CSS engines compared to other browser projects.

    ·1h 20m
  11. 11

    Broken AI Discourse with Steve Klabnik

    This episode features a discussion with Steve Klabnik about his blog post critiquing the polarized and unproductive discourse around AI in the programming community, covering topics from hype to skepticism and ethical implications.

    ·1h 20m
  12. 12

    Disassembling Languages with Matt Godbolt

    Host Richard Feldman interviews Matt Godbolt about the Compiler Explorer tool, which disassembles and maps compiled programs to show how high-level code translates to assembly instructions.

    ·1h 7m
  13. 13

    Lambda Set Defunctionalization with Ayaz Hafiz

    This episode explores lambda set defunctionalization in the ROC compiler, explaining the technical challenges of handling closures with different captures and discussing why more languages don't implement such techniques.

    ·45m
  14. 14

    Compiling Smart Contracts with Lucas Rosa

    This episode features an interview with Lucas Rosa about Aiken, a programming language for smart contracts, focusing on its unique integration of property-based testing and design trade-offs.

    ·1h
  15. 15

    Smalltalk's Past, Present, and Future with Juan Vuletich

    This episode explores the history, philosophy, and future of Smalltalk programming with creator Juan Vuletich, focusing on its live programming capabilities and object-oriented design principles.

    ·55m
  16. 16

    Native UIs without Electron - with Nathan Sobo

    This episode features an interview with Nathan Sobo about the history of Electron from Atom, the development of the Zed code editor, and the creation of GPUI for native UIs without Electron.

    ·1h 17m
  17. 17

    Language Design Deep Dive with Elixir Creator José Valim

    This episode features a deep dive into programming language design with José Valim, creator of Elixir, discussing topics like functional purity inference and tracing in the context of the Rock language.

    ·2h 26m
  18. 18

    Fuzz Testing with Brendan Hansknecht

    This episode explores the differences between fuzz testing and property-based testing in software development, featuring an interview with AI compiler engineer Brendan Hansknecht.

    ·1h 6m
  19. 19

    Making JITted Code Faster with Chris Nuernberger

    This episode features an interview with Chris Nuernberger discussing his experiences optimizing code in the JVM and comparing it to C++ performance tuning, with insights from his background at NVIDIA and work on projects like Cortex.

    ·1h 9m
  20. 20

    GPU Programming and Language Design with Chris Lattner

    This episode features an interview with Chris Lattner discussing the Mojo programming language's capabilities for high-performance GPU and CPU programming, its development progress, and its relationship to Python.

    ·1h 19m
  21. 21

    Gleam 1.0 with Louis Pilfold

    Host Richard Feldman interviews Louis Pilfold about the release of Gleam 1.0, a type-checked programming language for the Beam virtual machine, discussing its development, versioning philosophy, and technical features.

    ·1h 11m
  22. 22

    The CrowdStrike Incident with Kelly Shortridge

    Host Richard Feldman interviews cybersecurity expert Kelly Shortridge about the recent CrowdStrike incident that caused widespread system failures through a problematic software update.

    ·59m
  23. 23

    Jonathan Blow on Programming Language Design

    Jonathan Blow discusses the limitations of traditional programming languages like C and C++ in handling memory management and abstraction, contrasting them with functional languages' approaches.

    ·1h 42m
  24. 24

    From Scala to Roc with Monica McGuigan

    Host Richard Feldman interviews Monica McGuigan about her transition from Scala to the Roc programming language, discussing functional programming concepts, language design, and learning experiences.

    ·1h 8m
  25. 25

    The Return of Hypermedia with Carson Gross

    Host Richard Feldman interviews Carson Gross about HTMX and the argument that modern web development has regressed by moving away from hypermedia principles like sending HTML over the wire instead of JSON.

    ·1h 9m
  26. 26

    Implementing Databases with Glauber Costa

    Database expert Glauber Costa discusses achieving million-reads-per-second performance with ScyllaDB versus Cassandra clusters, focusing on hardware optimization and OS-level implementation strategies.

    ·48m
  27. 27

    Making Parsing I/O Bound with Daniel Lemire

    Host Richard Feldman interviews Daniel Lemire about SIMD JSON, a high-speed parser that makes I/O the bottleneck, covering its development, applications to various data formats, and insights into performance benchmarking.

    ·1h 18m·5 clips
  28. 28

    Niche Domain Knowledge with Ashley Williams

    Host Richard Feldman interviews Ashley Williams, founder of Axo and former Rust core team member, about niche domain knowledge in software development.

    ·55m·5 clips
  29. 29

    The EYG Language with Peter Saxton

    Host Richard Feldman interviews Peter Saxton about the creation and design of the EYG programming language, exploring its influences from languages like Rock and Unison and the problems it aims to solve in functional programming.

    ·1h 17m
  30. 30

    Type System Complexity with Chris Krycho

    Richard Feldman interviews Chris Krycho about LinkedIn's migration to TypeScript, covering the challenges of adopting it at scale, TypeScript's semantic versioning, and comparisons of type system complexity in various languages.

    ·50m·4 clips
  31. 31

    How Programming has Changed with Conor Hoekstra

    Host Richard Feldman interviews Conor Hoekstra about the evolution of programming languages, the current state and future of C++ in GPU and hardware contexts, and comparisons to historical languages like COBOL.

    ·1h 13m
  32. 32

    Compilers and Overly Complex Web Development with Thorsten Ball

    Host Richard Feldman interviews Thorsten Ball about the differences between compilers and interpreters, teaching compilers, and the excessive complexity in modern web development.

    ·1h 14m
  33. 33

    The Roc Programming Language with Richard Feldman

    Richard Feldman discusses the origins and motivations behind creating the Roc programming language, inspired by his experience with Elm and aiming to extend its functional programming benefits to various domains beyond front-end development.

    ·1h 8m
  34. 34

    Escaping Software Disenchantment with Nikita Prokopov

    Host Richard Feldman interviews Nikita Prokopov about his blog post on software disenchantment, exploring why software seems inefficient despite hardware advances and discussing strategies to address these issues.

    ·49m
  35. 35

    Tooling-Aware Language Design with Eli Dowling

    Host Richard Feldman interviews Eli Dowling about the intersection of programming language design and editor tooling, focusing on the Rock language and topics like error recovery, TreeSitter, and the limitations of macros.

    ·1h 12m
  36. 36

    Programming and Industrial Design with Greg Wilson

    This episode explores teaching programming to beginners, distinguishing between true and false beginners, and discusses the relationship between software architecture and industrial design.

    ·58m
  37. 37

    Designing Compilers for Speed with Troels Henriksen

    This episode explores compiler design for performance, focusing on parallel processing opportunities in compilation stages beyond just GPU execution.

    ·1h 5m
  38. 38

    Incremental Compilation with Alex Kladov

    Alex Kladov discusses incremental compilation techniques, memory management strategies like arena allocation, and his experiences with long-lived compilers in this technical interview.

    ·1h 24m
  39. 39

    Pure Functional Programming in C with Ryan Fleury

    Host Richard Feldman interviews Ryan Fleury about pure functional programming in C, memory management techniques, and the false dichotomy between stack and heap in programming.

    ·1h 41m
  40. 40

    WebAssembly in Practice with Brian Carroll

    Host Richard Feldman interviews Brian Carroll about the practical benefits, challenges, and future potential of WebAssembly in programming, including its relationship with JavaScript.

    ·50m
  41. 41

    Go and Functional Programming with Lane Wagner

    Host Richard Feldman interviews Lane Wagner about Go's design decisions, including its use of tabs for indentation and comparisons with functional and imperative programming languages.

    ·1h 15m
  42. 42

    From Game Dev to Web Dev

    Host Richard Feldman interviews Wolfgang Schuster about his transition from game development to web development, focusing on differences in programming practices like game loops and frameworks.

    ·1h 9m
  43. 43

    Distributed Functions with Jonathan Magen

    This episode explores the intersection of functional programming and distributed systems, discussing languages like Gleam and Elixir, scalability trade-offs, and coordination protocols in distributed computing.

    ·48m
  44. 44

    Gleam's Design and Compiler - with creator Louis Pilfold

    This episode features an interview with Louis Pilfold, creator of the Gleam programming language, discussing its unique design choices like replacing traditional if statements with pattern matching.

    ·1h 11m
  45. 45

    Building Video Editing Software with Andrew Lisowski

    This episode explores how Descript's video editing software uses transcript alignment technology to enable editing by manipulating text, with insights into the challenges of video versus audio editing and broader industry topics.

    ·1h 3m
  46. 46

    AI in Programming Education with Will Sentance

    This episode explores how AI tools like ChatGPT and Copilot are transforming programming education, focusing on teaching fundamentals and developing judgment skills rather than just generating code answers.

    ·59m
  47. 47

    Mojo with Chris Lattner

    Host Richard Feldman interviews Chris Lattner about the creation and purpose of the Mojo programming language, focusing on solving hardware acceleration challenges.

    ·1h 49m
  48. 48

    Undo-Redo and Persistent State with Tom Ballinger

    Host Richard Feldman interviews software engineer Tom Ballinger about implementing undo-redo functionality in repls using fork-based approaches and its applications in systems like Redis and Factorio.

    ·59m
  49. 49

    Software for Elite Athletes with Kyle Boddy

    Kyle Boddy discusses the early software engineering challenges of building Driveline Baseball, focusing on synchronizing high-speed cameras for data-driven baseball player development.

    ·1h 8m
  50. 50

    Testing in Production with Mike Bryzek

    Host Richard Feldman interviews Mike Bryzek about his unconventional software development strategies including testing in production, early investment in automation, and microservices approaches that led to successful companies.

    ·1h 18m
  51. 51

    HTMX Creator Carson Gross on Comp Sci's Evolution

    Hidden gem

    Richard Feldman interviews Carson Gross about HTMX, software philosophy, and the impact of AI on teaching programming.

    Apr 1, 2026·1h 28m·2 clips
  52. 52

    Building a Terminal in Zig and Swift with Mitchell Hashimoto

    Hidden gem

    Mitchell Hashimoto describes building a terminal emulator in Zig and SwiftUI that has been his daily driver on macOS since May of last year.

    Jul 19, 2023·57m·4 clips
  53. 53

    React Hooks Design Review

    Hidden gem

    Software Unscripted's "React Hooks Design Review" pairs Richard Feldman with Scott Trinh, an EdgeDB programmer who knew React before and after Hooks.

    Jul 11, 2023·50m·3 clips
  54. 54

    Thinking in Array Languages with Alex Shroyer

    Hidden gem

    Richard Feldman interviews Alex Schroyer about array languages like APL and J, discussing their conciseness and how they change the way programmers think.

    Jul 5, 2023·47m·2 clips
  55. 55

    My Contribution to the Left-Pad Incident with Simon Lydell

    Hidden gem

    ["Richard Feldman and Simon Lidell trace the LeftPad incident back to a Babel pull request that only needed line-number padding for syntax-error snippets.", "Simon Lidell says he wrote `line numbers` at 19 while working in a warehouse, then built `JS Tokens` after experimenting with a regex tokenizer for JavaScript.", "The PR that reached Babel started as a tokenizer swap, then pulled in `line numbers`, more options, and a function escape hatch that made the helper harder to justify.", "They compare NPM's ability to unpublish packages and run install scripts with Elm's package rules that avoid arbitrary code execution."]

    Jun 27, 2023·57m·4 clips
  56. 56

    Comparing Haskell to R with Will Kurt

    Jun 20, 2023·1h 1m
  57. 57

    Defunctionalization in a Functional Language with Ayaz Hafiz

    May 24, 2023·1h 16m
  58. 58

    Linking & Binary Hot Code Loading with Jakub Konka

    May 14, 2023·54m
  59. 59

    From Bootcamp to Teaching Masters' Comp Sci

    May 4, 2023·52m
  60. 60

    Syntax and the Future of Programming with Josh Warner

    Apr 27, 2023·1h 6m
  61. 61

    Growing Programming Communities with Ryan Haskell-Glatz

    Apr 21, 2023·57m
  62. 62

    AI Tools Today

    Apr 12, 2023·53m
  63. 63

    From Erlang to Management to C++

    Apr 4, 2023·1h 2m
  64. 64

    Conditional Cardinality with Joël Quenneville

    Mar 28, 2023·52m
  65. 65

    Speeding up Rust's Compiler

    Mar 15, 2023·49m
  66. 66

    Evolutionary vs Revolutionary Languages with James Ward

    Feb 28, 2023·1h 2m
  67. 67

    The Rust + Elm Stack

    Feb 20, 2023·48m
  68. 68

    The Monolith-Microservices Spectrum

    Feb 13, 2023·52m
  69. 69

    Swift and Unicode API Design with Rob Napier

    Feb 6, 2023·49m
  70. 70

    Haskell and Clojure in Production with Eric Normand

    Jan 30, 2023·50m
  71. 71

    Scratch-Building an Operating System with Steve Klabnik

    Jan 16, 2023·57m
  72. 72

    F# in Production with Scott Wlaschin

    Jan 16, 2023·51m
  73. 73

    Scaling Slack's Infrastructure

    Jan 9, 2023·53m
  74. 74

    Bootstrapping a Compiler via WASM with Loris Cro

    Dec 26, 2022·57m
  75. 75

    Technical Empathy with Andrea Goulet

    Dec 12, 2022·54m
  76. 76

    Embracing the Chaos with Jean Yang

    Dec 5, 2022·48m
  77. 77

    Are Functions Data? with Yehonathan Sharvit

    Nov 28, 2022·55m
  78. 78

    Derw with Noah Hall

    Nov 21, 2022·46m
  79. 79

    Software Rituals with David Nolen

    Nov 14, 2022·1h
  80. 80

    Accessibility in Practice with the Accessibilibats

    Nov 9, 2022·59m
  81. 81

    Static Types in Elixir with José Valim

    Oct 31, 2022·1h 1m
  82. 82

    Building a Database with Joran Greef

    Oct 17, 2022·54m
  83. 83

    Back to Basics in Production with Marc Grabanski

    Oct 10, 2022·57m
  84. 84

    Type System Mythbusting with Alexis King

    Oct 3, 2022·1h 2m
  85. 85

    Building Chrome Dev Tools with Jack Franklin

    Sep 26, 2022·54m
  86. 86

    The Compile-to-JS Smörgåsbord with Murphy Randle

    Sep 19, 2022·58m
  87. 87

    Lamdera with Mario Rogic

    Sep 12, 2022·57m
  88. 88

    Python and OO with Reuven Lerner

    Sep 5, 2022·52m
  89. 89

    Hiring Functional Programmers with Kris Jenkins

    Aug 29, 2022·54m
  90. 90

    Makepad with Rik Arends

    Aug 22, 2022·49m
  91. 91

    Vim and Nix with Jasper Woudenberg

    Aug 15, 2022·45m
  92. 92

    Teaching Haskell with Christoph Hermann

    Aug 11, 2022·53m
  93. 93

    Literal Google Scale

    Aug 8, 2022·51m
  94. 94

    Real-World Performance Optimization with Folkert de Vries

    Jul 28, 2022·47m
  95. 95

    "Team Monolith" with Jonathan Magen

    Jul 19, 2022·48m
  96. 96

    Open-Source Careers with Loris Cro

    Jul 13, 2022·49m
  97. 97

    Functional Programming in Rust with Luke Westby

    Jun 30, 2022·52m
  98. 98

    Jared Forsyth - From Web Development to Microcontrollers

    Jun 23, 2022·47m
  99. 99

    Non-mainstream Programming with Gabriella Gonzalez

    Jun 16, 2022·51m
  100. 100

    Gleam with Louis Pilfold

    Jun 10, 2022·47m
  101. 101

    Functional and Object-Oriented Programming with Lindsay Wardell

    Jun 6, 2022·1h 3m
  102. 102

    Dark with Paul Biggar

    May 27, 2022·1h
  103. 103

    Software Design with Dillon Kearns

    Richard Feldman interviews Dylan Kearns about his open source Elm projects Elm GraphQL and Elm Pages, discussing software design and type safety.

    May 23, 2022·57m
  104. 104

    Indie Game Dev

    May 11, 2022·1h 5m
  105. 105

    Change Management

    May 3, 2022·51m
  106. 106

    The Unison Programming Language with Rúnar Bjarnason

    Richard Feldman interviews Runar Bjarnason about the design of the Unison programming language and its unique features.

    Apr 22, 2022·44m
  107. 107

    Static Analysis with elm-review author Jeroen Engels

    Richard Feldman interviews Jeroen Engels about the design of static analysis tools like linters, trade-offs of gradual typing, and build time performance.

    Apr 15, 2022·54m
  108. 108

    Crystal with Johannes Müller and creator Ary Borenszweig

    Richard Feldman interviews the creators of the Crystal programming language about its design and evolution.

    Apr 8, 2022·51m
  109. 109

    Clickbait with Hillel Wayne

    Host Richard Feldman interviews Hillel Wayne about formal methods, software history, and technical writing.

    Apr 1, 2022·57m
  110. 110

    Crossing the Chasm

    Mar 25, 2022·1h 10m
  111. 111

    Open-Source with Zig creator Andrew Kelley

    Mar 15, 2022·59m
  112. 112

    Database Apocalypse

    Mar 2, 2022·1h 2m
  113. 113

    Data Storytelling

    Feb 25, 2022·52m
  114. 114

    Deployments

    Feb 8, 2022·1h
  115. 115

    Interactive Style Guides

    Feb 2, 2022·54m
  116. 116

    Teaching Functional Programming

    Jan 24, 2022·58m
  117. 117

    Observability

    Dec 29, 2021·51m