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
![Artwork](/static/images/128pixel.png)
1
Recording and Replaying the Browser (with Justin Halsall)
1:02:50
1:02:50
Play later
Play later
Lists
Like
Liked
1:02:50
RRWeb 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
![Artwork](/static/images/128pixel.png)
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:05
The 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
![Artwork](/static/images/128pixel.png)
1
Creating and Evolving Elixir (with José Valim)
1:42:21
1:42:21
Play later
Play later
Lists
Like
Liked
1:42:21
Back 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
![Artwork](/static/images/128pixel.png)
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:29
There’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
![Artwork](/static/images/128pixel.png)
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:04
Most 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
![Artwork](/static/images/128pixel.png)
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:53
Smalltalk 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
![Artwork](/static/images/128pixel.png)
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:21
This 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
![Artwork](/static/images/128pixel.png)
1
Building the Zed Text Editor (with Nathan Sobo)
1:23:51
1:23:51
Play later
Play later
Lists
Like
Liked
1:23:51
I’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
![Artwork](/static/images/128pixel.png)
1
Reimplementing Apache Kafka with Golang and S3
1:23:04
1:23:04
Play later
Play later
Lists
Like
Liked
1:23:04
This 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
![Artwork](/static/images/128pixel.png)
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:33
PostgreSQL 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
![Artwork](/static/images/128pixel.png)
1
Designing Actor-Based Software (with Hugh McKee)
1:12:02
1:12:02
Play later
Play later
Lists
Like
Liked
1:12:02
The 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
![Artwork](/static/images/128pixel.png)
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:54
Bytewax 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
![Artwork](/static/images/128pixel.png)
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:38
Mojo 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
![Artwork](/static/images/128pixel.png)
1
Batch Data & Streaming Data in one Atom (with Jove Zhong)
51:46
51:46
Play later
Play later
Lists
Like
Liked
51:46
Every 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
![Artwork](/static/images/128pixel.png)
1
Advanced Memory Management in Vale (with Evan Ovadia)
1:09:31
1:09:31
Play later
Play later
Lists
Like
Liked
1:09:31
Rust 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
![Artwork](/static/images/128pixel.png)
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:38
The “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
![Artwork](/static/images/128pixel.png)
1
Taking Erlang to OCaml 5 (with Leandro Ostera)
1:03:47
1:03:47
Play later
Play later
Lists
Like
Liked
1:03:47
Erlang 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
![Artwork](/static/images/128pixel.png)
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:28
The 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
![Artwork](/static/images/128pixel.png)
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:41
TJ 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
![Artwork](/static/images/128pixel.png)
1
Creating Hackathons that Work (with Jon Gottfried)
1:02:52
1:02:52
Play later
Play later
Lists
Like
Liked
1:02:52
Done 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
![Artwork](/static/images/128pixel.png)
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:09
One 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
![Artwork](/static/images/128pixel.png)
1
Bridging the Gap Between Languages (with Martin Johansen)
49:01
49:01
Play later
Play later
Lists
Like
Liked
49:01
If 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
![Artwork](/static/images/128pixel.png)
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:48
A 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
![Artwork](/static/images/128pixel.png)
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:12
SQLite 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
![Artwork](/static/images/128pixel.png)
1
Verse, Haskell & Core Language Design (with Simon Peyton Jones)
1:23:07
1:23:07
Play later
Play later
Lists
Like
Liked
1:23:07
This week we talk to Simon Peyton Jones, a veteran language designer and researcher, and key figure in the development of Haskell. Haskell. Simon has made countless contributions to advancement of functional programming, and computer programming in general, and is currently working at Epic Games, working on the foundations of their new programming …
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Shouldn't Data Connections Be Easier? (with Ashley Jeffs)
1:15:25
1:15:25
Play later
Play later
Lists
Like
Liked
1:15:25
Benthos wants to be part of your Data Engineering toolkit - it’s there as a quick and easy way to set up data pipelines and start streaming data out of A and into B. In contrast to a lot of the tools we’ve talked about on Developer Voices, Benthos seems focussed on cutting development time down to a minimum, so you can quickly configure a new pipel…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
What can game programming teach us about databases? (with Tyler Cloutier)
1:05:31
1:05:31
Play later
Play later
Lists
Like
Liked
1:05:31
The world of game programming might seem a million miles away from 'regular' programming. But they still have to deal with the same kinds of data, scale and concurrency problems that we’re all familiar with in the software world. And that makes the gaming world an interesting place for new ideas - under the hood they’re solving those same problems …
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Is Odin, "programming done right"? (with 'Ginger' Bill Hall)
1:00:04
1:00:04
Play later
Play later
Lists
Like
Liked
1:00:04
Odin’s creator, Bill Hall, makes some bold claims about the language, including that it’s “programming done right”. Before that starts a war on the internet, we’d best ask him to explain what that means, and how Odin tries to achieve it. And while we get deep into the details, overall his answer seems to be, “By gathering masses of feedback and the…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Can Event-Driven Architecture make Software Design Easier? (with Bobby Calderwood)
1:09:59
1:09:59
Play later
Play later
Lists
Like
Liked
1:09:59
This week’s guest describes Event Sourcing as, “all I’m going to use for the rest of my career.” But what is Event Sourcing? How should we think about it, and how does it encourage us to think about writing software? In this episode we take a close look at systems designed around the idea of Events, with guest Bobby Calderwood. Bobby’s been designi…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
How Lisp is designing Nanotechnology (with Prof. Christian Schafmeister)
52:58
52:58
Play later
Play later
Lists
Like
Liked
52:58
One of our oldest languages meets one of our newest sciences in this episode, as we talk with Professor Christian Schafmeister, an award-winning nanotech researcher who's been developing a language and a design suite to help research the future molecular machines. In this episode Christian gives us a quick chemistry lesson to explain what his resea…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Roc - A Functional Language looking for those Software Sweetspots (with Richard Feldman)
1:01:48
1:01:48
Play later
Play later
Lists
Like
Liked
1:01:48
Sometimes, what a programming language makes harder is just as important as what it makes easier. For a simple example, think of GOTO. We’ve been wisely avoiding it for decades because it makes confusing control flow desperately easy. Types and tests are other examples - they’re as much about specifying what shouldn’t work as what should. And persp…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
If Kafka has a UX problem, does UNIX have the answer? (with Luca Pette)
1:19:29
1:19:29
Play later
Play later
Lists
Like
Liked
1:19:29
One of the recurring themes in the big data & data streaming worlds at the moment is developer experience. It seems like every major tool is trying to answer this question: how do we make large-scale data processing feel trivial? In some places the answer is any library you like as long as it’s Python. In other realms, a mixture of Java and SQL sho…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Will we be writing Hare in 2099? (with Drew DeVault)
54:38
54:38
Play later
Play later
Lists
Like
Liked
54:38
This week we're back on systems programming with Hare. A C-like language for the ages. We talk to its creator, Drew DeVault, about what he thinks we can learn from the past 50 years of programming, and how we can build that hindsight into a new language that will last for the next 100. In among all that long-term ambition we talk cover everything f…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Startups Should Solve Real People's Real Problems (with Michael Drogalis)
51:30
51:30
Play later
Play later
Lists
Like
Liked
51:30
A few months ago, Michael Drogalis quit his job and decided launch 4 viable startup business ideas in 4 months, publically documenting every step of the journey. Over here at Developer Voices it seemed fun, inspired, and just crazy enough to work. We had him on the podcast a few months back just as that journey was beginning, and since he launched …
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Is Flink the answer to the ETL problem? (with Robert Metzger)
1:04:26
1:04:26
Play later
Play later
Lists
Like
Liked
1:04:26
Integration is probably the last, hardest, and least well thought-out part of any large software project. So anything that makes the data-streaming job easier is worth knowing about. So this week we turn our attention to Apache Flink, a flexible system for grabbing, transforming and shipping data between systems using Java, Python or good ol’ SQL. …
…
continue reading
![Artwork](/static/images/128pixel.png)
1
What's Zig got that C, Rust and Go don't have? (with Loris Cro)
1:23:52
1:23:52
Play later
Play later
Lists
Like
Liked
1:23:52
Zig is a programming language that’s attempting to become “the new C” - the language of choice for low-level systems programming and embedded hardware. Going into that space not only puts it in competition with C and C++, but also other newcomers like Rust and Go. So what makes Zig special? Joining us to discuss it is Loris Cro from the Zig Foundat…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Why did Redpanda rewrite Apache Kafka? (with Christina Lin)
49:27
49:27
Play later
Play later
Lists
Like
Liked
49:27
Would you ever take on a rewrite of one of the largest and most popular Apache projects? And if so, what would you keep the same and what would you change? This week we’re talking to Christina Lin, who’s part of Redpanda, a company that’s rewriting parts of the Apache Kafka ecosystem in C++, with the aim of getting performance gains that aren’t fea…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Debezium - Capturing Data the Instant it Happens (with Gunnar Morling)
1:02:38
1:02:38
Play later
Play later
Lists
Like
Liked
1:02:38
This week we’re looking at Debezium - an open source project that taps into a huge number of databases and lets you stream data to other systems in real time. It’s a huge project that covers a wide range of uses: Some people use it to replicate from Oracle to MySQL, others to do smart cache invalidation, and others to build a bridge from an existin…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
When We Talk About Software (with Francesco Tisiot)
32:00
32:00
Play later
Play later
Lists
Like
Liked
32:00
Ever read a bad README? We all have, and most of the time, we’ve just moved right along. A programmer that can’t communicate their ideas will find no-one uses their software. And that’s true even outside of the open-source world. The best software doesn’t win - the best software _that people can understand_ wins. So how do we get better at communic…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Semantic Search: A Deep Dive Into Vector Databases (with Zain Hasan)
1:02:00
1:02:00
Play later
Play later
Lists
Like
Liked
1:02:00
As interesting and useful as LLMs (Large Language Models) are proving, they have a severe limitation: they only know about the information they were trained on. If you train it on a snapshot of the internet from 2023, it’ll think it’s 2023 forever. So what do you do if you want to teach it some new information, but don’t want to burn a million AWS …
…
continue reading
![Artwork](/static/images/128pixel.png)
1
The Future of Data is Now is the Future of Data (with Thomas Camp)
1:01:15
1:01:15
Play later
Play later
Lists
Like
Liked
1:01:15
Real-time data is gradually becoming a standard requirement in systems design. Our customers are beginning to demand it, our colleagues in other departments are starting to expect it. Whether you’re letting people book a taxi, recommending their next binge-watch, or delivering business reports to management, faster data is just obviously better. Or…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Databases, Ambitions, and a Testing Silver Bullet? (With Joran Dirk Greef)
1:06:40
1:06:40
Play later
Play later
Lists
Like
Liked
1:06:40
How far would you go to get the kind of database you want? How deep into the stack would you dive to re-architect a system for the kind of performance, reliability and scale you believe in? Today's guest has decided to go all in, as he’s tackling the database problem from the fsync up. In this week’s Developer Voices we talk to Joran Dirk Greef, wh…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Starting A Tech Business. Again. And Again. And Again. (with Michael Drogalis)
54:04
54:04
Play later
Play later
Lists
Like
Liked
54:04
Ever wanted to start a tech business? Michael Drogalis has done it successfully in the past, and now he’s trying again (and again and…) as he makes a very public attempt to start 4 new tech businesses in the next 4 quarters. He’d sound completely mad, except he’s got form: His last Kafka-based company got bought out by a tech giant, giving him enou…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
How Do You Assemble a Complete Software System? (with Ben Gamble)
1:10:27
1:10:27
Play later
Play later
Lists
Like
Liked
1:10:27
Ask any software developer about their favourite stack, and they'll probably have strong opinions. (They might even have a snappy acronym for it, like LAMP or JAM or...) But if you ask any business about their stack, things aren’t so clear. They'll probably tell you the key components, and then add a laundry list of extra parts that got glued on la…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Clickhouse: Faster Queries, Faster Answers (with Alasdair Brown)
1:15:03
1:15:03
Play later
Play later
Lists
Like
Liked
1:15:03
In modern systems, the amount of data keeps getting larger, and the time available keeps getting shorter. So it's almost inevitable that we're augmenting our general-purpose databases with dedicated analytics databases. This week we dive into the world of OLAP with a thorough look at Clickhouse, a high-performance, columnar database designed to "qu…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
What problems does Apache Kafka Solve? (with Neil Buesing)
1:02:16
1:02:16
Play later
Play later
Lists
Like
Liked
1:02:16
Neil Buesing is a seasoned Apache Kafka® user, and a respected voice from the Kafka community who specialises in helping companies make the best use of Kafka. And that makes him the ideal person to ask the $64,000 question: What problems can Kafka actually solve for me? Because Kafka's definitely interesting, and it can be fun, but to earn a place …
…
continue reading
![Artwork](/static/images/128pixel.png)
1
DIY Consensus: Crafting Your Own Distributed Code (with Benjamin Bengfort)
1:07:34
1:07:34
Play later
Play later
Lists
Like
Liked
1:07:34
How do distributed systems work? If you’ve got a database spread over three servers, how do they elect a leader? How does that change when we spread those machines out across data centers, situated around the globe? Do we even need to understand how it works, or can we relegate those problems to an off the shelf tool like Zookeeper? Joining me this…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Teaching, Guiding & Inspiring The Next Generation of Programmers (with James Q. Quick)
53:37
53:37
Play later
Play later
Lists
Like
Liked
53:37
How do you get started as a programmer? And how do experienced programmers help them as they start their journey? This week's guest is a developer-turned-teacher, James Q. Quick. A former coder and developer advocate, he's s been been working on tutorials, courses and bootcamps to teach aspiring developers how to get started with JavaScript. We tal…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
jOOQ - Crossing the Object-Relational Bridge (with Lukas Eder)
49:29
49:29
Play later
Play later
Lists
Like
Liked
49:29
Sooner or later, every programmer will have to cross the gap between their programming language and their database. It feels like it should be easy, but in practice it’s always a much wider chasm than it seems, and every tool that bridges that gaps comes with its own strengths, weaknesses and opinions. This week we take a look at a relatively new l…
…
continue reading
![Artwork](/static/images/128pixel.png)
1
Inside the World of Competitive Coding (with Mathis Hammel)
55:41
55:41
Play later
Play later
Lists
Like
Liked
55:41
Whether you’re trying to ace the coding interview, sharpen your programming skills or just have some fun learning new things, the world of competitive coding has something to offer you. Some people join with dreams of hitting the podium, and plenty of others are just competing to be their better selves. Either way, Mathis Hammel is a veteran of the…
…
continue reading