Deep-dive discussions with the smartest developers we know, explaining what they're working on, how they're trying to move the industry forward, and what we can learn from them. You might find the solution to your next architectural headache, pick up a new programming language, or just hear some good war stories from the frontline of technology. Join your host Kris Jenkins as we try to figure out what tomorrow's computing will look like the best way we know how - by listening directly to the ...
…
continue reading

1
DataFusion - The Database Building Toolkit (with Andrew Lamb)
1:32:10
1:32:10
Play later
Play later
Lists
Like
Liked
1:32:10Building a database is a serious undertaking. There are just so many parts that you have to implement before you even get to a decent prototype, and so many hours of work before you could begin working on the ideas that would make your database unique. Apache DataFusion is a project that hopes to change all that, but building an extensible, composa…
…
continue reading

1
Jupyter's Architecture Unpacked (with Afshin Darian & Sylvain Corlay)
1:29:11
1:29:11
Play later
Play later
Lists
Like
Liked
1:29:11Jupyter’s become an incredibly popular programming and data science tool, but how does it actually work? How have they built an interactive language execution engine? And if we understand the architecture, what else could it be used for? Joining me to look inside the Jupyter toolbox are Afshin Darian and Sylvain Corlay, two of Jupyters long-standin…
…
continue reading

1
Nix, The Build-Everything Language (with Julian Arni)
1:20:36
1:20:36
Play later
Play later
Lists
Like
Liked
1:20:36Ever since we invented makefiles, the programming world has been wrestling with the problem of building software stacks reliably. This week we’re going to look at one of the most ambitious solutions available - Nix. Nix tries to do everything from invoking your compiler to installing your language, and even providing your operating system. But how …
…
continue reading

1
Graphite: Image Editing as a Syntax Tree (with Keavon Chambers & Dennis Kobert)
1:17:32
1:17:32
Play later
Play later
Lists
Like
Liked
1:17:32Graphite is a new image editor with an interesting architecture - it’s a classic UI-driven app, an image-manipulation language, and a library of programmable graphics primitives that any Rust coder could use, extend or add to. The result is something that you can use like Photoshop or Inkscape, or make use of in batch pipelines, a bit like ImageMag…
…
continue reading

1
ReScript: A Better Typed JavaScript? (with Gabriel Nordeborn)
1:32:53
1:32:53
Play later
Play later
Lists
Like
Liked
1:32:53ReScript is a strongly-typed programming language that compiles to JavaScript, and that puts it squarely in competition with TypeScript. So why would a JavaScript developer choose to learn it next? What does it offer that makes it a tempting proposition? And how are the ReScript developers making life easier for anyone who wants to make the switch?…
…
continue reading

1
A universal query engine in Rust (with Predrag Gruevski)
1:15:31
1:15:31
Play later
Play later
Lists
Like
Liked
1:15:31Trustfall is a library based on a simple question - what happens if we can query absolutely anything? If you could join REST APIs and databases with filesystems and dockerfiles? It’s possible in theory because those are all just datasources. Predrag Gruevski is trying to make it easy by building a universal query engine, with pluggable datasources,…
…
continue reading

1
Raspberry Pi Hardware & A Lisp Brain (with Dimitris Kyriakoudis)
1:34:43
1:34:43
Play later
Play later
Lists
Like
Liked
1:34:43Dimitris Kyriakoudis is a researcher, programmer and musician who's combining all three talents to build dedicated music hardware. Specifically a device called the µseq, which reads Lisp programs and uses them to drive synthesizers to make music. In this episode we go through the full platform that he's building, from soldering resistors to an RPi …
…
continue reading

1
Software Systems Aren't Just Software (with Diana Montalion)
1:50:14
1:50:14
Play later
Play later
Lists
Like
Liked
1:50:14If you want to build really large software systems well, you have to stop thinking of them as just software systems. Beyond a certain size, everything your software touches becomes part of the wider system. You’re part of the system, your users are part of the system, and every other employee & department & priority eventually forms part of that sy…
…
continue reading

1
Building Fyrox: A Rust Game Engine (with Dmitry Stepanov)
1:43:45
1:43:45
Play later
Play later
Lists
Like
Liked
1:43:45To kick off 2025 we’re looking at Fyrox a game engine built in Rust, largely by one person - Dmitry Stepanov. For an individual project, it’s covered an incredible amount of ground, covering the rendering and animation features you’d expect from a game engine, with some features that might surprise you - like Rust scripting support with hot-reloadi…
…
continue reading

1
Testing TVs At Scale With Elixir (with Dave Lucia)
1:16:05
1:16:05
Play later
Play later
Lists
Like
Liked
1:16:05Integration testing is always a tricky thing, fraught with problems setting up the right environment and attempting to control the system’s state. That’s particularly true when you’re dealing with a mix of software and hardware, and even worse when you don’t have control of what the hardware can do. This week I’m joined by Dave Lucia of TVLab’s, wh…
…
continue reading

1
Programming As An Expressive Instrument (with Sam Aaron)
1:50:01
1:50:01
Play later
Play later
Lists
Like
Liked
1:50:01Sam Aaron is the creator of Sonic Pi, one of the most unusual software platforms you’ll encounter. It’s a live-coding playground for making music. A tool that lets you write code that defines sounds and musical phrases, and build up a hole program that plays anything from a short bleep to a whole nightclub set. And Sam’s creator has been using it l…
…
continue reading

1
Elm & The Future of Open Source (with Evan Czaplicki)
50:24
50:24
Play later
Play later
Lists
Like
Liked
50:24Evan Czaplicki—the creator of the Elm programming language —joins me to discuss the state and future of Elm, the friendly, type-safe functional programming language. On many fronts Elm has been a huge success: it’s been popular with new and seasoned programmers alike; it’s helped push several language ideas into the mainstream; it’s been a key part…
…
continue reading

1
Programmers, ADHD, And How To Manage Them Both (with Chris Ferdinandi)
1:39:14
1:39:14
Play later
Play later
Lists
Like
Liked
1:39:14This week we’re going to look at the most essential piece of firmware in a programmer’s toolkit - the brain. I’m joined by Chris Ferdinandi to explore what it’s like to be a programmer with ADHD. It’s an unusual topic for the channel, but the more I spoke to him, the more I wanted to know what coding is like when your brain is wired differently, ho…
…
continue reading

1
MicroServices For Better And Worse (with Ian Cooper and James Lewis)
47:09
47:09
Play later
Play later
Lists
Like
Liked
47:09What have we learned from more than a decade of deploying microservices? Was it a good idea? Are we any better at figuring out what a microservice is, or where its boundaries lie? Does splitting things up create fragmentation problems? And is it too late to put the genie back in the bottle? This week we’re going to look at all these questions and m…
…
continue reading

1
Pony: High-Performance, Memory-Safe Actors (with Sean Allen)
1:13:23
1:13:23
Play later
Play later
Lists
Like
Liked
1:13:23Pony is a language born out of what should be a simple need - actor-style programming with C performance. On the face of it, that shouldn’t be too hard to do. Writing an actor framework isn’t trivial, but it’s well-trodden ground. The hard part is balancing performance and memory management. When your actors start passing hundreds of thousands of c…
…
continue reading

1
Architecting a Rust Game Engine (with Alice Cecile)
1:18:08
1:18:08
Play later
Play later
Lists
Like
Liked
1:18:08This week we take a look at Bevy, a new game engine written in Rust. And in particular, we look at a core component of Bevy that has something to teach you even if you never write a game: its Entity Component System, or ECS. An ECS is an approach to managing complex systems with large numbers of moving parts, that takes some inspiration from the Re…
…
continue reading

1
Writing a CAD Language in Rust (with Adam Chalmers)
1:22:48
1:22:48
Play later
Play later
Lists
Like
Liked
1:22:48Given how many languages have been written in C over the years, it’s not surprising to see new languages being written in Rust. What is surprising about this week’s guest is the domain he’s writing for: Computer Aided Design (CAD). Could Rust be sneaking its way into the CAD world too? Joining me to discuss the design and implementation of a CAD pr…
…
continue reading

1
Text User Interfaces in Rust (with Orhun Parmaksız)
1:06:23
1:06:23
Play later
Play later
Lists
Like
Liked
1:06:23For some kinds of application, there is no faster or cheaper way to build a user interface than in the terminal. Sure, it’s not going to suit every kind of user out there, but for those of us that are happy on the command line, rich Text User Interfaces (or TUIs) open all the exploration and discoverability benefits of a GUI are a fraction of the d…
…
continue reading

1
Designing The Lustre Web Framework (with Hayleigh Thompson)
1:04:27
1:04:27
Play later
Play later
Lists
Like
Liked
1:04:27Lustre is a web framework that takes a lot of inspiration from Elm, some from React, and a surprising amount from Erlang’s actor model, to provide a library that blurs the lines between executing on the client, or on the server. Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices Support Developer Voices on YouTube: https://www…
…
continue reading

1
Faust: A Programming Language For Sound (with Romain Michon)
1:18:01
1:18:01
Play later
Play later
Lists
Like
Liked
1:18:01I’m always interested in what factors shape the design of a programming language. This week we’re taking a look at a language that’s wholly shaped by its need to support a very specific kind of program - audio processing. Anything from creating a simple echo sound effect, to building an entire digital instrument based on a 17th-century harpsichord.…
…
continue reading

1
GPUs, from Simulation to Encryption (with Agnès Leroy)
1:03:48
1:03:48
Play later
Play later
Lists
Like
Liked
1:03:48This week we take a look at what you can do with a GPU when you get away from just using it to draw polygons. Agnès Leroy has spent most of her career programming, optimizing and converting programs to run on that oh-so-curious piece of specialised processing hardware, and we go through all the places that journey has taken her. From simulating the…
…
continue reading

1
The State of Full-Stack OCaml (with António Monteiro)
1:27:15
1:27:15
Play later
Play later
Lists
Like
Liked
1:27:15OCaml has one of the best-loved compilers available, and parts of it are surprisingly pluggable, so it’s not surprising that someone would eventually try to wed OCaml with JavaScript and the web browser. In fact, the ecosystem has gone further, and there are now a bevvy of options for people who want to write OCaml and run it in the browser, or wan…
…
continue reading

1
Multiplatform Maps Built As Layers on Rust (with Ian Wagner)
1:01:18
1:01:18
Play later
Play later
Lists
Like
Liked
1:01:18Mapping is a hugely complex task to take on. Even if you moved as much of the data-management as you can out to 3rd-party services, you’d still have a tonne of work to do weaving together map tiles, routing information, GPS data, points of interest, search and more. And as if that wasn’t enough, you’d probably want that software to work on a whole …
…
continue reading

1
Building a New Terminal App (with Zach Lloyd)
1:07:39
1:07:39
Play later
Play later
Lists
Like
Liked
1:07:39The terminal might be the most used development tool in history. So it’s a little odd that it hasn’t changed that much in the decades since the terminal first came into being. Is the terminal a “completed” project? Or are there new ways to look at it that might make it even more useful? This week’s guest—Zach Lloyd—is convinced the terminal is ripe…
…
continue reading

1
Building A Programming Language From Its Core (with Peter Saxton)
1:01:21
1:01:21
Play later
Play later
Lists
Like
Liked
1:01:21A language’s AST—it’s abstract syntax tree—is nearly always a hidden implementation detail. It’s not treated as part of the language, but merely the intermediate step between parsing and compiling. But this week’s guest aims to flip that relationship on its head... Peter Saxton joins me to talk about EYG - an AST-first language that defines the fun…
…
continue reading

1
Practical Applications for DuckDB (with Simon Aubury & Ned Letcher)
1:08:04
1:08:04
Play later
Play later
Lists
Like
Liked
1:08:04DuckDB’s become a favourite data-handling tool of mine, simply because it does so many small things well. It can read and write a huge number of data formats; it can infer schemas automatically when you just want to move quickly; and it can interface with most languages, run like lightning on the desktop or be embedded into a webpage. I’m a huge fa…
…
continue reading

1
Recording and Replaying the Browser (with Justin Halsall)
1:02:50
1:02:50
Play later
Play later
Lists
Like
Liked
1:02:50RRWeb is based on a simple idea: If you capture all the DOM events in a browser session, and when they happened, you could play it back later. Play it back for diagnosing error conditions, for understanding your user’s journey, or for creating demo videos that can be edited element-by-element instead of frame-by-frame. Unfortunately, the simple ide…
…
continue reading

1
Zig as a Multi-OS Build System (with Loris Cro)
1:19:05
1:19:05
Play later
Play later
Lists
Like
Liked
1:19:05The ZigLang team have put an astonishing amount of effort into making Zig work an effective tool for compiling C across different architectures. Work that benefits the Zig language, but also has a chance to benefit languages like Python and Rust. Or indeed, any language that uses native C libraries somewhere in its stack. So this week we’re joined …
…
continue reading

1
Creating and Evolving Elixir (with José Valim)
1:42:21
1:42:21
Play later
Play later
Lists
Like
Liked
1:42:21Back in 2012, José Valim started building Elixir to as a way to have his ideal programming language running on the same platform as Erlang. Fast-forward 12 years and it’s become build anything from distributed infrastructure to notebooks and websites. In this week’s Developer Voices, José joins us to tell the history of Elixir in a series of design…
…
continue reading

1
PyO3: From Python to Rust and Back Again (with David Hewitt)
1:34:29
1:34:29
Play later
Play later
Lists
Like
Liked
1:34:29There’s huge pressure on Python at the moment to get faster, ideally without changing at all. One increasingly–popular way of achieving that impossible task is to push the performance critical code down into C, C++, or Rust. And this week we’re focussing on the Python route, as we take a look at PyO3. David Hewitt’s the principal committer to PyO3,…
…
continue reading

1
NATS & Jetstream: The System Communication Toolkit (with Jeremy Saenz)
1:11:04
1:11:04
Play later
Play later
Lists
Like
Liked
1:11:04Most message systems have an opinion on the right way to do inter-systems communication. Whether it’s actors, queues, message logs or just plain ol’ request response, nearly every tool has decided on The Right Way to do messaging, and it optimises heavily for that specific approach. But NATS is absolutely running against that trend. In this week’s …
…
continue reading

1
Cuis Smalltalk and the History of Computing's Future (with Juan Vuletich)
1:18:53
1:18:53
Play later
Play later
Lists
Like
Liked
1:18:53Smalltalk is one of those programming languages that’s lived out of the mainstream, but often referenced as an influence and an important part of programming history. It’s the cornerstone of object-oriented programming, it was into message passing before actors were cool, and it blurs the line between operating system, programming language and pers…
…
continue reading

1
The Inko Programming Language, and Life as a Language Designer (with Yorick Peterse)
1:24:21
1:24:21
Play later
Play later
Lists
Like
Liked
1:24:21This week we take a close look at the language Inko from two perspectives: The language design features that make it special, and the realities of being a language developer. Yorick Peterse joins us to discuss why he’s building Inko, and which design sweetspots he’s looking for. We begin with memory management, aiming for the kind of developer who …
…
continue reading

1
Building the Zed Text Editor (with Nathan Sobo)
1:23:51
1:23:51
Play later
Play later
Lists
Like
Liked
1:23:51I’ve often wondered how you build a text editor. Like many software projects, it’s a simple idea at the core with an almost infinite scope for features. How do you build a solid foundation to expand on? Which features matter for launch? And how do you hope to satisfy the needs of every programmer, working in every language? My guest for this episod…
…
continue reading

1
Reimplementing Apache Kafka with Golang and S3
1:23:04
1:23:04
Play later
Play later
Lists
Like
Liked
1:23:04This week on Developer Voices we’re talking to Ryan Worl, whose career in big data engineering has taken him from DataDog to Co-Founding WarpStream, an Apache Kafka-compatible streaming system that uses Golang for the brains and S3 for the storage. Ryan tells us about his time at DataDog, along with the things he learnt from doing large-scale syste…
…
continue reading

1
Extending Postgres for High-Performance Analytics (with Philippe Noël)
1:07:33
1:07:33
Play later
Play later
Lists
Like
Liked
1:07:33PostgreSQL is an incredible general-purpose database, but it can’t do everything. Every design decision is a tradeoff, and inevitably some of those tradeoffs get fundamentally baked into the way it’s built. Take storage for instance - Postgres tables are row-oriented; great for row-by-row access, but when it comes to analytics, it can’t compete wit…
…
continue reading

1
Designing Actor-Based Software (with Hugh McKee)
1:12:02
1:12:02
Play later
Play later
Lists
Like
Liked
1:12:02The actor model is a popular approach to building scalable software systems. And isn’t hard to understand when you’re just reading about the beginner’s examples. But how do you architect a complex design using the actor model? Which patterns work well? How do you think through it? Joining me to take us through it is Hugh McKee. Hugh’s a total actor…
…
continue reading

1
ByteWax: Rust's Research Meets Python's Practicalities (with Dan Herrera)
1:01:54
1:01:54
Play later
Play later
Lists
Like
Liked
1:01:54Bytewax is a curious stream processing tool that blends a Python surface with a Rust core to produce something that’s in a similar vein to Kafka Streams or Apache Flink, but with a fundamentally different implementation. This week we’re going to take a look at what it does, how it works in theory, and how the marriage of Python and Rust works in pr…
…
continue reading

1
Mojo Lang - Tomorrow's High Performance Python? (with Chris Lattner)
1:24:38
1:24:38
Play later
Play later
Lists
Like
Liked
1:24:38Mojo is the latest language from the creator of Swift and LLVM. It’s an attempt to take some of the best techniques from CPU/GPU-level programming and package them up in a Python-compatible syntax. In this episode we explore why Mojo was created, and what it offers to Python programmers and non-Python programmers alike. How is it built for performa…
…
continue reading

1
Batch Data & Streaming Data in one Atom (with Jove Zhong)
51:46
51:46
Play later
Play later
Lists
Like
Liked
51:46Every database has to juggle the need to process new data and to query old data. That task falls to any system that “does stuff and remembers stuff”. But it’s quite hard to really optimise one system for both use cases. There are different constraints on new and old data, and as a system gets larger and larger, those differences multiply to breakin…
…
continue reading

1
Advanced Memory Management in Vale (with Evan Ovadia)
1:09:31
1:09:31
Play later
Play later
Lists
Like
Liked
1:09:31Rust changed the discussion around memory management - this week's guest hopes to push that discussion even further. This week we're joined by Evan Ovadia, creator of the Vale programming language and collector of memory management techniques from far and wide. He takes us through his most important ones, including linear types, generation referenc…
…
continue reading

1
Bringing Pure Python to Apache Kafka (with Tomáš Neubauer)
1:06:38
1:06:38
Play later
Play later
Lists
Like
Liked
1:06:38The “big data infrastructure” world is dominated by Java, but the data-analysis world is dominated by Python. So if you need to analyse and process huge amounts of data, chances are you’re in for a less-than-ideal time. The impedance mismatch will probably make your life hard somehow. So there are a lot of projects and companies trying to solve tha…
…
continue reading

1
Taking Erlang to OCaml 5 (with Leandro Ostera)
1:03:47
1:03:47
Play later
Play later
Lists
Like
Liked
1:03:47Erlang wears three hats - it’s a language, it’s a platform, and it’s an approach to making software run reliably once it’s in production. Those last two are so interesting I sometimes wonder why those ideas haven’t been ported to every language going. How much work would it be? This week we’re going to dig right down into that question with Leandro…
…
continue reading

1
How Apache Pinot Achieves 200,000 Queries per Second (with Tim Berglund)
1:14:28
1:14:28
Play later
Play later
Lists
Like
Liked
1:14:28The likes of LinkedIn and Uber use Pinot to power some astonishingly high-scale queries against realtime data. The numbers alone would make an impressive case-study. But behind the headline lies a fascinating set of architectural decisions and constraints to get there. So how does Pinot work? How does it process queries? How are the various roles s…
…
continue reading

1
Neovim: Creating, Curating and Customising your Ideal Editor (with TJ DeVries)
1:07:41
1:07:41
Play later
Play later
Lists
Like
Liked
1:07:41TJ DeVries is a core contributor to Neovim and several of its most interesting sub-projects, and he joins us this week to go in depth into how Neovim got started, how it’s structured, and what a truly programmable editor has to offer programmers who want the perfect environment. Along the way we look at what we can learn from Neovim’s successful fo…
…
continue reading

1
Creating Hackathons that Work (with Jon Gottfried)
1:02:52
1:02:52
Play later
Play later
Lists
Like
Liked
1:02:52Done right, a Hackathon can be a fantastic place to be a programmer - you get time and space to build and learn, in a room full of like-minded people, with swag and prizes to sweeten the deal. It’s a great way to pick up new ideas and run with them. But done wrong it can be a waste of time. What’s the difference between a good hackathon and a bad o…
…
continue reading

1
Automate Your Way to Better Code: Advanced Property Testing (with Oskar Wickström)
1:07:09
1:07:09
Play later
Play later
Lists
Like
Liked
1:07:09One of the most promising techniques for software reliability is property testing. The idea that, instead of writing unit tests we describe some property of our code that ought to always be true, then have the computer figure out thousands of unit tests that try to break that rule. For example, you might say, “No matter which page you visit on my w…
…
continue reading

1
Bridging the Gap Between Languages (with Martin Johansen)
49:01
49:01
Play later
Play later
Lists
Like
Liked
49:01If you ever feel overwhelmed by the number of different programming languages, this week’s episode might just offer you some solace, as we talk about an attempt to reunify many of the most popular languages by focussing on the bread & butter things that every language supports. I’m joined by Martin Johansen, who’s been working on a new tool called …
…
continue reading

1
If You Want Better Code, Do It For Me (with Jonathan Schneider)
1:02:48
1:02:48
Play later
Play later
Lists
Like
Liked
1:02:48A lot of programming is split into the mechanical work of writing what you know, and the creative work of figuring out what you don’t know. Wouldn’t it be nice to automate the mechanical stuff away? Well the good news is we’re already automating a lot of it. Every time you run a refactoring tool or a pretty-printer, you’re handing boring work off t…
…
continue reading

1
Implementing Hardware-Friendly Databases (with DuckDB co-creator, Hannes Mühleisen)
1:20:12
1:20:12
Play later
Play later
Lists
Like
Liked
1:20:12SQLite could do with a little competition, so when I invited the co-creator of DuckDB in to talk, I thought we'd be discussing the perils of trying to build a new in-process database engine. I quickly realised things went much deeper than just a tech refresh. Hannes Mühleisen joins me this week to blend his academic credentials as a database resear…
…
continue reading