Software Unscripted

Follow Software Unscripted
Share on
Copy link to clipboard

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

Software Unscripted


    • Jun 24, 2024 LATEST EPISODE
    • every other week NEW EPISODES
    • 56m AVG DURATION
    • 94 EPISODES


    Search for episodes from Software Unscripted with a specific topic:

    Latest episodes from Software Unscripted

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

    Play Episode Listen Later Jun 24, 2024 54:30


    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

    Play Episode Listen Later Jun 16, 2024 68:32


    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

    Play Episode Listen Later Jun 4, 2024 66:03


    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

    Play Episode Listen Later May 25, 2024 64:25


    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

    Play Episode Listen Later May 13, 2024 69:19


    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.

    Native UIs without Electron - with Nathan Sobo

    Play Episode Listen Later May 4, 2024


    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.

    Compiling Smart Contracts with Lucas Rosa

    Play Episode Listen Later Apr 21, 2024 59:31


    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.

    Gleam 1.0 with Louis Pilfold

    Play Episode Listen Later Apr 2, 2024


    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.

    Compilers and Overly Complex Web Development with Thorsten Ball

    Play Episode Listen Later Mar 17, 2024 73:30


    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.

    Incremental Compilation with Alex Kladov

    Play Episode Listen Later Mar 3, 2024 83:42


    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!

    Programming and Industrial Design with Greg Wilson

    Play Episode Listen Later Feb 14, 2024 57:44


    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.

    Lambda Set Defunctionalization with Ayaz Hafiz

    Play Episode Listen Later Jan 25, 2024


    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.

    Implementing Databases with Glauber Costa

    Play Episode Listen Later Jan 23, 2024 48:16


    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.

    The Return of Hypermedia with Carson Gross

    Play Episode Listen Later Jan 15, 2024


    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.

    Go and Functional Programming with Lane Wagner

    Play Episode Listen Later Jan 6, 2024 75:11


    Richard talks with Lane Wagner, a Go backend engineer and founder of boot.dev, about Go's design and about functional programming.

    The Roc Programming Language with Richard Feldman

    Play Episode Listen Later Dec 29, 2023


    José Valim hosts this episode, and chats with Roc Programming Language Richard Feldman about the language.

    Making JITted Code Faster with Chris Neurnberger

    Play Episode Listen Later Dec 10, 2023 69:05


    Richard talks with Chris Neurnberger 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!

    Things Web Devs Can Learn from Game Devs with Casey Muratori

    Play Episode Listen Later Dec 1, 2023


    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, and even some concrete improvements that could be made to, you guessed it...CSS!

    How Programming has Changed with Conor Hoekstra

    Play Episode Listen Later Nov 26, 2023


    Richard talks with Conor Hoekstra about how programming has changed over time - going back as far as COBOL - and speculate on the future of programming a bit.

    Escaping Software Disenchantment with Nikita Prokopov

    Play Episode Listen Later Nov 18, 2023


    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.

    WebAssembly in Practice with Brian Carroll

    Play Episode Listen Later Nov 6, 2023


    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

    Play Episode Listen Later Oct 22, 2023


    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

    Play Episode Listen Later Oct 13, 2023


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

    Gradual vs Static Typing with José Valim

    Play Episode Listen Later Sep 21, 2023 85:39


    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

    Play Episode Listen Later Sep 12, 2023 58:14


    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

    Play Episode Listen Later Sep 7, 2023 49:46


    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

    Play Episode Listen Later Aug 17, 2023


    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

    Play Episode Listen Later Aug 8, 2023 54:38


    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

    Play Episode Listen Later Jul 19, 2023 56:58


    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

    Play Episode Listen Later Jul 11, 2023 50:00


    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

    Play Episode Listen Later Jul 5, 2023 47:05


    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

    My Contribution to the Left-Pad Incident with Simon Lydell

    Play Episode Listen Later Jun 27, 2023 57:23


    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

    Play Episode Listen Later Jun 20, 2023 60:42


    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

    Play Episode Listen Later May 24, 2023 76:13


    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

    Play Episode Listen Later May 14, 2023 53:39


    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!

    From Bootcamp to Teaching Masters' Comp Sci

    Play Episode Listen Later May 4, 2023 52:19


    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.

    Syntax and the Future of Programming with Josh Warner

    Play Episode Listen Later Apr 27, 2023 65:40


    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!

    Growing Programming Communities with Ryan Haskell-Glatz

    Play Episode Listen Later Apr 21, 2023 57:26


    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.

    AI Tools Today

    Play Episode Listen Later Apr 12, 2023 52:56


    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.

    From Erlang to Management to C++

    Play Episode Listen Later Apr 4, 2023 61:37


    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.

    Conditional Cardinality with Joël Quenneville

    Play Episode Listen Later Mar 28, 2023 52:14


    Richard talks to Joël Quenneville about his experiences with Ruby and Elm, how dependency graphs can be applied in teaching, and also a concept that's new to the podcast: Conditional Cardinality.

    Speeding up Rust's Compiler

    Play Episode Listen Later Mar 15, 2023 49:12


    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.

    Evolutionary vs Revolutionary Languages with James Ward

    Play Episode Listen Later Feb 28, 2023 61:55


    James Ward, Kotlin Product Manager at Google, talks with Richard about the differences between evolutionary and revolutionary programming languages - among several other topics!

    The Rust + Elm Stack

    Play Episode Listen Later Feb 20, 2023 48:06


    Dan Bruder talks with Richard about his experiences using a stack of Rust + Elm at StructionSite, a company that makes software for construction workers to use on job sites.

    The Monolith-Microservices Spectrum

    Play Episode Listen Later Feb 13, 2023 52:01


    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

    Swift and Unicode API Design with Rob Napier

    Play Episode Listen Later Feb 6, 2023 48:48


    Richard talks with Swift expert Rob Napier about Swift, Unicode, and API design.

    Haskell and Clojure in Production with Eric Normand

    Play Episode Listen Later Jan 30, 2023 50:10


    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

    F# in Production with Scott Wlaschin

    Play Episode Listen Later Jan 16, 2023 51:17


    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.

    fun production profit scott wlaschin
    Scratch-Building an Operating System with Steve Klabnik

    Play Episode Listen Later Jan 16, 2023 56:57


    Richard talks with Steve Klabnik about his experiences being a major contributor to Ruby on Rails, and then to Rust, and now to a scratch-built operating system at Oxide.

    Scaling Slack's Infrastructure

    Play Episode Listen Later Jan 9, 2023 52:48


    Richard talks with Richard Crowley, who led Operations Engineering at Slack from when they were 20 employees to when they were 2,200 employees, about his lessons learned through the experience.

    Bootstrapping a Compiler via WASM with Loris Cro

    Play Episode Listen Later Dec 26, 2022 57:12


    Richard talks with Loris Cro about how and why the new Zig compiler bootstraps itself using WebAssembly.

    Claim Software Unscripted

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel