Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
headphones
Developer Voices

Developer Voices

Kris Jenkins

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 developers' voices.

bookmark
Share icon

All episodes

Best episodes

Top 10 Developer Voices Episodes

Goodpods has curated a list of the 10 best Developer Voices episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to Developer Voices for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite Developer Voices episode by adding your comments to the episode page.

What 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 more as we reflect on the lessons learnt from this big architectural idea.

This interview was recorded live at GOTO Copenhagen, with two microservice experts and thinkers: James Lewis of Thoughtworks and Ian Cooper of JustEat.

Residuality Theory: https://leanpub.com/residuality

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join

Ian on Mastodon: https://mastodon.social/@[email protected]

James on BlueSky: https://bsky.app/profile/boicy.bsky.social

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on BlueSky: https://bsky.app/profile/krisajenkins.bsky.social

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode
Developer Voices - Architecting a Rust Game Engine (with Alice Cecile)
play

10/23/24 • 78 min

This 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 Relational Database world, and a little from Functional Programming to build something entirely unique and surprisingly high-performance.

Joining us to explain all is Alice Cecile. She’s part of the Bevy foundation, which is charting a course from data-management and rendering tool to fully-featured game development environment. A journey they’ve made huge progress on, but still expect to take another decade to come to full fruition. We look at the core ECS, and the wider project-management approaches they need to make the journey.

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join

Bevy: https://bevyengine.org/

Bevy Examples: https://bevyengine.org/examples/

Flecs (C++): https://github.com/SanderMertens/flecs

Tiny Glade (game): https://store.steampowered.com/app/2198150/Tiny_Glade/

Alice on Mastodon: https://mastodon.gamedev.place/@alice_i_cecile

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode

A 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 fundamental capabilities first, and then stretches out from there to surface syntax and final execution.
The result is something that can teach us a lot about how a typed, functional programming language works; how an extensible effects system works; and could make writing a new programming language as easy as defining the syntax you want, and parsing that into EYG's AST.
--

EYG Homepage: https://github.com/crowdhailer/eyg-lang

TinyGo: https://tinygo.org/

Become a Supporter on Patreon: https://patreon.com/DeveloperVoices

Become a Supporter on YouTube: https://www.youtube.com/@developervoices/join

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode

DuckDB’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 fan.

But I’m not nearly as knowledgeable as this week’s two fans, Simon Aubury and Ned Letcher, who’ve just written a book on all the many ways you can use DuckDB and all the hidden tricks and tips that help you make the most of this. So in this episode we’re taking a practical look at DuckDB, what problems it can solve at work, and how to start getting the most out of it.

Getting Started with DuckDB (book): https://packt.link/byKYt

DuckDB episode with Hannes Mühleisen: https://youtu.be/pZV9FvdKmLc

DuckDB: https://duckdb.org/

dplyr, the data-manipulation language: https://dplyr.tidyverse.org/

duckplyr, DuckDB’s ‘native’ version: https://github.com/duckdblabs/duckplyr

Substrait: https://substrait.io/

Observable (Markdown+DuckDB=Reports): https://observablehq.com/framework/

DuckDB’s “friendly” SQL: https://duckdb.org/docs/sql/dialect/friendly_sql.html

Community Extensions: https://community-extensions.duckdb.org/

DuckCon #5: https://duckdb.org/2024/08/15/duckcon5.html

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join

Simon on Twitter: https://x.com/SimonAubury

Ned on Twitter: https://x.com/nletcher

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode
Developer Voices - Zig as a Multi-OS Build System (with Loris Cro)
play

07/17/24 • 79 min

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 by Loris Cro of the Zig team to dive into how you make a reliable, cross-platform toolchain that can compile C anywhere it finds it. And in doing so,

Zig Homepage: https://ziglang.org/

Zig on Github: https://github.com/ziglang/zig

MingW for Windows: https://www.mingw-w64.org/

All Your Codebase: https://allyourcodebase.com/

Ziglang on PyPi: https://pypi.org/project/ziglang/

Shout out to Whitequark: https://pypi.org/user/whitequark/

Darling: https://www.darlinghq.org/

WineHQ: https://www.winehq.org/

PyPi Stats: https://pypistats.org/packages/__all__

The Zine static site generator: https://zine-ssg.io/

The Zine source code: https://github.com/kristoff-it/zine

Loris’ website: https://kristoff.it/

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode
Developer Voices - Creating and Evolving Elixir (with José Valim)
play

07/10/24 • 102 min

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 choices. Which features mattered to him in the early days, and which ones excite him most now. What’s going on under the hood to make Elixir tick, and what does its future hold?

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join

Elixir Homepage: https://elixir-lang.org/

Elixir Docs: https://elixir-lang.org/docs.html

Numerical Elixir: https://github.com/elixir-nx

Phoenix: https://phoenixframework.org/

Livebook: https://livebook.dev/

José’s Livebook & Elixir Presentation: https://www.youtube.com/watch?v=pas9WdWIBHs

Comparing Elixir & Erlang Variables: https://dashbit.co/blog/comparing-elixir-and-erlang-variables

Gleam on the BEAM: https://youtu.be/RntfkL8lUY4

José on Github: https://github.com/josevalim

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode

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, and he joins us to go through the easy parts, the hard parts, and the works in progress, giving us an insight into how Python and Rust work under the hood, and quite how much work it takes to make them work as one.

PyO3 User Guide: https://pyo3.rs/v0.22.0/

PyO3 on Github: https://github.com/PyO3/pyo3

Polars: https://pola.rs/

Tokio: https://tokio.rs/

Trio: https://trio.readthedocs.io/

Robyn: https://github.com/sparckles/Robyn

Faster CPython: https://github.com/faster-cpython

Maturin: https://www.maturin.rs/

David on Mastodon: https://fosstodon.org/@davidhewitt

David on Twitter: https://x.com/davidhewittdev

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://x.com/krisajenkins

bookmark
plus icon
share episode

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 episode, Jeremey Saenz joins us to talk about NATS, the Cloud Native Computing Foundation’s configurable message-passing and data-transfer system. The promise is a tool that can happily behave like a queue for one channel, a log like another and a request/response protocol for the third, all with a few client flags.

But how does that work? What’s it doing under the hood, what features does it offer, and what do we lose in return for that flexibility? Jeremy has all the answers as we ask, what is NATS really?

NATS on Github: https://github.com/nats-io/nats-server

NATS Homepage: https://nats.io/

Getting Started with NATS: https://youtu.be/hjXIUPZ7ArM

Developer Voices Episode on Benthos: https://youtu.be/labzg-YfYKw

CNCF: https://www.cncf.io/

The Ballerina Language: https://ballerina.io/

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

Support Developer Voices via Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices via YouTube: https://www.youtube.com/@developervoices/join

bookmark
plus icon
share episode

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 personal notebook. But what is it?
Joining us to discuss it is Juan Vuletich, the creator of one of Smalltalk’s latest incarnations, Cuis. In this episode we cover Smalltalk’s history, its design ideas, Cuis’s unique implementation and what makes this modern implementation something special.

Smalltalk is over 50 years old, but its vision of how computing could work has only begun. Let’s see if we can mine some ideas from it to take us into the next generation of computing...
--
The Cuis Smalltalk Book: https://cuis-Smalltalk.github.io/TheCuisBook/Preface.html

Cuis on Github: https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev

The Cuis Community: https://cuis.st/community

A Short History of Cuis: https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev/blob/master/Documentation/CuisHistory.md

Monticello VCS: https://wiki.squeak.org/squeak/1287

Juan’s Music Research: https://www.jvuletich.org/research.html

Back to the Future - The Story of Squeak (pdf): https://dl.acm.org/doi/pdf/10.1145/263700.263754

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode
Developer Voices - Writing a CAD Language in Rust (with Adam Chalmers)
play

10/16/24 • 82 min

Given 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 programming language is Adam Chalmers. He works at Zoo, developing KCL - a language that looks like JavaScript, runs on Rust, and offers users a seamless hybrid experience of both coding and point-and-click modelling. So, how does that all fit together?

In this episode we look at the design and implementation of a programming language in Rust; how KittyCAD creates that hybrid environment for text-based programming and point-and-click modelling; and how we can learn to write our own Rust-interpreted languages.

Adam’s Blog: https://adamchalmers.com/

Adam’s Guide To Writing Parsers: https://www.youtube.com/watch?v=QF3kMyzMC40

Zoo’s Modelling App: https://zoo.dev/modeling-app

Mechanical CAD: https://zoo.dev/blog/mechanical-cad-yesterday-today-and-tomorrow

A Lego brick in KCL: https://zoo.dev/docs/kcl-samples/lego

Winnow: https://docs.rs/winnow/latest/winnow/

Nom: https://docs.rs/nom/latest/nom/

Factorio: https://www.factorio.com/

Satisfactory: https://store.steampowered.com/app/526870/Satisfactory/

Crafting Interpreters: https://craftinginterpreters.com/

Coding in Antarctica: https://brr.fyi/

Support Developer Voices on Patreon: https://patreon.com/DeveloperVoices

Support Developer Voices on YouTube: https://www.youtube.com/@developervoices/join

Adam on Mastodon: https://mastodon.social/@[email protected]

Kris on Mastodon: http://mastodon.social/@krisajenkins

Kris on LinkedIn: https://www.linkedin.com/in/krisjenkins/

Kris on Twitter: https://twitter.com/krisajenkins

bookmark
plus icon
share episode

Show more best episodes

Toggle view more icon

FAQ

How many episodes does Developer Voices have?

Developer Voices currently has 74 episodes available.

What topics does Developer Voices cover?

The podcast is about News, Software, Tech News, Software Development, Podcasts, Technology and Programming.

What is the most popular episode on Developer Voices?

The episode title 'Practical Applications for DuckDB (with Simon Aubury & Ned Letcher)' is the most popular.

What is the average episode length on Developer Voices?

The average episode length on Developer Voices is 66 minutes.

How often are episodes of Developer Voices released?

Episodes of Developer Voices are typically released every 7 days.

When was the first episode of Developer Voices?

The first episode of Developer Voices was released on May 10, 2023.

Show more FAQ

Toggle view more icon

Comments