Software Unscripted, A weekly podcast of casual conversations about code hosted by Richard Feldman & sponsored by NoRedInk.

WebAssembly in Practice with Brian Carroll

November 05, 2023 00:00 0.0 MB Downloads: 0

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.

Disassembling Languages with Matt Godbolt

October 22, 2023 00:00 0.0 MB Downloads: 0

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.

Designing Compilers for Speed with Troels Henriksen

October 12, 2023 00:00 0.0 MB Downloads: 0

Richard talks to Futhark language co-creator Troels Henriksen about how to design compilers for faster performance.

This episode has failed processing Original Audio

Gradual vs Static Typing with José Valim

September 21, 2023 00:00 0.0 MB Downloads: 0

Richard talks with José Valim, creator of the Elixir programming language, about the differences between gradual typing and static typing - including whether gradual is the best of both worlds.

The SemVer Rabbit Hole with Predrag Gruevski

September 11, 2023 0:58:14 87.24 MB Downloads: 0

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 cargo-semver-checks motivated him to create a tool for querying data in just about any format.

Type System Complexity with Chris Krycho

September 06, 2023 0:49:46 119.42 MB Downloads: 0

Richard talks to Chris Krycho about TypeScript's unusual take on semantic versioning, and type system complexity tradeoffs between various different languages.

Making Parsing I/O Bound with Daniel Lemire

August 17, 2023 00:00 0.0 MB Downloads: 0

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.

Niche Domain Knowledge with Ashley Williams

August 08, 2023 0:54:38 133.34 MB Downloads: 0

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.

Building a Terminal in Zig and Swift with Mitchell Hashimoto

July 18, 2023 00:00 0.0 MB Downloads: 0

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.

React Hooks Design Review

July 11, 2023 0:50:00 48.0 MB Downloads: 0

Richard talks to Scott Trinh about the design of the React Hooks API - what motivated it, what tradeoffs it introduced, and what design priorities it reveals about React as a whole.

Thinking in Array Languages with Alex Shroyer

July 04, 2023 0:47:05 45.2 MB Downloads: 0

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.com https://nsl.com/ https://vector.org.uk/ https://github.com/interregna/arraylanguage-companies https://tryapl.org/ https://bqnpad.mechanize.systems/ https://www.arraycast.com/ https://aplwiki.com/wiki/APL_Farm https://discord.com/invite/yHna7nt7zx

This episode has failed processing Original Audio

My Contribution to the Left-Pad Incident with Simon Lydell

June 27, 2023 00:00 0.0 MB Downloads: 0

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.

Comparing Haskell to R with Will Kurt

June 20, 2023 1:00:42 89.5 MB Downloads: 0

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!

Defunctionalization in a Functional Language with Ayaz Hafiz

May 23, 2023 1:16:13 71.6 MB Downloads: 0

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.

Linking & Binary Hot Code Loading with Jakub Konka

May 13, 2023 0:53:39 78.99 MB Downloads: 0

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!