Software Unscripted, A weekly podcast of casual conversations about code hosted by Richard Feldman.
Hosted on Acast. See acast.com/privacy for more information.
php/* */ ?>
Software Unscripted, A weekly podcast of casual conversations about code hosted by Richard Feldman.
Hosted on Acast. See acast.com/privacy for more information.
Copyright: © 2024 Software Unscripted Software Unscripted
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.com/SoftwareUnscripted
Monica's chapter on JSON decoders: https://github.com/roc-lang/book-of-examples/pull/68
Grapheme clusters: https://unicode.org/glossary/#extended_grapheme_cluster
Roc's string operations: https://www.roc-lang.org/builtins/Str
Talk: The Functional Purity Inference Plan: https://youtu.be/42TUAKhzlRI?si=TwxYoqMgh0UXQLfn
Hosted on Acast. See acast.com/privacy for more information.
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 them described.
Support Software Unscripted on Patreon: https://patreon.com/SoftwareUnscripted
Hosted on Acast. See acast.com/privacy for more information.
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: https://patreon.com/SoftwareUnscripted
Descript: https://www.descript.com
Andrew Lisowski: https://www.hipstersmoothie.com
devtools.fm episode that was on HN frontpage: https://news.ycombinator.com/item?id=41301639
Zencastr: https://zencastr.com/?via=richard-feldman
Forced Aligners: https://github.com/MahmoudAshraf97/ctc-forced-aligner
Gentle Aligner: https://github.com/lowerquality/gentle
Hosted on Acast. See acast.com/privacy for more information.
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/SoftwareUnscripted
EYG: https://eyg.run
Unison: https://unison-lang.org
Roc: https://roc-lang.org
Hosted on Acast. See acast.com/privacy for more information.
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/SoftwareUnscripted
JavaScript: 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.
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/K5Dnshu7atU
Phind AI: https://www.phind.com
Hosted on Acast. See acast.com/privacy for more information.
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/mojo
Modular Computing - https://www.modular.com
Roc - https://roc-lang.org
LLVM - https://llvm.org
Clang - https://clang.llvm.org
Swift - https://www.swift.org
CUDA - https://developer.nvidia.com/cuda-zone
SIMD - https://en.wikipedia.org/wiki/Single_instructionmultipledata
cmov instruction - https://github.com/marcin-osowski/cmov
Hosted on Acast. See acast.com/privacy for more information.
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.pdf
The Koka Programming Language - https://koka-lang.github.io
"The Quicksort Talk" (Outperforming Imperative with Pure Functional Languages) - https://youtu.be/vzfy4EKwG_Y
Tree-Sitter - https://tree-sitter.github.io
Neovim Editor - https://neovim.io
Helix Editor - https://helix-editor.com
Zed Editor - https://zed.dev
Language Server Protocol (LSP) - https://microsoft.github.io/language-server-protocol
Hygienic Macros - https://en.wikipedia.org/wiki/Hygienic_macro
Rust Macros - https://doc.rust-lang.org/book/ch19-06-macros.html
Hosted on Acast. See acast.com/privacy for more information.
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/109888395
The incident: https://en.wikipedia.org/wiki/2024_CrowdStrike_incident
Kelly Shortridge: https://www.kellyshortridge.com
Kelly's book: https://securitychaoseng.com
Hillel Wayne's interviews with traditional engineers who have also been software engineers: https://www.hillelwayne.com/talks/crossover-project
Gell-Mann amnesia effect: https://en.wikipedia.org/wiki/Michael_Crichton#Gell-Mann_amnesia_effect
Hosted on Acast. See acast.com/privacy for more information.
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/@yonkeltron
Programming languages mentioned:
https://ballerina.io
https://www.jolie-lang.org
https://gleam.run
https://elixir-lang.org
Richard's talk: Why Static Typing Came Back - https://youtu.be/Tml94je2edk
Hosted on Acast. See acast.com/privacy for more information.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
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.
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.
Hosted on Acast. See acast.com/privacy for more information.
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.
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.
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.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
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.
Hosted on Acast. See acast.com/privacy for more information.
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.
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.
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.
Hosted on Acast. See acast.com/privacy for more information.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Hosted on Acast. See acast.com/privacy for more information.
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.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
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.
Hosted on Acast. See acast.com/privacy for more information.
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 Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
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.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
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. See acast.com/privacy for more information.
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.
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.
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.
Hosted on Acast. See acast.com/privacy for more information.
Richard talks with the Accessibilibats, a team of three people working at NoRedInk to improve the accessibility of a product that's used by millions of people. The discussion focuses on their actual experiences in practice - what was surprising, what was challenging, and advice for the future.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Richard Feldman discusses deployments with Will Keleher (ClassDojo), Juliano Solanho & Alec Munro (NoRedInk).( Full transcripts available at https://sites.google.com/noredink.com/podcast-transcriptions )
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Hosted on Acast. See acast.com/privacy for more information.
Richard Feldman discusses observability with Jessica Kerr (honeycomb.io) and Juliano Solanho (NoRedInk).( Full transcripts available at https://sites.google.com/noredink.com/podcast-transcriptions )
Hosted on Acast. See acast.com/privacy for more information.