Discover the future of software from the people making it happen.Listen to some of the smartest developers we know talk about what they're working on, how they're trying to move the industry forward, and what you can learn from it. 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.

Building a New Terminal App (with Zach Lloyd)

August 14, 2024 1:07:39 97.43 MB Downloads: 0

The 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 for a new approach that’s more than just a new coat of paint. And in this episode we dive into what that approach is, what he’s trying to do with the Warp Terminal, and how it’s put together using a combination of Rust and GPU shaders.

Along the way we look at what LLMs could do to improve the terminal experience, where the boundary lies between terminal and shell, and where Go has solved some problems and created others over at Warp HQ.

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

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

Warp Homepage: https://app.warp.dev/referral/VQGWW3

VT100 Information: https://vt100.net/

Game of Life in Rust: https://github.com/krisajenkins/game-of-life-rust

Zed (Text editor in Rust): https://zed.dev/

Flutter: https://flutter.dev/

The Painter’s Algorithm: https://en.wikipedia.org/wiki/Painter%27s_algorithm

Zach on LinkedIn: https://www.linkedin.com/in/zachlloyd/

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

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

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

0:00 Intro

2:22 Why Create A New Terminal?

7:28 Blurring the Lines Between Terminal and Shell

16:04 How Do You Build A Terminal Program?

24:55 Implementing a Terminal in Rust

30:32 Rust Frameworks for GPU Shaders

40:04 Will Any Of This Go Open Source?

42:49 Managing a Mixture of Rust and Go

47:52 What’s the DX of Warp?

51:43 Integrating LLMs into the Terminal

1:05:58 Outro