Allen Webster, the creator of the Mr. 4th Programming YouTube channel, interviews programmers on their views and experiences of programming. Topics include trends in independent software culture, insights about being an effective software developer, the strengths and weaknesses of specific techniques and technologies, and much more. Find more about Mr. 4th at mr4th.com
I talk with Abner Coimbre about his experimental graphical terminal emulator Terminal. ClickWe start off talking about Abner's personal interest in the terminal. We talk about his decision to build a terminal that doesn't talk to a shell, and the pros and cons of working without the shell. Abner discusses new features that he is exploring that can bring out non-textual possibilities for a terminal interface. We talk about the lifecycle and release timing for personal projects like Terminal.Click. And a lot more along the way.Links:See some Terminal.Click features (https://terminal.click/podcast/)Abner's Software You Can Love talk, and his conversation with Mitchell Hashimoto (https://terminal.click/media/)Look at the shell innovations in TempleOS (http://www.codersnotes.com/notes/a-constructive-look-at-templeos/)
7/24/24 • 81:27
I talk with Andrew Kelley and Ginger Bill about the position of classical languages in the textual programming paradigm.We talk about what makes a programming system suited to the native computing layer, interfaces for constructing software, visual programming vs visualizations of data, alternative input devices for programming, mapping programs down to the existing C-like tool chains, places to get started with compiler construction, and more.Links:Andrew Kelley - https://andrewkelley.me/Ginger Bill - https://www.gingerbill.org/Zig - https://ziglang.org/Odin - https://odin-lang.org/Light Table - http://lighttable.com/
5/22/24 • 124:25
I talk with John Austin about his visual programming system called Lattice.We talk about the ideas behind the tool, John's vision for Lattice, the initial inspiration for the project, John's preferences for where to rely on visual programming and where to rely on text, and more.Links:website - johnaustin.iomastodon - https://mastodon.gamedev.place/@johnaustinbluesky - https://bsky.app/profile/johnaustin.bsky.socialtwitter - https://twitter.com/kleptineannouncement forum post - https://forum.unity.com/threads/lattice-visual-scripting-for-ecs.1508402/blog post - https://johnaustin.io/articles/2024/lattice-now-compiles-to-net-ilyfiles - https://www.yworks.com/yfiles-overview
4/17/24 • 95:27
A recast of the Handmade Seattle 2023 podcast, in which I interviewed Peter van Hardenberg, of Ink and Switch, to learn about the lab, local first software, and their research into "Conflict-free Replicated Data Types" or CRDTs for short.We discuss: The primary ideals of the Ink and Switch lab, the idea of local first software, and the technical challenges that the lab works to bring us more local first software.Links:Ink & Switch - https://www.inkandswitch.com/Peritext - An Ink & Switch paper and research project on a rich text CRDT - https://www.inkandswitch.com/peritext/Automerge Quick Start - https://automerge.org/docs/quickstart/
3/12/24 • 82:38
I talk with VoxelRifts to learn more about his journey into programming, how he found low level programming, and why his low level explainer videos are so good.In this conversation we discuss: Learning programming, difficulties and advantages to learning C, learning low level topics through projects, and what goes into one of VoxelRifts explainer videos.Links:VoxelRifts Channel: https://www.youtube.com/@voxelriftsVoxelRifts Discord: https://discord.com/invite/8rtYjQkqDF
11/18/23 • 55:00
Here I talk with Yasser Arguelles Snape to learn about his work on compiler optimizers, and pick his brain about the architecture of low level software systems.We discuss his experience as a young programmer, his work on Cuik and TB, the LLVM optimizer and what could be improved in a new iteration, the tradeoffs of ahead-of-time compilation and just-in-time compilation, various views of how debugging could be architected, and the benefits of having a rich run time for applications.Links:Cuik - https://github.com/RealNeGate/CuikYasser's Recommended Resources for Learning Optimizers:https://gist.github.com/RealNeGate/d0d45b74d7352872d4cf2470a600fbbbhttps://www.cs.cmu.edu/~rjsimmon/15411-f15/lec/10-ssa.pdfhttps://www.oracle.com/technetwork/java/javase/tech/c2-ir95-150110.pdf https://inria.hal.science/hal-01723236/file/sea-of-nodes-hal.pdf
10/18/23 • 81:44
I talk with Bret Hudson and Ben Visness to get a crash course on the basics and practical aspects of web programming.Our conversation is split into two parts. In this part we discuss: working with web APIs, the structure of HTTP, REST APIs, the purpose of storing data in a database, selecting and maintaining a database, database security, and other forms of security vulnerability.Links:Ben Visness - https://bvisness.me/Bret Hudson - https://brethudson.com/Handmade Network - https://handmade.network/Little Bobby Tables - https://xkcd.com/327/Let's Encrypt - https://letsencrypt.org/OWASP Top Ten - https://owasp.org/www-project-top-ten/OWASP Cheat Sheet - https://cheatsheetseries.owasp.org/index.htmlSQLite Query Planner - https://www.sqlite.org/queryplanner.htmlChiDB (Building a Database) - http://chi.cs.uchicago.edu/chidb/index.html
9/14/23 • 63:01
I talk with Bret Hudson and Ben Visness to get a crash course on the basics and practical aspects of web programming.Our conversation is split into two parts. In this part we discuss: architecting a web server, Node JS fault tolerance and concurrency, setting up an efficient work flow for developing a web page or web server, setting up production and development environments, docker, and OAuth.Links:Ben Visness - https://bvisness.me/Bret Hudson - https://brethudson.com/Handmade Network - https://handmade.network/OAuth2 Spec - https://datatracker.ietf.org/doc/html/rfc6749
9/14/23 • 71:27
Here I talk with Martin Foilleul leader of the Orca project.Our conversation starts with the origin of the Orca project, and then branches out from there to cover various aspects of what Orca is, the way it differs from other technologies in the same space, and the reasons that the long term vision of the project might be plausible.Links:Orca - https://orca-app.dev/Martin - https://www.forkingpaths.dev/Martin's YouTube - https://www.youtube.com/channel/UCOkEIuC_4kITGD9_ugl0tigAs We May Think - Vannevar Bush - https://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/303881/Augmenting Human Intellect: A Conceptual Framework - Doug Engelbart - https://www.dougengelbart.org/pubs/papers/scanned/Doug_Engelbart-AugmentingHumanIntellect.pdfThe Mother of All Demos - Doug Engelbart - https://www.youtube.com/watch?v=M5PgQS3ZBWA&list=PLCGFadV4FqU3flMPLg36d8RFQW65bWsnPXanadu - Ted Nelson - https://xanadu.com/Information Management: A Proposal - Tim Berners Lee - https://www.w3.org/History/1989/proposal.htmlCSS Paintings - Diana Smith - https://diana-adrianne.com/
8/17/23 • 71:32
Here I talk with Matthew Crews - the from the Fast F# YouTube channel.Our conversation starts with Matthew's journey to becoming a programmer who cares about performance. We touch on different styles of educational materials, and what works at different stages of the learning process, and what we can do as programmers to improve over time. We talk about how the "Handmade" ethos translates to the F# world, the idea of "Domain Drive Design" and how it might relate or contrast with "Data Oriented Design", whether knowing about performance concerns makes programming harder, how we should go about educational materials for programmers, and more.Links:Channel - https://www.youtube.com/@FastFSharpEmail - hi@fastfsharp.com
7/12/23 • 83:17
I talk with my good friend Ryan Fleury about his experience iterating on the design of a system for production quality immediate mode GUI.We cover: The way Ryan views the tradeoff space of GUI programming, how Ryan approaches reusability and layering in his design, the meaning and implications of top-down and bottom-up design, and the possibilities of new UI paradigms in a future idealistic computing environment.Links referenced:Ryan's Substack - https://www.rfleury.com/
6/13/23 • 98:17
I talk with the round table from the Handmade Seattle 2022 memory management podcast, featuring: Evan Ovadia, John Austin, Ryan FleuryOur conversation is split into two parts. In this part we discuss: making the choice to invest in a particular tool, making the choice to build a custom tool, estimating metrics of time spent on various parts of a project, and the reliability and value of such estimations, forming theories about the systems we build, and approaches to bug tracking.You can find more from these guests at:Evan Ovadia - https://verdagon.devJohn Austin - https://johnaustin.ioRyan Fleury - https://www.rfleury.com
6/13/23 • 59:57
I talk with the round table from the Handmade Seattle 2022 memory management podcast, featuring: Evan Ovadia, John Austin, Ryan FleuryOur conversation is split into two parts. In this part we discuss: paradigm shifts in programming tools, the viability of visual programming for general purpose programming, the pros and cons of tight coupling of tools into one bigger tool, usability possibilities that have not been explored for visual programming systems, and the things to watch out for when exploring functionally infinite design spaces.You can find more from these guests at:Evan Ovadia - https://verdagon.devJohn Austin - https://johnaustin.ioRyan Fleury - https://www.rfleury.com
6/13/23 • 76:57
I talk with my good friend Abner Coimbre about his work putting on high quality tech conferences with no sponsor influence.We cover: why Abner does the work that he does, how Abner manages the ticket prices while delivering a high quality event, Abner's day to day work, how he curates talks for a conference, the "programming language ban" at his 2022 conference, his new Handmade Cities initiative, and more.Links referenced:Context is Everything - https://guide.handmade-seattle.com/c/2021/context-is-everything/Complexity: Why Can't We Make Simple Software - https://guide.handmade-seattle.com/c/2022/why-cant-make-simple-software/It's Not Survivorship Bias - https://guide.handmade-seattle.com/c/2022/its-not-survivorship-bias/handmadecities.com
6/13/23 • 90:06