LongCut logo

ThePrimeagen: Programming, AI, ADHD, Productivity, Addiction, and God | Lex Fridman Podcast #461

By Lex Fridman

Summary

## Key takeaways - **Linked Lists Sparked a Love for Programming**: The concept of a linked list, where a node only knows about its neighbor, profoundly impacted ThePrimeagen, revealing the potential for infinite items and the ability to express complex systems with simple rules. [00:46], [01:46] - **The Pain of Knowing Everything in Programming**: The worst aspect of programming, for ThePrimeagen, is when there are no surprises, no challenges, and the work becomes a factory line, leading to despair rather than joy. [11:14], [12:03] - **High School as a Tutorial, Not Life's Definition**: High school's social hierarchy and perceived permanence are misleading; these early relationships are often inconsequential in the long run, and high school should be viewed as a low-stakes tutorial for life. [32:05], [32:22] - **Porn Addiction's Devaluation of Humanity**: Porn addiction objectifies people, turning them into commodities and devaluing human connection, which is a difficult addiction to overcome due to its private and accessible nature. [39:03], [39:36] - **Work Hard, Then Work Smart**: The phrase 'work smarter, not harder' is misleading because one must first work incredibly hard to understand the problem and discover what 'smart' even looks like, especially when dealing with complex systems. [06:46], [10:04] - **AI as a Programming Assistant, Not Replacement**: AI can be a powerful tool for learning programming by generating code and providing explanations, but developers must still build from scratch to gain deep understanding and avoid becoming overly reliant. [40:48], [48:44]

Topics Covered

  • What Ignites a Programmer's Soul?
  • The True Pain of Programming: No Surprises
  • How a Divine Encounter Changed Everything
  • "Work Hard, Get Smart": The Only Path to Mastery
  • AI: A Powerful Tool, Not a Programmer Replacement

Full Transcript

The following is a conversation with

Michael Pollson, better known online as

the primagen. 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. In short, the

primagen is a legendary programmer and a

great human being with an inspiring

roller coaster of a life story. This is

the Lex Freedman podcast. To support it

please check out our sponsors in the

description. And now, dear friends

here's the

primogen. What do you love most about

programming? Uh what brings you joy when

you program? I can tell you the first

time that I ever felt love in

programming or felt that joy or that

excitement which was in college. It was

the second class in data structures and

the teacher that was teaching Ray

Babcock, he was talking about linked

lists. Now you you have to learn Java at

Montana State University when I went and

so he's off there kind of explaining

this whole linked list thing and all

that. And then he shows code and in the

code it's like abstract class node or

whatever it was. I can't remember what

it was. And then it had a private member

and that private member was of type

node. And I've never seen that before.

It is a class that is called node with a

member that is of itself. And for the

first time ever, I was like, "Oh my

gosh, like there's no end. There's no

way to iterate. This is not like a set

of 10 items. This is a set of infinite

items." And so like my mind kind of like

exploded in that moment. Like there's

actually you like what you can express

is huge. I can see what memory looks

like. Like I can see this kind of

hopping through space. And I just

remember being just so blown away cuz up

until that point everything was just all

right, I have a list of 10 items. I have

a list of 20 items, right? It was very

rigid and small. And the things I built

were really small and trivial. And all

of a sudden, I felt like I could build

like anything in that one moment. And it

was so amazing. I just remember sitting

in class for what I don't even remember

how long those classes were or anything

but I just remember being just

completely like profoundly impacted by

this notion. And so I just sat there and

I watched I had the exact same

experience in heavens forbid my uh

software engineering class when we

talked about the decorator pattern where

you can keep on constructing these

objects in this recursive way. Not that

I think that's actually a good idea to

do, but just watching that and realizing

like there's so many weird and unique

ways you can solve problems and like you

can just anything your mind can think

of, you can just create that. And I just

remember getting just so excited about

the possibility that anything is

possible. Yeah, let's uh wax

philosophical about a link list. It is

pretty profound. For people who don't

know, a node in a link list doesn't know

anything about the world it's in. It

only knows about the thing it's linked

to, its neighbor. Maybe that's symbolic.

It's a metaphor for all of us humans.

There's billions of us on this planet

and we only know about our local little

network. Yeah. And it's kind of

beautiful and you realize like in that

little simple data structure, you can

construct arbitrarily large systems and

they they're like roots that go through

memory. And then of course that's where

you get all the programming languages

that allow you to uh dump junk into

memory and have memory leaks and then

there therefore create infinite pain as

you try to figure out where that uh

unfreed memory is. Uh for me, yeah

probably it's so so beautiful the way

you put that. Link lists are indeed

beautiful. Recursion also for me when I

finally wrap my brain around what it

means to write a recursive function.

What was the what was the thing? What

was the like the one that taught you?

Cuz I think we all probably you probably

did factorial where you like, you know

just do like a quick factorial of it. It

just doesn't hit home. What was the

thing that kind of made it hit home? I

don't remember the first

I remember mine first. How do you not

remember your first? It was magic. I've

had so many that just You were a list

guy. You're probably pretty used to the

recursion. Yeah. All I remember is just

surrounded by C of

parentheses. I mean, that's that's

really probably when I uh in high

school, I think it was either Java or

C++. Wow. How do I not remember that? It

must have been C++. And then college, it

was the generic bullshit software

engineering classes were

uh Java, but then the the renegades, the

cool kids were all using lisp. That's

that's when you're doing the AI, the

quote unquote AI at that time. That's

that was lisp. If you want to write a

chess engine, you would use lisp. And so

for me, probably the moment I really

fell in love with

programming was was lisp and writing

like a programs and uh chess engines

all kinds of engines that play a game

and then I could play against that thing

and that thing would beat me. The joy of

being destroyed by the thing you've

created and oh

um game of life too, cellular automa

that's when I I built that, you know

all kinds of programming languages.

that's less about programming language

and more about the system you create.

And that just filled me with infinite

joy. Uh having now similar to the link

list situation, creating a system where

each individual cell only knows about

its neighbors and operates in a very

simple rules. But when you take that

system as a whole and allow it to evolve

over time, it can create infinite

complexity. So I I just man those are

many pthead moments where I'm just like

looking at the beautiful complexity that

can be created with cellular automa.

That's that filled me with just infinite

joy for sure. But yeah the par all I

remember is parenthesis. So my first

memories of my first are

drowned in a sea of

parenthesis. Oh man. Mine is I have well

first off mine was in Java. Though my

first was a little bit more rigid, kind

of a corporate, you know, a corporate

experience, but cold, meaningless. Yeah.

I was in a lab. Everyone was using

CentOS at that or CentOS or however you

say. I always call that CentOS, the

Freshmaker. And so it's just like I'm in

this very cold. That's nice. Thank you.

I'm in like this cold, rigid environment

uh with my Microsoft keyboard

programming away in Java and I still I

have just such this memory of despair

because I love programming. This was

after the linked list and I cannot

figure out recursion. And so I go to you

know the university store and I buy a

book and it's Dell and Dell learn Java

and it has a section recursion. And so I

open it up and I start reading it and it

just doesn't hit home. And I'm like I'm

spiraling into this like kind of I maybe

I'm not a programmer. Maybe I'm not

worthy enough to enter into this circle

of people who can figure out what what

the heck recursion means. And so Dell

and Dell is like I still remember this.

Their phrase their exact phrase was

every young budding developer solves

this recursion program and it was the

tower of Hanoi. And guess what? I don't

know if I can solve the tower of Hanoi

to this day. It's it's like a very hard

recursive problem. And I just sat there

and thought, "Oh my gosh, I'm not going

to make it." And I sat there in the lab

for 8 hours, 10 hours doing these

things. So worried, it's the week of

recursion. We have to do a lab

assignment. I'm not going to be able to

do it. And I just remember being like

genuinely worried about that. Uh and

then because I always my big problem was

is like, okay, do factorial. Why not

just use a for loop? Okay, what about

Fibonacci sequence? Why not use a for

loop? Like I don't understand what's the

purpose of recursion. I don't understand

it yet. It's so powerful. Why? It looks

like a really complicated for loop. And

so I just could not understand it. And

then lab came that day and it was I'm

going to give you a 2D array you have to

read from a

file. This is what a starting position

looks like. This is what an ending

position looks like. This is what a wall

looks like. I want you to find me a path

through the maze. And so I just sat

there like, "Okay, I guess I can just go

up and I can create like a visited grid

that's so I know not to visit these

places anymore." And all a sudden it

just started clicking. I'm like, "Well

wait a second. I don't know the maze

but if I just go up, right, down, and

left, and hop back every time I've been

to that square, don't visit it." Like, I

can just it will just go forever. And I

realized in that moment, I'm like, I

actually understand rec I've understood

recursion this whole time. I just never

had a problem in which it actually made

sense to use. And that was like my big

downfall is that I I was measuring my

understanding with the problems that I

had available which were just you know

list traversal which is not a good use

of recursion. And so I just I just

remember that freeing oh man recursion

it was a great moment in my life. I mean

it does require to be fair a leap of

faith like because people will tell you

those uh conformist dogmatic

Java instructors will tell you that this

is you know um that's important to

understand uh recursion but it takes a

leap of faith that this is something

this is a different way of looking at

the world and it's a powerful way of

looking at the world. I actually

remembered when

I think I first I think I remember my

first now. All

right. Uh I think it was uh dub first

search for one of the games maybe a

something like that and for that

implementing recursion understand that

you can search trajectories through the

the space of states and do that

recursively that was mind-blowing. just

imagining like

you can just see the possibilities.

Yeah. Just like numbers flying. It was

uh like the beautiful mind and then um

and that's when I also uh discovered

conspiracy theories. That was and I just

saw I saw the truth. Uh okay. Yeah. So

what were we talking about? Oh, what was

the most painful aspect of programming

for you? Uh like what what memories do

you have of uh deep profound suffering

in terms of programming in the early

days? Uh, I would say the biggest one

that I can really hold on to had to be

one of two

experiences. The first experience was

when I was at a place called

Schedulicity.

And am I not allowed to say the

place? There's I'm not sure if they're

even operating still at this point, but

they're in there something funny about

the name. I'm sorry. Oh, scheduleity.

They actually the name was so bad that

when you looked at their like paid for

Google ad terms that they would make

sure that they're at the top of the

list, the spellings were just insane cuz

no one knew how to spell the word

scheduleity. And so it was just like

this the Google optimizing for that is

just hilarious. Uh but okay, go back to

the thing. And the the thing that kills

me the most about programming, what I

actually considered the worst aspect of

programming is when you know everything.

And so when I was at this job, it's just

every single day I'd come in, there were

no surprises. There was no questions. I

didn't understand the codebase. Sure

that's that's fair. I didn't understand

all the things about the codebase, but I

knew I was going to go in, I was going

to generate some sort of object from the

database. I was going to take that

object from the database, and I was just

going to map it over and just display it

on the web page. There's no creativity.

There's no there's nothing to it. It's

very like almost factory line kind of

work. And that was a very kind of

difficult moment for me which is I

didn't enjoy programming because like I

knew everything about it. I already knew

exactly what I was going to do that day.

I knew all the hurdles I was going to

have to go over. There was no unknown

unknowns if you will. It was just known

at all times. And it's just that is for

me that is the worst part about

programming is when you already know the

solution and it's just a matter of how

fast you can type and get it out from

your head to your hands. So, the absence

of uncertainty, the absence of challenge

was the pain. Yeah, that's pretty

profound. Prime I'm more than just good

looks. I want you to know that

it's a low bar. What do you identify as?

I'm enjoying asking the general

question. 38 male. Uh male, husband of

beautiful wife. Okay. You stream about

all kinds of programming. Uh but what

kind of programmer are you? Are you full

stack developer, web

programming? Uh, and maybe can you lay

out all the different kinds of

programming and then place yourself in

that in terms of your identity, sexual

identity as well? Yeah, I can get it. We

can put it all in there. Uh, plus I mean

obviously those two are very very

tightly coupled. I have seen you like on

the border of sexually aroused by

certain languages. I think you got real

excited about Okamel or

O camel. Let's go.

Thank you, Dylan Moyward. Okay. Wow.

Yeah, I did not expect that. That

escalated quickly. Anyway, what do you

identify as? Okay. So, first you let's

let's do the previous or the in in

between question first, which is the

different kind of archetypes. I think

that's a really interesting kind of

question because if you go on Twitter or

you're new, your thoughts are probably

that there is just web programming and

maybe there's some other stuff. Yeah

like game programming, but you do like

game programming in JavaScript and on

the web, you know, like there's this

very kind of very myopic view of the

programming world and I bet if you ask a

lot of people these days like what is

the most popular form of programming

they'd probably say web if you said what

contains the most amount of repos how

many percentage of repos on GitHub are

web-based they'd probably say 90% or

some huge number but the reality is that

there's an entire embedded robotics

world you know you're familiar with the

ML side of things there's networking

there's going to be just like

performance operating systems compilers

there's just huge amounts a variation of

all these different type of programming

verticals that you can be. And so we

often talk about programming in

perspective of web or something that's

pretty narrow. And I think that's just a

social construct of Twitter more than

anything else that it's actually I don't

believe it's that representative of of

the entire kind of programming world out

there. And I think a lot of programming

is really really fun. There's some

really great stuff. Building a your own

language is just a very fun experience

to do. every programmer should just do

that once just to have a completely

different, you know, perspective on how

things work in life. But as far as what

do I do? Uh I've always looked at myself

as a tools engineer. So at my time at my

my jobs, typically I would start off on

the UI and then they'd be like, "Okay

well, hey, we need a library for this

thing." So then I'd be the one writing

like the library. So in 2012, 2013, I

was writing a UI library for the web

that can behave just like an iPad. So

you can pinch and zoom on it, but it's

still a web page because we didn't have

any of that stuff back then. It was a

canvas. Had to do all the like matricy

operations and all that stuff to kind

of, you know, it felt like you're on an

iPad, but it actually wasn't on an iPad.

And this was iPad 2, by the way. So this

is a long time ago. And so every single

time I got into a job, it's like, okay

hey, we need to do a library. Hey, can

you work on a build system? So back

then, there was no Grunt, there was no

Gulp, there was no any of those things.

So I had to hand roll my own JavaScript

build system. And so I always fell into

these positions of building tools for

developers to be successful. And I've

always really enjoyed that region. And

so as I went on to say Netflix, uh spent

10 years there, I'd say the majority of

my 10 years were building things for

developers to

use that they could be successful at

their job. And so I just I've always

really enjoyed that aspect because your

share your stakeholders and the people

that use your program understand

programming and they're going to say

like, "Hey, I need this." And typically

the thing that they need they actually

want. Whereas with people people want

stuff but what they actually need versus

what they actually want often are kind

of like this weird separation. People

you know that's like the old Henry Ford

quote. I just want a faster horse and

he's like no what you actually want is a

car. And so it's like this like you have

to play this game of trying to really

figure it out. Whereas developers it's

like I know you know what I'm doing. I

know what you want. Let's figure it out

together. That's actually that gives you

a really nice big picture view of

programming in general. So, I love the

idea of just kind of starting at the

interface like you need to pinch and all

that kind of stuff and then figure out

the entire thing that requires to make

that happen including maybe the side

quest tooling how to make it more

productive and efficient all that kind

of stuff. So the entirety the entirety

of the thing that's really cool. Okay.

So that mean that would be full stack

by the general definition of full stack

meaning like perhaps yeah versus like

systems engine like starting at the

bottom and trying to optimize a certain

kind of specific thing without seeing

the big picture of like what the the

resulting interface would would look

like. And a lot of people you know in

web programming they never go beyond the

front end of how the thing looks. They

kind of always assumed there would be

somebody some some uh grunt in the

shadows in the darkness of the basement

that will implement the back end. Some

gil foil out there will be doing the

back end. Yeah. Like I like to call

myself a generalist. Um just to kind of

give some ideas is you know at at one

point at Netflix I built the websocket

connection. So for TVs how websocket

works is code I just wrote. And so I you

know built the framing thing and before

that I was doing stuff with memory and

before that I built the UI for a tool.

It's just like I can just do the thing.

You just tell me the thing to do and

I'll just go do the thing. I don't worry

too I don't try to get super good at one

specific activity. Like I don't want to

be a Kubernetes engineer who's the

world's greatest deployer. But if I had

to go learn Kubernetes, I'd go learn it

and learn how to deploy some things and

then hopefully move on to like the next

thing if that makes sense. Uh I posted

about the fact that I'm talking to you

on Reddit and there's a lot of wonderful

questions. Uh somebody mentioned that I

should ask you about DevOps. Can you

explain what DevOps is? Is it a kind of

special ops of programmers? Is it Cal

team 6 of developers? What's DevOps? Can

you define what are you a DevOps

engineer? Well, people keep telling me

DevOps isn't real. There's actually you

want platform engineers, cloud

engineers, info engineers. Uh I just

often think I think the easiest way if

we're doing like just kind of like some

basic nomenclature. It's just DevOps are

the people that make sure that when you

launch a service and all that, it

doesn't just disappear, right? It's all

the kind of backbone of being able to

operate something at scale. Like you

really don't if you think about if

you're just writing a mom and pop like

website. People that do PHP that are

doing WordPress and all that, they're

going to build something. They're going

to hand it off to I don't know, Lenode

Digital Ocean, some company. They don't

really need a really complicated build

deployment, all this. It's just someone

with a simple website so they can sell

their goods. And so they don't really

need that. And so that's kind of how I

think of a DevOps is when things need to

scale. that's kind of the person you

hire. Yeah, those people are actually

amazing. Yeah. Of uh the time I spent at

Google, it's like, oh yeah, yeah

there's all these fancy machine learning

people, but the the folks that are

running the compute, the

infrastructure basically that make sure

the shit doesn't go down. They're like

wizards and they're very incredible like

vertical of job. And obviously I'm using

a very broad term to describe I'm sure

like a bunch, you know, because making

sure stuff doesn't go down. And you

could also say that's like an S sur

right? Site reliability engineer

whatever. You know, the ones that wear

the the bomber jackets at Google. And so

when we say DevOps, I think people get

very particular about terms specifically

in this category. They're like, well

actually, you're mentioning

infrastructure engineer versus, you

know, versus site reliability engineer.

It's just like, okay, yes, I hear you.

But generally, when someone thinks

DevOps, they think somebody that manages

the servers and their life cycles and

the reliability.

There's DevOps. Is it real? I'm not

sure. Okay. Did Verscell kill DevOps?

Wow, that's You're almost a journalist.

That's a headline.

Uh, let's go back to the beginning. All

right. Baby Prime. So, you mentioned

Netflix. You've uh Oh, I worked at

Netflix, by the way. For people who

don't know uh who uh the primigen is, he

mentions uh the fact that he has been

very successful and has worked at

Netflix and basically every other

sentence. Correct.

Almost as much as I mentioned Neoim. Oh

great. Tell me more about Neoim. No

please don't. So, Baby Prime at the very

beginning, you've had one hell of a life

and I think it's aspiring to a lot of

people. You've you've gone through a lot

of painful low points including meth

addiction loss and like you mentioned

you've come out of that to become a

successful programmer and a person that

inspires a huge number of people uh to

get into programming and just to find

success in life. So maybe I would love

it if you laid out just your whole life

journey from the beginning.

So, I guess if we're going to start with

this whole journey, I think it's

probably best to start when I was about

four or five years old. That was the

first time I was ever exposed to

pornography. Uh, and it's kind of just

earwormed me for a large portion of my

life. And so, I don't think there was a

day that didn't go by from when I was a

very young lad all the way up until I

was 20ome years old where I didn't think

about porn on the daily basis. And so

it's just like every single day, even at

that young. And so it's just a very

mind- conssuming, time-consuming

thought-consuming thing that kind of

plagued me from a starting at a very

young age. When I was 7 years old, my

dad died. Um, that was kind of a really

tough period of life. I I still think

about this time that I went over to

China and there's kind of some rules

that we were given and one of the rules

was just like, "Hey, don't talk about

God and if you do, use the word dad

instead." And I was just like, "Okay

dad." It was like the first time I said

that word in like 17 years or some long

time. Like it was like so weird to say

that phrase and I was just like, "Oh

that was just the strangest thing I've

ever said in my entire lifetime." It

just felt so weird. So, kind of rewind

as I got older, obviously was very good

at computers, good at accessing porn, of

course, uh played uh video games on the

internet. Fun fun kind of like side

quest story. I think the guy's name is

Lord Talk on Twitch. I can't quite

remember his name, but he built this

game called Grail, G R A A L, and Grail

Online. And when I was a young lad that

it was just like Zelda, except for it

also had a level editor and it had like

a seike language. And that's how I

discovered how to program is I looked at

these symbols and figured out what they

meant. And then I was able to make

things happen in the game. And that was

like a that's my introduction into

programming. So, thank you that guy

whatever your Twitch name was. But all

right, so keep on going. As I got older

I was super bad socially. I was not a

very great social person. I high school

was brutal. Got made fun of a lot. Uh

really didn't en I wouldn't say I had a

great time during high school. Uh

definitely felt very out of place or

offset or maybe misplaced, if you will.

I'm not sure what the right word is. And

so, of course, at that point, I just

always wanted to I wanted to be accepted

to fit in and all that. I did forget to

say one side story. After my dad died

my brother, older brother, he got

started getting into drugs and along

with that he exposed me to pot. So at 8

years old, I was smoking some marijuana

uh for a while there until like maybe 11

or 12 and took a break and then again

did a lot of that as I got a little bit

older. But so I kind of got a lot of

these exposures fairly

young, 16, 15 through 18. A lot of

drinking and all that. when I graduated

or as I was graduating high school, it's

just like I had such sadness, if you

will. I was very sad about how

everything went. Tried to commit

suicide. Um, obviously, it was a very

poor attempt. And I'm still here today.

I'm very happy about that aspect. I'm

glad that I didn't follow through with

anything. Had to go to the hospital and

all that. And when I was done, I just

still remember kind of coming out of the

hospital and at like that moment, it's

kind of like something broken you. Have

you ever read the book uh Wheel of Time?

It's 14,000 pages or something like

that, but right around page 12,000, Rand

has to intentionally kill a girl, the

main character, and that's like the

moment he breaks and he gets into like

hard Rand uh uh Quindelar Rand, if you

will. For those that know Wheel of Time

will appreciate all that. Uh for those

that don't, it very confusing and I

understand. Not the Amazon movie show.

Not that not that Wheel of Time. So, now

that we kind of go back onto it, at that

point, it's just like something kind of

broke in me and it's just like I just

didn't care anymore. So all the kind of

social awkwardness, if you will, all

that kind of just died away with me, but

also so did everything else. And so I

started using a bunch of drugs, LSD

mushrooms, meth, did a bunch of math

did a bunch of that stuff, and then went

off to college and continued to do a

bunch of stuff. I took too much acid to

where for like quite a few years I had

like little squiggies on the side of my

eyes whenever I'd walk by high contrast

objects. And so it's just like that

whole period of life was just kind of

marked by

um just poor decisions. And then

sometime when I was about 19 years old

somewhere in that range, I just had this

one evening where it's just I felt the

very dramatic and real presence of God.

And it's just like I kind of had this

choice like Froto uh on a razor where

it's like if I go either way, I'm gonna

fall off and I need to change my life.

you just you get to make the choice now.

Do you want to do that or not? And so I

remember going, okay, I do I do want to

change my life. Like I don't like this

experience. I don't like what I'm

living. I am still very sad. I still

feel very desperate. I still feel all

those things. I'm just like pretending

to be this other person.

And then I just went to sleep that

night. Nothing changed in my life.

Everything was still the way it was. I

woke up the next day the same person.

And I was just like, "Oh, that's just

like such a strange weird kind of

experience. And I just went about my

day. And then I remember I think that

evening I looked at porn and all of a

sudden I just had a conscious I just

like this deep profound like shame. And

I was like I've never felt shame in my

life, right? Like I I have no idea

what's happening now. And then all a

sudden when I smoked pot I just felt

deep shame. And when I hurt somebody or

did something wrong all it's just like I

got a conscious from that evening.

That's what kind of my gift was if you

will. And it's just like at that point I

didn't even have a choice. I had to

change my life cuz for whatever reason

I've kind of been changed in the moment.

And so from there I started actually

trying in school. I always kind of joke

around that I got 2.14 in high school. I

had a teacher handw write me a note

saying I was the worst student she's

ever had. All that kind of stuff. I was

not a really great

student. And then in that moment it's

just like okay now life's changed and I

start trying to learn. You know I try to

become a good student. And it turns out

it's really hard. Like I was I was

really bad. I still got C's. I went and

took pre-calculus and failed

pre-calculus. And I'm like, "Oh my gosh

I used to be the smart math guy and now

I'm kind of the idiot failing." And so

it's like I'm just questioning myself

and all that. And I spent hours upon

hours in in like a studying uh math

learning center and then just at some

point years into this journey, I'm like

a year and a half into this journey at

this point. It's just like something

clicks and I go from being the worst

person to just immediately becoming the

best. Everything after that is just I

don't know what happened. All of a

sudden I was the best person at math. I

started going into my computer science

classes. I just really got everything.

It's just like everything at at just

years after trying just all of a sudden

became easier. And I'm not sure if it

happened over the course of weeks or

when the easier started, but it was just

first predicated by just a huge amount

of difficulty. And then this is kind of

where I started really desiring and

loving the process of learning was when

things started getting easier after all

those years cuz I just was motivated by

this desire to do something

not not thinking it was going to get any

easier. And then all a sudden it just

started getting easier and it was great.

And that's kind of really where I guess

I started having the biggest parts of my

life change. At that point, I started

really, really, really wanting to never

look at porn again because every single

time just such shame and I really wanted

to stop. And that was by far the hardest

addiction to quit. Like smoking

cigarettes was also a really hard

addiction to quit. Shockingly hard

addiction to quit, but porn by far was

just the worst of them all.

And then I think about 22, I was finally

done with all kind of addictions, if you

will. And then for a year, I just I just

worked in all that. and I think right

around maybe it was 21 and 3/4 somewhere

in that range. I'm not really sure where

I I stopped all the addictions part but

or at least the outwardly addictions.

And then at some point 6 months later, a

year later, met my beautiful wife.

Things just started falling more and

more into place. I loved more and more

work. I loved programming. I started

programming like 12 hours a day. I

watched the social network movie. And

after that, I was just like, I'm doing a

startup. And so like that night, I

started my first startup and I was just

like, so it was in PHP, by the way. PHP.

Yeah. 5.2 two or something like that. It

was great great times and I was just so

motivated to do that and I would just

program for sometimes I'd program for 24

36 hours straight and I just like

non-stop just that's all I wanted to do

at all points. I think my wife got a

little sick of me. I wouldn't she would

be like can you drop me off at school

and I'd be like no I'm programming. I

was not a very nice, you know, I didn't

think through things that well and I was

just so into it and I just did it

non-stop and that's kind of like how I

became me is that story if that makes

sense. Let's try to reverse engineer

some of the pain and some of the

triumph. You made it sound easy at

times. Let's try to understand it

better. Maybe when you were 7 years

old, what do you think about the pain

you've experienced there losing your

dad? What do you think? What kind of

impact did it have on you? What kind of

memories do you have of that time? The

best way I can kind of put it is that I

just never knew what a dad was. I was

young enough that I could kind of maybe

repress or just even have the capability

of remembering things long term cuz I

know most people don't remember a lot

from when they're young. And so I'm not

exactly sure. I probably as at one of

the best possible ages if I'm going to

lose a dad to lose a dad, you know, uh

if you're going to lose one, if you're

11 or 12, it's like a terrible age.

That's what my brother was and he fell

into drug addiction and never got back

out. And so I just kind of have more of

like a fuzziness and just kind of a

longing that I I just wish I had a dad.

What impact did that have on your

evolution, on your life, sort of having

that longing. I think that's why I was

so bad uh socially in the sense that I

was looking for approval, right? Like

something I needed approval. I think a

lot of people kind of desire that

approval or that loving figure and I

just didn't have that and so I think I

just looked for it in everything else

right like if I to psychoanalyze my

actions during the time it's not like I

was actively thinking that uh but yeah I

just always wanted something to fill in

whatever that was I felt I think a lot

of people listening to this will

resonate with your experience in high

school like being the outsider being

picked on uh struggling through a lot of

different complexities at home. What

advice would you give to them? Man, the

worst part about high school is that

you're surrounded by a bunch of people

your age and it feels eternal. Yeah. You

don't think like the people that are

around you, you feel like are the people

that will be there for the rest of your

life. At least that's what I kind of

like I thought and I didn't really even

realize this until many years later that

they are going to be some of the least

consequential people in your life. Yeah.

which is very shocking to kind of think

about especially if you're in it right

now right like right now they are the

everything that you're

experienc one day it all stops and then

real life starts to begin

it's just that's such a shocking thing

and if I could just tell myself that

maybe I would have been a much different

person that's so beautifully put I mean

it is a it's like a trial run you know

like at the beginning of video games

there's a little tutorial that's what

that is yeah And actually that should be

a chance uh to try shit out to take

risks. Uh because real life will begin

where there is more consequences after

that. Here you can you know if you like

a girl ask her out try shit. If you get

picked on, hit that guy back. Try shit

out. I'm not going to condone punching

another person. I will beat the shit out

of them and uh take some jiu-jitsu and

learn how to take him down. And then and

then and then that girl that rejected

you will be like, "hm, maybe I'll give

that guy a second chance. Be a bad

motherfucker." It's a chance to try

stuff out. This is a very motivational

speech for kicking ass. It is true

there. I mean, there is something very

true about that that I think especially

I I mean, I have no idea what the girls

experience of high school would be like

but as a guy, there's definitely a lot

of like physical requirements in high

school. There's a lot of physical

measurement, at least where I grew up. I

think that might not be true in all high

schools, but if they're filled with

boys, it's probably true. And so, it's

just like, yeah, it probably does help

to do those things, to go to BJJ, to do

any of these activities because even if

you don't ever kick someone's ass, just

having some level of confidence in

yourself is probably a very valuable

thing. But just remembering that this is

such a short tiny moment in your life is

just like a huge help. I mean the way

you phrased it is exactly right. That's

what it feels like that this is these

are the people that will be with you for

the rest of your life and this is the

whole world. And so that means that

there'll be just tremendous amount of

impact. If somebody picks on you or if

you fall somebody low somewhere low in

the hierarchy uh in the status hierarchy

of this high school that means you'll be

low in the status hierarchy of the world

and you're fucked for the rest of your

life. And that that carries a tremendous

amount of weight. It's just why

psychologically it's extremely difficult

to be I I think it's underated often by

parents by society how difficult it is

to be a high schooler. How difficult

psychologically it is. How it actually

makes sense that some people would

suffer from depression and be on the

verge of suicide. It's very very

difficult. Yeah. I think it's even I you

know people always say back in my day

you know blah blah blah. I think it's

genuinely harder today than it's ever

been in the sense that when I was a kid

there was a qualification to people

meaning this is a cool guy this is not a

cool guy today there's a quantification

of people you have

32,514 people following you have 12 like

there people can visually they can

inspect your exact social value on

whatever platform you're on and that has

to be just so much harder and I can

imagine that there's a lot of of just so

much weight put on that that it's just

it feels probably way worse and way more

damning to be uncool because you have an

exact number of how uncool you are.

Yeah. The challenge

there and the task the quest is to

remember that just because your social

circle on social media and uh in high

school thinks you're

uncool, it actually might mean you are

cool. Yeah. And you need to find that

cool and grow it and let it flourish so

that when real life begins, you can

fucking come out of the gate firing on

all cylinders. That's a great way to put

it. I I I think if anything, high school

is really bad at picking out the cool

people that like uh the whatever the

system, the hierarchy that forms, it is

so it's such a basic bitch hierarchy.

Like you're good at very generic shit.

That's how you rise. Your parents bought

you an expensive car. Expensive car

right? Materialistic shit. Yeah

exactly. It's a greedy search. See, they

didn't have a proper search, so they're

just hitting that local optima. But the

herist, I mean, even the objective

function uh for that greedy search is

just a really shitty one. Yeah. Where

those people that win the game of high

school are very often not going to be

the people that win the much more

exciting, beautiful game of life. So, do

epic shit and uh try stuff out. The

weirdos are the ones that are going to

succeed. The weirdos in high school, uh

probably because they also get bullied

and they get to be tormented more

psychologically and get to explore their

own mind and think through what it means

to be a human being more. Cuz if you're

winning in high school, you're not being

challenged. Yeah. You're not

self-reflecting. You're not trying shit

out. So, there is some degree to like

being tormented as long as it doesn't

break you. the porn

addiction. That's another powerful one

that I think will probably resonate with

a lot of people. And it's interesting

you say that's one of the hardest

addictions um to uh overcome. Let me say

it this way. Some addictions have a much

bigger societal look and porn is just

not one of them, which makes it super

hard. None of your friends are going to

cheer you on. If you go on Twitter and

say, "I quit porn." They're going to be

like, "Well, that's good for you, but

not everybody." You know, not every, you

know, no one makes that argument with

meth, right? No one's going to be like

"Well, not everyone has to quit math

okay? It's actually a fine industry and

people who, you know, are the ones

producing it, they're good also, right?"

Like, no one's going to make that kind

of argument. Whereas with porn, you're

going to have like a whole thing and

friends friends are going to think

you're dumb for doing it or whatever.

It's like you have it's a much more

difficult one in just like that. So, it

feels accepted. And I think it's also an

addiction you can practice, participate

in privately, and hide it from the

world. There are certain addictions that

are harder to hide from the world for

prolonged periods of time. Yeah. And

porn addiction is probably one you can

just have for many years and then it can

deepen. That's probably like a serious

issue. Boy, am I glad I grew up before

the

internet because the it's porn is so

accessible, so so easy to go deep into

that addiction. Uh I mean what can you

speak about what impact it had on your

life? Maybe some of the low points but

also how to overcome it. I'd say as far

as impact goes is that you will have

such a long and broken look at women by

the very like I can again I'm only

speaking from a a male's perspective

that porn in its just like most basic

thing is that you use another person for

your own

uh desire or your own want. It's not

something that is deeply needed. There's

no need there's no like need for porn.

It's purely a want-based activity or a

lust, however you want, whatever word

you can fill in there. And it is purely

an objectifying activity. Like someone

else is on display for your own

enjoyment. And so I think you carry this

around. Like I do think that the women

that I dated during high school or the

women after high school and college

like I looked at them as a means to an

end. I think porn greatly kind of

shifted that kind of perspective in my

head that I did not give the value that

was desired to another person. It really

devalues

uh humanity just in general is my

perspective of it and that it makes

people into commodities and I don't

think people are commodities. I think

everyone has value and so during that

for me that's kind of like the great

effect of porn is that you know it's

just consumerism gone wild or

materialism maybe you could ask argue

gone wild and it's extremely hard to

quit just like you said because I can

look at porn and then I can go out to

lunch. Mhm. you know, no one's going to

know. No one's going to have any ideas.

Like, it's a very private. It can be

very short session. It doesn't have to

be something that takes like, you know

you can't take acid than go out to

lunch, right? You're going to be you're

going to your whole day is going to be a

very different day. And so, there's a

it's very quick, easy, accessible, and

then obviously there's like all the like

the science and you know, statistics

like men make worse decisions for some

period of time after looking or being

exposed to sexualized images. There's

the whole dopamine effect that's just

like you constantly need more and more

dopamine. That's why people typically

don't just watch five minutes of porn

and call it a day. There's like, you

know, the hundth tab joke that's always

made on the internet. It's because you

it's just this this constant dopamine

cycle you're constantly doing. And all

that stuff is great to say. And I'm sure

statistics and science and all that

stuff is really great arguments for some

amount of people, but for me it just

comes down to like is it really a good

thing to do? Like is it really actually

something we want is to value people in

such a profane or kind of just like

disregarding way. Like I just really

think it's just bad for the soul. Even

if all the stats said it was great for

you, I still say it's actually bad.

Yeah. You have to look at the long-term

big picture psychological impact it has

on your relationships with human beings

in general. That's my more generally

than just porn. Uh, my problem with the

the quoteunquote sort of manosphere

is I

think sleeping with a bunch of women is

great, wonderful, but the problem is is

making that the primary objective of

your life. Similar with porn is you

devalue one of the most awesome things

which is intimacy. That's true for deep

friendship. That's true for

relationships. And I think porn does

that like in its purest darkest form

which is like the thing that matters is

the sex not the like the deep connection

with another human being. I think again

going back to high school and uh the the

manosphere the objective function if

it's to get laid which helps with status

and confidence and all all that is

wonderful I think again can be an

addiction but the thing that's even more

awesome for a lot of people is a deep

friendship or deep intimacy with a with

a romantic partner like that's also

fucking awesome and both of those are

great. It's objectively better to have

like I would say that there's no

universe that exists or there should be

no argument possible that exists that a

guy who has meaningless sex has a better

or a more meaningful life than say me

and my wife who've been together for 15

years. We have a very like I can depend

on her in all circumstances. Whereas if

you live that other life it sure it

could be it could feel great but there's

no meaning to it. There's no val there's

no actual real value to it. That's

absolutely correct. I do think that

getting

laid can have a tremendous positive

impact on the confidence of a young man.

I think just there's a certain number of

sexual partners from which you can

collect a lot of data and you can free

you

about like not to be so nervous about

the opposite sex, not to be so nervous

about human interaction. And that will

allow you to see the world more clearly

and to actually find that one partner

that with whom you could be deeply

intimate with. Sometimes like the

nervousness around like this society

uh constructed like value in getting

laid can cloud your judgment. And if you

just release that by getting laid a

bunch of times, then like you could see

the world clearly that getting laid is

not as nearly as important as you said

as finding the right human, including I

should put in that pile not just like a

romantic partner, but like friendships

like deep lasting friendships. Well, I

mean, I think you're right that our

society puts a lot of emphasis on

getting laid. And I'm sure that's true

among any group of males uh throughout

any point in history. I'm sure that's a

very common joke that's never actually

like never stopped at any point. So, I'm

I'm sure that exists, but and there's

there's probably some truth to the sense

that after you've you know who was it?

Uh Jim Carrey, I hope that everyone can

get rich so they realize that money

solves none of your problems. Yeah. Like

the realization that this thing that

society told you is hyper important is

actually not the important part. Like it

is a very important It's a great sign

that your relationship is healthy. Like

if me and my wife were to have no sex at

all for months on end, like something's

gone wrong, which means what, you know

we are no longer like on the same plane

something, you know, but it's not also a

good identifier. Just because you're

having a lot of sex doesn't mean you're

having a good relationship. And so it's

kind of like a unique kind of um I

forget the the right term here, but it's

a unique way at looking at the problems.

And our society puts so much emphasis.

And maybe that's why porn was so hard to

quit. But I my guess is it's just all

the dopamine effect that it is.

Uh but for me like the the most

important part and the thing that

actually has real reward is having that

having just my wife. I do not look at I

try I desperately try not to look at any

other woman. I'm hopefully not going to

get caught Mark Zuckerberg at the White

House like that. Um you know like I

don't look at porn. My wife has complete

confidence in me that there is not going

to be a situation in which she has to

question me in any kind of sense and

that builds a much more deeply I I would

argue a very deep relationship because

the trust is that much bigger. I think

the deepness of the relationship is

probably proportional to the trust you

have in each other. Mhm. It's very hard

to have a deep relationship with no

trust. Yeah. And uh a

probably a prerequisite maybe a

component of trust is vulnerability to

where you like take the leap of being

vulnerable with another human being and

that vulnerability when reciprocated

builds this this really strong trust and

it's a beautiful thing. Yeah. I I I

personally just given my position

uh that's even more challenging, you

know, being vulnerable with the world

and there's a bunch of people out there

that want to hurt you for it and

um but I think it's worthwhile anyway to

be vulnerable. It's always worth the

risk is always worth it in in some

sense. Like obviously everyone has a

different kind of life they have to

filter through their actions with

right? because the person that has no

say social following or anything, their

riskreward profile could just be local

impact which could be just as you know

damning or harming to them. And so it's

always worth the risk though in my

personal opinion cuz like finding my

wife is been obviously the most

impactful or changing thing in my life.

So or second most. I'd argue that one

night with God would probably be the

most impactful thing that led to

everything else, but then the wife would

be the next most impactful. I mean I'm

like cleaning up after myself and stuff

now. changed man. I'm a changed man. Can

we try to reverse engineer that moment

of you finding God? What is it at 19?

Because it feels like that was a big

leap for you to escape to escape the

pain to escape the addiction or the

beginning of that journey. Uh what do

you think what do you think happened

there? I think it just felt like I just

there was no line that I wasn't willing

to cross. Like everything was fine and

just like it just all a sudden just in

that moment it's just like I had a I

guess some sort of deep fear and

understanding like I am going down a

path. Is this really the path you want

to go

down? And I don't know what the result

of that path would be or anything like

that. I don't tend to speculate on

things I I don't understand. I just know

that in that moment I had the

option and I just chose I I didn't want

it anymore. Right? It's kind of mixed in

this whole thing where it's just like I

had no value. I wrapped up all my

meaning or value in having sex or

getting laid. I had, you know, all that

stuff. All the things we just talked

about like that was where all my worth

was. And that is just such a like a

terrible place to have your worth. And

it's just like kind of all came to a

point. And I can't tell you the day of

the week. I can't tell you anything

other than it was nighttime and I was in

South Hedges in Montana State

University. Go Bobcats. Um that's about

Yeah, that's the sign that we do at

football games. Don't worry about it.

But like that's all I can really that's

all I can really tell you cuz the night

it that night was no more or less

special than some other night. It's just

the specialness was I got at

least a chance to make a choice. Because

you find in that advice that you can

give to others who are probably there's

there's probably just an endless amount

of people that are struggling with porn

addiction, not young people. What what

advice could you give to them? How to

overcome

it? For me to overcome it, I had to

realize that I was taking something away

from my future wife. Some people be

like, "Oh, well, you just, you know

once you get a girlfriend, then you can

stop." And it's just like, "No, because

you never stopped the problem. You don't

stop a problem by replacing it. And so I

didn't have a girlfriend. I didn't have

all that. I just realized that I was

truly taking away from something for my

future wife. And I didn't even know my

current wife at that time. I didn't she

was not in the picture. I'm not even

sure if she was at Montana State

University at that point. And so it's

just

that's uh once I made that realization

I think it went from my head to my

heart, which they say is the greatest

distance in the universe. I finally like

got it. And that's really where things

change. So

if the the ability to say like what's

going to help you change and all that, I

don't know if there's I don't think

there's silver bullets, right? If

someone could offer you a drug, I forget

who says this phrase, but there's this

really interesting phrase that goes

something like um he was a very

depressed man and he was struggling with

suicide and he kind of writes about this

in this memoir and he goes to the these

doctors and the doctors effectively say

"Well, here's anti-depressants. It's

going to help you." And he says that

well the problem was is that scientists

told me that I could just touch my brain

and make myself happy and that's it.

Like they could reach in, they could

configure some stuff and I'll be happy.

He's like for me it was a lot like going

out into a field and being able to take

a drug to see the rain. I could look

out, see the rain, it would fall down

it'd be silvery, it'd be beautiful, but

all the crop would still die cuz there's

not actually any rain. I had to discover

how to be happy myself. And so for me

it's like the reason why I looked at

porn is cuz I was unhappy. I was trying

to find meaning. I was trying to find

value in something, right? Something

that was supposed to finally give me

this ultimate satisfaction. And it just

does not. No matter how hard and no

matter how much you think it will, there

is no escapade. There is no pornography

that will ever give you that

satisfaction you're looking for. That's

the reason why it's

addicting. That's kind of like my call

to why you shouldn't do it. But how to

get out of it, I only got out of it by

realizing. I think that's really

brilliantly

described. You knew that this thing

you're doing is preventing you from

finding your future

wife. And future wife could mean more

even broadly this path to a to a to a

flourishing to a to a beautiful life. I

think there's a lot of choices we make

that are just preventing us from opening

the door to whatever future. Like I

think what's really nice to do is to

imagine just like we said with high

school that there are a bunch of

trajectories in life where you'll be

truly happy. And you need to construct

your life in a way where you have the

chance to travel down those paths. And

there's a bunch of addictions. there's a

bunch of choices that prevent us from

traveling down those paths. So, just

believe that you're going to have an

awesome life and remove from your life

the things that are uh preventing you

from walking down that that path, which

is essentially what you did. It's a leap

of faith that like if you let go of porn

that a better life is waiting for you on

the other end. Yeah. I definitely can't

say how long it will take a better life

but for me, there's no way in the

universe I could have had the

relationship that I have without first

making those steps cuz I couldn't value

uh like I couldn't value my wife in the

way that was proper for who she was. I

would have valued her through the index

or the lens that I currently was looking

through. So, got to ask. So, I've never

done math.

I've never done meth. That was a great

segue by the way.

Oh man, I don't know what the fuck I'm

doing honestly with this interviewing

thing. But yeah, meth and

LSD, you know, I did Iaska, I did

shrooms a bunch of times. Oh, on this

topic, I should say that like uh there's

a lot of uh on Twitter and on tech in

the tech community in general sort of

people speaking negatively about

Iawaska. Uh and some positively. I don't

I think it's it's such a roll of the

dice. Like I I had incredible

experiences, but I don't think I want to

recommend it to anyone. It's a risk.

It's a serious risk. It really is a roll

of the dice. Like you could meet your

demons and they could destroy you or you

can meet your demons and let go of them

or you could have experiences like I did

which is like never apparently I don't

have demons. I'm pretty sure they're

somewhere in the basement but like I've

never met them on drugs. Yeah. I'm

always a really happy. I'm a happy

drunk. I'm a uh super happy an Iaska

just full of love. I don't understand. I

don't understand where the demons are.

But that's my biochemistry, whatever

that is. And for some others, you know

one trip could be amazing and the next

one could just completely destroy you

and wreck your life. So, um I don't know

what the recommendation from that is.

maybe avoid it, but then all of us die

and life, you know, I I tend to lean

into

adventure, but but drugs is

a it's if you fuck with the biochemistry

of your brain, you can really destroy

yourself in a way that's going to

torment you. though. I would

generally recommend that people avoid

drugs

altogether probably unless you're crazy

motherfucker. Hunter S. Thompson.

What an intro to this topic. Uh I'm

sorry. What's meth like? That is it's

it's that's a great intro. I I I like

you are very correct in the sense that

there is at least when it comes to

hallucin what you're going to experience

and there is no guarantee there's no you

know just because you buy the product

doesn't mean you're going to have a good

time right there's a lot of uh

personally I find that stuff uh to be

very I believe in the spiritual realm

right like I believe demons and angels

exist I believe God exists and that kind

of whole realm is like I don't know what

it opens you up But it's much much

different experience. Now, some people

be like, "Oh, it's just a bunch of

chemicals in your brain. They all get

mixed up." LSD just takes all of your

pathways and they all go, you know, they

all get kind of scrambled up in your

brain. It's just like, yeah, the

experiences are profound. I had some

really

bizarre, very cool, very awful. I've had

all the experiences in them all. I can

just tell you that I like I personally

always say the same thing. It's like

choices that I made I can never take

back. I would never take that away from

myself because I don't know if I would

be who I am today without all those

experiences going up to it. But if you

have not had that experience, I'm on

your team or at least partially on your

team, maybe more severely. I don't think

you need those experiences. I don't

think they're going to you don't have to

put yourself through that to make a good

decisions or to realize that uh people

have value, right? You can you you don't

have to do that. So, as far as like what

is meth like? Meth is like, if you've

ever done cocaine, cocaine starts off

with like a 15-minute dance party just

like like it's just so intense. It's

like so great. And then it's just

followed up by like like a 5 hour like

just feeling wiggly, right? I don't know

how else to describe it. Meth is like

that except for I didn't get as much

dance party or any dance party, but

instead I just got that part for like 12

hours. Yeah. So did a lot of

skateboarding

did a lot of, you know, running around.

Would you say it's a pleasant feeling or

is it more like an escape

from the loneliness of life? What is it

pleasant or

negative? In the actual moment, not the

consequences, but in the moment. So

there I mean this is this is just like a

very interesting kind of area which is

that

not universally you can't say that. Um

often you'll find that there's kind of

these two um groups of drug addicts.

There's those that like the the opioids

and those that like the uppers. They

typically don't like there's there's

very few people in the drug world that

do both. They're really just kind of

like find their side and they go for it.

So, will is meth a thing that

everybody's going to enjoy. Well

categorically as you can see and just

like how people experience drug

addiction. No. Uh but for me, it's just

like I had a really it kind of like

feeds into like the ADHD nature of like

this like cuz you know you're kind of

high energy. You're kind of like always

in the moment. So, it's just like you're

in the moment, but it's just like, "Oh

I'm in the moment," you know, like it's

like everything's just so intense, you

know, like you just want to like really

be in the moment. Uh, and so it's just

experiencing that

constantly. And so, was that great?

Well, some people, you know, my wife

always tells me this, like being like

nervous or I forget the anxiety of a

situation can also be the same thing as

like thrill. I forget the exact way. She

she's probably super disappointed that I

messed this up, but it's like you could

perceive those two experiences in very

different lights. Some people, you know

get in front of a crowd and it's like

thrilling. Some people get in front of

it and it's just like the worst

experience of their lifetime. They would

actually literally rather die, which is

a crazy thing to think about than stand

up and speak. And so for me, meth was

that kind of thrilling

side, but at the same time is it didn't

it still didn't like quite give me that

thing I wanted. whatever I was looking

for, I'd use it to help try to get that

thing I want, but it was never giving me

that thing I wanted. Yeah. Uh, for me

I've had all really wonderful

experiences. Do not recommend them, but

like what was like a YouTube policy, by

the way, that you have to say, by the

way, don't whatever you do, do not do

illegal activity. But I had great

experience, but don't whatever you do

don't do it. Mr. Primigen, I have no

master. I don't have YouTube or

whatever. I'll say whatever the fuck I

want. I'm just uh But seriously

no, I don't No, I don't give a shit

about YouTube or anybody. Honestly, I'm

just kind of careful about the words I

say because just because I had positive

experiences. I don't want young people

listening to this think they should try

the experience. I think the much more

powerful message is that life is awesome

even without that. That's something I

definitely experiment

with on the alcohol side. So for me, you

know, I'm an introvert. I'm afraid of

the world. Social interaction fills me

with with anxiety. Alcohol is definitely

a thing that helps with that sometimes.

But I think honestly like it's not even

the alcohol. It's like having to do

something while a person is talking to

me. I could just like drink a liquid if

they Yeah. Mhm. There's like a social

thing with a beer. It's like Yeah.

Uh-huh. Yeah, we're having fun. And I

think it's it work for me. It works the

same as if the if the liquid actually

looks like

alcohol, it does the same purpose often

because like alcohol from like if you

have of a a whiskey or a beer looking

thing, it kind of sends a signal that we

should be having fun. So, we're

socializing, right? We're fucking

getting crazy. And then that mean you

don't actually need the alcohol. You can

get fucking crazy without the alcohol

substance. Yeah. But there is some kind

of uh like

uh social signaling that happens when

you have a drink in your hand. So I've

been to gettogethers where I'm not

drinking but just doing like a fake

drink situation and I can also have fun.

So I've been uh but that said, you know

traveling across the world, there are

times when you be able to dawn a bottle

of vodka. That's very essential for the

for my line of work. But but that's

that's sort of that's almost like a

cultural experience versus like a

necessary component of a successful uh

social interaction, one that brings you

happiness. So uh not drinking. I think

you can have fun and not drink too. So

all of this man I'm so careful saying

drugs have had a a good effect on my

life because I think for most people no

for majority of people they will in the

long term long term have a negative

effect. So, I think if you were to

choose one or the other, just no drugs

uh, and no drinking means one day you

can be the president of the United

States kids.

And I should say, oh man, his funniest

line. Diet Diet Coke is great. That's

his funniest line, which is, you would

hate me if I drink, which I just like to

me that tickles me like to no end. Just

like, oh my gosh, that is such a funny

line. Self-awareness and humor is

wonderful there. But I I am on your

team. Like all of the reasons why I used

drugs and all that was a form. It's some

level of escapism. I'm sure that's like

would be the archetype or the box I'd

put that into or the pursuit of trying

to feel something that cannot come from

them. It's like trying to find meaning

in your job. You can find satisfaction

in what you do. Like that is a very good

thing. You can find satisfaction and be

happy with what you've created. You can

be, you know, thrilled by the

experience. But you cannot find I doubt

you can find purpose. you know, maybe

some people in specific jobs, you know

like this obviously of very broad

strokes I'm painting with like if you're

an EMT and you save someone's life

maybe, you know, there can be purpose in

that whole experience, right? So, I'm

not saying all things, but like as

programming goes, most programmers, you

cannot just simply find your purpose.

And same with drugs, like you cannot

find that thing you're looking for, but

they are a very great distraction. Mhm.

And then at some point, that distraction

comes with a heavy cost. I think Dr. FA

would probably know the best about the

heavy cost, but it's just you're making

one trade for another and at some point

the the bill comes due and that bill can

be very very

large. The other moment you mentioned

that I think is really inspiring is that

you know you failed pre-calculus, you

really struggle in school like you

realize that school is really hard and

then

eventually you're able to sort of

persevere and um I don't know break

through that wall of struggle. Can you

by way of advice figure out what

happened and what the kind of advice you

can give to people who are struggling?

Yeah, I I'll paint it in kind of more

clear picture, a very fast speedrun of

it is that I took pre-calculus, failed

I took pre-calculus again, failed, took

pre-calculus again and got a C. So, I

took it three times. Uh, then I took

calc over the summer. So, calc one in

that

one at the end, the final, the final was

a two-hour final. I finished it in 30

minutes and that was the highest score

in all of the school and I proceeded to

be the highest score in all calculus and

diffyq. I was the only person out of 400

people to finish the diffyq final. Uh

and I got the highest grade and so I was

like I got really good. So I somehow

went from really bad to really good and

so my only the thing that I did is that

I had to win. It was not a option. It

was not like oh you know this would be

really great. It's like I will not

graduate. I will not finish my stuff if

I cannot do this. And so every single

day I got up, I went to my what, however

many hour class it was. Right after

that, I went straight to the math

learning center, did those problems.

When I got home, I just got the book and

it had the odd answers in the back and I

would try to walk through the problems

over and over and over and over again

until I absolutely got it. And it just

became this thing where I just I it just

simple wrote memory took over. and the

ability to just effectively have the

times table but for calculus all stuck

in my head inverse trig substitution

trig substitution doing Taylor McLaren

series like all those things kind of

just over and over and over and over

again eventually they became easy they

became very easy it's just that I had to

cram it in there and some people you

know you hear these stories where they

they barely show up to class and they

get A's I've never been that person I've

always been the person that has to sit

down read through everything and I'm bad

at abstract concepts I like the concrete

into the abstract, not the abstract into

the concrete. Very bad at talking about

things theoretically then trying to

apply them. But if I can do it once

literally, then it's really easy for me

to go into the abstract. And so it's

just like for me, it just I had there's

no substitute for the hours.

So if you if I were to give advice, it's

just that you have to have time in the

saddle. Hour after hour will make you

slowly better. And at first it's

crushing, it's defeating and it's not

fun because you are bad at it. But then

at some point it you're just not bad at

it if you can just do it long enough and

you'll start getting okay at it. And

then at some point you might even get

good at it. And when you get good at

something it feels amazing. There's like

an exploratory thing like if you're if

you've ever played a musical instrument

you stop having to think about all the

little teeny things you have to do to be

able to play something correctly and you

start thinking about how you can explore

that space. It's like it you a

completely different problem. And same

with programming. Programming has an

identical kind of feel to it. It's just

like you'll cross that barrier and it

becomes magical as opposed to a chore.

Yeah. Once you cross that barrier

somehow other things become easier.

But then if you want to have a truly

successful life, then you find the next

barrier. Yeah. The next barrier. Yeah.

I've always been the same. It's

everything's come really hard. Yeah. I

do not I had I've had no free lunches.

Everything's just been a lot of a lot of

pain and struggle.

Uh I think somebody said that the on

this topic that you think work

smarter not harder is a phrase that you

dislike.

Somebody on Reddit told me this. Yeah. I

don't just dislike it. I hate that

phrase. Okay, tell me tell me tell me

about your hatred. How how do you feel?

The reason why I dislike that is that

there is a kind of a a hidden suggestion

there which is that you already know

what smarter is. So just do that. That

actually things should be easy. You

should just not have to like try that

hard. You should just do the quick easy

obvious path and boom, it's done. It's

like I've never experienced that in

anything I've done. everything is

actually really hard and most the time I

don't even know what I'm doing. So

therefore, I don't even know what smart

looks like. And so for me, the only way

I can learn how to work smart is by

working very very hard and knowing that

there's no shortcuts. And then when I

finally figure out what smart is when I

work smart and work hard, it is that

much better. I think there's a deep

profound truth to that. There's a lot of

these phrases that just drive me nuts in

our society. But but that one is sorry

that one is really accepted if we can

just linger on it because it really

bothers me as well. So one which is a

really nice thing you said the

presumption there is things should be

easy and you're a failure if you don't

see the easy path. That's kind of the

work smart dog. Why why you putting in

all those hours? And so it makes a lot

of people that struggle feel like

they're a failure. Yeah. Cuz like I

don't see it. And then the choice I

have, well, I'll just go with the uh

with the l I'll just be lazy and then

maybe the profound truth will come to me

somehow. And and yeah, I think I don't

think I've ever and I don't think I've

met great engineers

uh that find the smart way without the

extremely hard work. The annoying thing

about those great engineers is then

looking back they forget the hard work

because they remember all the joy they

they now are experiencing from all the

efficient smart work they figured out

how to do. They forget. So when they

give advice, they give the stupid

fucking advice of well just do it like

you know the easy way and here's the

easy way. But no, no, no, no, no, no

no, no. You have to put in the hours.

Like, you know, musical instrument is a

beautiful example of guitar and piano.

I've put in I don't know how many

thousands of hours. And now when I'm

explaining stuff, jiu-jitsu as well. I'm

I sound

like I sound like one of those people

like just, you know, just relax, you

know, in jiu-jitsu. By the way, just

relax is a really wonderful thing for

physical endeavors like piano and so on.

But to learn how to relax your hand, how

to relax your mind, your body, and uh

use the the whatever the biomechanics of

your body to apply the correct kind of

leverage and the timing and all that.

That takes thousands of hours of

learning. Just to learn how to relax

takes a lot of really hard work. In

jiu-jitsu, that takes many months of

getting your ass beat over and over

until you like uh you know ride the bus

home crying, your your ego completely

shattered and destroyed and then like a

little

element is figured out late that night

or next morning. And from the

depression, there's this uh little plant

that grows this flower of uh insight.

And you use that insight to then get

your ass kicked again all next fucking

month and year. And then you grow and

grow and grow. And from that you

discover how beautifully simple

jiu-jitsu is or judo is for just

speaking for myself or piano or guitar.

And then yes, the the profound truth or

the mastery of a skill feels simple when

you finally arrive to it, but the path

is for most people is uh is going to be

a hard one. Can Can I I think I should

make an addendum to the phrase. I think

the phrase should be work hard, get

smart. Nice. That's a t-shirt. That's

what it should be. Yeah, agreed. Okay

that was a tangent of a tangent. Can I

say one more phrase, cultural phrase

that I absolutely hate? Yes. Uh the

journey is better than the

destination. Right. Everyone's heard

this, right? Mhm. Just take one second

to apply what that means. That means

forever starting from now, you are only

going towards a place that's worse

right? Like that that literally is what

it means, right? Enjoy the journey

celebrate the destination. That's like

that should be what it would be. But no

people say these phrases are everywhere.

There's these very shallow phrases that

have no logical bounds to them. You're

just like, what does that why would the

journey ever be better than the

destination? Cuz you're always this I

think this might even be a CS Lewis uh

quote is that CS Lewis was like, nope

this is terrible. Don't the journey is

not in fact better than the destination.

I love the demotivational posters. Uh

progress moving forward is better than

moving backwards even if you're still

going nowhere. There's a there's a I

feel that one so so much being in

California for a few years. That is that

is painful. Positivity. If it doesn't

break you today, don't worry. It will

try again tomorrow.

It's just a lot of really great posters.

I didn't even know this was a thing.

This is a thing. Oh my gosh. I want

that. Yeah. Hey. Hi. This is the

primogen. You know, one thing that I

forgot to mention in this podcast, which

feels just so foolish to me for

forgetting is just what a big role my

mom played in my life. She had to work

18 hours a day after my dad died. She

really made our house be able to

survive. I always looked up to her and I

always thought her amazing and she

really was the reason why when I decided

to get my butt kicked back in gear

she's just someone who I looked to as

like an internal kind of inspiration for

me to continue to keep on going cuz I

really wanted to make her proud. and all

those years of just high energy effort.

I really wanted to make sure that she

knew that I was just so dang

appreciative for it. So, hey, I just

wanted to say thank you. Love you, Mom.

For people who don't know, you worked at

Netflix, by the way. by the way. Now

how did you go from there from the

hardship that we mentioned from the

struggle from the addictions and so on

to a place where you were working at

this this incredible engineering company

and uh building cool shit there. So

tell the Netflix story. Yeah. So, you

know, I kind of alluded to it earlier

that I wanted to do my own startup. So

for I forget how long it was, one or two

years or 2 and 1/2 years, built a

startup PHP jQuery everyone's

favorite languages all put together. Uh

you can solve math stuff with jQuery. So

I just was like totally into just

non-stop doing that. This is like the

height of Stack Overflow. Us asking

really dumb questions on Stack Overflow

like what is more Pythonic? And then you

get a bunch of up votes and try to steal

a bunch of karma away. Like all the fun

stuff to do, good times. And I was just

like so into it breathing and I just

breathe it in, breathe it out and that's

what I do all day every day. And so it's

just like non-stop building of a

startup. Ultimately that startup failed

and so I had to get you know go get a

real job. Can you say what the startup

was? It is so wild thinking about it in

the past. I before I tell you what it is

I want to tell one quick thing about my

dad. My dad in the early 90s, like 91

92, was building kind of like a phone

card company where you'll be able to

pre- purchase long distance minutes.

Now, if you remember the '9s and about

like what 97, 98, 99, 10, 10, 220, all

those different things, dial down the

center, right? Like all those companies

where you can pre- purchase long

distance kind of came out and were very

very big. And so my dad was like six

years early to that notion. and

ultimately his startup failed but he was

just really early to something that

would catch on really really big

specifically in the telecommunication

space. me as I grew up and did my own

startup. I did a startup where was text

message marketing. This was in 2010

where you could receive say texts about

various deals, all that kind of stuff.

And of course 10 years later now you

don't stop receiving texts. And text

message marketing is all the rage. And

so I also much like my father had a

startup in the telemarketing space in

which was just like a half decade too

early. So is it fair to say you're

almost always ahead of your time at your

visionary of sorts? No. In fact, I am

not ahead of my time. I just got un some

would say I got unlucky on that uh

situation, but I did see it was it

seemed so obvious to me at that time

when I was doing it. 80% of phones were

dumb phones. Most people had flip phones

when I went and sold uh via text is what

the name was of that specific product.

It was and we had the short code via

text, too. So, it's pretty, you know

pretty clever, right? Six digits. Uh

when I went out and sold it, I only had

a flip phone during that time. I didn't

even have a smartphone. Mhm. Right. Cuz

that they were kind of untenable for a

lot of people. So it's, you know, it's

kind of just wild times to think about.

But then after that, obviously had to

get a real job. We were living in an

apartment in uh right next to campus

Boseman, Montana. And the guy below us

must have been on some some amount of

drugs. He threatened to kill us several

times. Would just like scream and just

lose his marbles all the time. Very

unhinged man. Angry downstairs man is

what we called him. One time my wife had

dropped a battery. double A. Okay, so

not like a big we're not talking about

like a B battery or D battery. We're

just talking about a double A. Dropped

it. Land on the ground. I'm going to

kill you like crazy, right? Absolutely

unhinged behavior down there. So I had

to go get a real job. We need to move

out of there. We're going to start our

life. And so I worked at a small placey

which I kind of talked about the boredom

there. Got to go to a place called Web

Filings where I'm working just tons and

tons of hours during all that time. I'm

still trying to figure out startups. did

one where you could uh pre-wish your

friend's birthday messages and then it

would automatically send it via Facebook

beforehand. We called it grief feed. It

was pretty it was pretty clever.

Nonetheless, that story, I say all that

story because everything that I was

doing was exploring, building, finishing

things, working, learning about

corporate life, learning how to

communicate in corporate life. Uh, being

able to be successful at a job, learning

about a bunch of kind of technologies

that were about, and one of the big

technologies during that day

specifically 2013, was RxJS, if you

remember that one. RxJS, that's a link

from C, uh, kind of ported over to

JavaScript. And for people who don't

know, I guess C, what is its closest

neighbor? Java. Is Java like? They

obviously just took Java and ripped it

off at one point, but now it's such a

dynamic, interesting language that it

seems like it could be a really cool

like bounds of practical versus not

practical. It's just I I'm not really

into wearing pleated pants in

programming at a Microsoft house. So, is

pleated pants a requirement? I think so.

Okay, we'll get back to this. Can we

just get back?

All right. web web

filings web filings was that's where I

had to do like all the matric matricy

stuff and build systems and just kind of

all that and it really pushed me cuz

they also wanted me to do like 60 hours

a week. um it was not very healthy work

life balance was very hard work and kind

of like that really hard work going to

cutting edge stuff really understanding

the world really made it so that I was

able to just be able to talk about stuff

very commandingly because you know we

had to build really complex state

machines for the UI for what we're

building and so when I went and started

getting a LinkedIn and all that

inevitably just due to the fact that

I've touched all these technologies and

I had some sort of paper trail saying

I've touched these technologies

Microsoft or Microsoft. Dang it, Lex.

Fleeted pants. Pleated pants reached

out. No, Netflix reached out and said

"Hey, like I see you've done

RxJS, you know, we do a lot of it. You

want to come and interview with us?"

And, you know, I was always told that

you should never reject a kind of like a

handwritten personal invitation to

interview. This was way before bots, and

even the bots were pretty obvious to

tell that were bots. This was a manager

at uh Netflix, Jeff Wagner, first

manager ever, and he just wrote a really

nice note and just like, "Hey, I see

you're doing a lot of these things. We

really need help with JavaScript. Um, I

would love for you to come interview. We

even using a lot of RxJS if you're

interested in that." And so I was like

"All right, you know, I can come and

I'll interview." And lo and behold

interview went on. And I called my wife

I think halfway through the interview

and I was just like defeated, absolutely

crushed because I said, and she might

remember this, but I said, "We now have

to make a decision. Are we actually

going to move to California or not?" Cuz

I already knew I had the job at that

point. Like I just was just knocking

them out of the park. I was doing a

great job on that. And so I just knew

for a fact I'm getting a job at Netflix.

you know, all the there's this thing

that people always get so freaked out

about when it comes to interviews and

all that. And I luckily somehow avoided

this. I don't get test anxiety. I don't

get any of that because when I go into

these situations, my only goal is to

show the things I already know. And so

it's like I walked into this situation

I've been preparing for this 80 hours a

week for the last like 5 years. So just

walk in and just I'm just showing the

things I know. And it was perfectly

fitting for Netflix at that time period

in the 2013 early JavaScript days on

television. And so it's just awesome.

Just worked out perfectly. Got hired

there. So where in California was

Netflix? This is San Francisco.

Loscatoos.

So uh if you're familiar so classic uh

symbol people do which is this is San

Francisco. Yep. Oakland San Jose. Los

Gatos is just like a little bit Yep.

kind of little bit below a little bit

south of San Jose. Same mega contiguous

city. Yellowstone is a Montana

Yellowstone the show. Yeah. Yeah. With a

Yeah. So is it is it basically like that

Kevin C riding on a horse? Is it were

you riding on a horse to to campus or

No. No. But that I mean I love those

stereotypes actually. I mean to be

completely fair when I was 15 years old

I was driving around on what is now a

very busy populated street shooting

gophers out the window of our car with a

22. So, it's like Montana was a

different place at one point than it is

today. And there's plenty of parts of

Montana that's still very rural, still

kind of more of that old world. So

yeah, a little bit, you know, you can

kind of get whatever you want from

Montana. As far as like culturally goes

I'm not really sure the best way to put

the difference between California and

Montana. It's just different

expectations. Like one thing I can

really appreciate about California or at

least when I say California I mean the

Silicon Valley cuz obviously LA and

California and the Silicon Valley very

different attitudes, very different

mindsets. You can't really compare one

to the other. One thing I can say that's

really positive about the valley is that

everybody is operating on this idea of

like trying to build or create something

and there's an energy to it that's like

very exciting. like you meet somebody

and they have a startup and they're

working on the startup and it's very

exciting and you know there's a lot of

negative aspects to that and we can all

agree that our entire life being

commercialized has probably not been

that great but the kind of the

experience of being there and everyone's

excited to build something. It's a

really cool experience. Yeah, it's

great. It's really great. The

excitement, the energy. Yeah, Montana

doesn't have that. I I have an

admiration a romantic admiration for

like uh for the shows like Yellowstone

being out in nature. It's beautiful.

Yeah, I like uh riding. I Somebody also

said Reddit is full of wisdom about you.

Uh some of it could be fake news, but

something about horses and this kind of

thing. Like you write you like horses.

You like riding horses? We have horses

on our up. Our neighbor had much more

hilly land and one of their horses broke

its leg so they had to put it down.

Yeah. And so we just said, "Hey, we're

on much flatter land. Like you can just

have your horses in our property." And

so we just have horses that run around

on our What about milking cows? Somebody

asked about cattle and and cow and so

I've only had open open cows. So if you

don't cow means girl. Open means that

hey they've tried to get the cow

pregnant. The cow did not get pregnant

first try. And so they're calling that

gene. They're getting rid of that gene.

The cow's going to now or the open cow's

going to now go out to pasture. Pastor

for the year and then get turned into

delicious t-bone steaks and of various

things. And so we would house open cows

on our property. So, no, there's no

milking of open cows, okay? They'd be

very upset if you tried to milk an open

cow cuz they're not they're not milking

cows, right? You have to get like that

cow pregnant and then once you get it

pregnant, you have to kind of put it

into this permanent state of milking and

all that. And it's a little bit more

complicated than say what we did, which

was just cows on eating grass and I

didn't have to touch them. Okay. Well

that's wonderful. Reddit is not a great

place for wisdom about me. They're going

to give you the craziest answers. Uh, we

will return to Reddit time and time

again, my friend. Uh, so yeah, you took

the leap into Netflix. So, what was that

like? It was, you

know, this is one of those things where

when you talk about it, people love to

trivialize this cuz it's like, oh

you're taking a leap of faith by going

into a fang company in like 2013 sounds

super risky. Uh, my wife was 36 weeks

pregnant. We had to travel to a place

where we knew not a soul. We were about

to have our first kid. We didn't even

have a doctor. If you don't know, having

a baby does like kind of you kind of

want a relationship with a doctor.

There's like a whole thing that goes on

there. So, it was kind of it was a

really hard and great experience. So, I

went to a job in which their culture

deck. So, during this time, this is

where Netflix still had like kind of

that old generation X feel to it. Their

culture deck was hire fast, firef, you

know, it was it was very in-your-face

about like, hey, this is how we operate.

You don't meet the standards, we kick

you out. So, it's like I'm going I'm

leaving a place where it's more secure

to go to a place I don't know anybody to

a job that's bold in its claims about

firing everybody with a wife that's just

about to have a baby. And so, it's like

and I'm from Montana and you're born

every Montana's born with a natural

dislike of California. So, there's like

all these things kind of flowing into it

where it's just going to be like, wow

this is going to be this is a very

intense experience. And it was hard for

sure. Like it wasn't just some easy

simple experience that we were just

like, "Oh, I work now at Fang." You

know, we had to kind of work through

that. Having a kid was very difficult.

Our first kid was very difficult. You

know, not having any family around to

ever help you. Like, you know, took a a

much larger toll on my wife than me, for

sure. What was the uh technical learning

curve for you? You showed up in your

plaid pants like dressed up. Yeah. What

was it? What What did you have to learn

about the stack? cuz Netflix I imagine

is is a is this incredible

infrastructure has to deliver just a

huge amount of data. I'm just blown

away by Netflix but also like YouTube

these companies that have

to deliver like serve a huge amount of

like bits. Netflix has it easiest out of

all the companies Netflix by. Even

though we have, you could say maybe we

have maybe we beat YouTube in view

hours. I'm not sure if we do, but let's

just pretend Netflix has 5x more view

hours than than uh YouTube, whatever it

is. Netflix has a fundamentally easier

problem than all other companies. And

let's get back to that. I'm going first

tell you about the stack, but I'll tell

you why it has a fundamentally easier

problem. So, when I first got there

they gave me my PlayStation 3. My boss

said, "Go learn some code. Come back to

me in a couple days and tell me what

you've learned. Then I'm going to start

giving you bugs to fix. Wait, wait.

PlayStation 3? What are you talking

about? Well, I was on the TV team. I had

to go plug in a PlayStation and start

launching programs onto the PlayStation

3 and figure out how to work Netflix on

a television device. Oh, so like you

have different kinds of device. Why

PlayStation 3s? Other different 2013

devices that plug into the T. Okay

cool. Yeah. Not many not as many TVs had

Netflix, let alone what they called

their Darwin app, which is their new

application. So if you bought a Vizio

earlier that year, you'd get their older

one there. It's called Plus UI. You get

their older version. And so not many had

the newer version. We no longer

supported Plus or we never actively

developed on Plus. We only did stuff on

Darwin. And so I had to learn that whole

stack. I the back end or the middle end

uh the middle layer between the actual

back end and the front end was written

in Groovy. And as I went around, Groovy

is uh if you're not familiar with

Jenkins, then you've probably never

interacted with Groovy. But Groovy's is

a JVM language. It's a

very interesting language. But here's

how it got started at Netflix. Oh, it's

Apache. Apache Groovy is a powerful

object-oriented programming language

that runs on the Java virtual machine

released in 2007. It has evolved to

become a versatile language that

combines both static and dynamic typing

capabilities. All right, so the AI is

kind of lying to you. Uh, Groovy is not

a powerful great language. Nothing. That

statement makes it seem way cooler than

it actually is. You will meet one out of

a hundred people that have touched

Groovy that said, "Oh yeah, Groovy is

great." Yeah. The other 99 will be like

"Heavens forbid you ever have to touch

that language." So, uh, when I got

there, nobody, not a single soul at

Netflix, there's 40ome engineers had any

idea how Groovy pretty much worked.

Somehow people just hacked together

these scripts and put them all on there

and it worked and it was all this was

before there was a Groovy RX port. We

wrote our own version called WX. It was

a nightmare. Observables all these

things. I remember one time they told me

that oh yeah, you know, with RX it's

really easy. You just say what you need

to do. It maps out and boom boom boom

boom everything will run multi thread

and all that. I was like oh wow really?

So all I did was go like uh observable.

sleep one cuz I just wanted to see it

sleep and then do the next thing. And it

turns out when a thread sleeps itself

no thread can wake it up. And I just

turned off all of staging cuz I ran it

like 10 times like, "Oh, it's not

responding. Oh, it's not responding. Oh

now it's not even coming back." Broke

all of staging for everybody. So no

developer could work for the rest of the

afternoon cuz I locked up all the

instances because it turns out no, it

was in fact not multi-threaded. Every

assumption we've been told is a lie. No

one had any idea what they were doing.

It was a wild time. And so I just simply

naturally gravitated towards that

because I'm good at print f debugging.

I'm good at doing those things. So I was

like here I'll just figure this out

here. I will do this. So I had to

rewrite how we do the data structure on

the front end for the TV uh from what is

called a lolo list of list of movies

into lolo which is a list of list of uh

recommendation objects for a movie. Why

would we need to do that? Think about

this. You have two lists. One has live

free dieh hard Bruce Willis because you

love Bruce Willis. The other one has

live free, die hard because you want

tough men doing tough jobs. Well, during

those days, we'd only have one way we

could show evidence why you wanted it.

So, we couldn't say, "Oh, because you

liked this other movie." You'd go to

that one and say the same thing. So, we

had to kind of add one level of

indirection where we could decorate the

recom or the video with the

recommendation information. Okay. So

you can abstract away into the the space

of recommendation versus the space of

movies, right? Yeah. So, you can't hang

it off the video because obviously then

it would be the same for everything that

shows that same video. So, that's

amazing. I had to do all this and I

wrote it in Groovy and I was the I just

did it and people were like how did you

how did you write this in Groovy and

it's just like well I read the language

reference for a day and then programmed

it well what do you mean it was a very

radical language shall we say and so I

just simply became the person that knew

these things so they just give me more

and more jobs at that and so that's kind

of how I excelled being the person that

was willing to do the thing that no one

else was. Yeah. Can you actually speak

to the print of debugging? like you you

walk into a system and there's a lot of

systems in the world like this like uh

Twitter was like this when you when uh

when Elon acquired Twitter and it rolls

in and there's this old janky code base

that's just like a JMS and you have to

basically do print of debugging like

what's the process of going into a

codebase and figuring out like what the

fuck how does this work what are the

flaws what are the assumptions you have

to like reverse engineer what all these

other engineers did in the past and the

mess across you know the space of months

and years and you have to figure out how

all that works in order to make

improvements. The thing the reason why

I've always just been good at print

debugging because one of my first kind

of side quest jobs that I got was

writing robots for the government when I

was still at school. And so I'd kind of

do this contractually for so many hours

um so many hours a week. And my boss

Hunter Lloyd, great professor by the

way, he just said, "Hey, here's your

computer. Here's the robot. Here's how

you plug it in. Here's how you run the

code. Can you write the flash driver

the Ethernet driver? Can you write the

planetary pancake motor? Here's some

manuals. Um, I'm missing some. Just

figure it out. I'll be back. So, that

was government work for me. So, I was

like, "Okay, I'll figure all these

things out." And I figured them all out.

And the only way to really get anything

out of the machine, uh, was to print.

And so, it's like I had to become really

good at printing my way through

problems. And so, that kind of became

this like skill I guess I adopted is

that I can just kind of print after

debug my way through a lot of these

problems. Obviously, I'm not a game

developer. Probably a different world

probably should use. I think John

Carmarmac was on here and talked how

great the debugger is. Different world.

Cuz when I was at Netflix, there's

machines that exist somewhere where on

AWS I'm not logged into them. I don't

even know how to log into them. I'm not

even sure if I have credentials to log

into them. They run once somewhere and I

have to figure out what happened and why

it's happening. So, it's like I'm going

to become this is like this is what I've

trained for. I'm a print f bugging

champion. So, it's just like I could

just run through these things really

quickly and figure out why they're

happening the way they're happening.

You're a special human. I think that's

an incredible skill set to have to be

able to drop in into any code base, drop

into any situation and do print out

debugging, meaning like, you know

you're in a dark room and you're feeling

around that room to try to figure out

what the room is. Well, I had the code

so it's like I can kind of blueprint

what's happening. Like I don't

understand the services or anything

that's h but like you can start guessing

pretty quick as to what's going wrong

right? But then the the print side of

that helps you u confirm your

intuitions, test your intuitions and

build up more and more information and

then you start to accumulate like this

bigger picture from that what the edge

cases are that uh that break the system

and not I mean I I think that just that

kind of space like that kind of

situation is um intimidating for a lot

of engineers like they break down at

that point. I think this really is a

powerful thing to be able to come into a

codebase that's generally a skill set of

like uh very few of us start from

scratch. Yeah. And actually this is the

fundamental problem of web development

and in general where they're like uh I

don't know what's going on. I'm going to

write my own thing from scratch, right?

as opposed to like actually doing

printive debugging on the on the space

of languages on the space of problems

because there's a lot of

wisdom and solved problems already in

this codebase. It's a much more

important skill set to understand to

learn from the mistakes and the wisdom

of the past of the ancestors that came

before

and build on them as opposed to throw it

all out and start from scratch. This is

something obviously you see a lot with a

JavaScript framework that comes out a

new one every single day. So I have a

very great story about that that this is

what like I think has shaped me the most

about my perspective of other devs.

There's this dev and he always just

wrote things in just what I thought was

such a bizarre and weird way. And it was

this had to do with Falor, so our data

fetching um library for Netflix. This

would run on mobile so I had to write in

Objective C. It had to run on television

and it had to also run on web. So it ran

on everything and it me and one other

person were responsible for this thing

working and the request side where we'd

had to ddupe the information that we

already have the requests that were

pending and the new data. So I had to

figure all that out based on what

someone's requesting and then just only

optimal optimally request the stuff that

we don't

have. He wrote it in such a goofy way

and I'm thinking, man, this guy's just

what a goofball. So I delete it all and

I start writing it. I'm like look at how

much nicer this is. It's looking so

good. I'm like, "Oo, there's that one

edge case." Uh, okay. I can see why he

wrote it this one way. That's not a big

deal, though. The rest of my code is

really great. By the end of it, I'm

like, I literally almost line for line

just reproduced what he already wrote.

It's like slightly different towards my

style, but I just wrote the same code.

And I'm like, I'm an idiot. I am the

idiot in this situation because it was

already a solved problem. I just didn't

take the time to learn what he did.

Instead, I relearned what he did by

rewriting the entire thing. I think

that's a skill set that is extremely

important for people to learn. I see

that in myself that's a constant

struggle for myself. I when uh facing a

codebase for example, but this applies

generally in life where somebody did a

lot of work to do a thing, you should

invest a huge amount of time and get

really good at figuring out what they

did, why they did it. Do a lot of print

out debugging to understand what they

did. It's a much more efficient way to

understand a problem deeply than to

start from scratch. Even though there's

a constant temptation to start from

scratch because starting from scratch is

fun. You do get to puzzle solving all

that kind of stuff

it's just not going to be the right

thing to do. Usually pain is the right

thing to do and it is for most people

painful to understand other people's

code bases. I highly recommend starting

from scratch if you want to understand a

concept. You don't know how an HTTP

server works. Create a TCP socket. Learn

how to parse HTTP. It'll become very

easy and you'll go, "This is the reason

why whenever I get a request, I have to

await the text. I now understand why the

text is for whatever reason not there. I

get it. I now understand it." And so

you kind of gain these new perspectives

just by simply parsing something

out. All right. Back to uh the wisdom of

Reddit. Apparently there there are memes

and legends about your uh programming

arc in Netflix. Uh this Falcore system

you mentioned somebody I think it was uh

Tee. How do you pronounce his name by

the way? Teach. Tee. Okay. Tee. It's TJ

would be his name, but we call him T or

Telescopic Johnson. Oh wow. So many

names. You know DDoS distributed denial

of service attacks. You apparently were

able to accomplish the simplified

version of that of just DOSs. Uh that's

a legend. So you basically broke down

the system somehow. Yeah. Yeah. So can

you tell the story of that? I'd be glad

to. So this Felcore So there's this

Falcore business, right? And I kind of I

a I did discover the bug before anybody

else and I did report it to security and

and it it was so bad it actually got its

own name, Repulsive Grizzly Attack.

Yeah. And they even give examples of how

to do it. Effectively, what it means is

that there is a request that targets

both memory and CPU and will destroy.

There you go. Look that how Netflix the

next one down was the article that was

actually written. Um I don't get

mentioned which is a little bit

upsetting considering I was the one that

discovered it and told everybody how bad

it was. Uh anyways, and had to write the

fix for it or the first fix. So this is

how it works is that it you can do

something pretty similar I believe with

GraphQL as well. It has the same kind of

danger. Any of these kind of RPC request

as much or as little of the data as you

would like frameworks are vulnerable to

this kind of attack. So with Falor what

you do is you could you give it an

array. This an array is called a path

and that's the path to the data. But

sometimes you don't want just like you

don't want to have to write out I want

movie I want row z or list z or row z

column z title I want you know row 0

column 0 description I want you know you

don't want to have to write out all

that. So instead you could just be like

I want um I want rows 0 through 10

columns 0 through 10 titles and

descriptions. So you can write in a very

compact nice little format and it'll

give you all that data. It'll go to the

server. The server will fill that all in

and give it to you. Oh, dang it. List

three, it only had three videos in it.

So, what happens when I try to

re-request the data? Well, I need a way

to be able to tell my system that you

have requested the data and there's

nothing there. So, this is called like a

they call this like a boxed value. So

it's going to be like type uh something

value. There's nothing there. We've

already requested it and there's nothing

there. They call, you know, it's like a

sentinel value, if you will, a boxed

value.

And we have this little special flag

we'd pass called materialize. Meaning

that when you ask for a path, we will

make sure we fill it out so we don't

accidentally erase anything. And at the

very end, we'll say, "Okay, the thing

does the request you've made has already

been made and there's nothing there."

Well, what happens if I request rows 0

through 10,000, columns through 10,000

one more item through 10,000, and then a

whole bunch of properties, and then ask

it to materialize? Well, I'm about to go

create billions of objects in the JVM

and what happens to the machine? It

stops running. And then if we try to

JSON, even if it could create them all

we then ask it to JSON serialize. It's

not going to do it, right? Like it's

impossible. And so that was the attack

vector is a simple while loop would have

taken down and held down

Netflix for a very long time because one

request would kill one machine on AWS.

And so that means it would just turn it

all off. And this was on the website

this was on um TV, this was on mobile.

Like this was profound. And here's the

worst part. It was in production for

years. So we couldn't even roll it back.

There was no like, oh crap, let's just

roll back to 2 weeks ago and we'll kind

of fix forward and figure out. No, it's

like we could roll back to 2011. Like

that's our option is 2011 and that's it.

So we had to figure out a way forward

and all that. And so it's

like the amount of problems that would

have happened if ne if someone would

have discovered this is is unstable. Ju

just to be clear the infrastructure

that's serving the videos would shut

down. Yeah. The UI like you couldn't

perform any actions in the UI. You

surprisingly could still stream video

but you would never be able to get to a

video to stream cuz every action you

would take would be completely shut

down. And so it wasn't a DDoS because

you didn't need a bunch of computers to

try to overwhelm the system by making a

bunch of requests. One request, one

machine. If we had 50 machines serving

the millions of requests, it only take

50 requests to shut down the entire UI.

Isn't it possible to do DOSs or DOS on

basically any software system? Like

defending against all the, you know

closing all those attack vectors is

probably really difficult. If you take

any soft sufficiently complicated

software system, there's probably so

many ways to overwhelm it. Yeah, it's

ext I mean this is why people use

Cloudflare. I think DHH said it best

which is like we have our website and we

have a strong bodyguard on the outside.

So, Cloudflare has a bunch of utilities

all built in cuz, you know, obviously

this is why everyone hates all these

Bluetooth devices that connect to the

internet because they just turn into

attack vectors where people use those to

do DOSs or DDoS other sites. And so, you

don't need something sophisticated. You

just need a bunch of requests to come in

and you can take down websites. And so

that's why these fronts are really good

at kind of discovering where these

problems are. But, DOSs is a bit

different because it doesn't have to be

overwhelming by using resources with a

whole bunch of requests. It really just

means simply that there's a denial of

service attack. One of them could be

there's a reax attack that existed where

um Cloudflare actually did it to itself

and shut itself down which is there's a

reax expansion attack where given the

right kind of reax if you know someone's

running a specific reax you can actually

provide input that is maximally bad and

that thing goes to like super

processing. It takes 10 seconds to

process a single request. Then you only

need to make hundreds of requests and

you shut down the whole service. It's

not like you need some giant machinery

to make one trillion requests. You only

need just some small amount to

completely destroy a service. And so

there's the web is an extremely

difficult place to to do it correct.

This is super fascinating. I I do also

wonder how many ultra competent

uh what is it? Black hat hackers there

are versus sort of the good guys versus

the bad guys. how many bad guys there

are and what is the

average what is the distribution of

skill set on the bad guy side that are

constantly trying to attack. I assume

there's probably a huge number of just

really simple ones. Script kitties

right? Just people trying to just do

things. And then there's a huge amount

of like social engineering that just

goes in where hacking is done not with a

computer but just by you know one of the

classic ones Kevin Mitnick had this one

in his book which was you'd call up

somebody pretending to be like Charlene

we're uh doing some auditing and uh I

think your PIN's out of date on file is

it 2323 still and they're like no it's

4747 you're like a thanks Sharon you

know boom you just hacked them right

like the classic people love correcting

bad information this is like a standard

So like there's all these ways people

hack and so my assumption is that there

are really great white hat hackers

there's really great black hat hackers

but the vulnerability space the hard the

thing is is that discovering a

vulnerability and you don't let anyone

know the white hat hacker still has to

make that same discovery. Yeah. And

that's where I think the real thing is

is that black hat hacking in some sense

has a fundamentally easier job or at

least a job in which they can take

advantage of for much longer periods of

time. One's the process of discovering

who's breaking the system. The other

one's trying to figure out how to break

the system. And it seems like most

software is held together by toothpicks

and glue and there is a lot of dangers

in every piece. And also the the social

engineering aspect that's a real attack

vector. I think that's the attack factor

that will do in the long term the most

damage in the world. Um especially as AI

tooling becomes easier and easier to

convince people at scale sort of do that

kind of gram email grandma. I think

that's a really serious attack vector

like human psychology and all that. I I

kind of assume whenever there's a girl

that approaches me it's kind of some

kind of social engineering project. Some

attack vector some some a intelligence

agency. In fact, I'm pretty sure we're

back to a beautiful mind, aren't we?

beautiful mind. Yeah, I have a

whiteboard upstairs that I calculate

everything, everybody's trajectory and

move. You're you're not wrong though

with the attack vector, especially in

the day of AI. Like one thing that I

don't think a lot of people are talking

about as we integrate more and more AI

is that prompt injection is like an

extremely hard thing to defend against

because it's not really clear how you

defend against it. If it's just a, you

know, at the end of the day, word

calculator make word come out. If you

can figure out the proper word

calculator input, it might just break

its b bounds and start doing something

it's not supposed to do. And there's a

whole future where there's all these

products that are going to be vulnerable

to things they never thought about. Like

you, it's one thing where you forget an

edge case while you're programming. Now

you have to guess what people might be

able to think of making something that

has access to a system be able to do

right? And you don't have a way to

reason about it. Its reasoning came from

Reddit and other words that it's read

and how to put things together. Like

this is a very it's a massive space

that's going to be happening. It's why

I'm personally thinking don't give too

many powers yet. Like we don't know the

attacks that are about to

happen. Uh yeah, the more power we give

to software systems, the more damage

they can do. That certainly is the case.

But the more awesome they could do and

that's um the knife's edge that we all

walk along as a human civilization

together hand in hand. Will we flourish

or destroy ourselves? Question mark.

Uh, folks on Reddit, the good folks on

Reddit demanded that I ask you about the

time you broke production. Is this

related to Falor? Did you break

production? Is this I broken production

quite a few times. I've broken

productions for so many stupid reasons.

One time I broke production because I

came up in the PHP and PHP static means

static for the lifetime of the PHP and

PHP was the lifetime of every request

right? That's why PHP was so inefficient

was that every request was its own like

instance and therefore static memory was

for the lifetime. I guess I never put

that together. And so I had some objects

that I made static because I was like

"Oh, I just need this for the lifetime

of the request." And lo and behold

those weren't lifetime. A whole bunch of

bad data got all over the place. People

were showing up saying they were from

all these different countries and

everything was all wrong cuz I just

whoopsy daisies. I just made a whole

conundrum with that. So that was one

time I did it. Another time is I took

down if you were on the homepage on the

website waiting for Lady Gaga's video to

come out and you were watching the

countdown go down. If it reached

zero, the billboard would freeze and it

wouldn't work. If you refreshed it would

work. But the reveal

the big reveal. I screwed that up and my

boss got real upset and so did other

people in Hollywood got upset about that

one. That was like a my bad. Sorry, Jeff

Wagner again. I remember that one. I

remember that one specifically. One time

I released a bug where again on the

billboard if you pressed add to my list

I accidentally programmed in an infinite

loop and it just your whole web page

would just freeze. Are some are some of

these bugs difficult to discover until

you start? That one seems really easy

looking back at it. Loop. Yeah. And

there was we actually during those days

we had manual QA that are supposed to go

through everything. So, I didn't feel as

bad because my manual QA counterpart

also missed it. Like, we all missed it.

But it was just so simple. You just

press that button, boom, it just

completely freezes the website.

Polluting the code with sort of global

variables that are holding values uh as

PHP I think allows you to do. That's a

tricky one to discover cuz you rely on

it, but then there could be somebody

else assigns a value to it. Data races

everywhere. And I just didn't understand

like in my head static was like oh this

is for the life like I was just so

locked into the PHP world at that time

that I just made a just such a like

looking back on it it's so obvious but

during the time it was it's hard. So in

general pushing to production I talked

to Peter levels about this. He I mean

obviously he's operating as a mostly a

solo developer but he often on the

websites that thousands not hundreds of

thousands of people use he he often

ships to production

uh pushes to production meaning like

just no testing just like push to fix.

Uh what are the pros and cons of that

approach in general to you? What do you

think? It's obviously much easier the

smaller your organization is. I think

everyone I think no one would argue that

that sentiment. If it's just you working

on a singular project, it is obviously

much easier for you to push directly to

production because you are the only one

working. You know all the ins and outs

and if something were to break, you

would discover it. So to me that makes

sense. Like I think the way he operates

is perfect for what he does. you

couldn't take what he does and move it

to say Microsoft or Netflix or Google

because that would obviously it would

just be a disaster just due to the

amount of people all pushing to

production. And so I I mean I personally

love that. I think that you have to you

have to gauge both the application

you're building and its complexity and

what you're pushing and how many people

are working on it. I think those all go

into how you can kind of do that cuz not

all applications are created equal

either. Like that application I was

making with zooming and scrolling where

we had all of our own everything. It was

a very deep log like heavy logic app and

that was regardless of what was

happening on the website. most the code

was library code and that becomes way

harder if you don't have a good test

suite and stuff to kind of run before

you push it out because when you squeeze

that ball you know different things uh

come popping out in different areas and

that's like that's very that's a very

harder problem than say if you're doing

more of like a heavy visual one because

a heavy visual one you're you're

affecting just this one area's visual

stuff and you can test it and like

that's normally the end of it whereas

you know so it depends on like the

coupling and everything. So, I I mean, I

love his approach, by the way. I I have

such mad respect for anyone that

operates that way because it I think is

a great way. It just is so good because

it kind of breaks this notion that tech

Twitter has that, oh, you have to use

all these expensive services. You need

to use all these kind of things because

if you don't use all this kind of stuff

if you're not using the latest version

of React, if you're not using the latest

version of this, you're going to simply

you know, you're simply not going to

make it as a startup. It's impossible.

And it's just like, no, no, that's not

software. Like, most of software isn't

the new stuff. Most of software is old

crappy software that someone has to

maintain and it actually is really

really great and has lots of really hard

problems and if you look at it

differently it's actually fantastic. For

people who don't know his tech stack in

terms of web development is PHP, jQuery

and SQLite. Yeah, all great stuff. I'm

just surprised he still uses jQuery just

given the fact that at this point on the

modern web everything is I mean you have

document query selector and add event

listener click, right? It pretty much

has everything you already need. It had

DOM content loaded. Like all the reasons

I used jQuery back in the day was adding

a click on a on a button was like hard.

You had the deal with IE7, IE8, IE9

right? Like those are hard differences.

Whereas now it's just so easy. I'm just

surprised it's even that. I mean, that's

definitely a trade-off. I I have I still

use the exact same stack PHP, jQuery

uh, and different flavors of, uh, SQL.

But the question there

is, you know, you keep using jQuery

because you can get the job done really

fast and there's no significant

performance hit that that you detect. So

like why switch to something else? But

it's always probably as we'll talk about

good to explore and to learn. Not all

tools are great at solving all problems.

And so what you think is really like the

problem is is you run into this kind of

trade-off which is you have some tool

belt that you're very adept with. You

know all the ins and outs. There's no

unknown unknowns. But there's no

surprises in this. You know what you're

building. You know what you're getting

into. You will go through and um you

will be able to solve the problem. But

if you ever use a different language or

a different experience, you can find

that some things are able to represent

states way easier in a way more

efficient way and you can solve problems

really efficiently in some versus the

other. And so it's like if you don't

take the time to explore as well, you

could be missing out on something that

makes you twice as good on this one

specific problem like subset. And so I

kind of value being able to look at all

problems. And so I don't want to get

stuck on one thing though I see why

people do which is for the efficiency

sake.

Let's just return to the infrastructure

of the platform of Netflix and speak

more generally Netflix, Twitch, YouTube.

Like anytime I use any of these

services, I'm just blown away by the the

infrastructure it takes to deliver this

service. YouTube and Twitch are unique

versus Netflix where the creators can

roll in themselves and upload stuff.

Yeah. So on the consumption side

YouTube has over 100 billion views a

day, over 1 billion hours watch time

but on the sort of creator side, 1

million hours of videos are uploaded

every day. 1 million

hours. It's like you have to do you have

to service both and you have to deliver

everything. It's incredible to me. Uh

can you maybe speak to your own

intuition just zooming out on it? what

it takes to deliver that kind of

infrastructure. For me, the thing that I

I find vastly complicated and I can't

imagine the engineering hours is how do

you even create an edge in that

situation. And what I mean by an edge, I

mean like when people say this phrase

if if you're unexperienced, an edge is

where you deliver data to be you want

that edge to be as close to the customer

as possible because that's where the

data lives and then the communication

between the customer and what you're

doing is really really small. Obviously

the speed of light adds up, the amount

of hops adds up, the amount of services

that you have to remotely call adds up.

They all add up and they all add

inefficiencies to the system. So

something like YouTube, they want to be

able to serve that data as quick as

possible. But their data changes

constantly and relevance is almost

directly tied with the newness of the

item. So, it's like, how do you even

cash these things out? How are you doing

this? So, they must have such an

incredible caching network that I can't

even I can't even fathom what it takes

to do that. That just to me it's just so

impressive. A million view hours in how

many different uh resolutions with how

much data? What is a million view hours?

Is it 4K million view hours along with

1080p along with 720p along with 1440p?

Like that number is an insane number.

Actually, it is brilliant what you said

which is for YouTube often the new thing

is extremely important to show to

everybody and so you can't rely on

caching or or trivial kind of caching.

You have to like deliver the new thing

as quickly as possible. Yeah. I mean

it's incredible. So there's the entire

system, the the recommendation system

that knows each individual human

watching YouTube and it has to integrate

into that the new thing while also

caching this incredible cluster of

possible videos that you're potentially

interested in. So and integrate into

that ads, right? In the case of YouTube

and Twitch and so on, it's a really

tough problem because you have to think

like what is the cash hit rate on this

because there's so because the problem

now actually comes down to space. Like

space actually becomes a real problem.

like how many hundreds of pabytes do

they have that they have to like okay

what do we cache and where do we cache

this right like the number I mean I

think in the terms of like gigabytes or

maybe megabytes like they have to think

in in probably versions of bytes I don't

even know the name for right like it's

like such a different problem and that's

why I said Netflix Netflix has a much

easier job when it comes to caching so

if you've never looked it up it's called

OCA and that we know what videos we're

releasing we know what videos are hot in

specific speific areas. It's a very

limited set. We're not going to all of a

sudden get oopsies, we got a million new

view hours, right? We don't even have to

worry about that as a problem. Instead

it's like, okay, we know Stranger Things

season 5 is about to drop. We're going

to pre-cash Str Stranger Things season 5

in every single OCA across the world

because that thing's about to get

hammered, right? And so, it's like it's

able to do such a different kind of

decision-m than what you have to do with

something like YouTube. And and then

Twitch is even more wild because now

you're actually ingesting video and

trying to make it go out all at the

exact same time for all video. And you

have to transform that video from

whatever format and whatever the bit

rate is into something that's more

efficient in the system like that. Hats

off to Twitch engineering. Like cuz that

is like some that's some serious work.

And here's some asshole Lex coming out

and tweeting about YouTube features. So

like there's

a I listen you're not wrong on the

features you ask for though. Uh I think

there's this is this is an engineering

problem of how do you allow fast

iteration and addition of features that

shouldn't have to be integrated or

impact the whole codebase. So at the

edges of the codebase sort of improve on

certain features without like having to

consult the mothership uh of the code.

It's the large team, right? That's

that's the fundamental problem. When you

get into YouTube size, there is the

team/organization that deals with data

warehousing. There's the

team/organization that deals with

delivery. There's a team/organization

that's like the middle layer. how you

even you know they're going to be like

the little microsurfaces to talk to

these places. Then you have this front

end engine. So like for for a small

feature you have to get middle team you

have to get backend team you have to get

all these things. Quick example Netflix

um are you familiar with uh the

dystopian Black Mirror. Yeah. Yeah.

Okay. Season 1 episode one. Do you know

season 1 episode one? Everyone who

watches Black Mirror typically knows

this episode. Okay. Yeah. I don't

remember what it is. Forgive my language

but they call it the pig fucker episode.

Oh yeah. Of course, once you've seen the

episode, you will then know this

episode. Well, when Netflix adopted it

I got pulled into a room. There's like a

VP, a VP, a product designer, a VP, and

they said, "Hey, we're about to release

our own version of Black Mirror season

uh season 3, I think, at that time. We

need episode 1, season 1 to not be the

first thing people see. So, let's just

reverse the season order."

That required me I had like 20 engineers

I had to gather together to be able to

have this happen. And that's just the

problem of big companies is that

eventually every little thing has to

become its own team. And so even small

there's no such thing as a small

feature. Reversing the order of the drop

down that selects the seasons is a

meeting with a bunch of VPs and

engineers. That's really interesting. I

there's got to be a way to accelerate

that. The natural scaling of a company

and the bureaucracy that grows. Yes.

Slows that down. But just having seen

Elon work a lot, his teams are able to

like still keep it very fast even as the

company grows. There's got to be like a

process to doing that, especially for

uh yeah, for the Pig Fucker episode.

Like uh I don't know where that in the

priority list, but like for important

things like that, you should be able to

do that quickly. I don't know. Can you

speak to like how would you do that?

Well, I can tell first how it was done.

Remember, so at a place like Netflix

there would be I think that at that

point is called a product called Dexter.

I can't remember. There's our actual

like movie metadata warehouse that's

going to be highly integrated with

Hollywood that's going to be, you know

where that side is able to manage all

that. So, I'm like, hey, you need the

ability to mark things that need to be

reversed because we're going to run into

this a bunch. And we did. We ran into

quite a few topical shows that all need

to be reversed and all that. And so it's

like we need to be able to reverse

episode numbers, season numbers. We need

to be able to hide season or episode

numbers. Like in the case of the Chelsea

Handler show, it was like a daily show.

So it's like you don't you don't need

episode numbers. You just need the

latest one. And so like there's this

whole problem that exists. And so it's

like okay, you need to work on that for

your UI over there. Then you need to be

able to store that data. Then we need to

be able to go to the like the people

that can actually get the video data out

of that and provide it to our our uh our

service layer. I need to go talk to them

and convince them they need to be able

to give me the new methods and

everything to do that. Then I need to be

able to go write the methods to get it

down. And then I need to go to the UI

and make that accessible. Now I need to

go to website people. I need to go to

the mobile people. I need to go to the

TV people. And so it's like you can see

this thing like snowballing. And for us

the big thing that Netflix did that was

so well is after I met with these people

that were high level, I was the c I was

the captain. I'm the captain now. Yeah.

So I went to all these teams and said

"Hey, manager, I need I need an

engineer. we need to get this done

within the next couple months cuz we got

Black Mirror coming out. So she would

go, "Okay, here you go. The map team, I

need someone to help me with being able

to get data out of the LMO for this."

And so it's like, "All right, you're

working with this engineer." I'd go to

the VMS team. Okay, I need this

engineer. I'd go to the billboard team.

I need this engineer. I go to all these

little places to get all these little

pieces of data. And then I was the

captain. So I was like, "You're working

on this. You're doing this. You're doing

this. You're doing this. I'm doing this.

Let's go." Right? And and so it's like

that worked and we were able to go

pretty fast for a big company and the

fact that it required like 20 engineers

to do such a simple task. We were able

to do it in like gosh I'd say about like

3 weeks worth of effort but that was

still I thought that was amazing

comparatively to how many people moved.

Well because you have the freedom of the

agency to do it. You said the captain of

the ship that's really powerful for big

companies that's a risk cuz you can fuck

it up. you might not see the bigger

context

u legally or any and so the bigger

context of the impact on the industry or

all the contracts that are made all

that. So, it's a risk. It's a risk. But

it's a risk you have to keep taking. And

then if when you fuck up, you fix and

then maybe pay the cost legally for

that, whatever. But the long term that

risk pays off because you're going to

keep creating a better and better

product, evolving where the industry is

going, constantly innovating ahead of

where the industry is going and so on.

Yeah. Yeah. And not only that, I think

one thing that is just so important is

that yes, the product will get better

but the people that you hire and the

people that you keep around are better

because they're the ones that show

maturity. They're the ones that can just

you give them something and they can

rally the troops and make something

happen. Like that's a very great group

of people to hire. And so you also

naturally select out great engineers

that aren't just simply good at coding.

They're good at coding and they're good

at explaining and they're good at

convincing and they're good, you know

like you have to you have to create a

very lean audience that can move fast.

And I think for great engineers having

to wait for like okay let's schedule a

meeting for next Wednesday with the with

the VPs and that destroys their soul and

they either don't want to contribute

anymore they leave the companies or they

just kind of tune out and take the

golden handcuffs and just you know buy a

nice house and focus on the family and I

feel like I would die under that like

honestly like that is that is my death

sentence is where it's just that there's

no reason to try. There's no reason to

do anything. I'm just going to go in

there like effectively zombie through my

day and call it like I don't want to

live like that. I want to feel like I'm

trying to do something. Uh I should also

mention on top of that, so you've

brilliantly laid out how incredible the

challenge that Netflix has to solve. On

top of that with

YouTube, you know, the metadata

thing because users are able to upload

video and there's an API where they can

upload automatically and change all this

kind of stuff automatically. Every one

of those things is an attack vector as

we mentioned. That's something they have

to consider seriously on the engineering

side and on the sort of the legal side.

They can get into trouble in all kinds

of ways. So they have to consider all of

that. That's just yes fascinating. The

legal side is obvious, but it's not

really like I would never have initially

thought someone would say upload images

that you're not allowed to own or have

but that guarantee you that happens.

Then you have the whole kid side, right?

Like think about when you mark something

as kid-friendly. How many times have

they snuck porn into a Taylor Swift

video or whatever it was. That was like

a few years back. There was that whole

Taylor Swift or whatever. I forget what

it was. I thought it was Taylor Swift

but there'd be these mock videos that

come up and then boom. It's like that's

a that is such an awful problem and I'm

so happy that is not a problem I have to

try to figure out. Yep. Okay. So, yes

YouTube and uh and Twitch and Netflix

are doing an incredible job. You

eventually

uh

chose the madman you are to leave

Netflix and to start on the new journey

of being a Wolfpack of one, start

streaming. What was that? What was the

story of that?

So, I was

streaming for almost seven years now. It

started actually at Netflix. We did a

charity, uh, Extra Life. Shout out Extra

Life for starting my streaming career.

Effectively, it's just you stream and

whatever money you raise, it goes to

Kids with Cancer Research. They are a

great charity in the sense that they

take no overhead and they raise their

own donations for their website and

everything. And so, it's like a very

great straightforward charity. Really

love like what they've done. Um, it was

super cool because I live in South

Dakota now, but I actually could choose

a hospital directly where the money goes

to. So, there's like a direct

impact from A to B. So, it's like it's a

pretty cool organization. And so, my

friend Guy Sereno, uh, nice try guy is

what I like to call him. He was probably

the single greatest engineer I've ever

met in my lifetime. And he was just

like, "Hey, come do this. We're going to

all do this." And so, I played Fortnite.

And so, before I did that, I was like

"I better learn how to stream first. I

better get, you know, affiliated so I

can like take subscriptions and then if

anyone gives me a subscription, I'll

also pay that forward. And so June 2018

or something like that. I start I start

uh streaming and I start streaming some

Fortnite, end up getting affiliated, end

up doing the whole Extra Life thing. I

end up really enjoying it. I'm like

this is a lot of fun. I'm playing

Fortnite at that point, okay? So, mind

you, I'm a Fortnite streamer at that

point. Uh, and I start really enjoying

it and I keep doing it. And then one day

I decide I'm going to do some

programming because I really love Vim

and I think I'm kind of fast at Vim and

maybe people think programming is kind

of cool cuz there was no really

programming section at that point. Uh

and I did it and uh I had like 30 people

show up which was just like and it felt

like incredible numbers at that point.

So I was like oh my gosh there's like 30

people watching me program. And so it

just kept on going and it kept on

happening and it just kept on growing

and I did it for year after year. I

would do my job. I would come home. I'd

eat dinner with the kiddos. I would read

them Lord of the Rings and The Hobbit.

During that time, I'd read to them for a

half an hour. Then I'd set that down.

And then three nights a week, I would

program until like 2:00 in the morning

or play video games until 2:00 in the

morning streaming and building up this

like whole side thing. And I did this

for a long, long time. And then

eventually it just kept working out so

well. And I started making YouTube

videos. And then that started getting

better. And it was just like a long long

grind until April of last year. I went

to the streamer awards and I got to like

announce the programming category and

Pirate Software won. It was awesome. It

was a great time. And during that time

he gave me a challenge coin and just

said like you just got to go for it.

Just go full-time. And so I just sat

there and my wife can attest to it. It

was kind of like an emotional uh turmoil

thing and it just took a lot

of it was it was pretty awful, you know

cuz I I didn't Netflix is very safe

option. It was both very fun. It was

challenging. I liked a lot of the people

I worked with. It was overall a really

great thing. I had a really great boss.

Um really appreciated him. I still every

text him now and then he's really great

guy. So it's just like I'm leaving all

these things for something that's

unsure. And the reality is is that

streaming and all these things, you

know, people love you one day, they

could hate you the next day. There's

like all this stuff that goes into being

on the public side. And I had Netflix as

the backing. So it's like if public

hated me the next day, I'd be like

"Duces, I'm out." Like I don't care. Now

it's like now I'm going to do this as a

job. And so there's like a whole huge

turmoil to this whole thing that kind of

went through it. And eventually I just

said

"Okay, I'm going to make this." It kind

of it resonated with me when I first

made the decision to join Netflix. I'm

getting older. There's not a lot of

chances to do something unusual like

that. Those chances go down constantly

as you get older. This might be the last

crazy thing I get to do. Let's just try

it. So, in April, I went full-time and I

have I guess I haven't looked back. I'm

only not even a year into doing this uh

as a full-time gig and it's just been a

lot of fun. And the biggest thing is

just being, you know, just being able to

really explore and do these things on

stream where people really enjoy

watching and engaging has just been it's

been a great hard fun amazing difficult

experience. I mean, it's a really

inspiring leap. It's a really hard one

to to take for many reasons like you

outlined, but also like the loneliness

of it. I think

I think it's a pretty lonely pursuit.

Yeah, just you and the camera and the

audience and the ups and downs of that

and it's not there's not really a team.

I do have one lucky thing I'd say that

my editor Flip shout out Flip. He was he

said it would mean the world to him if I

said shout out Flip but I love you Flip.

I love you. I love you. Oh man, he uh he

had you know as he would say he had

nothing going for him. He he had a

really hard growing up. a lot of lot of

rough life decisions have gone into his

life and he's kind of crawling back out

of it and he just said hey I will edit

full-time for you. So, I just said, "All

right, like 50/50. Whatever I make on

YouTube, you get. We're going to do this

together." And we did that for years

making zero dollars a month pretty much

you know? And so, it's just like that

was an incredible jump. And now, like

we get to work together. So, that I do

get that one team aspect that I think is

really nice. But there's it's not like

it was at Netflix where I could hear

about stuff people are building. I don't

have a team. I don't have like product

or cycles. I don't have a manager that I

have to try to make happy. It's just

like it is very lonely and I don't think

a lot of people realize how lonely it

actually can be. Yeah. So, combine that

loneliness with uh in my case I don't

know how many people attack you. I've

you know I have a shockingly low amount

of attack rate I feel like. Yeah. You're

people generally I mean it's sometimes

fun sort of teasing that kind of thing

but it's mostly just really I mean you

you give so much love to the world and

inspire so many people even when you're

like making fun of stuff. Yeah, but with

with me sort of taking the loneliness of

it combined with just really intense

attacks, it's tough. It's can be rough

psychologically really a tough journey.

Uh you miss working with a team just

from even a software engineering side

like where you can share code or talk

over code or yeah the the collaborative

aspect of it. Yeah. Um multiple things

there. Uh one hey we love you Lex. So

don't let the don't let the things get

you down. Um, thank you. But thank you.

I love you, too. Thank you. Hey, little

little bonding moment you're going on.

But, uh, you know what I one thing I

really miss. Not in a sexual way, just

to be clear. The tension is a little

tensive. I'm getting uncomfortable.

Yeah. Anyway, team, um, it's just the

one thing I really miss is just even

when I hated how people did it, just

seeing how other people solved things

right? Like it's really amazing just

just like the raw creative power so many

people have and just being like oh wow

like I would have never done it this

way. Crazy, right? Like wow I just this

is awesome. And you kind of internally

process this and you're like oh I now

have a new little tool in my tool belt.

You know because at some point it's

really hard to find a mentor when you're

first young and you're just starting out

programming. I mean, anyone with a

couple years of experience will be not

just a little bit better than you, but

like infinitely better than you. It's

like it feels like crazy how much better

people are. And so, you have to like get

mentors and you learn from people. And

then as you get better, that amount of

availability gets really small. And so

it's something I really do miss is the

kind of like forced hard problem solving

together. I I think there's also a skill

to sort of mining the wisdom from other

people. Like I generally try to approach

even like junior people young folks just

mentally, at least for me, it works as a

hack to assume they're like the smartest

person in the world, like way smarter

than me. And so like I take every single

word they say as potential wisdom and

that helps me sort of mind for potential

wisdom there. Uh cuz it's so easy as you

get older to sort of judge to be like

"Oh yeah, okay, okay, I've been through

that. I remember feeling like that. I

remember thinking that. That's

incorrect." Whatever. But just kind of

assume that you don't know that I don't

know what the fuck I'm doing and the

other person is this like sage and from

that in that kind of interaction I think

you could actually learn a lot and my

favorite interactions is when we both

think that way. So we're that that from

there I think that's that's a catalyst

for a great great collaboration and

interaction. It just also makes

everything much nicer. You know, it's

really it really stinks to work with

someone that's combative and negative.

Like I don't mind combiveness if it's

like I'm trying to figure out what's

like what's best to do right now versus

combiveness just because you're a

negative person and things have to be

this one particular way cuz if they're

not this one particular way it's the end

of the world and like that's actually

really hard for me to work with. What's

the origin story of uh the primogen

name? The origin story of the Prime name

was, are you familiar with a video game

called Turok? Nintendo 64. So, Tur Rock

had Tur Rock one and then Turok 2. Turok

2 was a brutally hard game. This is back

when first person shooters, they would

only give you a certain amount of health

and you had to go discover health and

get that health and you had to beat the

whole game without effectively dying.

That's an old That's like the first

version right there. That's like Tur

Rock one, then Tur Rock 2. Turok is a

renowned first-person shooter video game

series featuring dinosaurs, action, and

sci-fi elements. The franchise has

evolved significantly since its

inception in 1997. Yeah, there you go.

So, in 1998, there you can see it right

there. Tu Seed of Evil followed in 1998

featuring larger levels, more

challenging puzzles, and deadlier

enemies. The notable difficulty, it was

very, very, very difficult. Okay. And so

I spent when I got it, it came in a

black cartridge, not like your standard

gray Nintendo 64. It's a black

cartridge. It was a badass game, right?

And I got it and I put it in and I

played and I played every day for like

10 hours a day for a month straight and

I beat it and it was like such an

incredible great experience. And the

last leader of Tro 2 is called the

primogen. And so when I was a kid, when

you're in like fifth grade, that's like

super cool like named after the bad guy.

And so like for a long time on any

internet thing like Grail online that I

mentioned earlier then was the prime it

was great and then you know I became an

adult eventually and it's just like okay

you know I'm an adult my name is Michael

Pson you know that's what I was on the

internet for a long time was that and I

remember it was like

2017 2018 somewhere in there

um I remember just how bad the tech

world had kind of become. It was just

like this super pretentious place. Tons

of dick measuring. Just everything that

just was the worst. Uh Ken Wheeler got

cancelled over playing the circle game.

It was just like it it's so hard to

describe to people that weren't there

but it was just the worst place to be.

Tech was extremely unfun. It was

extremely awful. Everything was just so

It wasn't academic because it was

research. It was like, "We're building

the most sophisticated things and this

is for the smart people and you everyone

else is the dumb people. Don't worry

we'll design for you, dummy. We got the

we'll we'll show you how to make the

perfect architecture." And I remember

changing my Twitter handle cuz I got so

upset and just went back to my video

game name cuz I was like, I want things

to be fun. I want this to stop. And so

while I started when I started streaming

tech, my goal became to destroy whatever

that tech mentality was because it

includes nobody, everyone thinks that

they're the smart people and they design

for the dummies. And it's just like no.

Like I want tech to be this place where

people feel like they can be creative

and excited and actually build

something. And if you're new, like it's

okay to be dumb and ask dumb questions.

Like learn from your dumbness. No one's

expecting you to be smart. Pick whatever

you want. like actually do something and

have fun and build like your crazy

ideas. Oh, you're going to reinvent the

wheel. Reinvent the wheel. Understand

what you're doing. Learn it really good

and like interact and stuff. And it's

just so different than what was out

there. And that the name Arnold

Schwarzenegger talks about this thing

where when he first started acting, his

name was like the thing that people

hated as he uh once said, "You have a

strange voice, you have a strange body

and your name your name's

unpronouncable. No one's going to

schnitzle. No one's going to remember

that." Yeah. And he said, "But now the

name is the strong part." And for me, I

just I've always felt akin to that.

Though my name's not nearly as cool, nor

am I as popular as Arnold, nor am I as

tough or good-looking or successful. But

nonetheless, it's just the the name

represented this like counterculture

like movement within myself in which I

just hated what was there and I wanted

to defeat it. And so this has like been

the thing. And now people remember me so

well because of how weird my name is.

And so it's just like I for whatever

reason it became its own thing. And so

that's kind of the now I would never

change it. And back then I would never

change it because it was my rage against

the machine moment if you will. Mhm.

Yeah. I love that as a symbol of rage

against the machine and the rage being

fun. Yeah. I just want people to like be

creative and have fun again. It's okay.

What about the mustache? It's an epic

mustache. It's an epic stash. It has a

life of its own. Is there an origin

story or did you guys discover each

other at some point or was it did it

emerge from the

darkness of the struggle that is your

life or where where does it come from?

Well, the original original mustache is

that it was no shave November back

before it became Movember. It was No

Shave November back in the day. And

after No Shave November, you had all

this hair. And so what's the natural

thing you got to do? You got to sport a

mustache for a day, right? So whenever

I'd forget to, you know, not shave for a

long time and then I'd let it start

growing out really big. I just go, "Oh

this is kind of funny. I'll have a

mustache." And so one day when I was

streaming, it's just one of those times

I just didn't shave and then I started

just letting it go and then I got kind

of a beard and then I just had a

mustache. And when I did it, people were

just like, "Hey, it's mustache time."

And I was just like, "Heck, it feels

like it's like a lifestyle decision

right? It's like this is the fun times."

And so all a sudden it was just like

exciting to have a mustache. and I

shaved it off and I was like, "Oh

okay." But then, you know, part of me is

like, you know, there's this weird

energy that comes from just having a

mustache. So, I was like, I'm going

back. Told my wife, forgive her. Uh she

was very uh not as thrilled about my

decisions to have a mustache long term

but I just decided to have it back. And

it just is it's just like it was the

right thing. It's like part of it's

always been the energy that I had was

the mustache. It was always been there.

It just never was visible until later

on. feels like. Yeah, we're we're

chatting offline how uh one of the

components of a successful relationship

is sacrifice and your wife was willing

to take the sacrifice of allowing you to

have a mustache. I clearly was not

willing to sacrifice not having one. So

you uh do this incredible thing where

you tried a bunch of different

programming languages when you stream.

you uh you have

like you go all out on certain

programming languages like Rust and then

Go and then trying to pick a new one but

also are like experimenting constantly.

So um maybe one question I could ask is

uh about

learning what's your approach to

learning a new programming language and

maybe what's your advice on learning a

new programming language when you uh

begin that journey. So, I've kind of

done a bunch of different ways to go

through this learning process. And I've

tried a lot of different ones. Something

that is obviously successful is just

start building something. Just put your

hands on the

keyboard, you know, like especially if

you already know how to program. You're

like, "Okay, I'm now using Zigg. How do

I do a main function so I can just run

the program? Okay, I now know how to

build. Okay, how do I do an if

statement? What does it look like? Okay

how do I do declare my own functions?

How do I do modules?" Right? you just

kind of like Google your way through it

if you will to get to the end product

and build

something. It's a good it's a great way

to do things because I find that

repetition like rote learning is

obviously the best way to do this. Uh

you have to kind of go over it a bunch

and you can you can definitely get out

and build a lot of stuff with that and I

I like that initial kind of get used to

things but on top of it I find that by

doing that you also fall into like

traps. you kind of Google and you try to

solve a problem in the language based on

all of your previous experience. And so

you you don't have what makes that

language special. You kind of have what

all the other languages make special.

And so you end up kind of not really

being able to use it very effectively

but you can certainly kind of learn it

and get kind of good at it. And so the

second approach I've been doing lately

and this has been inspired by the

creator of Ghosty, uh Mitchell

Hashimoto, is to just start by reading

the language reference, the whole thing.

And so lately I've been just kind of

going through and just reading the

entire uh manual for these languages.

Like Zigg, I'm almost done with that

one. You know, it's like eight to 10

hours of just sitting down reading. And

I'll whip out my computer and kind of

practice a couple of the things from the

actual docs. And that way I can learn

all the things. So then when I start

building again, I remember, okay, I know

there's a thing over here. Let me go

reread about it because now I have it

indexed in my brain somewhere that will

kind of remember. And so I don't think

there's like a right or wrong way. I

mean, at the end of the day, the right

way is always that you have to build

something eventually. You cannot just

read about it. You have to put your

hands on the keyboard. You have to build

something out. And then once you do

that, that's where you really discover

what makes it painful or what makes it

great. And if you don't have the breath

of what the language offers, you just

may make it painful by simply being bad

at it. What exactly are you reading?

Like the like language reference, the

language reference. So, it just goes

through like every feature top to

bottom, right? Every way it's described

all the different things. Like I think

Ziggs is, you know, it's a it's a decent

size, but it's not just simply read the

words. You want to internalize each

concept as well. So it takes a long

time. So I'm a slow reader. So you're

like building uh in AI terms like a

background model like oh just cuz cuz I

don't think you can just start building

once you're done reading because you

probably forgot Yeah. You know how to do

a for loop like you you you kind of

forget the specifics. you just are

building up the the design choices, the

set of features available, what are the

strengths and weaknesses, all that kind

of stuff, and then you start building.

That's really interesting. Probably not

the thing you would recommend to uh uh a

junior like developer, somebody who's

just starting out at first. If you don't

know what an if statement is, that's not

a good way to learn. Like to me the best

way to learn that is really hands on the

keyboard and building extremely simple

things and slowly growing in complexity

because understanding what a class and

methods and instances versus the

blueprint which is the class versus

functions versus modules versus all that

stuff, right? Like that's that just

takes time to learn and so that's a

completely different style of learning.

I wonder because for me learning right

now uh AI is is is a huge help but I

already have a lot of experience. I

wonder if you're starting from scratch

whether that's a good idea, but I still

think it's probably a really good idea.

But basically, generate some code using

AI and figure out what it's doing by

playing with different parts. Um maybe

can you comment on on that aspect like

the use of AI as part of the learning

process? This is where I have both the

hopeful and the doom or take at the

exact same time. Yeah.

Uh, and it's the same thing with Google

or Stack Overflow like this. It's it's

all the same kind of take, which is it's

just making things more democratized in

some sense. I get to ask questions in

probably the most personal possible way

with my own voice and my own words and

it's able to produce out answers and

kind of hopefully help guide me now

regardless of just say the errors and

the incorrectnesses of it. like

ultimately just using it as a learning

you know, tool and being able to just

you know, formulate and read answers in

your own voice, I think is super

powerful and I think it's it's super

amazing.

But the part that I think is going to be

really difficult is that we don't

value remembering things anymore as a

society. Like since the internet came

about, I can just look that up. I can

just look that up. No need to like you

don't need to memorize your times

tables, right? you can just use your

calculator. You can just do all that. I

I remember I just was sitting on the

airplane and I watched someone do the

world's most simple addition and

subtraction like 10 times on their

phone. I'm like, why are you not just

like you should already know these? You

should be able to do these things. And I

realized that we kind of offload our

brains, right? Oh, I don't need to know

these things because I can look them up.

And that's not a bad answer in some

sense. I can understand that. Like I

don't need to remember every last thing.

But then it also makes me realize that

you kind of develop this learned

helplessness that a new error comes up.

I'll just ask the AI. AI says, "Oh

okay. I got to fix this line. I fix the

line." You didn't actually learn

anything. You kind of just used it as a

quick means to get something out and

move on. And so you sacrifice knowledge

for speed, which is a great thing in

some like you we have to make those

trade-offs all the time in engineering.

Sometimes you have to move fast at the

sacrifice of knowledge and I'm totally

on board for that. But I worry that what

we'll create is a um is an entire

generation of incompetent programmers

who can do some amount of things well.

But anything that is unique, bespoke or

require some extra like little elbow

grease might become very difficult. It

might cause a whole chasm where juniors

remain juniors forever. And I don't want

to see that. I want to see people grow.

I want to see people, you know, actually

be able to take this as a craftsmanship

thing. And so that's kind of what I

that's like both my hope and my my worry

is is that AI I think can can do both

really because if you could ask whatever

question you want and you don't have to

rely on say a book to give you that

exact answer and if the book just said

it wrong and you can't understand it's

just like sorry you don't get to learn

what this is like recursion for me I

spent way too much time until someone

gave me the right problem to understand

recursion you could imagine AI could

have solved that for me way faster

because it could have gave me the right

problem and walked me through much

better but what if I just always have

recursion solved by them and not learn

it myself. So if I ask AI to generate

code to do a certain thing, some

actually a large percentage of time most

of what AI generates is going to be

correct for me. But some percent of time

it's not like fundamentally not and for

me to recognize the difference between

those two I think it takes a lot of

experience. Like I think to learn that

skill of knowing like no no no a

different new out of the box solution is

needed here than the one you're

providing. You're missing the the the

point. Um that's a skill and how do you

learn that? You learn that by building

from scratch. So both are probably

really necessary. Yeah. But I think as a

first step of learning how to program

it's pretty it's pretty nice to generate

a function to generate for loops and all

that kind of stuff and then just fuck

with the different lines and like modify

them to try to adjust the behavior of

the program. And from the way the the

behavior of the program adjusts or bugs

are created, you learn about the syntax

of the the the

language, the behavior of the language

all that kind of stuff. So, it's I I

think it's a super powerful way to

learn, but yeah, you need to also write

from scratch. Yeah, at some point you

have to take off the training wheels

because I think what you're really

spotting is the difference between

reading and writing code. Like I can

read a lot of languages very well. I can

see what's happening. I can understand

it, but like I would not be very good at

writing it. I can understand a lot of

things about C++ and I can read it, but

I'm just not that cuz I just don't I

haven't done it in so long. and I can't

remember all or all the semicolons and

colons and like you know you do public

and private and how should you do naming

convent like you know all those things

kind of add all together and then you're

just like oh I'm really bad at writing

it though I can read it and so there's

like this there's a skill gap chasm that

exists between those two. All right.

Well, let me talk about the various

languages. The cheesy uh ridiculous

question of what's the what's the best

programming language? Um let's say

what's the best programming language

that everybody should learn. Maybe uh

let's go with the top five. I'm going to

pull up the Stack Overflow developer

survey because I think we have Yeah

those are your way. You don't like them?

No. No. Those are those aren't that you

got to remember because I mean you're a

data guy, right? You know about biases

and data. What does what does Stack

Overflow naturally bias towards? Well

they have the different slices of

professional developers, uh, junior

developers, they have different slices.

Okay. What's what what is the bias? I I

hear you, but who fills out a Stack

Overflow survey? Someone who

participates on Stack Overflow, who's

participating on Stack Overflow? Largely

very, very new people and that one guy

that loves answering questions. And so

I'm not sure if that like if Stack

Overflow is a great place to get data

it could be a very biased set of data.

Is it really only uh new people? I mean

that's who's using Stack Overflow. All

right. Most popular

technologies on this. JavaScript, HTML

Python, SQL. SQL. SQL is one of the more

general kind of I I'm sure they're not

doing the individual uh sort of flavors

of SQL. Uh by the way, pronounce SQL

versus SQL. It's squeal. Squeal. You

squeal. Squeal. I think is the correct

way. Squeal. I did sequel because I

didn't, you know, I didn't know the

audience. I don't know if they can

handle the truth. Okay. Which is it

squeal. The squeal of joy is squeal is

squeal light. My squeal postgress

squeal. By the way, I had a lot of joy

from earlier saying pig fucker for some

reason. Speaking of such a I mean, can

you believe that? That was a real

conversation that I had. Yeah, that was

uh Typescript, Bash, Java, C#, C++. It

largely kind of aligns with the world

you'd expect, but like assembly. Why is

assembly more popular than Ruby? Who is

who is writing just assembly by No one

writes assembly by hand other than like

maybe that one guy that's developing TLS

1.3 and hand rolling a cryptography

algorithm to be the fastest possible

algorithm, right? Yeah, assembly is a

weird one. Maybe people write it maybe

in school, but even in school now for

like a operating systems course or

something like that or systems

engineering. I don't know if they write

assembly anymore. They I don't think so.

Yeah. Anyway, and Swift and Ruby being

less popular than Assembly seems

ridiculous. Uh, but nonetheless, okay

so you get my ideas behind that. But as

far as top five languages go, that's

probably too broad because you could

just name so many. I think you should

probably archetype it by what do you

want to do. So if you want to get into

game development, perhaps C, C++ could

be good choices or uh JavaScript and

doing canvas games. I could see that

also working, but you know, you got to

you're limited by doing JavaScript

obviously because it you can't do as

much because the language is just not

fast enough to do as much. So, it's like

a good thing to remember. Uh if you're

going to be doing backend stuff, you

know, if you want a job, if you're

looking for a job, maybe

C#/java or JavaScript or Go would be

great choices. If you're looking to do

embedded, you probably want to do C.

Mhm. C++. Like that would probably be a

good choice. And so you kind of have to

I think you have to first determine what

do you really want to get out if you're

just curious about programming which I

talked to a lot of people who are uh

yeah you can consider jobs but basically

their question is okay what's the first

language I should learn and maybe what

are

the several languages I should explore.

Can I say something that's going to make

a lot of people angry? Yeah, sure. I

think the first language people should

learn if they have no idea about

anything is JavaScript. Yeah. Why would

that make people angry? Oh, because

people just I'm first off, I'm not

supposed to say anything nice about

JavaScript. Yeah, usually that's the

meme that you hate JavaScript, right?

Yeah. No, JavaScript's a beautiful

language and it has a lot of things that

are very great for it. And one of them

is that you can express anything with

very little effort. And so someone

that's new, I think it's really great to

be able to draw a box and move a box.

Like that's great. You get to see it

visually. I think that's one thing

that's really great about JavaScript is

that you can do that. Then you can go

okay, I want to learn about the back

end. I'm going to make a request now.

You can write a quick backend and it now

you're starting to get familiar with

programming a little bit. I can save

this to a database. I can bring it down.

I can put it on a screen and I can

animate it all around and I can even put

it on a canvas and render it in 2D or

3D. So, it's like there's so much

variety of what you can do with

JavaScript. It's a great way to get

introduced into programming, but then at

some point you have to go, okay, I now

need to learn more about this whole

thing. I mean, yeah, just like you said

you can make games, you can do frontend

backend for web development. You can

even do embedded. They actually have J

like there's uh West Boss is building

his Roomba or something and programming

it with JavaScript and React, which is

just the world's worst language to

choose for embedded, but you can still

do it.

Also, we mentioned sort of in terms of

applications, anything that relates to

data or machine learning, Python is uh

the sort of the leader there. Yeah

that's a great one. Seems like Python

CUDA stuff, and C++ would be a dynamite

in that because a lot of these Python

libraries I assumed are just you're just

smuggling in C++ underneath the hood or

C. Okay, so JavaScript, I'll say Python.

Python's a great one, too. You can get

quite far with it, but you can't write

the front end. So what if you love the

front end, right? What happen if you

really just want to design things and

you just didn't know that? Well, it's

okay. So for that, JavaScript, but

Python's a good choice cuz you can't do

the ML stuff in JavaScript nearly as

easy. Do we count HTML and CSS as

programming languages? I think there's

like some technical definition that it

is if you put it if you use this certain

amalgamation of CSS plus HTML, it

actually has like it can be a touring

complete language. Yeah. But I mean for

practical purposes, no. HTML is not a

language. Um, you know, I for me

listen, yes, the touring test is a good

one, but for those that are just not

wanting to be as academic, if I can't

write a function in an if statement, I

don't feel like that's a I don't if I

can't loop if and function, I don't feel

like that's a good that's a programming

language. Although modern HTML has a lot

of features. It's crazy how much it has

but it's more of a specification than

anything else. I specify it to be a

pop-up. I specified to have this kind of

like accessibility, this kind of look

this kind of, you know, under these

conditions, look like this, transform

like this, move down here. I don't know.

I kind of like these popular programming

languages in this list. I like

JavaScript. You like Bash? Well, yeah, I

like Bash a lot. Yeah. Why? Okay. Bash

is kind of one of those ones where it's

like, do you really like the Do you

really like it? I like it up until I

need an array. Oh, as a programming

languages, no. But I like I like the

command line. Okay. That's what I do

like that. No, nobody likes

bash. Do you mean I'm someone is so

offended right now? Means do you use it

a lot? Yes. It's good to I mean it's

good to learn, right? It's good to be

comfortable in the command line because

it's a bit of a superpower. It's like I

think I follow on Twitter FFmpeg. Great

account.

Like there's certain Twitter accounts

that are just like legit. Yeah. And uh

you know I I think

ffmpeg like they have all these sort of

parameters that you can add on the

command line that it's like one of those

cryptic languages that only very few

wizards understand. But once you begin

to slowly understand and I'm only at the

very sort of beginning stage of that

journey to mastery the powers you gain

at every step is like it grows

exponentially. It feels like I mean

FFmpeg is just this incredible like what

would you call a library system there

just the people behind it must be just

brilliant masterminds because they have

to work with all these codecs with all

these containers with all this they the

the the mysteries of the media codec

universe they're like masters of and

they understand compression which is

another super fascinating technical uh

set of problems that I don't know I just

ffmpeg just fills me with joy

that it exists, but you need kind of

bash type comfort, command line comfort

to to to work with it to really uh

unlock its power. Yeah, I think ffmpeg

is probably one of the most

consequential libraries of our day

and the Twitter account is so

unhinged. It is it's the most amazing

thing to see because I think ffmpeg does

not get the love it deserves. Yeah.

Every single application OBS probably

ffmpeg underneath the hood. all the prof

everything ffmpeg underneath the hood

and then and yet you know they do not

get the love they deserve. I just love

it. I just think they're the best. Yeah

I would say JavaScript, HTML, CSS

Python, SQL. I mean that is SQL, Squeal

is is a programming language. Yeah, it's

an incredibly sophisticated programming

language. Yeah, SQL is interesting. I I

would I believe you can classify it as a

programming language. does have like if

you have case statements and it it's

pretty crazy what you can do with it.

You can do functions, you can do all

that you should stored procedures that

that's how you make your life hell.

Um I will say that all the top languages

right there are none of them are like

strict

uh static typed languages and so even

TypeScript you can you know I don't like

this any and so for people that are

learning doing something that's much

more strict would be great something

like Go Rust um even I mean even C++

like anything that kind of changes your

perspective of types I think is really

helpful to kind of go through. They're

not getting nearly as much love on this

most popular language list, but I think

they're very fantastic. All right. Well

if I put a gun to your head, five top

five languages. Let's let's list them

out there. There's a brighteyed

20-year-old asking you what are the top

languages to five languages to learn.

Um, if I were to pick five languages

that I think people should learn, or at

least how, let's restate it this way.

I'm going to say a couple languages and

you should at least explore some of

them. I think you should explore explore

a Lucy language. So, uh

Python/JavaScript where there is truly

only one type which is a boxed value

which is a multivariant different types

underneath the hood, right? Would you

call it a Lucy language? A loosey goosey

language, right? It's a dynamic

language. Okay. Um, and so I think it's

really good to explore one of those two.

So, I'd put Python or JavaScript right

there. Even Lua, throw Lua in the bunch.

I think you should explore a strict

language. Uh, so I'd do something like

Rust, Go. Um, I think those are both

really really great. C++, you can do

C++. You can do some type eraser in C++.

You can do it with Go as well, but it's

for the most part that's it's a great

language to do that in. Um, it can get a

little wild. New C++ seems great.

Everyone keeps telling me new C++ is

great. Mhm. Um, it has every feature

you've ever wanted and all the features

you don't want. Yeah, exactly. I mean

there's smart pointers, there's dump

pointers, there's all kinds of pointers.

There's no memory leaks. It's not an

issue. face guns, soft beds, there's

everything in there. Unless you like

memory leaks that it has that too if you

want that kind of thing. It's great.

Okay, how about this one? Languages that

I actually want to really learn that at

least sit in my curiosity bank. There's

three languages, which is going to be

swift, elixir, o camel, and then I'm

going to throw th Odin in there just to

just cuz gingerbell is great. But elixir

and o camel. I don't have a strong

functional language underneath my belt.

That's something I just genuinely lack.

Yeah, I've heard incredible things about

elixir, about Odin, about Okamo. Uh

obviously I'm a person, as you know, who

loves lisp. I have never done lis. Lisp

could be in that category too. Just like

learn or closure, I think at this point

is what everyone tells you to use. So

in the case of lisp, I don't want to

speak negatively about lisp, but it's

important about like modern community

what the community looks like. And it

seems like there's an excited, maybe

small, but an excited community around

Elixir, Odin, and Okamo. So that helps

you say you can post shit on Twitter

that you're like I accomplished this and

people get excited and it's nice. It's a

good feeling. You can post like

something on Twitter and you'll get like

a thousand likes if you do something

cool in Elixir. Yeah. Okay. Like which

is a pretty big that's like a pretty big

amount of people to like a post for such

a niche topic. Programming is already a

pretty small topic. Then you get into

functional programming. That's a small

topic in a small topic. Yeah. I don't

get that much. If I post something about

Emacs, I'll get crickets. If I post

something, if I if I proudly use Neovam

there'd be a lot of people like, "Yeah

good job." Cuz it is the best editor.

Um, yeah, maybe it's just hype. Come

back to the Civil War, Wax. Yeah

sometimes you have to sacrifice and go

from the superior editor that is Emacs

and uh choose Neoim just to be popular.

You sacrifice integrity and values and

quality for just popularity. So, choice

you made. I love how you put it. Okay.

Uh, anyway, what were we talking about?

I like how you're doing this in bunches.

That's great. Right now, my my kind of

side honeys that I'm exploring is side

honey. Yeah, side honeys. I like they're

not my main stay right now. Go is kind

of my favorite one to build a web app

in. Like if I'm going to build some sort

of backend with a lot of complicated

logic, go is just so convenient, but I

get really frustrated with its ability

to express uh everything that I need.

Like if you have a list, a heterogeneous

list, a list that contains two

types, go's just really not that fun to

use. And so I could see so the ones I'm

exploring is Jai or J or the language as

Jonathan Blow says and Zigg and both of

them have a lot of power to them.

They're both very interesting. They

definitely have foot guns in them.

They're definitely more, you know, um

they don't take it easy on you. Zigg

seems like it's a really amazing

language and so does Jai. They're both

very cool. Yeah, actually I saw uh Dave

uh Plamer's testing of close to 100

languages for speed and Zig came out on

top. Yeah, that was a mistake. I mean

when I say mistake I nothing against

Dave Plamer. He's an extremely talented

engineer. It's just that Zigg, C, C++

all those languages that were being

tested, they're all LVM backends, right?

That's the one that actually turns the

thing into the executable part. And if

there's a variation in speed, it just

means in one language you didn't quite

express what you're supposed to

correctly. Like uh there's the language

ball test that's been bouncing around on

Twitter. Yeah, Zigg was like sixth or

seventh below, I forget what language

is. Um I played around with the example

added the word uh no alias to the

argument, which means that the p the

piece of memory that's coming into this

function, there's no global pointers

there's nothing to it, and so the

compiler can make these really cool uh

optimizations. And I made it faster than

the C version. So it just means that

just it's just not correctly specified

is all that means. Yeah. But it's still

it's still exciting to me. The

competition between Zigg, Rust, and C++

is really interesting. Like part of it

for speed, part of it how easy it is to

write performant code. I will say

something that's the reason why I think

Zigg is so interesting comparatively to

say C or Rust. C is like the ultimate

language. It can do anything. You have

pre-processor macros. You can do quite a

bit with it. But it's also really

difficult and it's also really simple

and you can learn it. So it's kind of

its like own unique beast. And when you

get really good at C, C is a magical

language and people are really great at

it. Um, and people speak very highly of

it. Rust is like this ultra safe

language. What you can do in C, you just

can't even express in Rust. Rust is

going to be that safe, the safe man that

holds you at night, keeping you warm

right? It's going to be just the

greatest. But somewhere in the middle

lies Zigg. Zigg has optionals. If you're

not familiar with optionals, that just

simply means there's a value here or

there's not. But you first have to check

that before you can use it. So it

prevents that whole null pointer

dreerencing seg fault problem. And

that's not that's not available in C

just by default. You have to kind of

build that thing in. It is the only

option in Rust. But Zigg says, "Hey, if

you have a pointer, you can't express it

as null unless if you mark it that it

can be null." There's ways around it.

There's like other types of pointers and

stuff like that that can do that. But

for the most part, Zigg like we'll give

you safety for the most part, right? So

it's like a little bit of safety, but

more like C. So it kind of gives you

like everything you kind of want in that

region where where you can express safe

code and unsafe code. It's very easy to

write. It's very It's very pretty or at

least the idea behind it is very pretty.

The language itself is bland but wow

there's beauty in everything. Yeah.

Prime. Uh you've uh programmed in Rust a

lot. What do you uh what do you love

about Rust? What are the strengths? What

are the weaknesses? Maybe you can speak

about memory management that you already

mentioned. Yeah. The challenge of memory

management that uh several of these

languages address. But yeah, what do you

love about Rust? What I love about Rust?

I I love that it's that uh the ability

to free the memory that you're using is

directly tied to the stack. So whenever

you create something, there's a stack

variable or there's some amount of stack

memory, whether it's a pointer off to

the heap, a pointer and a length. So you

know, some amount of memory on the stack

and then some memory on the heap because

like a string is not all on the stack.

It's some on the heap, some on the

stack. And when that stack variable goes

out of scope and gets cleaned up, it

also cleans up what's on the heap. So it

kind of simplifies this whole idea of

whoops, I forgot to free my memory. It

just does it for you. So it's not a

garbage collector, which will do it

sometime later. It's not like C where

you have to call it yourself. It's

somewhere in between. Now, there's a lot

of strategies people use um arenas and

all that that make that C part much

easier. I'm just not even mentioning it

but it just makes it a lot easier. But

Russ does that really beautifully and

it's just like a really cool idea about

it and I really like that. And the

second thing that I think Russ does

really like is such a good thing is that

mutability of something is you have to

specify it. So you don't just create a

variable and then mutate it. You have to

say this is not only a variable, it's a

mutable variable. M and I think that

just makes code really readable and

really understandable cuz anything that

does not have the word mute next to it

you know for a fact it cannot change.

So there's some rules around that but

you get the general idea. Unlike most

programming languages, you have to

explicitly state that this is going to

be ch this is going to be changed. Yeah.

Yeah. That's really interesting. I mean

it's safe. It's it's trying to be and

and this the safety might be it's uh

create limitations. Let us consult the

AI overlords. Russ is a blazing fast

memory efficient systems programming

language that emphasizes performance

type safety, and

concurrency.

Uh the language enforces memory safety

without using a garbage collector as you

said instead utilizing the unique quote

borrow checker that tracks object

lifetimes at compile time. This prevents

common programming errors like null

pointer dreferencing and memory leaks

and so on.

Yeah. So you've also spoken about

metaroming. Um which of these languages

do you like for the meta programming? I

love metaroming in C++ but it's a giant

mess. At least when I program C++ C++ 17

standard I believe. It's just it's just

a mess. Especially a mess to debug.

Yeah. I I would consider myself kind of

a meta programming newbie. I have only

solved some amount of problems with it.

Uh I I'm that's kind of like what this

year is for is for me to really I want

to see where the ends can go in that. So

I don't have a strong opinion on this

one. Uh Zigg, one thing I really like

about Zig is that the meta programming

is also the language itself. So you

don't have to like there's not there's

not an alternative. So with Rust

there's an alternative. When you create

a macro, you have to do the macro

syntax. With Zigg, it's just it is the

thing. You just program it. You add the

word comp time if you want it to be a

compile time only. So you can do like

you can create the list of prime numbers

at compile time in zeg which is kind of

an interesting unique thing. So you have

code that executes at compile time and

then you can take advantage of the

result of it at runtime. So neat, right?

Like that's how I'd look at it. Uh but

again I haven't I haven't used it to the

point where I feel like I can super

authoritatively talk about it. You have

been undecided. What language are you

going for this year? Uh I'm going to

keep go as my main stay. my two side

honeys and I'm going to explore and try

to build out a service in them that can

do a bunch of talking to say Chad and 11

Labs and send stuff down to client and

work with websockets and I want to make

sure that uh I just want to see kind of

how do they perform in this realm and

you know I may be using the language

incorrectly like J I'm not exactly it's

not really been designed for the web

world I just got done writing the

ability to read Twitch chat and it

required me to do Berkeley sockets so if

you're unfamiliar with Berkeley sockets

it's like the old way of doing it. It's

how you do it in C. So, you have to kind

of go through the whole nine yards of uh

creating your own connection. I had to

create my own connection. I have to read

from the socket. Then I have to parse

out all the IRC, right? Like you have to

kind of build it from scratch. There's

not like a new TCP connection to this

server. You have to be like, I'm

creating a socket. You're going to be of

the IPv4 family and TCP and you're going

to do, you know, I'm going to now have

to take your address and go look up your

address with DNS, get that address back

and then connect it to with TCP. So

it's a lot more manual still. It's a lot

more raw in that area, but it's fun.

What are some epic projects you've built

on stream that uh jump to memory? My

most favorite Sorry for interrupting

you. Sorry, I'm getting I'm I'm really

jazzed right now. Let's go. Okay. So

jazzed. Jazz hands. Uh my most favorite

project uh was the one I did last

year there. Someone built a Doom ASI

port. So, you could play Doom with ASI.

So, that means you could play it in your

uh terminal. very very fun, very

excit. Then I took that Doom ASI and I

sent it to the browser so that people

could play Doom Asie in the browser. But

then I made it so that Twitch chat could

control that instance of Doom uh ASI by

piping in Twitch chat, taking the

average of the movements over so much

time and replaying it as if it was a

controller. And I had Twitch chat beat

level one by spamming it. But the fun

part was I used a bunch of fun encoding

techniques. So I used like quad trees to

be able to take smaller amounts to use

run length encoding. Tried to create my

own compression algorithm because if

you're sending out a bunch of asky stuff

it's still pretty expensive because you

have to represent color. Color is not

cheap on top of it. You have to

represent what does it look like? What

does the asky look like? Well I realized

you know there's all these fun

techniques you can do for compression.

like the shape of the asy you send down

is in a lot of these engines are

actually just proportional to the

lumosity of that pixel. So like you'd

use an eight to represent or a pound

sign to represent like white but black

you're going to want to do like a period

or a comma or a bar, you know, something

smaller. So it's like I then developed

all these different compression

algorithms to turn a bunch of data which

would take, you know, I forget how much

it would take. could take gigabytes upon

gigabytes to be able to send out to

thousands of people to all see the same

image at the same time to all be able to

interact with Doom at the same time. I

turned it from gigabytes into kilobytes

by just trying to figure out how to like

make it as small as possible and send it

all out. It was super fun. Absolutely

had a great time. So, you're actually

sending it to all the people in chat.

So, where's the that that pipe where

that pipeline how chat is able to

control the Doom thing? Twitch chat.

Yeah. So they would go, people would

span W and if you said W, it would hold

down W for 150 milliseconds if the

majority of people during that time

period said W. Nice. Okay. So, and how

are they getting the input of where you

are on screen? So, and originally I was

going to send that through Twitch, but

Twitch is like 5 seconds behind. So

that's why I piped it out to a website.

Nice. So, everybody could see from my

computer to the website. And typical uh

lag was right around 70 milliseconds.

Mhm. So it's like they could mostly see

what was happening in that short period

of time. It was it was pretty exciting.

So we had 1,000 people or I had

somewhere between 1,000 to,400 people

smashing W's and pressing F to fire and

turning and we killed some zombies. We

blew up the barrel at the very end of

level one to kill the imp. How are you

getting the W's from the Twitch chat? Is

there an API? IRC. I was using IRC. So

just a little TCP socket and then you

just parse out IRC. Okay. And there's

very little lag there. Okay. Yeah, I

think it's it's a couple hundred

milliseconds though. It's enough that it

actually made it a little bit difficult

because people would often overturn and

then go forward and like miss the door

and then they had to go back

and that's awesome. It was awesome. So

that was my favorite I think project of

all time just cuz it I never got to do

like a lot of encoding. Encoding is kind

of like you know you what do you

normally do? Okay, I need to send

something down. I don't know, gzip it.

Server will just do it. Server just does

the right thing. I don't need to think

about it. So instead it's like I think

about it. I'm going to send the right

thing. Yeah, you have to think about the

compression. Yeah. And there you go.

That's some more love towards FFmpeg.

They have to think about that a lot.

Ultimately inspired by FFmpeg and their

awesomeness.

Uh so can can you speak to just the chat

community in general? Like a big part of

what you do in terms of streaming is the

humans that are communicating with you

live. Can you uh can you talk to the uh

the different chat communities? First of

all, which is the best chat community?

Uh YouTube, Twitch, or X? This is where

I feel bad for YouTube cuz I do think

it's technically the worst, but it's not

YouTube's fault. And let me kind of

explain why and then I will explain why

you're wrong, but go ahead. I know you

love I know you love YouTube, but let me

let me explain why is that when you go

on Twitch, you go to anyone's channel

Mhm. they have this like cultural human

centipede thing that's happening where

as the memes flow in all of Twitch kind

of reacts and and morphs to all those

memes. So every channel you go to has

this like same culture. Everyone there's

a lot of similar emotes and everything.

So it's very tight-knit. So when I

stream, I get all the same jokes that

you would pretty much see if you saw, I

don't know, Sodapoppin or some big

streamer, Asmin Gold, whoever, Prate

Software streaming. All the same memes

would all flow through the exact same

kind of pipe. And so it's a very

holistic kind of community. So every

time you're making jokes, you're making

jokes that are like in the ether.

Twitter kind of has that, too. Tech

Twitter kind of has like a set of jokes.

And so you can kind of see it. The

problem with Twitter chat is that

there's just nobody there right now. You

know, typically like just to put it into

perspective, I have somewhere between uh

somewhere between like 1,500 to 3,000 uh

people on Twitch, somewhere between 800

to 2,000 on YouTube, and like 50 people

on Twitter. So, it's like the the

difference is is massive, but they all

kind Twitter has that same thing that's

developing where there's like memes that

are constantly flowing through it, and

so they're very highly connected.

YouTube just doesn't seem to have that.

They're just a bunch of people and

people go to YouTube for various

reasons. I'm going to YouTube to learn.

So, they come in, they want to learn.

So, they're not like on the meme train.

They're not in this like cultural

zeitgeist train. They're just like, but

why would you use this if statement when

a switch statement in this one

particular case? And you're just like

well, that's not what I'm trying to do

here. Yeah. You you want to captain the

meme train or you want to ride on the

meme train. Yeah. or you just want to be

able to like create a culture on your

chat because your chat's going to be

some variation of the of that kind of

zeitgeist that's flowing through Twitch

and it kind of is very contiguous

between X and Twitch. It just feels

really out of sync with YouTube and then

YouTube particularly does a bad job and

some people would argue a good job

because you can swim. Swim being you can

actually change what time stamp you're

at. So all of a sudden you'll be like

"Oh yeah, you know, I you know

something about like driving to soccer

in my minivan." And then 20 minutes

later you'll be talking about Zigg and

someone's like, "I personally use

whatever to drive to soccer." And you're

like "What are we talking about?" Like

so YouTube is a very disjointed chat as

well because it depends on where they're

at within the video. Swim comes from

Netflix, by the way, called swim. Swim

the term. Yeah, that's that's that we

people said swim. Oh, so you're you're

okay. swimming through the Yeah. So

you're not just making up the term.

Thank you. Wow. Yeah. But it's probably

made up and probably only 10 people said

it at Netflix and so no one's going to

know it and they're gonna be like

"Yeah, right. That thought happens on

Netflix." Uh, so going back to projects

what what projects on stream or in

general? No, you need to answer why

YouTube chat's the best chat. Well, you

kind of convinced me. Okay. Why YouTube

is the best chat?

Um, well, I think I'm just a hater. Uh

that's that's basically what it boils

down to. And I'm just talking shit and

I'm probably just like from the outside

shoot, you know, shooting in because

Twitch is such a fun culture, you know

of memes. And so it's just fun to shoot

from the outside to like throw to like

egg the house of Twitch and then I just

sit back on my lawn chair and uh with

the small YouTube community just talking

shit. No, you're you're absolutely

right. There is a there's a real sort of

sense of community that Twitch can can

form. But I just like the openness of

YouTube. It's just better at opening to

the world. It's more

accessible. It's easier to share. It's

just a more established platform. That's

all for the non

uh for the open world. Like I can send

it to people that don't usually watch

video game streaming or all that kind of

stuff. Yeah. If you send a Twitch link

they're like "I don't like video

games." games and you're like, "Well

actually, it's not in video." Like

there there's that talk happens every

single time you mention Twitch, cuz

Twitch does have a perspective about it

that YouTube does not. I was just on uh

uh Joe Rogan's podcast and I I think it

came up. He asked something like, "Is

Twitch still a thing?" So, that just

gives you an example. Uh and then and

then Jamie uh said, "Yeah, yeah, it's

definitely still a thing. It's still

like growing and so on." And so yeah

there's just a big slice of humans that

don't participate in the Twitch uh

Twitch sphere. Yeah, I just like talking

shit. So yeah, that's a beautiful

answer. But it's cool that you sort of

make it accessible on all these

different platforms and I have high

hopes for X, but yeah, it's feature-

wise, it still has a lot of growing up

to do and and just like why do people

use X? You typically are going there for

like a textbased interaction you want to

look through. So, I also think they just

have like a user expectation change that

needs to happen and that that just takes

a while. You know, that's going to take

a little bit before people get to it. I

think their idea of audio first is a

great first step where people can kind

of listen to it and have the phone away.

Maybe there's a lot of like changes that

have to happen before X can be

successful, man. I mean, X is this

incredible comment section just like

Reddit, right? So, it's like No, no, you

said incredible. That's not Reddit. Uh

comment section. Correct. Comment. Yeah

incredibly dynamic and vibrant even if

it's

uh Yeah. What is

the what is the technological platform

like? How does the the interface and the

technology

shape the discourse? It's fascinating

cuz X has a different style than Reddit

different style than like Facebook

different style than Instagram. It's

interesting and all those comment

sections are different technologically

like how the sorting is done, how easy

it is to sort of uh uh build a community

around it, you know, cuz YouTube is not

really a community. Every single video

on YouTube has its own mini community.

You're like all talking shit on just

that one video. But like you're not you

can't jump across. There's not like hey

Bill, hey Jordan, you know. There's no

cross talk that happens in multiple

videos. Yeah, but community is awesome.

I love community. I love the feeling of

community and I guess that's what Twitch

really provides. YouTube also does have

it though. Like they have an aggregate

community, you know? There's a lot of

fun comments and all that on the videos

and a lot of thumbs up and then you see

the fun discourse that happens and it's

like that's the community. It's just

only a certain slice sees it. I think

that's even more so on YouTube for live

streaming. Th all all the same folks

show up and they talk shit. They

celebrate. They all like the the meme

train arrives. Yeah. Okay. So now, what

projects shape you as a programmer? Uh

whether the ones you

streamed or uh offline. For me, I don't

know if there's like a one project I can

point to, but I can I can point to a

specific spot where I think it happens

and where I think you can learn a lot

from. Um, any small program you write

will be somewhere between like a

thousand to 5,000 lines of code. I

consider like a pretty dang small

project. You can kind of correlate this

to any feature within a larger system as

well. You know, a specific feature on a

website could be a thousand lines, a

couple thousand lines. There's a point

in which all of your choices add up. And

that's I typically find that right

around 5 to 10,000 lines of code. The

choices you've made either weigh you

down or kind of free you up.

And so it's right in that that I feel

like I learn the most is because I love

getting to that point in a project or in

some small part of the codebase because

at that point I get to test a how good

were my initial gut decisions about how

I design software, but b now I need to

go back and think about like how am I

going to do testing across this in a

more effective way? How can I scale this

out to 20,000 lines of code? How can I

do all these things with what I've got

or do I need to kind of rethink it? And

I find that that's really where the best

learning happens is that everybody has

probably a different number that exists.

And as you go to each one of these

numbers or how well or holistic you want

your project to be, I think that you'll

come up with different numbers. And I

think that number should just get bigger

as you get more experienced cuz you know

there's like there's projects that are a

million lines of code, but they're most

certainly not holistic, right? Like

every part of the codebase is some age

at some capsule of time with some sort

of programming style. some is more

functional, more class-based, more god

help your soul if it's pre-processor

macros in C++, right? Like there's like

all these different kind of things

you'll find throughout time. And so

that's why I kind of try to think about

it as like the feature or the thing

you're working on. It's usually about

5,000 lines is where I find that things

get kind of did I make good or bad

decisions? And that's where I do all my

learning is right on that phase. I'm

trying to get it to the point where I

should be able to shoot from the hip and

do 20,000 lines and not be upset about

it. So first of all the just enjoying

the thing you create part. Yeah about

there you can sit back and see all the

parts dancing together. Uh for me also

debugging you get to see the choices you

make materialize as like how easy it is

to debug. Like I'm a big proponent I

think you've mentioned this in the past.

Um I put uh asserts everywhere. No

you're the reason why I do that. Yeah.

You're like the first one. Keep on

going. Sorry. really okay.

Uh so for me one of the joys whether

it's uh try catch blocks whether it's

assert whether it's with the testing I

uh I get to see the payoff of all the

the mind field of asserts I've laid out

before me in my kingdom by how quickly I

can debug a system as it grows larger

and I can first of all discover errors

before they become real bugs and also

how quickly I can solve those errors.

And that that brings me joy. For me, a

lot of the joys of programming is

creating powerful systems

that don't break down that work

correctly. They work correctly in

majority of the cases. And there sort of

the stress testing the system and

getting all the signals from that system

that everything is working correctly is

uh is is something that fills me with

joy and makes sure that the system

actually works. So yeah, that I don't

know if it's 5 10,000 lines of code. If

it's Java or C++, it's millions lines of

code. But yeah, um in Python, yeah, I

would say 10,000 lines of code. That's

when you first get to see the magic. But

anyway, you were saying, okay, so you

and John Carmarmac had a conversation

about asserts. Yes. You talked about

this idea of putting asserts everywhere

that effectively crash the program when

you you have some state in your program

that should not be represented and you

have made this choice actively. Mhm. And

so I've never done that before and I

know this is like an old technique and I

obviously must be too young or too dumb

to know that this was a thing people

did. I grew up in Java and I think

that's probably why I didn't run into

this. So I saw that I was like I'm

curious about how to use asserts more.

And then I ran into a person named

Yuron. He's the CEO and creator of Tiger

Beetle. 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 Zigg. And what they

do is they do deterministic simulation

testing and they just uh use NASA's kind

of guarantee for creating really great

software. So like don't use size specify

your exact size of int you expect

everywhere. All these kind of like

things they do to be very uh specific

and one of them is that every function

should contain two asserts whether it's

positive space like uh you know these

things should happen or negative space

like you should not this pointer should

never be null. you're programming into

things that should never happen.

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

determination simulation test

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. 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 Carmarmac, and you're on

that's where I like, okay, I gotta

really, and NASA, I'll throw NASA bone

as well. NASA can join in on that one.

Uh, I was like, okay, I want to try

this. And I did try it. I built uh 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. 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 was super

fun. And it's like a really great way to

program. Yeah, I think it's a skill set

you grow over time. It's it's not just

that you have to specify the

preconditions like every 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 in complicated classes that

uh are able to catch really weird

things, 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

uh Jonathan Blow that either in

conversation with you or was it uh in

presentation he said that when he's

starting on a project he usually doesn't

know what like how to implement

it like what how it's going to work u

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 to programming language

that makes it um 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. I think there's a fundamental like

part of programming is building stuff

while not really knowing what the next

thing you're doing is. You kind of have

a loose design, maybe a strict design

but really you're solving puzzles that

are not it is a dark room in a in a

fundamental sense. And there you have to

anticipate the kind of weirdnesses that

might

emerge while not really knowing

everything just this this full like fog

fog of war. Um and there that's a real

skill to anticipate the kind of uh

issues that might arise and put asserts

on top of them. And it's also like

spiritually for me uh been a really nice

way of programming of building of living

life is having

like very

strict asserts that say like you're

going to fix this problem if it ever

arises. You can't just look the other

way. Like this idea of treating warnings

as errors, like make sure your code

compiles without any warnings. That was

a big leap for me. It's like, "But

there's so many of them." And I it's not

really that important. It's like, "No

no, no warnings." Like, make sure you

treat every single problem, uh, even

like fuzzy problems seriously because

that's actually long-term is going to

create code that's much easier to work

with, much more fun to work with, much

more robust, resilient to all kinds of

weirdnesses, all that kind of stuff.

It's a different way of approaching

coding probably more NASAlike versus

like web programming style but yeah it's

it has made programming for me

personally much more fun cuz one of the

most painful things about programming is

creating when you get past 10,000 20,000

lines of code and you have to find a

bug and that bug can take hours it could

take days to find and that's torture.

Yeah, when your system gets sufficiently

large, some of these bugs are just they

are very difficult. I, you know, bless

anyone's soul that's working on million

line code bases because it does it just

I I can't tell you how many times I've

spent multiple days just trying to

figure out the root cause of the bug.

Not even the fix, just like why does

this happen? And that's hard. So, I love

that. I just love the asserts because

I'm not good at them. I can see it's

definitely a skill that I don't I don't

put into practice constantly, which

means it's just not like a muscle memory

type thing. M and so it's just one of

those things I just love. It's just it's

such a fascinating way to approach a

problem. Uh cuz I would have never

thought, you know what I'm going to do

if I'm wrong, I'm going to crash this

thing. I'm going to crash it right here

because I should never be wrong. But

instead, you're like, oh, actually that

makes perfect sense. I should crash this

thing. I've done something terribly

wrong here. Why would this ever exist?

And then you're like, this is going to

solve a whole class of problems. Yeah.

And especially if it's in production

it's like, well, users are going to see

this crash. It's like, yeah, well, you

should minimize the number of times any

user ever sees the crash. Not by like

having a nice blue screen or whatever

the fuck, but like actually stopping

everything. And that's going to be uh

that's going to create an incentive for

you to never have that happen. You're

actually going to put in the time to

make sure it never happens. And the nice

part is like with the web and all that

you can always pop up something and say

"Hey, things have gone very, very wrong.

We're unable to recover." Or you can

like give him a nice message and then

log it off so he can see it and then

measure how often are you doing it. You

know, I I understand that there's a bit

of interestingness to a um to a web

project. Like do you want to always

crash a server?

There's a bit of a gamble if you release

a bad version and you crash all your

servers constantly, you know, like

that's a that's a pain you're going to

have to accept. I think this is more

applicable for uh single systems like

robots and so on. You uh have struggled

with

ADHD. I think uh a lot of people are

really inspired by the fact that you're

able to be productive and flourish

uh while having ADHD. How'd you overcome

it? Well, there's a lot of things that

ADHD affects. And

so I'll start with some of the easiest

things because there's like directly

applicable then like these kind of

collateral damage applicable things that

happen. So, one thing that has really

helped me with ADHD is maturity. I think

that's just like just a thing that

everyone needs more of. Meaning that I

found myself getting so wiggly and so

out of control when I would try to sit

down and read and I just I just couldn't

handle it. I just felt like I'd read a

page and didn't read anything. Uh the

part of me that just went, "Oh man

gosh, I just can't even do this." I had

to just simply quit listening to it and

said, "Nope, I'm rereading this page.

I'm I remember reading some pages in

college like 18 times in a row. Just

like I'm going to force myself to just

do this the correct way. And so there's

an aspect of maturity that really helps

no matter what. I will do the thing I'm

going to do and I'm going to do it well.

And maybe it takes me a lot longer and

that's okay. That's not the point of it.

It's that I'm doing it and that's the

point. And so that's kind of like one

thing I think just generally helps. and

it ADHD, no ADHD, you know, the

resilience, emotional resilience is just

like a really important aspect that just

helps. And so I think that has been a

large part that really helps me. Um

there's things that I still obviously

struggle with. Like it's clear where I'm

really bad at stuff

and just trying to like think through

all the different things that I'm bad

at. there's more things I'm bad at than

I'm good at. And so programming

obviously has something that just allows

me to remain focused and it's like a

strength of mine. And so I started off

where I could just do it for a little

bit. And then just through kind of that

emotional resilience, I was able to

start doing it more and more. And so now

I can just do it for like 10, 12, 15

hours at a time. And I absolutely love

it. And so it's it's become kind of like

a joy. It's like playing a musical

instrument. I'm really into it. But then

if it came down to, hey, you need to go

schedule your own, you know, dentistry

and go do all these other things or make

sure the kids have this type of stuff

ready for, you know, the meals you need

to pack throughout the week.

I'm historically very bad at that and

will probably uh continue to be very bad

at that. And so I must say that one of

the reasons why I excel so much is

because I also have a wife who is so

good to me and she helps clear out a lot

of the things in my life that cause a

lot of like me kind of getting

snowballed into a weird spot where I'm

just like distracted getting nothing

done. And so she's really helped me. So

it would be foolish of me to claim that

I've defeated day ADHD by myself. But

instead I find that the places that I

can really control I've done a very good

job at. And the things that I obviously

need to do much better at my wife has

helped me a whole bunch. And so I've

kind of cheated. Maybe I found a cheat

code, a loving wife, but that has been

the thing that has really helped. You

you said a lot of interesting things. So

on the on the reading and the for me

it's also audiobook side. I do uh the

same thing and I've gotten much better

at it which is like you know I tune out

mentally and I you know I yeah there's

you know read a page and you don't

understand anything on the p you you

didn't actually read it and yeah you I I

forced myself to just uh reread it or

relist to an audio book which is much

more common problem for me now uh and

forcing myself to really pay attention

cuz I I listen to audiobooks often when

I run and it's so easy to just tune out.

Yeah, it's a skill. Like, I didn't

realize how much of a skill listening to

an audio book is, especially when

there's other sensory inputs, like when

you run. So, I have to force myself to

like really pay attention to every

single word. And if I don't like tune

out and don't remember what I just

listened to in the past 30 seconds, I

force myself to relisten to it. And uh

sometimes that means like five times

until I like it's like punishing myself

to like you're going to listen to this

boring shit over and over until you you

get good at that little skill of

like zoom in and you're like yeah

there's people that are like doing

stuff. There's nature doesn't matter.

You're listening to every single word

and loading it in and trying to stay

focused even there's just so many

distractions all around you. Yeah, it's

definitely a learned skill and it takes

a lot of time. And when I say, you know

oh, I was able to do from here to here.

I'm speaking over the course of like

five years of doing this every day. Like

it's not some small, there's no, you

could, the nice part about that decision

though is you can make that decision

today. You can make it right now. You're

going to be like, from here on out, I

will never make that mistake again. I

will say I'm going to read 50 pages. I

will sit down and read 50 pages and when

I get distracted, I'll go back to the

last place I remember and I will start

again. And like that's a decision you

can make. That's a mature, you know

non-emotional decision to make. And you

can do that. It just may be really

painful for the first couple years of

making said decisions and then it gets

easier and then it gets easier and then

it just it becomes more natural to

change yourself. Yeah. And with with

every medium with every platform I think

it's like a new skill. Uh for me like

using social media has been that just

like I end up like doom scrolling Yeah.

too easily on platforms. So, and one

solution is not to look at all, which is

kind of what I lean on mostly these

days. But I feel like I should be able

to check, just read. Mhm. Okay. Feel a

thing, learn a thing, and then put it

down. Yeah. Versus

like this glazed look over your eye, and

you're not really paying attention

anymore, and you're dead inside, and you

feel horrible afterwards. I don't

understand. Um, the horrible afterwards

is real serious. I I've definitely I can

100% notice that I am a more anxious

person the more time I spend scrolling.

Yeah. Yeah. I can just feel it. It's

like something inside of me that's kind

of I don't know how to say it other than

it like wants to get out, but I don't

really know what that is. It's it's not

anger, but it's not, you know, it's it's

very anxious. It's like the opposite of

the feeling I have when I wake up in the

morning and I'm feeling good and I look

out in nature and like look at the sun

and

just and it's like a bird chirping and

this kind of thing. Like scrolling

through social media, even if it's like

super positive stuff or whatever, it's

still not the same feeling as a bird

chirping. Bird chirping on Instagram is

a different bird chirping than real

life. Like cuz bird chirping on

Instagram. I'll start swiping until like

there's like demons of different types

fighting inside my head and then I you

know yeah different anxiety, insecurity

whatever the hell. Just the mixture of

chaos versus the bird chirping in real

life. That's beautiful. But again

that's the same thing as with with the

audio book. It boils down to like, man

these people that talk about meditation

I think that's probably they're on to

something cuz like the that's what

that's what it is is be able to like

focus

uh calmly and deliberately on a thing

whether it's reading or audio book or

existence. When they sort of observe the

breath, you're able to silent out

everything else and remove everything

else from focus. Yeah, that's a skill. I

heard it put really beautifully which is

that uh we in America really have

misunderstood liberty because we

typically have liberty as just the

freedom to do whatever you want and the

argument was that it's not the freedom

to do whatever you want. It's the

freedom to be able to do what you will

and how often is what you you actually

want to do you don't do cuz you get

trapped doing something that you've

convinced yourself in this quick moment

you want to do. And so it's like I want

liberty. I want the ability to control

my energy and to be able to like do the

thing I want to do, not to get

distracted and destroyed in all the

millions of distractions. And some of us

get, you know, handed a worse deck of

cards, some of us get a better deck of

cards, but I don't think there's anybody

that doesn't struggle with it in the

technological age. Yeah, that's a skill.

What What can you say to the the the

skill of achieving focus in programming?

like do do you have a process of how

you sit down and try to sort of approach

a problem? So all the different

uh not just distractions but the

challenges of starting a project of

thinking through like the design how to

maintain like real focus cuz it's really

difficult intellectual endeavor. I guess

at this point I'm lucky. Uh but when I

first started I can remember that every

last part of programming I had to go

look up. I had to go read. I had side

quests at all time. Like every step was

a side quest. Why is my screen blinking

when I'm trying to render this thing

out? Oh, I didn't know about double

buffering. Why is this happening? How do

I even write to the screen? How do you

know? Like everything was a question. I

had more questions than answers. And so

I constantly had this like the problem

of side quests. And I find that to be a

very exhausting thing. But as I learned

my instrument very very well, I don't

have as many side quests. I become more

and more able to just focus on the thing

I want to do. And I find that to be

something that is just super super

useful. So when I say I'm kind of lucky

meaning that I've spent so much of my

life, preparing for this moment that now

when I have the opportunity to do

something, I can just do that thing and

I don't like I can be just on an

airplane and I can just program for

hours. I don't have to look up a single

thing. I don't have to do anything. I

don't even have to test the code. I can

write a thousand lines of code on an

airplane and I'm very confident that

it's going to be 98% pretty dang good.

And I'm very happy about that because

that allows me just to be in the moment

solving the problem I'm trying to solve.

Then I have 100% of my brain power

solving a problem. And this is why I

also it's the same reason why I

recommend learning how to type and

learning your editor so well you don't

even have to think about the action

because the people that have to even if

you just look down that's still mental

processing power. you have to spend

looking at a keyboard in which you

already know where the key is. Like you

do, you know, at this point, if you've

been typing for thousands of hours, you

know where the key is. Just stop looking

down. You'll learn really quickly. And

so, it's like this thing where it's

like, I'm not going to spend all that

time and all that mental effort like

looking up the thing. I'm going to just

memorize, you know, I'm just going to

get it in me and then I can go fast and

it feels good. And so, that's how I kind

of defeat that is cuz now I get to do

something where it's like there's no

more questions. It's now me just

expressing myself into this medium and

it feels really good. I'm sure there's

still like things that pull at you like

curiosities like distractions like I

wonder how you know uh anytime I guess

you have access to the internet you're

going to like Twitter's a big one on

that one. Yeah, you're going to get

curious about stuff including I guess

you're speaking about everything in the

editors optimized but you're okay. You

can always improve stuff. You can always

find better sort of plugins and macros

and oh let me you know what this thing

that took uh this painoint I just found

this tiny painoint let me spend the next

5 days creating a plugin for my editor

or whatever the fuck uh to uh remove

that one painoint when you should have

just kept going uh as opposed to taking

the side quest. So, I have a rule. Yeah.

Which is I do not edit my RC other than

some kind of cataclysmic thing like

someone updates a plugin and I didn't

know they updated it and now there's

like a hard air in my editor and I have

to like move forward. Um, but I have a

rule where I will edit my RC, my Neovim

RC or anything once a year. Something

that bothers me, I will write it down.

I'll remember it. I'll be like, "Okay, I

want to change that." But I will just

not go back to it. Now, every now and

then I I'll break that rule if I know

like, oh, I want a new remap to be able

to do this one command and that takes

like literally 13 seconds. Like, copy

paste, do this, bop, done. Okay, I have

this new remap. It made perfect sense in

this situation. But I don't go plugin

exploring. I don't try to solve every

problem. I don't want a perfect editor

because that is a pursuit that will

never stop. I just go, this is good

good break point. I won't do it again.

So, I spent last month I probably spent

a 100 hours just like editing every

possible thing I could about how I start

up my system. Mhm. And make I can have a

computer from zero to 60 in almost no

time now. Everything the way I exactly

want it. Neoim everything all perfectly

set up. Happy enough. I'm not going to

touch that system again. Maybe I'll

touch it next year. Maybe I'll take a

year off. You know, it's just I'm fine

with that. I'm fine with not being

perfect. All right. 0 to 60. Let's talk

about the perfect setup.

Uh, what's your uh perfect programming

setup? Keyboard, operating system, how

many screens? Chair. All right, I like

all these IDE. Let's go. So, keyboard.

You're using my favorite keyboard right

there. The Kinesis advantage. Uh, save

my career. Beautiful keyboard. Uh

concavity and thumb clusters are just so

important cuz if you really think about

it, especially if you're using querty

when you're pressing the symbols like on

a standard key, you're just doing this

the whole time. Backspace, enter

symbols, like you're just doing this. It

just screws up your wrist constantly

doing this. And this when you're

constantly doing like control and shift

it's just is like messing you up. So

it's just like right here. That's so

much nicer in life. So keyboard most

important, I'd say get that one done.

For people who don't know, Kinesis

keyboard, I I think the the thing that

you experience the most is exactly the

thing you just said now, which is the

backspace is really easy to press. Yeah.

Versus what it is on normal keyboards.

So backspace in general symbolizes like

you're deleting a thing. It symbolizes a

mistake. Not symbolizes, it usually

means a mistake. And so, uh, the not

only did you just make a mistake in what

you were typing, you also have to take a

physically painful action, annoying

action. Yeah. To to to fix that mistake.

And for most of us, we make a lot of

mistakes. So, uh, kinesis just makes it

pleasant and fast and easy physically to

correct a mistake. I that's probably for

me the number one reason of kinesis.

everything else. Yeah, super plus with

the macros and the positioning, the

concavity like you mentioned, but there

mistakes are pleasant. Yeah, I'm on that

team. That's why so that's why I love

that. So that's I would say that's one

of the most important things. The next

thing I find to be very very important

is that one monitor. I'm a one monitor

kind of guy. What really? So when I

program, when I do anything now, when I

stream, I obviously have a second

computer that runs the stream because

you know, I sometimes crash my computer

I have to restart it or whatever. So, I

do have a second screen there that I put

stuff up, but most of the time, you'll

notice that even when I'm streaming, uh

you've been there, I have to physically

switch to the streaming chat channel for

me to read it. And that's because I'm

operating off of one screen. And so, I

have this whole style in which I like to

navigate, inspired by Starcraft, is that

I believe in the press one key, go where

you want to be mentality. And so

everything about my setup is press one

key. So when I want to go to Twitch

chat, alt two, Twitch chat. When I go

want to go to my browser, alt one.

That's my browser. Alt three. That's

where I go to my programming. That's

power finger obviously. And big middle

finger right there. Just smash it down.

Uh alt six is going to be GIMP. So my uh

GNU image manipulation program. So if I

want to draw, I go there. When I used to

have Slack, it was alt 5. If I have a

spare terminal where I need to run some

extra things, that's alt four. I had all

these kind of everything is perfectly

mapped out to single key. And then when

it comes down to using say T-Mox, I have

all my terminals into one single

terminal. And now I'm able to kind of

switch between there. Uh prefix one goes

to my Vim editor. Whatever project I'm

in, it's always the first T-M tab, if

you will. Not sure they call it a

session, but not sure how to describe it

if you're not familiar with T-Mox. A

tab. Second one is like my spare

terminal. Third one is my longrunning

process terminal. My fourth one is a

longunning process terminal. I have it

all set up so every project I go to

automatically spawns session one Vim

session two spare terminal session three

will also open it so it's like

everything's just ready to rock

everything has been optimized to where I

do that if I want to go to a project

it's F in any terminal will bring up a

fuzzyfind list of every one of my

folders on my operating system in which

I can go to with just a couple

keystrokes and boom I'm in that one now

and so it's like very oriented to find

where I need to be as quickly as

possible via keyboard via keyboard then

In Vim, I developed a plugin called

Harpoon, which is I press one button and

I can uh pin one of the files to like a

temporary buffer. I think uh projectile

is potentially close to this in Emacs. I

can't remember. Projectile. I think

projectile is closer to uh my

sessionizing script. Anyways, uh so now

I can I have four pinned files in which

I can go to any of those pinned files

with just a single keystroke. And so now

it's just like because every time you

develop a feature, usually you have like

three files. you're kind of primarily

working in and I can fuzzy find for the

other files and that's that. But usually

I just have like these three power files

that I'm always swapping in between. And

so it's like now everything is just I

want to go to the browser that's one

press. I want to go to my workstation

that's one press. I want to go to a

specific folder. I need to change

folders. Sometimes you work between two

different um projects. So in T-Mux

that's prefix capital L will swap

between your last two. So I have

alternate projects. I can even swap

between projects in pretty much one key.

So, it's just like dude, dude, dude.

Just trying to optimize it so I don't

think as much because I think search

fatigue is a massive fail where you have

to look for like when I see people on a

Mac do this and then explode all the

different ones. That gives me anxiety.

I'm like, why are you using your

eyeballs to search for what you want to

do like make it into a key press and

never think about it again ever. You're

making me think a lot whether I can live

with your system, whether it's better

cuz it feels better. It at least

intellectually feels better. may not be

great for at some point. There's a few

profound things you said which is like

really what you're the the the number of

windows or tasks you're switching

between whether it's programming the

number of files you're working on is

small. Yeah. At any one time at any one

like space of like 20 minutes or

something like that. So okay that's

that's a profound truth. Sometimes we

think like oh I need the full freedom to

search but you don't. You usually work

on a very small slice. But I guess the

trade-off there, like I always have

three monitors, not not when I'm

traveling, but my my happy place is

three monitors. It's like, do you really

need all of them to be present there?

So, you're turning your head. Now, the

the monitors I have is two vertical

ones. Okay. Which is just better for

certain kinds of content. I mean

they're positioned vertically so you can

read. You can use your eyes to scan

quickly. Interesting. So, I don't even

do that. I even have it so zoomed in

that I probably only have like maybe 25

lines of code at any one time on my

27inch monitor. Yeah, I think that's

okay. I think I feel fundamentally

constrained when I can't see more cuz

you're your eyes are just good at

jumping like okay like you could like

why not search? Why not press a couple

keystrokes? Control U control D jump

down by up and up and down by a half

page because the ape visual system was

designed to like you loading a lot of

information like what if every time you

have to investigate this table what's on

this table you had to press a

keystroke you you could develop the

skill set that integrates that

information but like it's really there

is an effective thing where if you have

a sheet of paper like this and I'm

looking at it my eyes will be able to uh

load in the structure of the information

the the topics of the information like

you just can do it faster I think

there's a big cost because you you know

it's an extra monitor but there is some

stuff that's vertical when vertically

positioned code see code is an iffy one

because code you really you 25 lines at

a time I think you can do a lot this is

more for like articles and especially

with visual information in them or

documentation, you can just jump faster.

But I'm trying to as you were speaking

uh so eloquently, I was like wondering

am I just

like deceiving myself that I need that?

Can I just keyboard shortcutify

everything and just have everything on

one monitor? That's something I should

probably try cuz I'm a big proponent of

just automating everything with the

keyboard cuz you could just move really

really fast. You don't have to think.

Uh, one of my, you know, cuz I also do

um creative stuff like uh whether it's

recording music or um video editing

it's it's hard, you know, some of these

programs don't make it super easy for

you. On Windows with auto hotkey, you

can do quite a lot, but still there's

limitations on how much you can do with

the keyboard. So that's it. It really is

a pain. He has to have to use the mouse.

But man, you're really making me think.

It's, you know, the even the text one

with the reading one. I like

fundamentally I think I agree with you

that you can you can see a lot more and

you can kind of look up and down and see

those two things. And probably in

articles or things like that, I could

you know, if there's like a graph down

here that's really big that take up your

whole screen plus text, I could see why

that would be very beneficial to zoom

out to be able to have all that

information. But for me, I can only look

at like a square inch. Like really

that's all my eyes can actually focus

on. So when I'm reading I'm right here.

Then I have to like structurally try to

pattern match what I think the

information looks like. Then I have to

start reading it. So I'm not exactly

sure if I actually get any real benefit

of having a lot of stuff on screen as

opposed to I can relax my eyes so much.

I don't even have to focus. The words

are so big like I actually program

pretty zoomed in. Um my text is bigger

than this when I when I program. And so

it's it's just that it's so comfortable.

I don't even have to exert any effort to

read the code. But you have to kind of

train your brain to know that you can

navigate in like spatially using keys.

Yeah, Neovim, by the way. Oh, maybe it

has everything to do with Neoim. Okay.

All right. And then Neovim's obviously

the next big one. I love Neoim. Uh

reason being is that I think you can

make all the arguments you want about

which editor is the best. I do not think

you can make an argument that Vim

Motions aren't superior. Here we go. Can

you explain Vim Motions? What is this?

So, Neo Vim. Vim is a old school editor.

Neo Vim, it's a modern take on an old

school editor. Yeah. And um

what's

EI5? What like what does it take to work

with Neo Vim? Okay. Uh I thought you

were talking about a Vim Motion there.

That's how you know that you know that I

I know but you know that meme that's

just like, "Hey Jarvis, can I tell you

about Vim Motions cuz they can't fit

anything else in their head cuz they

only have Vim Motions." cuz you said EL5

like explain it like I'm five but in my

head it's like okay E is jumped to the

end of the word L's one more like dude

I'm so like broken I'm like okay vim

motions when I hear letters um yeah so

you can think of it like this is that

Vim has a language to describe movements

in text because its primary mode of

operation is manipulating or editing

text so it is a wellthought through set

of movements deleting yanking pasting

copying all that kind of stuff that goes

in motions that are optimized for

working with pretty much code. Good

example, say you have three lines of

code you want to delete. If you're in VS

Code, take your little beautiful mouse

highlight those things, press the

backspace. That's lovely. Your hand left

the keyboard. Very simple to do, though.

It's very beginner friendly. Uh I was a

huge Vim hater, by the way. So, I just

want you to know that before we go into

this. I was probably the biggest Vim

hater. If there is an a like Saul to

Apostle Paul, I am like the Saul to

Apostle Paul of Vim. Just so you you see

how big the gap was. Or you can do

something that's like I don't know what

the VS code shortcut is, but I'm sure

there's some keys you can press to

delete the current line you're on.

Delete, delete, delete. Right? You can

just do that in Vim. I can go DAP.

Delete around paragraph. All contiguous

code in that thing. I'm going to delete.

So D. Then I can choose my motion. I

want to take AP around paragraph. Or

maybe I want a D. F mean jump up to the

next character that matches the next

character I'm going to press. So DF

opening parenthesy will delete

everything from your cursor up to the

first opening parenthesy. So you get to

describe your motion in these little

keystrokes. And as you get really good

you know, you've seen people that can

master Fortnite. It's the same thing

with mastering Vim motions. When you get

so good, you no longer think about each

individual movement. Instead, you're

just like, get rid of the paragraph

jump here, jump this, highlight this

yank this, do this. you know, it becomes

so fast that you can superiorly edit

text at a very fast rate. And there

comes a point where when you know your

language really well, you know, the

problem you're really working on really

well where editing text and getting code

out actually becomes one of the many

bottlenecks. People always talk about

well, most of the time I think most of

the time I'm not thinking I'm

programming. I know what I want to do. I

want to go as fast as possible because

I've been just doing it for so long and

I'm so familiar with kind of the general

space that it becomes a huge problem for

me. I cannot tell you how many times

that I've been purely bottlenecked by

the fact that I just can't type fast

enough. I just need to get the I just

need to get it out of my head onto the

you know, onto the text editor. And so

that's why I think Vim Motions are

superior in all aspects. Keep your hands

on the keyboard on the home row and can

manipulate text in very wide and fast

ways. Oh, so this is not just about

writing text. This is about modifying

text. It's primarily about modifying

text. Yes. And I'm sure that most

editors including Emacs, including VS

Code, can do all those same things. But

there is something they just don't

encourage you to discover those things.

Yeah, that's like an important thing

about a lot of technologies that and L

programming languages that a lot of them

can do a lot of the stuff. Yeah. But

it's something about whether it's the

community or the style of the language

or anything like this that encourages

you to not be lazy in the beginning and

learn the fast way to uh to edit text in

in this particular example. Yeah. How to

use the keyboard. That that's a

fascinating sort of just reality of how

technology is used. You want to be

encouraged to find the fast thing as

quickly as possible so that long term

it's efficient and fun to use. It takes

a long time for dividends. Like a long

time. But on top of that, notice I

didn't say Vim. I'm not saying go use

Vim. I'm saying Vim motions. Um, let me

give you one more example. Okay, I'm a

big fan. Okay, let's say you have a line

that can that contains some some

variable, some function you're calling

something that takes in a string and you

need to do that again. So you you you

would typically copy that line. You'd

paste that line below. You'd go into the

string and you change the string. Let's

say it's calling some sort of

configuration. You need to call it three

times with three different configuring

strings. In Vim, I can I like to do

shift V to highlight the whole line.

Then Y. Some people do Y Y Y Y Y Y Y Y Y

Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y

Y Y Y Y Y Y Y Y Y Y Y But I don't like

to do double ones. I like to be able to

do two different fingers because you can

do that way faster than one finger

twice. It's just a little optimization

for me cuz you can't press that as fast.

So anyways, very optimized in my

approach. So I yank the line, paste the

line, CI double quotes will delete

everything inside the first occurring

string. Then I can type the string

escape, save. And so it's like so

optimized that I can just jump so fast

in between that. Whereas the copying and

pasting line is probably the same speed

but the navigating to the string

deleting what's currently in the string

and then you know like that's such a

fast motion in Vim. And I just do that

all the time. To backtrack, really dumb

question. Uh CI, what's the difference

between typing the letters and using the

letters to navigate and edit? How do you

switch between the two modes? Okay, so

insert mode means that you're just

putting in text. Yep. And then uh normal

mode means that you're moving your

cursor. And how do you switch between

the two? Uh escape. Escape goes from

insert mode into normal mode. And uh to

go into insert mode, press I to take

your current cursor and go to the

beginning. A to go to the end of your

cursor. Capital A to go to the end of

the line. Capital I to go to the

beginning line. O to put a new line

below and then put your cursor at the

proper intented for the language. Shift

O to shift your current line down. And

then put a new line in. Like you can see

there's there's like I'm pressing escape

a lot. Yeah. I mapped mine. I do

cr except for in one edge case. People

hate that. I got used to it just due to

the fact that I was using Intelligj and

I really hate pressing the escape key.

So, I just got used to pressing a So

that seems like an essential thing to do

if you're using Neoim to map escape to

something. Cap lock would be like your

standard go-to. Oh, yeah. I map it to

cool. I got you. Yeah. So, then it's

just really easy to press it. Boom

boom, boom. Not a big deal at all. Uh

but yeah, I think that if you're willing

to learn it, the motions are superior.

But if you're not willing to learn it

then they're not superior. You should

just not do it. Right? If you're willing

to endure pain, it's good. If you're

not, it's it's actually way worse. It's

100 times worse, right? So, if you like

paying, you use Neoim. Totally. Yeah.

You're totally Now you get it. If you

like Joy, you use Emac. So, Oh, sorry.

Sorry. Did Emacs ever get a good text

editor? I know they're a great operating

system, but I never caught up if they

got a good text editor. Operating

system. I I think you've been

miseducated, my friend. So, at least 30

minutes on Emacs versus Neovim is what

Reddit um requested. Have you actually

used Emacs in order to be able to talk

so much shit or No, I used it for a

year. You used it for a year? Yeah.

Yeah. Doom, Space Max, and regular

Emacs. But you don't know Lisp. So, you

did you really use it? I I kind of

hacked my way through kind of like

okay, so this is how the config, you

know, like you kind of get your way

through and do all that. So you

recommend to sort of mastering U of M

and really learn the depths of it, but

Emacs is okay to just kind of use before

making a judgment. I think I think

everybody you got me on that one. Yeah.

No. Uh and what's new written is Lua.

Yeah. So Lua would be the configuration

language, but you have uh it's written

in C, but you have Lua for and Lua is

just a dead simple language. Anyone can

program Lua. I actually don't know why.

I think it's because my love for Lisp

that I went with Emacs. I think you just

choose a path and you walk down that

path. Mhm. And

uh because there's just such a vibrant

intense battle between the two

communities, you just start fighting

just because everybody else is fighting

and then one day you're like an old

warrior like on a horse and you're

wondering what what was this all for?

And uh I mean it's it's quite sad in all

seriousness that I haven't to this day

tried Neoim. It's uh I think because

there is a learning curve. There's a

learning curve to a lot of these

editors. Yeah. To really like to really

learn it to really learn it. And I think

there this is some of the criticism of

maybe VS Code or Sublime or Adam, but

that it's so easy to not learn it to

just kind of halfass use it. And there

is a big uh benefit to having editors

that like force you to have some

learning curve where you like take the

art the the science the procedure of

editing seriously cuz like you spend so

much time in it. You might as well like

learn like how to use the the thing. My

big takeaway really like what I'm trying

to say with all these words is that I

honestly don't actually think that the

editor obviously does not make the

programmer. But I think it says a lot

about your character as a programmer if

you don't know how to use your editor

well.

There's something about a person who's

willing to commit their life to

programming and spending

literally 50,000 hours doing an activity

over the course of their lifetime and

never take the time to learn their

editor through and through. It just

seems strange like right you'd never see

that in another world where people would

be able to build something or do

something and just completely forget how

these things work and only just focus on

one part of like their craft. And so to

me, it's just like it doesn't matter how

you use it. I want to see the person

that just knows how to use it and they

know how to use it well. When there's a

problem, they can say why the problem

exists and they can go and fix the

problem. To me, that's like there you

go. You've done it. You now know your

tool. Go forth and conquer with said

tool. Especially for tools you use a

lot. You have to look at like your whole

life, your life, whatever. If you're a

developer or anything like what is the

thing you do a lot? Meetings. Yeah.

Yeah. I mean, sorry, keep going. Keep

going. Ask a question like how can this

be done a lot better? Cuz every single

day you do this for hours a

day. How many hours did you spend on

thinking how to do this better or

whether to do it at all in the case of

meetings?

That's the people surprisingly just

don't do this enough. I see this just to

go back to jiu-jitsu. There's a lot of

people that show up and do jiu-jitsu or

martial arts and they do it the same way

over and over and over and they invest

tremendous amount of energy and they

don't ask like how do I do it

differently to improve faster in the

case of jiu-jitsu or any kind of sport.

Same with practicing the piano or the

guitar. They don't they just religiously

put in a lot of time and uh derive a lot

of joy from getting better. They don't

enough ask the meta question of like how

can I do this better? And with editors

it's surprisingly how how often people

do just that. Yeah. With typing it's

surprising how many people do just that.

Like you said they they like they're

pecking or looking down. It's like the

the quality of life improvement you can

have by learning to touch type by just

like typing without looking. It's like

it's it's it's like immeasurable. You're

bringing a lot of joy to your life

because all of us are typing a lot.

Yeah. And uh yeah, I mean uh the the

reason by the way I I was extremely

efficient with Emacs. I'm I'm sure, you

know, all jokes aside, I it feels like

Neoim has more room for the kind of

efficiency I've had with Emacs to be

able to move really fast as you're

describing to edit. There is a real joy.

It's not just efficiency, it's a it's

like um yeah, it's a freedom that you

can get when you get really good with an

editor. Uh the reason I chose to go with

VS Code is it it felt

like there's going to be uh an

acceleration of features to which Neo

Vim or Emacs will not be able to catch

up in the and I don't mean in the next 5

years I mean in the next 30 years like

and it felt like I almost wanted to take

the pain of learning new editors

constantly and just switching and

learning that cuz I was getting so

comfortable in EMX you know this with

this keyboard everything all the

shortcuts because I know how to program

and it felt like this is not you know

neoim will not be here in 50 years

possibly might be I don't know but it

felt like you want to learn these

constant sort of different technologies

you know cursor isam a great example of

that of primarily am using cursor now

I'll go back to VS code and cursor the

just the skill of using AI is a real

skill like you know with from the

shortcuts to the the timing to the

layout of the windows to how I think

about where, when, and how to use AI

that it doesn't distract me, that it

empowers me, not just for the fuck of it

or for the fun of it, for the actual

measure of productivity. It's a skill.

And I feel like I would

be stuck in local maximum of comfort if

I stayed with Emacs. And maybe the same

should be true for for me with Neo of

him. I should I should try it.

Seriously, I'm sure there's a plugin

like a co-pilot type of situation that

you could set up with Neo. I should uh

possibly consider that. But like cursor

is doing a lot of really fascinating

stuff on the IDE side, not just sort of

generate

code and uh like edit that code

manually. It's like continuously be able

to rewrite code. It's like the idea of

tap tap tap tap move the cursor around

but also modify parts of code and do the

diff really nicely that whether it's

cursor or VS code that wins that battle

out with with with co-pilot I don't know

but like that feels like a fun with a

different experience than the really

efficient joyful experience that you

just described and you're selling me on

this as

Neoim that doesn't have an AI in the

picture obviously immediately but you

can yeah absolutely I would 100% agree

that cursor seems like such a cool

product. Like I I actually think there's

like a lot of really neat things coming

down with all that. And I could, you

know, I could change from neovim. I

don't use neoim because I love neovim. I

use neovim because I love the instrument

I play. And so it's like if cursor can

meet those needs, I I could see myself

moving over. I don't have a some sort of

obsessed attachment with it. I am

curious though that, you know, every

time I use AI, I think I just have skill

issues. I think I'm just so riddled with

skill issues when it comes to using AI.

I've yet to be able to use it in a way

that I really love it. Uh, we we'll talk

about it, but before then, oh, ball to

sit on. I forgot to say that. Ball to

sit on. Yeah. Desk needs to be properly

heighted. One monitor, I should be

two/ird way up the screen. Uh, I don't

like to turn my head. I prefer my uh my

hands in kind of like a pistol neutral

position. And there you go. A ball to

sit on. Yoga ball. Yoga ball. What's

that about? It just helps just maintain

good posture because when I have

something to lean against, I do this.

So you're for hours sitting without

Wait, what are you doing? I sit on a

ball and then I bounce. Are you Is your

back leaning on a thing? No. What the

fuck? Well, how else do you like the How

else do you You're the only person in

the world sitting on a yoga ball as you

program for hours. You do realize this

right? It feels great. I mean, okay. I I

the problem is is whenever I get a back

um I just slouch and I find myself just

getting uncomfortable and I'm like, why

am I I'm uncomfortable. Like my my

shoulders are kind of getting goofed up.

I just like I I'm chicken necking like

constantly like, you know, it's just

like But you're able to keep your

posture for hours on a yoga ball. Yeah.

And so I can just do that and then I

find myself if I slouch I'm like, "Okay

nope. Got to get back." You know, you

have like incredible back muscles or

what? No, I I Well, I I don't think it

takes incredible back muscles to keep

posture, remain upright. Yeah, I think

that's a pretty basic human function.

I'm I would not consider myself a strong

person. Yeah, basic human function. I

don't know. Facts and logic. Okay, cool.

With uh one

screen, Neo Vim with operating system

Linux. Uh just because I I want a good

window manager.

That's the whole press one button, bring

up Chrome. I just use i3. I'm sure I

could uh use something better than i3.

People always tell me all these window

managers are really great, but I just

want I just have like those three

screens I switch between. So, it doesn't

really I don't really care what I use as

just long as I can press one button and

go. Yeah, I'm the same. So, half and

half. So, half Linux, the other half

Windows with with Linux, meaning uh WSL.

What's that? Windows subsystem for

Linux. Weasel Weasel.

See, no. There's got to be a better one

that's more positive. Weasel just sounds

seems right up Microsoft's alley. That

seems perfect.

Uh, so people often accuse me of being a

shill for somebody. Uh, sometimes

dictators. If I'm a shill for anybody

it's for Windows. There you go. I get

paychecks every every week from uh

bought by Bill Gates. Well, he's not

Microsoft anymore. Balmer developers

developers. about. No, I'm just joking.

I think um man, I need to try Mac. I

need to I need to try. I'm surrounded

I'm surrounded by people with iPhones. I

use Android. I use Android. Yeah, there

you go. See? Oh, we're losers together.

Losers on a sinking

ship. Um okay. So, uh just to to stay on

you for a sec and uh to give love and a

shout out to your friend Tee. He

streams, by the way. He's a streamer and

I'm I subscribed and I've been enjoying

it. My allegiance is slowly shifting

from you to him. It's um the quality is

far superior with him. Uh the the looks

the intelligence, the skill set

everything just far superior. No. Okay.

So, he uh you know, you're making his

day.

All right.

So, uh, he mentioned that he loves Neoim

because it gives him the ability to

eliminate having to do things he doesn't

like. It's just a nice way to to

frame sort of what this the automation

process that you

describe of automating away assigning

shortcuts to things that are painful.

So, that that that procedure I mean I

wonder if you agree with that. Fully

agree. We have very similar mentalities

when it comes to usage of Neoim, why

people should use it, all that kind of

stuff, and how to even use it. Well, he

definitely takes it probably to a

further degree. He spends more time

automating and all that. Um, I don't

necessarily derive a lot of joy from

getting the perfect setup and so, but a

lot to learn from. He's he's very, very

good at what he does. He is by far

probably one of these he's 30 years old

been programming for not too many years

and he is one of the most talented

developers for sure. It's very shocking

to see how smart someone can be. So, uh

people should check him out at te

ej dv. Yep. T DV. His name, his last

name is Dere Dise. D. Oh, it's not a

developer. Okay, cool. Yeah. Yeah. So

it's just TJ. That's just his name. Just

spelled kind of fun. What do you love

about him? Wow. How much did he pay you

to ask these questions? Thousands of

dollars. Just so many.

Um, I can't even count that many

dollars. Uh he is uh trust obviously

trust is the biggest thing especially in

the quote unquote streaming YouTube kind

of world if you will. It's very easy to

find people that will want to like be a

part of stuff. People tend to latch on

to things and it's very hard to find

someone that you can really really

trust. And so he's just somebody whom I

can genuinely trust. He will always tell

the truth. He's all he's all the right

things for a good friend in this kind of

endeavor. So, as a good friend, he told

me um questions I could backstab you

with. Okay. I hate him. I forgot. I

forgot how much I don't trust him.

Uh so, speaking of Harpoon, you

mentioned it. Um he said, you know, to

to ask you about uh

whether basically how many years or

decades is going to take to transition

to Harpoon 2 to actually release it

develop it, and so on. Can you describe

what Harpoon is and why you're seem to

be incapable of finishing a single

project? Okay, that was a lovely framed

question. So, Harpoon 2 is actually

done. This is what I did to avoid the

swirl and the thousands of questions I

will inevitably get. I kept the master

branch as harpoon one and I have kept

Harpoon 2 as harpoon 2 branch. And

people that don't read the read me to

say that I just use harpoon 2 now

that's that's their fault. Uh that's it.

I just don't want I I really don't like

answering hundreds of questions about

open source stuff. Uh I used to love

doing open source and all that, but I

kind of got my soul crushed during the

Falor years and so I I guess I'm just

kind of allergic to being a really

active maintainer. Um I built everything

just for me. Like Harpoon's just

literally just built for me. It's just

what I I spent three months trying to

figure out the most optimal navigation

for files and that's what I came up

with. So Harpoon um it's a take on

alternate file. If you're familiar with

alternate file, uh typically you'll have

this in all editors where you can go

back to the file you were just in. And

so that means you can have effectively

two files you swap back and forth. And

you probably used it a bunch. Really

fast way to navigate. Pretty nice thing

to do. Um I wanted something with I want

alternate file, but like three of them

or four of them. And so that's all

harpoon is is just being able to pin a

file. And so I have one button to press

to go to a file, another for another

another for another. And so I can have

up to four. So I just had my four power

fingers uh for D'vorak. What is that?

That's htns. So if I go control htn or

s, it goes to one of the four files. And

that's it. That's all it is. And you

could technically make it so you can add

in functions and be able to execute

things externally. So you can open up uh

terminals, you can send requests off to

servers, you can do anything you want

with it. I just have it primarily

designed for opening files. Since you

mentioned, what keyboard layout do you

use? You use Dorak. I use D'vorak, but I

used a custom version of D'vorak. The

reason why I used it is in 2017 we were

just having my second kid. It was

Christmas and I'm having so much pain in

my arm and I'm sitting there freaking

out like, "Oh my gosh, is this the end

of my career? Am I done programming? Is

this all over?" And so I decided that I

was going to create my own keyboard

layout optimized to prevent the pain

that I'm experiencing. So I used a

D'voric as the bass and then laid out

the symbols in a symmetrical reasonable

way so that it's opening closing opening

closing opening closing right and so

it's and they all are right here. I

actually have to hold shift to press a

number. So symbols are actually my first

thing I get to press. And so it's very

optimized for a um laptop keyboard

layout. So I can use my laptop in a very

efficient nice way. That's how I got

started on D'Vorak and all that. I

wouldn't actually recommend it if you

because I didn't have a Kinesis at the

time. I didn't even know Kinesis existed

at that time. And so when I discovered

Kinesis and also 2017, that's when I was

like, "Oh, okay." Would you recommend

Kinesis to people? I am technically

sponsored by Kinesis. So, uh, people

you know, it's hard for someone to

believe someone that's sponsored by it.

But I did use it before I ever became

sponsored. They're the only sponsor that

I reached out to and said, "I need a

sponsorship from you. You are the key.

I'm going to use you either way. Yeah

you don't. You can say no, but I really

love it. And for the first 3 years of

using Kinesis, they gave me free

Kinesises. Kissi as my sponsorship.

Kissi. Yeah, I'm always torn. I tried to

leave so many times. You can't. It's too

good. But see, I have this absurd

situation of like traveling with

it. I I relate. Yeah. Yeah, I mean I'm

literally, you know, going to the war

zone in Ukraine. Have a Kinesis

keyboard, a laptop, and like just a few

other small things, and that's it. And

it's like, is Kinesis keyboard really

going to be 30% of volume that you're

bringing to a war zone? You know, looks

like the answer is yes. Yeah. Like, do

you really derive that much value? Um, I

think it's probably spiritual or

psychological for me. It feels like

home. It's there's comfort associated

with it. Yeah. I try to leave. Man, I

love this experience. You just are. It's

like a relationship you have with the

thing. It is. It's uh is it but I'm

trying to figure out if it's a toxic

relationship or not. Um I think it's

mostly love. I think it's love like all

relationship. There's some, you know

push and pull complications. But they

say that distance makes the heart grow

fonder. So maybe sometimes the Kinesis

keyboard needs to stay at home and the

laptop keyboard can be the one so that

your heart grows even more fond and that

connection grows even deeper. I already

miss it as you said. So I don't know. I

think it's coming coming along to all

the trips. If it breaks down though, you

know, I was worried that Kinesis would

shut down as a company. I'm like what's

the business model here? Who actually

uses these keyboards, right? But

apparently it's still going strong. Uh

who uses these keyboards as you use the

keyboard? Like I have to take it with me

everywhere. I wonder who uses these

keyboards. Yep. I should mention that

one of the things when I first became a

fan of yours, I heard you talk about

coffee and terminal. I still don't, by

the way, understand what you're talking

about. I need to actually use it. But

you are you run amongst many things a

coffee

company. Uh man, this smells so good.

Uh, so this one is dark mode, dark

roast, whole coffee, beans. There is

uh, Seg origin-lo.

There's a bunch of stuff on there. Stuff

on there that's very devi shop server

web. Can you

legit order coffee via SSH? So, as of

right now, it's the only way you can get

the coffee is by SSH. That was kind of

Okay. So, can I just or origin story

you? Yeah. Yeah. Uh yeah, right. I was

going to do some kind of um command line

command to request or like d-help or

something or like man Yeah. Man coffee

man coffee. Okay, so TJ and I again same

teach teach TV about by the way very

amazing designs done by David Hill.

They're very very good. Yeah. Um, so let

me kind of give the basic ideas like it

must have been about a year and a half

ago TJ and I were talking like, "Hey

you know, every one of these people that

have like some sort of following, some

sort of online presence. They're always

like selling a thing, but I got nothing

to sell. I don't really want to do

merch. I've never really enjoyed doing

merch. I just find that I don't know.

It's just not as much fun for me." Don't

want to have a tequila. I don't I don't

want a tequila. want something that and

I also want something that I really

don't feel bad about selling. You know

there's like a lot of people that will

go on the internet and they'll show for

a whole bunch of products like, "Oh

okay. Try this. Try this." And this is

why I've only ever really done Kinesis

is because it's like, "Well, I can point

to something that was really bad in my

life. I was very scared and now it's not

bad anymore." So, it's like "Okay, that

one made sense." But everything else

always has been, you know, it's harder

for me. And so, we just talked for so

long and and we love Neoim. So, we're

just like, "Oh, what if we could do

something from Neovim?" And we're kind

of like laughing about that. Like

ordering from Neovim is just so

ridiculous. Mhm. And then at some point

we're just like, "Well, what? Wait a

second." And maybe we could do like

coffee. Like, every developer loves

coffee. Maybe we could figure out this

coffee business. And so, I have a good

friend named Dax. Uh

THDXR. Dax. Yeah. Dax. Uh, he the most

sassiest man alive. Sassiest. Oh, yeah.

He has a lot of sass. Beard. Yep. He has

a

beard. Very uh ve he does SST. He does a

lot of stuff. Very very talented. Uh

we'll call him DevOps engineer. He's

more than that. But um very talented

guy. Him and another person named Adam.

Vegan by the way. Great guy. We make we

take him to Korean barbecue all the

time. He eats nothing. Um

and Liz, she has been super important to

the terminal coffee company. I think

without her we would not have been able

to do what we have done. And then also

David Hill designer. He does uh uh

Laravel. He designs for Laravel. Very

talented designer. And so we all kind of

came together and we were just laughing

about how can we like could we do

something that's just ridiculous. Mhm.

And that's kind of what we came up with.

Yeah. Like there you go. You just open

the website. You actually you literally

cannot

order. We we actually do not allow you

to order. The website is uh something

that kind of looks like the terminal.

Use command below to order your

delicious whole coffee bean. SSH

terminal.shop.

Yeah. So, you can only SSH into it. So

you have to copy that command and throw

it in there. If you want to add in the

little terminal shop for your known

host, you could do that. How do you

handle payment? Uh through Stripe. And

so, one of the things we'll be adding a

mobile checkout to where it'll show a QR

code in the terminal and you can just

like check out on your phone. But right

now, you enter in your credentials, it

goes to Stripe via all terminal like all

terminal. Yeah. SSH is obviously it

stands for secure shell. It uses

elliptical, you know, uh quantum safe

algorithms to ensure that your data is

not being intercepted. Yeah. But does he

use AI?

I'm pretty sure DAX uses AI. So that you

said quantum. So I don't know. Quantum

AI. Can this fusion? Quantum AI. Can

this even be a a company if it's not

using AI? We have some crypto chains

with some quantum AI that's, you know

powered by Fusion. So it's pretty it's

pretty wild. Anyway, so yeah, we just

kind of came together where we thought

what is the mo that was from the Mike

Tyson fight. All right, Mike, it was

literally that night Mike Tyson kissed

the reporter and then walked out. Yeah.

Without any uh clothes. We did an ad for

somebody. But nice. We decided to make a

coffee shop and then we thought instead

of just making it neim, what if we made

it

from SSH cuz everybody has SSH. You have

VS Code, launch VS Code. You can order

coffee from within VS Code, right? cuz

your little bottom terminal has access

to SSH. Bada bing, bada boom. It's kind

of fun. And so we kind of really

I love this. We just wanted to do

something where there's no level and

there's no world that makes me feel bad

about selling this and people buying it.

It's good ethical coffee. We we

developed the entire supply chain and

everything. It's all packaged. It's all

boutique. It's all really like it's

pretty high-end coffee. It tastes really

really good. At this point, I don't like

drinking other coffee. I get kind of

upset about it cuz it's not as good. And

so it's kind of funny that I've I've

fallen for my own stuff. I'm high on my

own supply pretty hard right now. Uh I

just got done ordering 16 bags and gave

it out to my family to try to convince

them. But it's just something where it's

like you I didn't sell you a software

product that's going to influence your

startup that could potentially lead to

disaster. I didn't convince you to do a

bunch of stuff that's going to change

your career. I just said, "Hey, here's

some coffee." And it just like it's it's

like a fun experience. Yeah, it's fun.

everything. The humor on is great. Yeah.

Uh people should go to terminal.shop and

sh terminal.shop. I'm speaking to people

that don't know what SSH is and there

you can read the command and then figure

out how to use SSH in order to I mean

it's a kind of documentation right on

the website. If you can't use SSH, you

probably should just not worry about

buying our coffee. Like that's the whole

Well, you can learn. You can learn you.

If you are active and you're a computer

person, you'd like to launch the

terminal and feel like a hacker, go for

it. We even have subscriptions. Uh what

I what I would love to see this this how

it came up I think on the on the cursor

conversation is that uh I would love it

if an AI

agent you know did this like u

anthropics computer use or something

like that actually took the action of

ordering the coffee while it was

programming. Yeah. Like hey order me

some coffee and it actually go off. Give

me dark roast order coffee. It could

actually go through the whole flow of

ordering. Yeah. The whole flow. But even

better if you didn't ask it to order

coffee, you asked it to do something.

And as

a tangent, as a side quest, it did that

which is computer use does that, right?

They showed off that it it's able to go

to I think uh uh like Google for some

images, take a pause, and then continue

doing other stuff. Anyway, yeah, super

cool idea. Love it. Speaking of which

let's talk about AI. All right. you've

been both sort of positive and negative

on on the role of AI in the in the whole

programming software engineering

experience as it stands today. What do

you think uh what's your general view

about AI? Uh what is it effective at?

What is it not so good at? Okay. So my

general view is it it comes down to

something that's pretty simple which is

that if you're doing something in which

is very predictable AI is really nice.

When you're doing something that is just

not predictable AI is not very nice to

use. If you're using anything that's

more cutting edge AI will not be using

it or AI won't be very good at doing

stuff with it. like it's it's not great

at Zigg because Zig is just like say

less documented. It's really great at

Typescript. Uh I think there's a lot

of there's a lot of interesting things

that are going to come down through AI

that I think a lot of people aren't

really prepared for or thinking through.

Uh TJ's kind of the genesis of this

idea, but the idea that um I think

there's going to be a lot of kind of

market manipulation, if you will

through AI, meaning like, hey, you want

to

research, say, best woodworking tools.

Well, someone's going to be buying an ad

spot. Someone's going to be buying

premium trade train training data

right? They're the ones that get the uh

the big boosts in the LLM, but LLMs

don't really have to market as an

advertisement because it's not really

directly an advertisement. They just had

a more premium spot, per se, in the

training data, a little bit extra

learning to it. You know, it's like

there's a lot of things about AI that I

I fear upcoming. Uh a lot of it just

comes down to people not uh learning or

making the trade-off where productivity

is the only thing that matters. And I

don't think productivity is the only

thing that matters. If you want to build

something complex and difficult

productivity is not the only thing. You

actually are going to have to do deep

learning and kind of pursue it beyond

the basics. And so I see AI as kind of

like this really cool thing. It it feels

like a magic trick. I remember the first

time I used it, I got early access to

GitHub Copilot. Nat, in fact, Nat

Friedman saw my Twitch clip of me asking

GitHub for it and he sent me early

access himself. It was awesome. And when

I used it, it predicted an if statement

correct. And my mind was just absolutely

blown because I had nothing before then.

And now it's just like first time ever.

And I just remember thinking, man, this

is going to change programming so much.

And then the more I used it, the more I

just for me personally, I kept

introducing

bugs and I couldn't figure out why. And

what I realized is that I kind of

developed I wasn't co-piloting well. I

was autopiloting much better. and my

ability to read code versus my ability

to critically think and write code.

They're definitely different sets of

skill levels. I don't consider as well

when I just read code as opposed to when

I write code. And so I I struggled

there. I do think that's a skill set.

Yeah, skill issue for sure. Skill issue

for people who are not aware that's like

a hashtag thing sometimes use mockingly.

In this case, there's like several

layers. Mockingly, but also seriously.

Yeah. meaning like the criticism is

grounded in the fact that you lack the

skill

versus of some kind of fundamental

truth. Yes, I think that uh that's the

reason I use actually copilot cursor a

lot is for developing the skill of

editing AI so I can just learn how to do

that better and better because I think

as I do that better and better I start

to utilize AI

better at this time it is a bit of a

boilerplate code thing. Mhm. Uh but you

can do out of the box kind of novel

design decisions or tricky design

decisions from

scratch but fill out stuff uh using uh

AI and then just learn the skill of

modifying. I personally

just it's more fun to program with AI.

Even when I delete a lot of the code

it's more fun. It's uh less lonely. It's

more it's uh what I imagine like pair

programming to be and I've never done

it. But the it just feels like that uh

friction that you get when you're like

staring at an empty thing is not there

like empty function, empty

uh empty class. It's

just more fun, less lonely. And I do

think that a lot of the easier type of

coding it really helps with like

interacting with APIs. Mhm. Um basic

things that I would usually have to look

up to Stack Overflow for. Uh it's just

really fast at that. Like as example

just interacting with the YouTube API.

Uh the YouTube API documentation is not

very good and you can just load it all

in there and ask it to generate

a set of functions that access the API

do all kinds of read and write

operations and it figures it all out and

then you could just well you do have to

read you have to read and check

everything and you start to develop the

skill of understanding where it

misinterpreted the task.

So you're what is that skill? I don't

even know. You have to kind of be

empathic about what the AI is what its

limitations are. A lot of the times that

has to do with

um uh prompt engineering. You have to

like at the same time

uh

understand what the AI is aware of like

what did you actually give it as data to

be able to generate the code. A lot of

times we don't realize that we're not

giving it enough information. So you

have to like actually okay all right you

have to like be empathic be like okay

these are the code the files it's aware

of this is the specifics of the question

you asked it like you have to like

imagine you're an intern that doesn't

know anything else like often times we

want the AI to like figure out the

things that's left un unspoken but you

you can't know those things you have to

like specify those things and so you

have to actually be much more deliberate

and rigorous in the things you specify

is to spell it out. And so I just have

this like sea of prompts that I have

saved up and I'm building these like

library of different templates for

prompts and it's a mess. And I'm sure

there's a lot of developers that have

this similar kind of mess. So a lot of

it has to do longterm with the tooling

that's going to improve that. One, the

systems are going to get much more

intelligent where you don't need the

nuance. And two, there's going to be the

tooling that allows you to specify those

things and load it in correctly and give

all the context that the system needs in

order to make the good decisions. And

maybe the system asks you follow-up

questions. Wait, here's things you

didn't make clear. All that kind of

stuff. A lot of that has to do with the

interface, with the actual design of the

tools, like we said with cursor. It's

going to keep getting better and better

and better. So my sense is like uh

developers in general should be learning

this to see

uh to not be left behind to see what how

they can be used

uh to super as a superpower to to boost

their productivity their effectiveness

their joy of programming versus like uh

be seen as a competitor to them or

something like that. So, but I you know

I for me already

uh it's been it's it's it's been a big

boost to productivity like actual like

if you measure the actual

how quickly you're able to get a thing

done. Mhm. It's been a big and uh

measured not across minutes and hours

but days also like sometimes there's

things I have to do that are not that

important that I'll just like out of

procrastination will push off.

And AI helps me actually get it done.

Like actually cuz like that thing, the

empty page like I mentioned before, it

helps me write the thing, get it done

get it tested, like ship the thing. Um

maybe it's just because it's just less

lonely to work with an AI. I don't know.

I don't know if any of that made sense

but it all made perfect sense. I really

do like that phrase, it makes it less

lonely. I think there's something to

that that's kind of interesting having

just some level of interaction that's

not just like an LSP autocomplete. Yeah.

And you're like, "Oh, wow. That's like

that's a way different approach I would

have taken. Hey, that's kind of cool. I

like these kind of things." And the

thing is I'm not like a AI negative

person. I I can see why people really

really like it. Um I just haven't like I

just every time I I used Copilot for

from when Nat gave me the uh access all

the way up until about 6 months ago.

Like that's how I used it for quite some

time and I really I really did enjoy the

things I used out of it. It just never

it kind of did the opposite for me. I

felt like I was more reviewing than

writing and I felt like I was

more kind of just letting things slide

or I just didn't really think too

heavily about stuff and it just I wasn't

as engaged and so I'm like okay so

something's kind of wrong here. And

that's just like a me personal thing. So

I I recognize that is not how someone

should approach these things. That's not

a good reason for why you should or

should not use AI. Like I just don't

think that that's right cuz I could

probably correct that and figure out a

better way to do it. I've been meaning

to have another AI round. And so I've

been thinking about like maybe I just

need to spend like two weeks in cursor

and just like fully embrace what does it

mean to be somebody like this? And and

god what can I do with this like these

new powers? Have they improved to the

point where they're actually good? And I

mean for me cuz like a lot of the

decisions I make a lot of the little

functions I'm writing it's not cuz I'm

trying to write this function to solve

this problem. it's cuz I'm writing these

functions or this set not just to solve

this problem, but because I know in

about another 2,000 lines of code of

building all these other things, I'm

going to need to start doing this next

activity. So, it's like I'm trying to

like really try to chess move myself

into the exact things that as I let

things go faster, I kind of fall apart

on that chess move. And again, skill

issues for on my behalf. And I mean in

the truest sense of the word where it's

like I'm making a critique because I

don't use it well enough. The better you

are at programming, I don't know if this

is a general rule, this is my anecdotal

data. The better you are at programming

the less you want to use the AI, the

more gets in the way. Like the good

programmers, fair enough as far as I can

tell. So like the more sort of beginner

programmers are much more happy to use

AI, you know, I when I use AI, it's for

basic like for just like I I don't know

if there's a better term. It's not

boilerplate, but it's like pretty easy

programming. And that kind of

programming is much easier to do. Like

the sort of the 10x, not to use the

meme, sort of programmers that I know

that are ultra productive and brilliant

people, they just they hate AI. They're

like, "This is no nowhere close to

what's needed." So that there's

something to that. I still think they

should be using AI just for the

learning. Yeah. Because it's going to

get smarter. It's going to get better.

And

it's the same thing. is like when you

when you super optimize Neoim or super

optimize Emacs, you may not discover the

new things that are in the pipeline. So

it's it's always good to be sort of

training in that way. Let me ask you a

question here just kind of for my

understanding. You talked about this

idea that you have all these kind of LLM

kind of prompts all like this big

backlog of messy LL prompts that you

kind of have these templates for that

you can do various actions. You probably

you have these strategies of making it

self-explain itself and then do the

right thing, right? like you have, as

far as I can tell, that's that's really

built into a lot of people. Well, then

you make this phrase where you're like

but then at some point the interface is

going to get better and maybe it can do

a lot of these things better where I

won't need that. Then my question is

well, is anyone actually falling behind

for not using AI then? Because if the

interface is going to change so greatly

that all of your habits need to

fundamentally change and it will be able

to clarify and make all those

statements, have I actually fallen

behind at all? or will the nextG like

actually just be so different from the

current one that it's kind of like

yeah, you're you're over there like

actually doing punch card AI right now.

I'm going to come in at compiler time

AI. So different that it's like what's a

what's a punch card? Uh so obviously

open question. It's a fascinating one. I

personally think yes, you're you're

falling behind. Not you, but could be

could be me. If you're not playing with

it, you're falling behind. Because the

thing I'm doing with the

prompts is you're learning, you're

building up like this intuition about

how AI

works. You you're understanding like

what is its strengths and weaknesses?

Not the even the current version, but

the next version and so on. Like what

uh what does it mean to teach an AI

system about the world? like what kind

of uh information does it need to make

effective decisions. I think that does

transfer to smarter and smarter models.

You'll need to make

uh less rigorous and specific and

details instructions over time, but you

still have to have that kind of thing.

Yeah. I think it's a skill of almost

empathy with an AI system because it

doesn't know there the uh you know what

it's missing? It's missing like common

sense. It's missing long-term memory. A

lot of things when we talk to other

humans, they have a basic common sense

about reality like and AI systems often

lack that kind of common sense and they

also don't remember things. So you have

to like realize there's a constant blank

uh blank slate happening. So, it's

almost like a just a skill of talking to

an AI system that uh that I'm training.

And by having to write all those prompts

and communicating back and forth to

understand what kind of prompts work

better or not, you build up that

intuition. And also just raw the skill

of reading somebody else's code. Maybe

for people who work on large teams

that's a skill that's already developed.

For me, not so much. So learning how to

modify the code that somebody else

written is uh is a real skill. And also

the other thing you mentioned which is

like considering another perspective on

a piece of code is really nice but it is

also a skill to understand okay this is

what you did there. There's a skill to

asking a question about that code that's

been generated

uh such that you can have a conversation

about the approach that was taken. I

think there's just a lot of subtle

little skills involved in a cooperative

endeavor to code. Um kind of like there

was a real skill issue between you and

Te when you guys did the video of 28s

one keyboard, right? Uh people should go

watch that video where like you guys

obviously sucked at it. Yeah. Co-using.

That was pretty cool what you guys did

which is controlling one new interface

from two different keyboards. Yeah. And

then we each get an allowance of certain

characters or motions we could perform.

Yeah. And so you both had to like

communicate together. That that's a real

skill. I'm sure you can get super like

super efficient with that. But it takes

it just takes time to learn that kind of

thing. So yeah, I think uh there's some

value to it. But I I think there's a

learning curve. So I have So I I wanted

I do want one thing to be pretty clear

is that I actually use AI quite a bit. I

just don't use it for programming. And

so one thing I've been trying to get to

is to be able to have like a long

interview or understand what Twitch chat

is saying and become Twitch chat and be

able to speak as if it is Twitch chat.

Try to like learn how to prompt it in

different ways. And so I think those

things for me are just really fun. I

tried to get it to learn how to play

tower defense. I made a tower defense

game in Zig and then made it play tower

defense and then played uh Claude 3.5

against open AI. Claude 3.5 would do

better during the day times and Open AI

did better during the night times. I

don't know why. I don't I have no idea

what was going on there, but just one

would just start winning and the other

one would start losing. It was just very

strange. And so it's just this, you

know, I'm learning to prompt well, but

I'm learning to prompt in a very

different axi. I just don't find it very

useful yet in programming. programming

and I should also say that I'm using it

uh in yeah in every walk of life in

every context I use that same kind of

exploration about prompts and so on I'm

using and learning I I think it legit is

a whole field in itself prompt

engineering and how to interact with AI

systems I think it's worth the

investment can you actually speak to

that because you I

saw you're you're basically pulling from

Twitch chat chat and having an LLM

speak. I didn't realize I thought you're

So, you're not reading the exact chat

messages. Yeah. You're you're doing kind

of some kind of summarization. Yeah. So

what I I I try to go through like a I

end up making like eight queries off to

OpenAI where it's just like the first

thing is I have it have it like a

default personality. Hey, you're

Randall, the manager. You're a software

engineering manager. Kind of explain

their position, what they like, what

they don't like. and then be like

"These are the list of thoughts you have

in your head and you need to talk to

this person and ask them a question like

give me 10 of these responses that you

think are probably thoughts that you

have and you want to ask." Yeah. You

know, like make it kind of give you a

list and then be like, "Okay." Then

reprompt be like, "Hey, you're Randall.

You're this, this, this, this, this

this." you have these 10 questions

before you and now you need to select

one of them and reword it in a way that

sounds more like you the engineering

manager you know and so you're like you

know I'm constantly trying to make it

like iterate on itself as opposed to

just like one-shotting it and I found if

I iterate too much it becomes like it

loses the val it like loses what it was

originally trying to ask if I don't do

it enough and it's just too degenerate

from Twitch chat and so it's like I I

have a lot of improvement to do with

this idea just to

clarify you're feeding in Twitch chat.

These are the thoughts you're you're a

manager. These are the thoughts you have

in your head. Pick out some of the most

profound thoughts effectively. It's like

depending on what I wanted to do. I'm

trying to work on a better system still

for and so it's like how can I give

voice to Twitch chat? Can I make it so

that I can get create adversarial

characters against Twitch chat or for

Twitch chat? Can I incorporate YouTube?

All that kind of stuff. And like how do

you describe to an LLM to roleplay into

its position? And so, you know, just

thinking through those kind of things

and, you know, so maybe I am having some

prompt skills, but just, you know, it's

just not in the coding world yet. Sure.

One day, one day I'll get there. I saw

that you were having like playing with

different voices. There was like a sexy

that started off as a French voice and

then it turns out 11 Labs just cannot do

a French lady. And when you do

multilingual French lady, she starts

Yeah.

talking. I was like, what? I tuned into

one of your streams

and there was just this lady like like

in a in a sexualized way. It became too

funny. And so we call her not French

Stormmy Daniels. Oh, nice. Yeah. But I

want to go back to the AI and and and

and some of the aspects. And so like my

big gripe with AI has nothing to do with

its capabilities. It's exactly capable

as it should be capable because that's

what people programmed it as. The things

that I really dislike is a there's a

whole group of people that are just like

the end is nigh. AI is here. You just

need to stop programming. Like I I

cannot see I cannot tell you even on

like uh you mentioned Peter Levels

earlier, he made some sort of tweet and

one of the person's responses was yeah

no one in this like in 2025 or whatever

should be acquiring hard skills. You

should rely on everything for the AI

effectively. And it's just like these

are really damning pieces of advice for

young people. Like young people are

being told that you should never become

an expert in anything. You should always

offload. And the problem is is that

anyone worth any of their salt will tell

you that AI though can produce code is

going to get it wrong in a huge number

of cases. And as the code becomes bigger

or more complex or more input, it's

going to just start kind of sloshing

back and forth between bugs. And so if

you don't have those hard skills and

you're not ultimately the driver at the

end of the day, like you're going to

really find some hard times and your

ability to progress will be directly

bound to how good the LLMs are. So if

you believe that the LLM will be vastly

superior to humans in the next year

maybe that's a good bet. But if they

aren't, then your skill ceiling is bound

to whatever they are. And even beyond

that, there's just is like a whole

there's just like a level of information

problem which is like can the thing

actually navigate larger like do we even

have enough compute power to be able to

solve things at at this real scale and

even if we did if everybody started

using it right now do we even have the

compute power for everybody to use it

right now? There's like a lot of kind of

bounding questions. There's privacy

concerns and I just don't want people to

make the immediate or what appears to be

the obvious choice where you don't need

hard skills, you don't need these

things, our life is already going to be

we just need to only think creatively.

It's like no, I don't think so. I think

these hard skills are going to be around

for quite some time even with a massive

improvement in the AI like you're going

to really be needed to step in regularly

for quite some time as far as I can

tell. But I also think even on top of

that just even acquiring the hard skills

or uh whether that means programming

from scratch for example in the context

of programming

uh that's going to make you better at

steering the AI. Mhm. Not just

correcting the AI but steering the AI. I

think there is some kind of if you know

how a computer works you can program

Python better. It's maybe

counterintuitive, but you can if you

know the low-level abstractions like

some intuition around that uh you can

steer the high level abstractions

better. Yeah, that just seems to be the

case. Unless of course AI becomes like

truly super intelligent like many levels

above, but it's very unlikely in the

short term and in the long term it's

still good as it gets better and better

and better to be able to steer to ride

the wave of the improvement. Yeah, I'm

on that team very much. So, a lot of

people have written to me. I think a lot

of developers, programmers are really

concerned about the future of their

profession in in the context of uh

quickly improving AI systems. So, do you

think AI will eventually replace

programmers?

The hard part about that phrase is use

the term eventually. Yeah. Meaning, do I

think in 5 years, 10 years, a 100red

years like what is that what does that

term actually mean? uh I think at some

point if we were able to scale if all

things continue at the current rate of

improvement there does come a point

where programming as a hard skill does

become unnecessary right there at some

eventual point way way down the road yes

I don't know what that point looks like

I don't know when it's going to happen I

don't even attempt to make predictions

about that but there are still some like

leaps and bounds we need to make

just I mean even just like societally

like there's plenty of companies that

don't even allow you to use AI, right?

Like that. I mean, there's just

practical problems that exist. So

that's like a question I just try not to

answer in the direct sense. There will

come a day if humanity continues and all

things continue in a good positive

direction where a lot of skills will go

out the window due to immense computing

systems. So, yeah, I'll give you that

one. But it's just like if I don't think

it has anything in the near term.

There's been no computer improvement up

to this date that did not result in more

jobs. Yeah, absolutely. I we should say

that I think it depends how you define

programming also because

um you know when uh the community

uh moves from assembly to C from C to I

don't know uh Python and

JavaScript like that's evolution that's

really painful for a lot of people who

are used to programming that lower level

language. Uh so there's going to be a

continuous evolution and maybe that

means with with AI there's going to be

more and more evolution towards natural

language as part of the tool chain like

being able to learn how to write proper

prompts. Uh yeah that might you know cuz

natural language is still a language and

in the long term it's possible that a

large percentage of programming is

natural language. There probably still

going to be some percent is just not

that's going to be extremely structured

language. Right now, I don't think we

are anywhere near natural language being

possible because it's ambiguous. And I

think what we'll end up seeing as people

push really hard into this, you're going

to see some sort of like pseudo lang

which is going to be a language for AIS

in which you prompt, which is going to

be less ambiguous, right? People keep

striving towards the less ambiguous

state. And at that point, you're just

programming. You're just programming yet

another evolution into a higher order

language. And perhaps that is a future

in which people will have a more tur

language. I'm just not sure how much

more tur it can get. Um, yeah. I mean, I

all I see is that if you say natural

language can be used in the pipeline

you've just made that many more people

can become programmers, which means that

much more software will eventually be

created, which means there's that much

more software that will need to be

maintained and just becomes a a real big

snowballing effect. But, you know

there's there's just just people who are

programmers who are worried about their

jobs. Yeah. not a complete replacement

but maybe a rapid evolution of what it

means to be a programmer. Like you

mentioned if natural

language becomes uh a way that you can

communicate, you can

program that means uh the pool of people

who can uh get programming jobs changes

rapidly. So they're really concerned to

some extent, right? Um because no matter

how much no matter how much we want to

say how good AI is, there comes a point

where there exists a bug, there exists a

large piece of software in which to

describe the change requires just like

pages and pages of description to the

point where it is significantly just

faster or easier for someone to just

whip something out. Like there there's

definitely a balance there. It's not

like a perfect tradeoff. And so I I

still don't I think people need to quit

worrying and think about how they can

integrate it and try like prove it to

themselves. Do they actually make

themselves irrelevant? And if you truly

make yourself irrelevant, I would

challenge you that you're already like

you're just doing something that was

just slightly too complicated to

automate. Like if you're only writing

just straight up CRUD apps from backend

to front end and like simple table

displays, like yeah, maybe we just

couldn't quite automate that away. And

now we just have something that can just

do that a little bit better. So now

that's automated away. But that's not

really programming. That's almost like

building Legos at that point where the

design's already set. You just simply

have to move piece from bag into correct

position. Yeah. Uh is there something

you recommend how

um uh a developer programmer could avoid

a situation where

AI can automate them away? I think that

the bigger the project you can manage

the bigger the thing you can build, the

more understanding both down and up the

stack you can go, the more value

valuable you become. Because if you

understand how to build something in the

front end, okay, well, now you kick off

some LLM task of some sort that's going

to go off and make a change to the front

end. Okay, while it's doing that, you

can go and kick off something in the CLI

tool. You can go and you can go kick off

something somewhere else. And as these

things come back with results, you can

review the results, make sure it's the

way you want it, change it, commit it

go to the next. Like, you only become

more, you know, as you said, in the end

more productive if we reach this state

where it's truly able to do that. And I

think there is like a skill to working

together with AI, which is why I'm kind

of excited to watch you keep trying to

do it. Yeah. It's like we don't know how

it fits exactly, but it feels like AI

should be a boost to

productivity. And I I definitely think

it's a boost to just the joy of

programming. I think there's a lot of

people, yeah, it's a job, but it's also

a source of meaning, a source of joy.

Like programming is fun. You're creating

something cool and also potentially that

a lot of people use. There's this one

thing that just really frustrates me.

This is kind of going into the Devon

category, which is that I want an intern

that cares. Yeah, you you don't get that

out of an LM. It does not care. Meaning

that I don't want it just to make a UI

for me that displays these icons like I

asked. I want it to care. I want to

think about it. I want it to present to

me and me be like, "Oh yeah, yeah

that's great." And then me to make

changes and then later on it's like

"Actually, you know what? really

rethought about this and actually it

would be way better if we change you

know like it doesn't actually care about

the craft you know but when you work

with an intern or you work with somebody

else they they care when they factor

something they actually go over and go

ah yeah this is actually kind of bad I'm

going to come back to that they finish

this they go back over here and they

make this even better right they like

actually care about the thing itself

it's a completely different experience

and I just want something that also

cares that wants to make the thing

better not just simply accomplish the

task and I know I'm asking way too much

that's not you know now we're getting

into like blade runner level AI. I just

want something that's it just feels like

I'm missing that where it's just like it

will complete the task to whatever level

it understood what I was prompting, but

it just doesn't it doesn't actually care

about it. I

mean, there's so

many aspects to caring, but sort of the

trivial version of that is a kind of

restlessness where you want to keep

improving. And I think that is very much

AI could do. Yeah. we're constantly just

ask itself, can I make this better? And

if it keeps doing that, it probably is

going to take it to some ridiculous

place. So, actually, it's it's also

knowing when to stop. Yeah. Uh I think

developing um something you can call

taste, which is like trying, working

extremely hard, constantly improving

until it just feels right. This is it.

And I think that is a thing that AI is

not good at. It was just like yes, this

is it. Yeah, I've iterated three times

and three was the that's it. We're now

there. And that I think ultimately that

is what humans are amazing at which is

like knowing when something is right

like this is it. This is especially as

as you understand as you develop taste

in the particular industry in a

particular context application knowing

like this is it. Yeah. this the rounded

corners on this button. That's exactly

that that's beautiful. So just a sense

of beauty uh a sense of function and and

efficiency and so on. Yeah. That but

that you know humans could do almost

like supervision of AI systems in that

context. Yeah. Yeah. You've uh ranted

about Devon um just full of rage. Uh I

mean first off the people that run Devon

are extremely nice. I want that to be

understood. I don't have some sort of

upsetness against them or anything like

that. Um, second, Devon is just it's

it's kind of like the full it's like the

full package when it comes to

programming. So it's going to have

you're going to give it a task and a

repo and it's going to go through it's

going to try to understand the repo and

the task make the change to the repo by

exploring it then actually make a commit

to GitHub and explain what it did so

that you can have like you know so

hopefully you have this whole offline

thing which is the other part of um this

AI part that I actually really like

where it's just like go fix this thing

then I can just go and unbroken fix this

one thing and come back and go okay good

enough merge boom you know like I want

that kind of running, being able to

complete things. I think the ideal

solution is that you can start giving it

small bugs and it goes and fixes these

bugs and you can just come back to these

backlog tickets that no one ever does

and it actually starts going through

these backlog tickets and it's actually

a really amazing experience. So, I love

the idea, right? I think we can all

agree that that sounds great, but every

time I've done it and and I've I've

asked it for many and I I try to keep

narrowing down the problems. The more

narrow the problem, the better it does.

So if I'm like just add one singular

icon and when it gets clicked I want you

to do this just just console click me

like just at least create me an SVG and

place it so it's nicely placed. The more

narrow the task the more likely it's to

be successful. Um there's like a certain

level of specifying where you specify

too much it just like can't do it. If

you specify too little it just does

weird things. So it's kind of like this

very kind of fun unique way you have to

play the balance game.

So far, every time I do these things, I

always end up going, gosh, you know

what? I should just get better at

Tailwind and write it myself because I

always go back and I just rewrite it.

And then it's just like, dang it, what

what am I saving at the end? I feel like

I'm not saving anything yet. You know

it's just like this. I want it so bad.

Like, I actually want AI to be great

because then I can really go fast. I

mean, I can go amazing fast, but then I

always just go, gosh, I should just

learn Tailwind myself to like the nth

degree and just go fast. Yeah, we should

also mention that debugging this might

be intuitive or counterintuitive is the

AI is really bad at. Yeah, like that is

one of the hardest. It actually makes

you realize how special humans are and

how difficult the task of debugging is.

Obviously for trivial debugging maybe

you can find yeah bugs but like that is

the real art of programming is debug is

finding bugs logical bugs like um

extremely complicated rare bugs edge

cases. Mhm. AI can assist but mans the

hard ones are really require so much

context so much experience so much

intuition from uh again operating in a

fog full of uncertainty it's hard

uh of course AI could maybe create like

logs and do traces and do some kind

of load in a huge amount of data that

humans can't but ultimately that just

means It could be a better assistant in

debugging versus the actual lead

debugger. Yeah. I mean, it'd be great if

they could. I mean, the more it can do

that, the better, right? Cuz as far as I

can tell, I mean, correct me where I'm

wrong on this current state debugging.

It's really, it looks at the code. It

looks at the bug problem. It just kind

of tries to text predict where it's most

likely accurate and then just tries to

fix that spot. It's just like, it's

likely this spot. You said admin panel

it's slightly off this, this, this. it's

probably this location, which could

actually be a really great way to do

search, right? Let me do semantic

searching. Point to me where this is cuz

maybe that is a really great way to

navigate large code bases is like smart

intelligent search as opposed to try to

make it do the thing. Ask it to just

help you do the thing in like

pinpointing problems. I know I' I'd love

to see more of that cuz that's for me is

like the exciting part. And there's this

really great article by creator or

maintainer of curl. It's the I and LLM

stands for intelligence. and he writes

curl and maintains curl. Curl has been

inundated with security problems and all

this and it's all from LLM's being like

"Oh, I found a security flaw. Uh, here's

the security flaw. Details it out in the

code." And he's just like, "Okay, how

did you reproduce that? Show me."

Because if you look at the code right

here, that's actually an impossible

situation you're speaking of. And it's

just like going in these circles and

security right now is being inundated.

These bug bounty programs are being

inundated by LLM submitted responses

because they can't actually, you know

analyze the code beyond just like basic

text prediction. Oh, this is a stir

copy. Stir copy is commonly referred

you know, blah blah blah blah blah

boom, there you go. Here's the bug. And

it's just like, no, that's actually

impossible because the if statement

right beforehand leaves the function if

the string is too long. So, it's like we

don't even run into this case. It's

impossible what you're saying. So

debugging is very interesting. Yeah. I

mean that for me would be the big if it

can solve that not solve that but

improve that that would be huge whether

it's agents or just LLMs integrated into

um into IDEs. I think there's this whole

idea I call a a denial of attention. I

think there's an entire attack vector

that's going to be happening where using

LLM to generate fake bug reports fake

all these things to just actually uh

effectively to demotivate and um hurt

open source maintainers. Uh, Polykill

was the first bug that kind of had this

experience is this denial of attention

where a active malicious maintainer just

hounded the owner and then a white

knight came out and offered to buy this

you know, buy some stuff from under them

and when they bought it, they actually

replaced it with a malicious piece of

code and then used it. So, there's like

this whole security world that's

developing around using these in a very

aggressive format. I mean it's a

fascinating world we're entering into

but I do agree with you that humans

human developers will be a huge part of

that world that this is not the job

might evolve but it's going to be there

if I can I didn't really look at this

page I thought it would be cool to go

over with you this is again the Stack

Overflow my favorite Stack Overflow

developer survey talking about their

sentiment and usage of AI systems the

general sentiment of yes

uh 61% say yes they use it and 25% say

no don't plan to. So majority use it

majority have a favorable sentiment over

it favorable or very favorable or

indifferent. That's like looks like over

90%. That's really surprising that that

many people just have no plan in looking

into AI. Like as much as I don't like

using it for coding I hope one day I can

use it more. Right. And so it's like I

to me I'm always looking for the next

thing. I'm just surprised that people

are that I guess obstinate for it.

Obviously the second one the AI tool

sentiment it must be only the users who

responded uh yes to the top two of that

first one just given the amount of

respondents. I wonder if no and don't

plan to are people who have tried it and

quickly built up the intuition like this

really sucks. Yeah.

So we, you know, we could be like

experienced programmers. They're like

"No, this is not making me more

productive." 81% agree that increasing

productivity is the biggest benefit that

the developers identify for AI tools.

Okay, so this is what are the benefits?

Increase productivity, speed up

learning, greater efficiency, improve

accuracy in coding, make workload more

manageable, improve collaborate. Where's

the

fun? Increased fun. I would say that's

that's like number one for me. Maybe

speed of learning is like a a

subcategory of fun, right? If you're

able to learn more and be able to become

better to me, that that sounds that

sounds good.

I don't know. It's different cuz like

productivity is part of fun too. I there

is just a lightness um I mean maybe

improved collaboration all of these

elements for sure. There's I my time

using co-pilot c there was certainly a

level of wonder that would happen for

quite some time where it's just like

it's just amazing what it can do. Yeah.

I'm just super impressed by what it can

do even though I don't use it. Like it's

amazing to me that we have something

that can even get that close. Uh in

terms of accuracy of AI tools, only

2.7% highly trust. I would say that you

have to be very green to think that you

should highly trust an AI output. You

should be very skeptical. Yeah, I don't

know where I stand. Probably somewhat

distrust. Highly distrust seems

aggressive. it does seem a little like

you should definitely be in the somewhat

like you should always assume that

there's something wrong and then from

there you can go and and challenge it

and then uh estimation of whether AI can

handle complex tasks. Most people don't

think it can handle complex tasks. I

mean it seems like people have a good

sense of what it's able to handle and

not I would argue that people don't have

a good grasp of what complex is in

programming. Sure. Yeah. If you say

write to me, you know, write me

quicksort, some people think quicksort's

super complex. Mhm. But I would argue

that that's actually probably the

simplest thing you could ask an AI to

do, right? Things that are so well

documented. It's going to do a great job

at that. Yeah, probably high level

design decisions, which people don't

even use AI for right now. I guess

agents are supposed to be doing that

kind of stuff. That's probably the most

difficult

thing or the most impactful

thing. Well, the most difficult thing is

finding bugs. Yeah. AI tools next year

writing code and so on. Now, this one

the ethics part, I'm actually super

curious your take. Yeah. On the ethics.

Will we see Europe laying down some new

regulations? Oh, boy. What about

artists, right? What about people that

are really Because the difference

between coding and artists is very, very

simple. If you gave me a sheet of paper

I could draw you a crab. Mhm. You go

that's a crab. Yeah. But you can't do

that with coding. It's like it's right

or it's wrong. There's not a variation

of interpretation for what a crab is.

It's like no, that statement is just you

cannot make that statement, you know?

It's it's very bounded in what it can

express. And I could see why artist like

that's a very frustrating point. And

then who gets rewarded for all that? You

know, obviously. And then there's like

the whole thing with coding and

licenses. How much of it is GPL licenses

do you think they've scraped and used as

training data? GPL forces open source.

Yeah. What are you going to do with that

one? Like that means your model might

need to be open source. like open AI may

have to get forced open. Yeah. All their

previous stuff if there's any hint of

GPL. Yeah, that's a weird one. That's a

really weird one because most of these

models I think are training on data they

don't technically have rights to be

training on. Yeah, there's a lot of

questions. There's an unspoken it's a

it's a it's a real wild west cuz like

you could imagine that what if you know

I always use Europe because they tend to

have like maybe the most consumer

protection uh laws out there. You could

imagine what happened if a law came down

that said that if you used a model that

produced GPL potential code, you have to

open source. Like how many companies are

going to be like, "Oh my gosh." Right?

Like you have one year to get rid of all

code that was generated that's

potentially GPL sourced from a model.

Like that could you could imagine just

the sheer panic that's going to

happen. It'd be a fire sale of code. So

given all that, what can you give advice

to young programmers?

uh like this is another question from

Reddit, the infinite wisdom of Reddit.

What should a person in their early 20s

do to move forward in in the tech

industry? And uh this is an interesting

addition to the question and by doing it

will this be walking on someone else's

path? I am going to try to answer that

question I guess the best I

can which I think that if you're

entering into the tech

world one of the hardest pieces of

advice that I took a long time to learn

was I became enamored and addicted

obviously we talked about that program

for way too many hours um forgetting to

uh spend the time I needed with my wife

with my friends all that stuff like

totally wrapping myself up into one

activity. I think though it made me who

I am was probably an unhealthy activity

and probably not a wise activity. And so

the best advice I can give is that you

got to develop the love, the skill, the

desire for it, whether that's just only

using AI agents, programming yourself

using Zig or programming JavaScript

whatever you know that flavor is that's

going to get you coming back every

single day, getting the reps in the gym

if you will, for programming, but also

knowing how to value what is valuable

and not getting lost in the sauce where

you're just so stuck on trying to make

the next greatest startup that you

sacrifice your health, you sacrifice

your relationships, or even worse, you

sacrifice your own morals to take

certain shortcuts that you probably

shouldn't be taking uh in life to be

able to achieve these things because you

know I'm sure there's hundreds of horror

stories you could hear where people

definitely shortcuted their morals for

you know monetary success. Yeah. I mean

the golden

handcuffs uh comfort can destroy the

soul in some sense.

Yeah. So that's uh yeah I mean that's

really important to remember. But would

you, you know, there's young people kind

of thinking, do I even want to be a

programmer

now? It seems like AI is getting better

and better and better at these at

programming. Um, if they were trying to

make that decision, would you still say

"Yeah, if this is something that fills

you with joy." I still want my kids to

learn how to program. If I can answer

that, if that can if that's a good

enough answer in the sense that my kids

are are decade younger than a young

person trying to learn how to program

right now. And so if I want, you know

I'm hoping that my kid can run and build

whatever he want in Roblox, I'm showing

him Chad Jippity and be like, "All

right, let's ask questions. How do we do

this?" It's still extremely confusing

for him to do all these things. And so

it's like, "Let's do this. I want him to

learn and be effective." And maybe one

day he has to throw away all those

skills in 20 years. But I bet you that

whatever skills he threw away or

whatever hard skills he had to throw

away, an entirely new field that none of

us have thought about, just like if you

would have asked somebody in the 70s

you know, about social networks, they'd

be like, "What the heck are you even

talking about?" Like things will exist

in the future that are going to be

massively different and crazy and

exciting. Maybe in virtual reality.

There you Maybe all of us actually down

the line will just be building video

games. Just entertainment for all. The

uh brave new world of our world. Well, I

think I think uh

entertainment is a kind of trivialized

version of what a video game could be.

Mhm. It's like what what is the purpose

of life anyway? I mean, it could be it

could be a deeply fulfilling video game.

It doesn't have to be just like dopamine

rush. It could be educational. It could

be scary. It could be uh

challenging, forcing an evolution, the

leap into adventure that it makes up a

um a fulfilling life. That could be

video games. Who knows? Especially in

virtual

reality. I tend to uh that's the other

thing. I I play a lot of video games. I

think I think I think there's a lot of

room to make video games deeply

fulfilling. Like there's a lot of space

where that can go. I didn't know you

played a lot of video games because when

I asked you specifically, should I play

World of Warcraft or do Advent of Code?

You're like, Advent of Code. Advent of

Code. Oh, well that that might mean I've

never played World of Warcraft because

there's certain games I avoid. Fortnite

by the way, I think was one of them cuz

I was worried become too addicted. Yeah.

Yeah. So there's certain games I just

know I won't get super addicted to. Like

for example, I'm terrified of

Civilization. Like uh I have never

played a Siv game because I'm worried.

I'm worried uh the dark path in my lead

because there's some games just really

pull you in. I'm much better with uh

that's why I play Skyrim. I can play

these games uh or Balders's Gate and

moderate my how much I play and they

could be like a lifelong companion

versus an addiction where I'm like it's

like sunrise and you're like what's

happening with my life and I find myself

naked behind a dumpster somewhere just

wondering what happened. Um yeah, so

that's how I choose my video games.

You're not the first person who has

specifically called out civilization.

Yeah, I've had more than one person also

very high up in the tech world be like

"Civilization is my downfall. If I get

near that game, I'm done." Yep. So, I've

never even played the game now. It makes

me be like, "Dude, I got to give this a

try. That sounds crazy." Yeah. And the

new one is actually supposed to be

really, really good. What were we

talking about? Yes. For that same young

developer, is there a trajectory through

jobs that you could give advice on? So

you started out with Schedulicity? Yeah

that was my first uh full-time when I

had the government contracting one

before that that wasn't quite full-time.

It was in C. It was a lot of fun and

then building my own startup for quite

some time. So, if you count either of

those as full-time, then those would be

the full-time. But schedule list was the

official on the docks. So, is there some

value to jumping around

like working one company and another to

try to figure out like what brings you

joy? I think there's a lot to that cuz

um not every job you're going to get is

going to is going to be great. Now, your

first job you could get could make you

think you hate

programming. It happened. I did an

internship at a place I I know I keep on

like surprising you with more kind of

things I did in the past. Did an

internship at a at fuck you so many

things. It's incredible. At a place

called like uh total information

management system. Remember when I

talked about that hours ago about health

care and that and industrial shipping

and all that? It was a C# shop. It was

so bad that after I did that, I went and

changed my major to mechanical

engineering for a semester in college. I

thought I Okay, actually I like computer

science. I hate programming.

So, you know, just because you've had a

job doesn't mean it's the it's going to

be the one. And the thing is the here's

the best part though. If you get a job

and you like it and you want to do it

and it's exciting, you don't need the

change, right? I think a lot of people

are like, "Oo, I got to find the next

thing. I've been here for 2 years." like

there's kind of this like you got to

move around mindset. I don't think you

have to move around. I don't think it

hurts your career because if anything

you'll gain more responsibility and

you'll be able to talk with way more

authority and the next time you

interview, you're going to be way more

into like, oh yeah, I had to get these

ex people and these ex people to be able

to do all this stuff. And it's like you

can talk with much more authority if you

stay at a place longer. And that's

nothing but benefits in my book. It's

only if you stay at a place because

you're afraid or you don't want to, you

know, you already have something that

works for you and you just never want to

change and you're just like, I get to go

in and just be completely mindless. I

think if you go mindless for a couple

years, you'll find yourself that's like

the only real danger. You just come out

with nothing at all. Yeah. Especially

when you're younger, that's the whole

point. Take take the risk, take the leap

out to the next thing, to the next

thing. And not for money, but for just

person like joy. Joy. Yeah. And money

could get at the end. That's the best

part is when you don't strive for the

money, sometimes the money just shows up

anyways. Yep. And some of the what makes

life worth living is the people you work

with like a a good team. Some of it's

like not to be generic, but you know

culture matters. It's whatever makes you

um happy. Like for example, I just had

won't call out places, but you know

there's certain companies where

everybody is very 9 to5 and it's very

even if the work is exciting, they're

not they don't work hard enough. I would

say I'm one of those people that likes

to go all out like likes to be

surrounded by people who are like super

passionate. Now to be fair, a lot of

them don't have families or don't Yeah

it's a fascinating choice. I I really

don't want to talk down on any choice

like work life balance or not. But I

think both are beautiful paths and like

if you really derive a lot of value from

joy from your work going all in at least

for some stretch of your life is is a

beautiful thing to do. Just all

out full-on passion sacrifice a lot of

social life all that kind of stuff. I

don't know that could also be beautiful.

there going to be something very very

exciting about that in some sense

especially if you're building your own

thing. Uh I could imagine that would be

very exciting like if I was Amazon Jeff

Bezos building Amazon one could imagine

that those early years were probably

very rough and the amount of hours he

probably put in were very very rough. Uh

but I will say that there's this kind of

unique aspect in our culture where we

kind of make this as an equal trade-off

between family or work. Uh like oh you

don't you do or you don't have to have

kids. And my only kind of real notion

with that one is that you will never

know your capacity for love until you

have kids. Like you you just don't know.

And some people are like, "Oh, yeah, but

I like love my dog." And it's just like

I loved my dogs, too. And then I had

kids and now my dogs are they're all

right. Like I like them. Yeah. I could

come home and I pet Indie and I'm like

Indie. And then I'm just like, "Okay

bye Indie." Right. Like it just I can't

even describe the difference between the

two. Yeah. Because they're not it's not

even the same. And so it's very that

trade-off you're making is no one can

tell you what it's like cuz there's a

real reality that's right now and I'm

sure I'm 100% positive this is with my

wife as well where if right now we got

news that said you have some medical

procedure where if we do this you will

die but your kid will live. There's not

a question in my soul that I wouldn't do

that, right? If I was given, if I could

look into the future and if I had to die

right now knowing that my kids would

have a better life, they would be

happier, they'd be more fulfilled and

all those things, I guarantee you either

my wife or I would take that every

single time. It's just like you will

never be able to say that about most

things. People will jokingly say that

until it's actually on the line. Mhm.

But it's like with with that, you just

have this ferociousness. I can break out

and sweat thinking about somebody

fictionally pushing my kid to the

ground. like like actually get, you

know, real adrenal responses flowing

through my body. So, it's just like such

a different world and it's hard to

explain. And you could never have

convinced me when I was young that it'd

be this big. Yeah. Yeah. Yeah. I thought

I knew. I didn't know. But to add on top

of that, some some of the most

successful people I know, some of the

most productive people I know have kids.

So, like I don't know if it's even a

trade-off. like that love you feel it

seems to be a catalyst for like to make

sure you have less time but you're going

to use that time better to be

productive. I would argue that I'm it

definitely changed a lot of my life and

my and how I approach problems and

everything in a very different way. Let

me ask some uh random questions from

Reddit. On a scale of 1 to 10, how much

do you hate every product Microsoft has

ever created and why is it a 10? Okay, I

think we covered that. We haven't

technically covered it. Uh, there you

go. All right, go ahead. Go ahead. Okay.

The only thing I'll say is that I don't

like that Microsoft pretends to be the

good guy. Yeah. When what they really

want is to get you addicted to their

products, to get you to use their

products as much as possible so they can

extract as much money out of you. Well

in this world, are there really good

guys? That's a great point. Uh, I would

argue Neovim is a great guy. They

there's no way they can make money. Um

Justin Keys is the benevolent dictator

and he thinks deeply about the product

and tries to make it the best as

possible. Whereas something like

Microsoft, they they made VS Code as a

loss

leader. Copilot's probably operating on

a loss leader. These things are all

getting you so tied into GitHub, remote

workspaces, CI cop, like you've become

this trapped in permanent person. And if

that price rises, the switching cost is

so great at some point that you'll never

be able to switch. That's my only fear

is that Microsoft was once accused of

eee and it feels like they're eeeing

again. Yeah, I'm nervous about

criticizing a good thing because you

could see an incentive to do that good

thing like Google creating all these

services that don't make money like

Gmail for example. You can sort of sort

of cynically say like they're only doing

that to tie you into an ecosystem so

they can like uh basically keep you for

life. But also, it's awesome that they

created Gmail like Yeah. And they create

an incredible product, right? So, I can

side with you on that one. It is a good

product. VS Code is a good product.

Yeah. Don't put that on the butt is

fine. You know, they they they did a

great job. Yeah. So, like it, you know

there is going to be financial

incentives behind some of these

companies. And by the way, me defending

not defending but saying positive things

about Microsoft is just so I could talk

shit to Prime. But that's I love that.

by the way. Yeah, Linux is my first and

last love. It it definitely the spirit

of Linux and open source is a beautiful

thing. So I I do think that when you

have these large

corporations even when they try to do

good often times the the profit

imperative just takes over and they they

can they can corrupt themselves and

Microsoft has a long history of doing

just that to themselves. Yeah, that said

they've done, you know, they have, you

could say for cynical reasons because

they want to seem like the good guy

amongst developers, but they've done a

lot to support open source. It's just

like same with Meta. They've met Meta's

done like insane amount. Yeah. To

support open source. You can say

actually for that one, I don't even I

don't know if I can even make a

financial or cynical case for why Meta

is open sourcing Llama and like these.

Yeah, that one's confusing. It just

seems great. maybe for hiring, but no, I

I think that's legit just an

ethical really powerful decision. And

sometimes these

companies because they have a lot of

cash can make the right do the right

thing. Yeah. It's a really positive way

to look at it and I think that's that's

really nice. But we should always be

skeptical. Yeah. I mean because at the

end of the day, companies, they're not

good, they're not bad, right? They're

they're morally neutral. Well, it's the

people that are running them, the

decisions those people make that are

really where the bad or the good comes

from. Another question asking if he

knows how to milk a cow. I've already

asked that. The answer is Oh, no. You

don't know. I've never milked a cow.

Never milked a cow. Almost been killed

by a cow, but never milked a cow. Do you

ever ride a bull? No. All right. Uh, why

male models? Okay, so I can explain that

one. Mhm. I will say something like, "I

really dislike the color purple because

the color purple makes me upset." I

don't know, just something very benign.

But then someone right afterwards will

be like, "But why don't you like the

color purple?" Right? And it just be

like, it's just like Derek Zoolander.

It's just like I get done on a on a five

minute talk about it and then the next

question is like, "But seriously, why

though?" It's just like why male models?

Yeah. So that's the Zoolander reference

when there's a long explanation. Why

male models? And uh he he agrees and

then forgets. Yep. Uh

uh what is Ligma?

You know, I've died by Ligma quite a few

times. Ligma. So, do you know the origin

story of Ligma? No. So, Ninja, famous

streamer, someone got him with Ligma

said like, "Oh, something like have you

heard about Ligma?" And he was like

"No." And he's like, "Oh, Ligma balls."

Right. And then after that, Ninja got

like so hurt by getting had by that that

he started banning anyone in chat who

said the word ligma or something like

that. And so then it be, you know, if

you don't embrace the meme, yep, you get

destroyed. So of course gets destroyed.

And so then the whole goal is that can

people get me with ligma. TJ did I

ladies. He's like, "Oh, did you hear

that e- girls got renamed to Eye

Ladies?" And I just didn't even see it

coming. And I was just like, "What?" And

he's like, "Ye ladies, nuts on your

face." And then it's just like, "Oh my

gosh." And then a pirate software has

also got me like, "Oh, have you heard

about Google Sema?" Which Sema is a real

product by Google. And I'm like, "Oh

yeah, I've heard about this. What is

this again?" He's like, "Yeah, SEMA

balls, right?" It's just like, "Dang it.

How do I keep?" So, I've just had it

happen live on stream many, many times.

I've died by Ligma the most. Please ask

him about the size of his dict. Okay.

So, this is So, that's dict. That's

dictionary in Python. Who doesn't love

dicks? Yeah, that's a great question.

just a dict party when you use uh

Python. I love dict that should be a

t-shirt. Uh that's actually a hilarious

teaser. But so on Stack Overflow, you

can ask any question you want. And I

decided to craft a question one day on

Stack Overflow that says how to measure

your dictes. And then I proceeded to

really go to town and like explain all

the different things like well what

about the cost of the strings and the

references and you know like when you

really get both hands on your dict and

really go after it's like very hard to

like really threw in some innuendos. The

Stack Overflow team deleted the question

and then someone handwrote me a uh an

email explaining why they deleted the

question and complimented me on how

thoroughly and thoughtful the question

was just to way just to weave in

innuendos and that the entire team was

impressed but it's inappropriate and it

had to be deleted and don't do it again

or we're going to ban your account. And

so it's like very funny moment. And so I

was like, "Oh, that's funny." You know

that happened. Uh two, that was about

six years ago last year. I was at a

conference and there's a guy wearing a

Stack Overflow uh name tag. And I was

like "Oh, you work at Stack Overflow."

He's like "Oh, yeah, I do." I'm like

"Do I got a story for you?" And he goes

"No, wait a second. Are you the dict

guy?" Like that was his only question

was that. And I was just like, "Let's

go." I didn't even say anything about

me. and he already knew immediately I

was the dict guy. Uh I should say in all

seriousness I think I've had a bunch of

conversations sort of in the Python

world where I would have to mention the

name of this data structure and it makes

me uncomfortable every time. You know

it's a very unfortunate shortening of a

word dict. It's just like when I go to

the hardware store and ask for coke

and there's always a nice old lady and I

ask her where to find and it's very

uncomfortable. I try to pronounce it as

hard as I can. Really get that L in

there like

call just to be clear and try to avoid

eye contact the whole time. You said you

said that God was a big part was a big

part of your life. Can you speak to that

a little bit more? Who is God and what

effect what role did he play in your

life? So I you know I I did talk about

that one important evening where I for

whatever reason gained my my conscience

that moment. Um so obviously for me that

I grew up with a life where I would

probably argue myself as a functional

atheist. I went to church a handful of

times. I can't quite really remember

actually going to church as a family in

any sort of sense. So there wasn't like

some super strong tie or anything like

that to it. like pretty much anyone else

growing up in America in the 90s, you

had some sort of impact or intersection

with church at some point in your life.

Uh that was just a very normal thing I I

would probably say. And so when that

happened, it was a it was a fairly big

surprise for me. I was, you know, I

wasn't necessarily going that direction

or deciding to do any of those things.

And so for me, it's it's obviously the

the turning point of my entire life. Uh

I would have I I cannot speak to who I

would be now without that. I can just

tell you that I wouldn't have had the

drive. I probably would not have

completed college. I would not have

found my wife or had my kids. I wouldn't

know how to value people. I don't think

without that whole thing, my value for

people would have been very, very small

cuz I would have continued to just

objectifying in the way I was. And then

probably the biggest thing is there's

this one verse. I don't even know where

it's at. It effectively says that we

love because he first loved us. And so

for me it's

like I don't think I would have ever

lived a life that was happy without

this. And I just didn't even know that

that was an option for me. And I never

really, you know, it was a very tough

set of years for me. And I was very very

sad and just always kind of just

constantly looking for something to

fulfill me. And so it's like I didn't

have any confidence. I didn't have any

joy. I was I was I felt very sad. And so

that was kind of this

moment

where for the first time ever, I didn't

all of a sudden I just felt like I

didn't have to live up to a standard

right? Like my the standards have

already been paid for. Like everything's

already like that that's that's the free

gift. That's the that's the exchange.

And so it's just like for the first time

I didn't have to be the cool guy. I

didn't have to have all the right words.

I didn't have to feel, you know, I

didn't have to go on the conquest, the

sexual conquest to find validation.

Like, I didn't have to do any of those

things. And it was exceptionally

liberating. And so, who is God? That's

more of like a catechism question

perhaps. Uh, what is man? Who is God?

Right. Like those those are much much

harder questions. Um, I believe that

anytime you try to get too deep into

describing who God is, you typically

fall into Christian heresy. Mhm. But for

you, he gave you a chance to be happy.

Yeah, he gave me a chance not just to be

happy, but also uh made it so that for

like the first time I can I can actually

feel forgiven, I guess, in some sense

and able to forgive people that hurt me.

Like for a long time, I I had this like

weight I'd carry around from like the

things I hated about high school and all

that kind of stuff. And through that

experience, I just wrote down every last

person's name and actually held them

with me for quite some time. And this

was the list of people I I forgave. And

I read it a few times cuz like I

couldn't let myself be angry or consumed

by that kind of stuff cuz like hate is

so sticky, right? It's it sticks for a

lifetime. And there really is only one

cure for hate, which is forgiveness.

Like I just don't think you can get rid

of it without that. And so I just had

choose to forgive these people and to

move on. And it really kind of freed me.

And I would never have thought

forgiveness as a means for that change

if I didn't first experience it myself.

What's the role of love in the human

condition? To go to the

philosophical and what's been the role

of love in your life.

It's very obvious that every person

wants or desires love. Uh my wife has

recently convinced me to watch Love is

Blind with her one time and you watch

the show. And if you're not familiar

with it, it's just feels like just a

disaster of an experiment to to just

cause crazy filming. But anyways, the

idea is that if you just don't see

somebody, you can fall in love with

somebody and want to marry them after

like 10 days or some very small period

of time.

And what you really end up seeing is all

these people who are just desperate for

actually love. And there's like some

part of it I always I told my wife it's

like love gladiators. We're watching

people battle it out for drama and

really what they want is love and it's

like they're fighting to the the death

and love if you will. And it's this

almost kind of sad aspect to watch. And

so I think that it's it's it's hard to

call like what is its role in the human

experience because I don't

think I think it's just something that

we all naturally not just want but need.

And I don't think that you can really

progress. And when I say the word love

I I would like to kind of narrow it down

maybe a bit more. And I don't mean like

aeros, the Greek word, like sexy love. I

think that paternal and friendship love

are extremely important. And I think

agape like god love is also very

important. Agape love is the one that is

superior to them all but obviously

different and also, you know, co-ed with

the parental ones and all that. And so

you kind of need this mixture of them

all. And each one is different for each

reason and where it's applied. And so I

don't

think I just don't see a world in

which is good of any kind without that

as like a a very foundational piece

right? Because you know again not you

know I didn't I didn't come here trying

to quote any sort of sub scripture but

it says that it's not the nails that

hung them there. It's love. That's the

reason why these things happen. And so

it's if forgiveness is the requirement

to kind of pay off hate in some sense

then love has to be the motivation for

forgiveness. Yeah, that's uh the tragic

aspect of life. I think we're all

there's like a deep loneliness in all of

us and a

longing longing to be a part of this of

this bigger

thing. And uh that longing is is is a

love and it has many names. But yeah

that the love aspect of it is is the

beautiful aspect of life. The tragedies

the loneliness and the unfortunate

suffering that is a fundamental part of

life and the the beautiful aspect is the

love. Yeah. Uh which I think is a good

time to mention more Reddit. The the the

the place for everlasting positivity and

love. Uh somebody wrote uh please thank

him you uh for his everlasting

positivity and give him a big hug for

me. So uh I won't give you a big hug on

camera cuz I'm afraid I'll get a boner

and that will be very unfortunate. Hey

let's not bring dicks into this again.

Okay, it's my favorite data structure.

Like I said, I love dicks. Uh all kinds

of dicks. Ordered dicks. Unordered. I

know what it takes. I don't

discriminate. Uh and yeah. Uh but

just that to say like big thank you. Uh

for me, like I listen to you a lot just

and I just really enjoy I've been going

through a lot of shit myself and just

the positivity you even when you're

building the stupidest shit, it's just

the positivity radiates from you and it

you inspire me to be a good person. You

inspire me to build stuff. So, thank

you. And I'm sure there's many many

others who listen to you for the same

reason. So, thank you for your

positivity. Thank you for uh being the

light in many people's lives and thank

you for talking today, brother. Dang

that was very very kind. I really do

appreciate all those extremely nice

words even from Reddit. That's very

surprising, but yeah, thank you. I mean

I know you know

that there's many people's lives and I'm

sure you've received the letters that

have been changed from from actions and

things you've said and things you've

done. And

so it's one of the best parts about

doing this side is that you get a chance

to potentially improve somebody's life

you know, and you getting to interview a

lot of people. Like there's a lot of

people that listened to Chris Latner and

saw his excitement for Swift and

probably went and learned Swift and then

got really amazing jobs and it can be

all origined back to you and that

interview. And so it's, you know, those

are amazing things and

so same goes back to you. You've done a

lot of a lot of good stuff. Uh, right

back at you, brother. Thank you for

talking today. Thanks for listening to

this conversation with Michael Pollson

aka the Primagen. To support this

podcast, please check out our sponsors

in the description. And now, let me

leave you with some words from Paulo

Coello. When we strive to become better

than we are, everything around us

becomes better, too. Thank you for

listening and hope to see you next time.

Loading...

Loading video analysis...