Sign in

Education
Technology
Richard Feldman
Software Unscripted, A weekly podcast of casual conversations about code hosted by Richard Feldman. Hosted on Acast. See acast.com/privacy for more information.
Total 102 episodes
Go to
The EYG Language with Peter Saxton

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!EYG: https://eyg.runUnison: https://unison-lang.orgRoc: https://roc-lang.org Hosted on Acast. See acast.com/privacy for more information.
01:17:2517/11/2024
 AI in Programming Education with Will Sentance

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 Unscripted on Patreon: https://www.patreon.com/SoftwareUnscriptedJavaScript: The Hard Parts: https://frontendmasters.com/courses/javascript-hard-parts-v2/AI for Software Engineers: https://frontendmasters.com/workshops/engineering-and-ai/CodeSmith: https://www.codesmith.io/Richard's courses: https://frontendmasters.com/teachers/richard-feldman/#courses Hosted on Acast. See acast.com/privacy for more information.
59:2116/10/2024
Software for Elite Athletes with Kyle Boddy

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 coordinate budget high-speed cameras back when Driveline was a one-programmer garage shop, up through today where large language models have become an integral part of the development team's daily work.Driveline Baseball: https://www.drivelinebaseball.com/Washington Post article: https://www.washingtonpost.com/opinions/2024/04/10/op-moneyballai/Documentary about Driveline: https://youtu.be/K5Dnshu7atUPhind AI: https://www.phind.com Hosted on Acast. See acast.com/privacy for more information.
01:07:5726/09/2024
Mojo with Chris Lattner

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/mojoModular Computing - https://www.modular.comRoc - https://roc-lang.orgLLVM - https://llvm.orgClang - https://clang.llvm.orgSwift - https://www.swift.orgCUDA - https://developer.nvidia.com/cuda-zoneSIMD - https://en.wikipedia.org/wiki/Single_instructionmultipledatacmov instruction - https://github.com/marcin-osowski/cmov Hosted on Acast. See acast.com/privacy for more information.
01:49:2530/08/2024
Tooling-Aware Language Design with Eli Dowling

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 - https://koka-lang.github.io"The Quicksort Talk" (Outperforming Imperative with Pure Functional Languages) - https://youtu.be/vzfy4EKwG_YTree-Sitter - https://tree-sitter.github.ioNeovim Editor - https://neovim.ioHelix Editor - https://helix-editor.comZed Editor - https://zed.devLanguage Server Protocol (LSP) - https://microsoft.github.io/language-server-protocolHygienic Macros - https://en.wikipedia.org/wiki/Hygienic_macroRust Macros - https://doc.rust-lang.org/book/ch19-06-macros.html Hosted on Acast. See acast.com/privacy for more information.
01:11:5921/08/2024
The CrowdStrike Incident with Kelly Shortridge

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_incidentKelly Shortridge: https://www.kellyshortridge.comKelly's book: https://securitychaoseng.comHillel Wayne's interviews with traditional engineers who have also been software engineers: https://www.hillelwayne.com/talks/crossover-projectGell-Mann amnesia effect: https://en.wikipedia.org/wiki/Michael_Crichton#Gell-Mann_amnesia_effect Hosted on Acast. See acast.com/privacy for more information.
58:3011/08/2024
Distributed Functions with Jonathan Magen

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.orghttps://gleam.runhttps://elixir-lang.orgRichard's talk: Why Static Typing Came Back - https://youtu.be/Tml94je2edk Hosted on Acast. See acast.com/privacy for more information.
48:0018/07/2024
Undo-Redo and Persistent State with Tom Ballinger

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.
59:2812/07/2024
Smalltalk's Past, Present, and Future with Juan Vuletich

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.
54:3024/06/2024
From Game Dev to Web Dev

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.
01:08:3216/06/2024
Fuzz Testing with Brendan Hansknecht

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.
01:06:0304/06/2024
A Haskeller Tries Smalltalk with Ian Jeffries

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.
01:04:2525/05/2024
Comparing F#, Elm, and Haskell with Michael Newton

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 for more information.
01:09:1813/05/2024
Native UIs without Electron - with Nathan Sobo

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 acast.com/privacy for more information.
01:16:3404/05/2024
Compiling Smart Contracts with Lucas Rosa

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.
59:3021/04/2024
Gleam 1.0 with Louis Pilfold

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.
01:10:3102/04/2024
Compilers and Overly Complex Web Development with Thorsten Ball

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.
01:13:3017/03/2024
Incremental Compilation with Alex Kladov

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.
01:23:4203/03/2024
Programming and Industrial Design with Greg Wilson

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.
57:5214/02/2024
Lambda Set Defunctionalization with Ayaz Hafiz

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.
45:0925/01/2024
Implementing Databases with Glauber Costa

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.
48:2223/01/2024
The Return of Hypermedia with Carson Gross

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.
01:08:4815/01/2024
Go and Functional Programming with Lane Wagner

Go and Functional Programming with Lane Wagner

Hosted on Acast. See acast.com/privacy for more information.
01:15:1106/01/2024
The Roc Programming Language with Richard Feldman

The Roc Programming Language with Richard Feldman

Hosted on Acast. See acast.com/privacy for more information.
01:07:5429/12/2023
Making JITted Code Faster with Chris Nuernberger

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.
01:09:0410/12/2023
Things Web Devs Can Learn from Game Devs with Casey Muratori

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, and even some concrete improvements that could be made to, you guessed it...CSS! Hosted on Acast. See acast.com/privacy for more information.
02:06:3701/12/2023
How Programming has Changed with Conor Hoekstra

How Programming has Changed with Conor Hoekstra

Hosted on Acast. See acast.com/privacy for more information.
01:12:5426/11/2023
Escaping Software Disenchantment with Nikita Prokopov

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.
48:4218/11/2023
WebAssembly in Practice with Brian Carroll

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.
50:1506/11/2023
Disassembling Languages with Matt Godbolt

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.
01:07:0122/10/2023
Designing Compilers for Speed with Troels Henriksen

Designing Compilers for Speed with Troels Henriksen

Hosted on Acast. See acast.com/privacy for more information.
01:05:1413/10/2023
Gradual vs Static Typing with José Valim

Gradual vs Static Typing with José Valim

Hosted on Acast. See acast.com/privacy for more information.
01:25:3821/09/2023
The SemVer Rabbit Hole with Predrag Gruevski

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 cargo-semver-checks motivated him to create a tool for querying data in just about any format. Hosted on Acast. See acast.com/privacy for more information.
58:1412/09/2023
Type System Complexity with Chris Krycho

Type System Complexity with Chris Krycho

Hosted on Acast. See acast.com/privacy for more information.
49:4507/09/2023
Making Parsing I/O Bound with Daniel Lemire

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.
01:17:4617/08/2023
Niche Domain Knowledge with Ashley Williams

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.
54:4008/08/2023
Building a Terminal in Zig and Swift with Mitchell Hashimoto

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.
57:0119/07/2023
React Hooks Design Review

React Hooks Design Review

Hosted on Acast. See acast.com/privacy for more information.
50:0011/07/2023
Thinking in Array Languages with Alex Shroyer

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/interregna/arraylanguage-companieshttps://tryapl.org/https://bqnpad.mechanize.systems/https://www.arraycast.com/https://aplwiki.com/wiki/APL_Farmhttps://discord.com/invite/yHna7nt7zx Hosted on Acast. See acast.com/privacy for more information.
47:1105/07/2023
My Contribution to the Left-Pad Incident with Simon Lydell

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/privacy for more information.
57:2327/06/2023
Comparing Haskell to R with Will Kurt

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.
01:00:4220/06/2023
Defunctionalization in a Functional Language with Ayaz Hafiz

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 information.
01:16:1224/05/2023
Linking & Binary Hot Code Loading with Jakub Konka

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 Acast. See acast.com/privacy for more information.
53:3914/05/2023
From Bootcamp to Teaching Masters' Comp Sci

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/privacy for more information.
52:2104/05/2023
Syntax and the Future of Programming with Josh Warner

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.
01:05:4027/04/2023
Growing Programming Communities with Ryan Haskell-Glatz

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.
57:1721/04/2023
AI Tools Today

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.
52:5612/04/2023
From Erlang to Management to C++

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.
01:01:3704/04/2023
Conditional Cardinality with Joël Quenneville

Conditional Cardinality with Joël Quenneville

Hosted on Acast. See acast.com/privacy for more information.
52:1428/03/2023
Speeding up Rust's Compiler

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 acast.com/privacy for more information.
49:1215/03/2023