Software Unscripted, A weekly podcast of casual conversations about code hosted by Richard Feldman & sponsored by NoRedInk.
…
continue reading
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 grap…
…
continue reading
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.
…
continue reading
1
Gleam 1.0 with Louis Pilfold
1:10:31
1:10:31
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:10:31
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.…
…
continue reading
1
Compilers and Overly Complex Web Development with Thorsten Ball
1:13:30
1:13:30
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:13: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.…
…
continue reading
1
Incremental Compilation with Alex Kladov
1:23:42
1:23:42
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:23: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!
…
continue reading
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.…
…
continue reading
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.…
…
continue reading
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.
…
continue reading
1
The Return of Hypermedia with Carson Gross
1:08:48
1:08:48
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:08:48
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.
…
continue reading
1
Go and Functional Programming with Lane Wagner
1:15:11
1:15:11
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:15:11
Richard talks with Lane Wagner, a Go backend engineer and founder of boot.dev, about Go's design and about functional programming.
…
continue reading
1
The Roc Programming Language with Richard Feldman
1:07:55
1:07:55
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:07:55
José Valim hosts this episode, and chats with Roc Programming Language Richard Feldman about the language.
…
continue reading
1
Making JITted Code Faster with Chris Nuernberger
1:09:05
1:09:05
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:09:05
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!
…
continue reading
1
Things Web Devs Can Learn from Game Devs with Casey Muratori
2:06:37
2:06:37
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
2:06:37
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 W…
…
continue reading
1
How Programming has Changed with Conor Hoekstra
1:12:54
1:12:54
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:12:54
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.
…
continue reading
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.
…
continue reading
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.
…
continue reading
1
Disassembling Languages with Matt Godbolt
1:07:02
1:07:02
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:07:02
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.…
…
continue reading
1
Designing Compilers for Speed with Troels Henriksen
1:05:14
1:05:14
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:05:14
Richard talks to Futhark language co-creator Troels Henriksen about how to design compilers for faster performance.
…
continue reading
1
Gradual vs Static Typing with José Valim
1:25:39
1:25:39
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:25: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.
…
continue reading
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' approac…
…
continue reading
Richard talks to Chris Krycho about TypeScript's unusual take on semantic versioning, and type system complexity tradeoffs between various different languages.
…
continue reading
1
Making Parsing I/O Bound with Daniel Lemire
1:17:46
1:17:46
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:17:46
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.
…
continue reading
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.
…
continue reading
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.
…
continue reading
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.
…
continue reading
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://…
…
continue reading
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, …
…
continue reading
1
Comparing Haskell to R with Will Kurt
1:00:42
1:00:42
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:00: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!…
…
continue reading
1
Defunctionalization in a Functional Language with Ayaz Hafiz
1:16:13
1:16:13
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:16: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.…
…
continue reading
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 th…
…
continue reading
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, am…
…
continue reading
1
Syntax and the Future of Programming with Josh Warner
1:05:40
1:05:40
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:05: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!…
…
continue reading
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.
…
continue reading
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.
…
continue reading
1
From Erlang to Management to C++
1:01:37
1:01:37
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:01: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.
…
continue reading
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.
…
continue reading
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…
…
continue reading
1
Evolutionary vs Revolutionary Languages with James Ward
1:01:55
1:01:55
Riproduci in seguito
Riproduci in seguito
Liste
Like
Like aggiunto
1:01:55
James Ward, Kotlin Product Manager at Google, talks with Richard about the differences between evolutionary and revolutionary programming languages - among several other topics!
…
continue reading
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.
…
continue reading
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
…
continue reading
Richard talks with Swift expert Rob Napier about Swift, Unicode, and API design.
…
continue reading
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.m…
…
continue reading
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.
…
continue reading
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.
…
continue reading
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.
…
continue reading
Richard talks with Loris Cro about how and why the new Zig compiler bootstraps itself using WebAssembly.
…
continue reading
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 under…
…
continue reading
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
…
continue reading
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.
…
continue reading
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.
…
continue reading