Menu
Sign In Pricing Add Podcast
Podcast Image

Lex Fridman Podcast

#461 – ThePrimeagen: Programming, AI, ADHD, Productivity, Addiction, and God

Sat, 22 Mar 2025

Description

ThePrimeagen (aka Michael Paulson) is a programmer who has educated, entertained, and inspired millions of people to build software and have fun doing it. Thank you for listening ❤ Check out our sponsors: https://lexfridman.com/sponsors/ep461-sc See below for timestamps, and to give feedback, submit questions, contact Lex, etc. CONTACT LEX: Feedback - give feedback to Lex: https://lexfridman.com/survey AMA - submit questions, videos or call-in: https://lexfridman.com/ama Hiring - join our team: https://lexfridman.com/hiring Other - other ways to get in touch: https://lexfridman.com/contact EPISODE LINKS: ThePrimeagen's X: https://twitter.com/ThePrimeagen ThePrimeagen's YouTube: https://youtube.com/ThePrimeTimeagen ThePrimeagen's Twitch: https://twitch.tv/ThePrimeagen ThePrimeagen's GitHub: https://github.com/theprimeagen ThePrimeagen's TikTok: https://tiktok.com/@theprimeagen ThePrimeagen's Coffee: https://www.terminal.shop/ SPONSORS: To support this podcast, check out our sponsors & get discounts: Invideo AI: AI video generator. Go to https://invideo.io/i/lexpod Shopify: Sell stuff online. Go to https://shopify.com/lex NetSuite: Business management software. Go to http://netsuite.com/lex BetterHelp: Online therapy and counseling. Go to https://betterhelp.com/lex AG1: All-in-one daily nutrition drinks. Go to https://drinkag1.com/lex OUTLINE: (00:00) - Introduction (10:27) - Love for programming (20:00) - Hardest part of programming (22:16) - Types of programming (29:54) - Life story (39:58) - Hardship (41:29) - High school (47:15) - Porn addiction (57:01) - God (1:12:44) - Perseverance (1:22:40) - Netflix (1:35:08) - Groovy (1:40:13) - Printf() debugging (1:46:35) - Falcor (1:56:05) - Breaking production (1:58:49) - Pieter Levels (2:03:19) - Netflix, Twitch, and YouTube infrastructure (2:15:22) - ThePrimeagen origin story (2:30:37) - Learning programming languages (2:39:40) - Best programming languages in 2025 (2:44:35) - Python (2:45:15) - HTML & CSS (2:46:05) - Bash (2:46:45) - FFmpeg (2:53:28) - Performance (2:56:00) - Rust (3:00:48) - Epic projects (3:14:12) - Asserts (3:23:26) - ADHD (3:31:34) - Productivity (3:35:58) - Programming setup (4:11:28) - Coffee (4:18:32) - Programming with AI (5:01:16) - Advice for young programmers (5:12:48) - Reddit questions (5:20:20) - God PODCAST LINKS: - Podcast Website: https://lexfridman.com/podcast - Apple Podcasts: https://apple.co/2lwqZIr - Spotify: https://spoti.fi/2nEwCF8 - RSS: https://lexfridman.com/feed/podcast/ - Podcast Playlist: https://www.youtube.com/playlist?list=PLrAXtmErZgOdP_8GztsuKi9nrraNbKKp4 - Clips Channel: https://www.youtube.com/lexclips

Audio
Transcription

Chapter 1: Who is ThePrimeagen and what is his background?

0.129 - 22.034 Lex Fridman

The following is a conversation with Michael Paulson, better known online as The Primogen. He is a programmer who has entertained and inspired millions of people to have fun building stuff with software, whether you're a newbie or a seasoned developer who has been battling it out in the software engineering trenches for decades.

0

22.755 - 49.584 Lex Fridman

In short, The Primogen is a legendary programmer and a great human being with an inspiring rollercoaster of a life story. And now, a quick few second mention of each sponsor. Check them out in the description. It is, in fact, the best way to support this podcast. We got InVideo AI for video generation, Shopify for selling stuff online, NetSuite for your business, BetterHelp for your health,

0

50.445 - 75.323 Lex Fridman

and AG1 for delicious nutrition. Choose wisely, my friends. Also, if you want to work with our amazing team or get in touch with me for whatever reason, go to lexfriedman.com slash contact. And now, on to the full ad reads. As always, no ads in the middle. I try to make this interesting, but if you must skip them, please still check out the sponsors. I enjoy their stuff. Maybe you will too.

0

76.564 - 105.265 Lex Fridman

This episode is brought to you by InVideo AI, a video generating app that allows you to create full length videos using just text prompts. I have been using it more and more myself and trying to figure out how can I integrate it into the visual presentation of the podcast or some of the other videos so that we can kind of add to the experience of what the person is talking about.

0

105.445 - 132.206 Lex Fridman

It's a real challenge because when you generate, even in a simple overlay image, You know, you don't want to interfere with the imagination of the listener. Me as a fan of a bunch of podcasts and obviously a fan of film, I think part of the experience is the Hitchcock thing. Say less, show less, and allow the viewer, the listener, to fill in the gaps with their imagination.

132.964 - 147.403 Lex Fridman

For me, I think imagination is such a limitless world that somehow has deep roots in the subconscious of the individual person that I think you don't want to rob them of the chance to use their imagination.

148.004 - 165.889 Lex Fridman

And so the challenge with AI and the possibility with AI is to be a catalyst for the imagination, to add material for the imagination to flourish versus a thing that adds constraints and reduces it down to where it's an interference to the imagination.

166.269 - 190.256 Lex Fridman

Anyway, you can try InVideo AI for free, saving you lots of time and money you'd otherwise spend on editing, animating, and other production costs. Go to invideo.io slash i slash lexpod. That's invideo.io slash i slash lexpod. This episode is also brought to you by Shopify, a platform designed for anyone to sell anywhere with a great looking online store.

190.816 - 208.808 Lex Fridman

I think of the digital marketplace that Shopify creates as a kind of cognitive interface between the seller and the buyer, economic interface too. It's a mind meld, a network plugged in into the collective intelligence of our species, the wants and desires.

Chapter 2: What are the challenges and joys of programming?

11790.728 - 11808.105 ThePrimeagen (Michael Paulson)

It's like the world's fastest, greatest financial database. And it was spawned out of a company that needed to do a bunch of financial transactions. And it's written in Zig. And what they do is they do deterministic simulation testing. And they just use NASA's kind of guarantee for creating really great software.

0

11808.185 - 11830.645 ThePrimeagen (Michael Paulson)

So like, don't use you size, specify your exact size of into you expect everywhere, all these kind of like, things they do to be very specific. And one of them is that every function should contain two asserts, whether it's positive space, like, you know, these things should happen or negative space, like this pointer should never be null. You're programming into things that should never happen.

0

11831.025 - 11852.528 ThePrimeagen (Michael Paulson)

Normally, you just never specify that. You'd never think about that. So every single function everywhere has all these asserts, and these asserts run both in production and in testing. They're always on, and then they take deterministic simulation testing, and run like 200 years of just random data, just complete slop going through the system, and seeing how far it goes.

0

11852.588 - 11871.728 ThePrimeagen (Michael Paulson)

And when an assert happens, they're like, here's the input that caused it. Here's every last little bit that happened. And now you can identify where this went wrong. And it was so cool. So between you, john Carmack, and you're on, that's where I like, okay, I got a real and NASA. I'll throw NASA a bonus while NASA can join in on that one. I was like, okay, I want to try this. And I did try it.

0

11871.768 - 11888.846 ThePrimeagen (Michael Paulson)

I built kind of like this big reverse proxy for me trying to do some game development stuff. And I just went ham on the asserts. And then I built a whole simulation testing thing that could do everything deterministically. So... you know, even the result of requests would all come in specific orders. And I found a bunch of bugs that I just would never have found.

11888.886 - 11898.113 ThePrimeagen (Michael Paulson)

And then I did it for a game I was making. I found some bugs where my cursor went off screen. It would cause all these different problems because I just never tested them. And it's super fun. And it's like a really great way to program.

11898.533 - 11927.643 Lex Fridman

Yeah, I think it's a skill set you grow over time. It's not just that you have to specify the preconditions, like everything that has to be true. It's also adding things that are like, you might not even think about. You have to sort of anticipate really weird things. And if you add asserts, especially in complicated functions or in complicated classes that, are able to catch really weird things.

11928.283 - 11955.616 Lex Fridman

That's going to save you so many headaches, and it's going to help you learn about your own code. This is one of the things, I think it was Jonathan Blow, that either in conversation with you, or was it in presentation, he said that when he's starting on a project, he usually doesn't know what, like how to implement it, Like, how it's going to work.

11957.156 - 11974.462 Lex Fridman

And I think he was saying that he wants a programming language. This might have been a criticism of C++, I'm not sure. Where he wants a programming language that makes it as painless as possible for him to not know what he's doing, how he's going to implement it, and to quickly get to a place where he figures it out.

Comments

There are no comments yet.

Please log in to write the first comment.