TRANSKRIPTEnglish

Dave Plummer: Programming, Autism, and Old-School Microsoft Stories | Lex Fridman Podcast #479

1h 50m 23s23,340 ord1,871 segmentsEnglish

FULLSTÄNDIGT TRANSKRIPT

0:00

- The following is a conversation with Dave Plummer, programmer and an old-school

0:04

Microsoft software engineer who helped work on Windows 95, NT, and XP, building

0:11

a lot of incredible tools, some of which have been continuously

0:15

used by hundreds of millions of people, like the famed Windows Task Manager.

0:22

Yes, the Windows Task Manager, and the

0:26

zip/unzip compression support in Windows. And he ported the

0:30

code for Space Cadet Pinball, AKA 3D Pinball to Windows.

0:34

Today, he's loved by many programmers

0:38

and engineers for his amazing YouTube channel called Dave's Garage.

0:42

You should definitely go check it out. Also, he wrote a book on

0:46

autism and about his life story, called Secrets of

0:50

the Autistic Millionaire, where he gives really interesting

0:53

insights about how to navigate relationships, career, and day-to-day

0:57

life with autism. All this taken together,

1:01

this was a super fun conversation about the history and future of

1:04

programming, computing, technology, and just building cool stuff in the proverbial

1:12

garage. This is the Lex Fridman Podcast. To support it,

1:16

please check out our sponsors in the description, and now, dear

1:19

friends, here's Dave Plummer. Tell me about your first computer. Do you remember?

1:25

- I do. I didn't own my first computer for a long time, but the first computer I ever used was a

1:29

TRS-80 Model 1, Level 1, 4K machine, and I rode my bike

1:33

in fifth or sixth grade, so I was about 11, to the local RadioShack.

1:37

And, you know, they had the standard component stereo systems, everything else RadioShack had,

1:41

but they had a stack of boxes that was labeled "computer," and so I was asking the people who worked there

1:45

about it, and they said they just got it and they hadn't set it up yet.

1:49

And so I was rather precocious and I figured, "Well, I'll set it up for you," and they said, "Okay.

1:52

Have a shot." (laughs)

1:53

- Did you know what you were doing?

1:54

- Absolutely not. I mean, it's no worse than a component stereo. The only thing is that Tandy, in their infinite

1:58

wisdom, used the same five-pin DIN connector for power, video, and I think

2:02

cassette, so they were all identical, and if you plugged them in wrong, you'd blow it

2:05

up. So I read the label

2:08

and got it working and wound up playing with it and not knowing anything about

2:12

computers, so I'm typing English commands into it and, you know, PRINT 2+2 works perfectly,

2:16

yet more simple English that you enter into a Basic Level 1

2:21

interpreter is not going to get you very far.

2:23

- So you're trying to talk to it in English?

2:26

- Didn't know any better. And I still have an old foolscap that I wrote in sixth grade of

2:30

a program that's kind of illogically correct but has no

2:34

chance of working on any interpreter that existed at the time, so

2:38

it took me a while to figure out what was actually going on with them. But I rode my bike down there every Thursday

2:42

and Saturday, and they were gracious to let me use the machine.

2:45

- When was this?

2:46

- '79, '80.

2:47

- Okay. What was the state of the art of computing back then? So what are we talking about?

2:50

- Well, the big three had come out. There was the TRS-80 Model 1, there was the

2:54

PET 2001, and the Apple II came out roughly simultaneously.

2:59

- Apple II. Would you say that's the greatest computer ever built?

3:02

- Probably in retrospect. Well, I would probably give that to the Commodore 64.

3:06

- Yeah. You and I agree on this, that that was my first computer

3:10

probably many years after it was released, but yeah, Commodore 64's incredible.

3:14

But yes, Apple II had a huge impact on the history of personal computers.

3:18

- Right. It's hard to gauge the long-term impact, but I think the 64

3:22

itself probably influenced more people, so that's my reason for picking that one.

3:26

- You think so?

3:26

- The sales were certainly higher.

3:28

- So Commodore 64 sold a lot?

3:30

- Yeah. I mean, the numbers are hard to believe. It depends which numbers you believe, but even the

3:34

medium estimates were pretty high.

3:36

- All right, cool. So you eventually graduated to the Commodore 64.

3:41

Tell me about that machine. What did you do on the Commodore 64?

3:45

- Well, the first thing I did was overheat the floppy drive on it, which was unfortunate,

3:49

because it wasn't a warranty machine. My parents didn't have a lot of money,

3:53

so we bought it from Computer House as opposed to one of the major retailers, which meant

3:56

when it died, it had to go back to Germany or something to be fixed. So I was left

4:00

with no floppy, and so I had a cassette deck, which was the best you could do at the time,

4:04

and so I was writing small things, and I had a machine language monitor that you could load

4:08

from cassette. It didn't have an assembler built in, but it had a disassembler, so you could

4:12

enter the op codes in 6502 in hex, and if you were careful about planning, you'd be able to write

4:16

some basic programs. So that's kind of how I learned.

4:20

The first thing I ever wrote on it was a clone of Galaga. Now, it's a bad clone of Galaga,

4:24

but it has the major enemies that attack over time, and it's all written in

4:28

hand-coded machine language, and you can't relocate 6502, so if you need to add code

4:32

in the middle, you need to manually sort of jump to somewhere else, do your work,

4:36

jump back to where you were. It's just hideous spaghetti code, but it all worked

4:39

eventually, and I went to make a backup of it to preserve it for

4:43

future scholars, or whatever the hell I was doing.

4:46

And I copied my blank floppy onto my data floppy.

4:51

So that was my first experience with data management.

4:53

- Oh, no.

4:53

- So I don't have a copy of my first program anymore.

4:55

- What was that feeling like, of just doing something,

4:59

if I may say so, like stupid, you know? Which is a part of the

5:03

programming experience.

5:04

- Yeah, there was a huge amount of guilt because, right, you destroyed several weeks

5:07

- Yeah.

5:07

- of work, and you know it was because you rushed,

5:09

- Yeah.

5:09

- or you did something stupid, or you made an unwise choice.

5:12

- Can you tell me about the programming involved in that game?

5:15

- So it's literally machine language.

5:17

- So machine... so it's not even assembly?

5:19

- Not assembly yet, because there was no assembler built in. So I should have written

5:23

an assembler, written in assembler as my first task, but I wasn't that clever, so...

5:26

- How hard is that to do?

5:28

- Trivial, and it's one of those things that sticks, I think. You do it so many

5:32

times. You know, if I give you a C issue, there are certain syntactic

5:36

issues in C that you're never going to forget and get wrong.

5:38

And it's just one of those.

5:40

- Like, what are the limitations of programming in machine code, as a programmer?

5:44

- The biggest issue is you have to write completely sequentially because at least in that

5:48

variant, 6502, you can't add things later. You can only add things on the

5:52

end. So it's like programming a tape in a way.

5:54

- What was the most complicated thing you've built with machine language?

5:57

- That game would be. I mean, in assembly language, I've done a fair bit of complicated

6:01

stuff, but in actual machine language, I think that game would be the only thing I've actually...

6:04

- You literally built a game.

6:06

- Not a great game, but it worked.

6:07

- Okay. All right. And then you erased it?

6:10

- I did.

6:10

- All right. When did you first fall in love with programming? When you figured

6:14

out, like, this is something special.

6:18

- I think there were two stages for me. I always knew immediately that I was fascinated with

6:22

these machines, from the TRS-80 Model I. All I wanted to do was ride my bike back there

6:26

and have more time with it. And I did that to wear out my welcome as much as I could.

6:30

And the other revelation came, I think, about the second or third year of university,

6:34

when I realized, "I love programming, but I have no idea what I'm going to do.

6:37

Am I going to make the 12 flash on a VCR somewhere? Or am I going to go work on an operating system?

6:41

I have absolutely no idea what I'm going to do post-graduation. But I

6:45

love what I do." And so, I think that was a lot of consolation.

6:49

It's like, it doesn't really matter what I'm doing at this point, because I kind of love doing it, so...

6:54

- So, you'll figure it out.

6:55

As long as you're following this kind of feeling that's telling you-

6:58

- I knew I was in the right area, finally. Yeah.

6:59

- Yeah. All right. You dropped out of high school.

7:02

- Yeah. Not the smartest move.

7:03

- Okay. But you ended up going back to school and being very successful at school

7:07

and, just in general, successful as a programmer, as a developer, as a

7:11

creator of software. How were you able to

7:15

find your way? Can you tell that journey of dropping out-

7:19

... and then finding your way back?

7:21

- There's no moment when I dropped out. You just go less and less and less until you realize

7:25

it's going to be embarrassing if I show up cause I haven't been there in a long time.

7:29

And then pretty soon you're just not going, and that's how you drop out of high school.

7:32

So, if you find yourself on that path, stop doing that. But that's precisely what I did.

7:36

And so now I'm not at school, and I have to get a job, so I'm working at 7-Eleven and a paint

7:40

warehouse and stuff like that. And 7-Eleven is actually kind of an interesting

7:44

job, because it's a job I think they keep rotating for people that are smart enough

7:48

to do the night shift with all the accounting and the administration and stuff they make the night shift

7:52

do, but that have reasons personally that they need to work at 7-Eleven.

7:56

And I was one of those people, cause I had no high school diploma.

8:00

- What are some memorable moments from that time at 7-Eleven? Well, maybe

8:05

what do you appreciate about the difficulty of that job?

8:09

- Probably the worst moment for me, I mean, I got held up at knife-point and stuff, and that's all entertaining,

8:13

but the worst... The most, the suckiest part for me was doing the gas dips. We've

8:17

got a long, it's like a 15 or 20-foot wooden stick and it's measured in

8:21

gradients of inches and feet, and you drop it into the gasoline tanks and then you bring it up

8:25

and you measure where the gasoline sits, cause there's no electronic sensor.

8:29

So, I'm doing that and the first time I do it, I drop the pole and I re-grab it.

8:32

Well, that's about a thousand splinters of wood into your hands, and it's

8:36

40 below out, and that really sucked.

8:38

- Oh, wow.

8:39

- And I realized, "I don't want to do this for a whole life." I knew that, so...

8:44

- Okay. So you stand there frozen with splinters in your hand.

8:47

- And at some point, I have a revelation about my life that next

8:51

time I'm going to do it differently. And then how ludicrous that is

8:55

hits me about three seconds later, right?

8:58

And I think that was really the moment for me where I realized that I've got to do something different.

9:02

And so even though I was 21, I went and I talked to the principal of my local high

9:06

school, and I was like, "Can you let me back in?" And he's, "No, you're too old

9:10

and we don't have room," was his main reason. And I said,

9:14

"Well, between now and then, somebody's going to drop out. So you'll have room.

9:18

So let's assume you have room. Can I come back?" And he was gracious and let me come back.

9:22

And so I did the three or four classes that I needed.

9:24

- Yeah, you know, just if you can linger on that, the slow dropping

9:28

out. That's a weird thing that you can do with your brain.

9:32

You realize to yourself that you don't have to do the thing that everybody else is

9:36

doing, and that's a dangerous realization because

9:39

like, you kind of have to be part of society to do certain things.

9:44

- Right.

9:44

- And if you realize like you don't have to do what everybody else is

9:47

doing, you can either have an incredible life or a really difficult life.

9:54

- Well, the problem with that process is you're making a much smaller decision. "I'm just not gonna go to class

9:58

today."

9:58

- Yeah.

9:59

- And that's all you're deciding, but you do that enough times, you're making a much bigger decision.

10:03

And that's the problem.

10:04

- So it's better to make... If you want to live life in a non-standard way, it's

10:08

better to make the big decision explicitly, and then you can stop going.

10:12

- Yeah.

10:13

- Don't allow yourself to make the slip-ups, though.

10:15

- It'll be made for you eventually.

10:17

- Yeah. Okay. Well, you got back, and you eventually went to

10:20

college and were very successful as a student, and you weren't that good of a student

10:24

before.

10:24

- No, I was a terrible student in high school, and even my first semester of

10:28

college, I still wasn't taking it quite seriously because I got mercy passed in Geometry

10:32

90, which is like the makeup class for the Geometry 12th grade class that I didn't have.

10:37

And that scared me 'cause I realized by 1%, or the grace of the

10:40

professor that let me through, I just about ended my entire

10:44

university career here. So fortunately, those marks don't count on your transcript 'cause they're

10:48

remedial classes, and so I got kind of a fresh start the next semester and did it

10:52

for real, and I did it for me, and that made all the difference.

10:55

- What can you speak to, maybe by way of advice, on how to be successful as a student?

11:00

- Well, ideally there's some aspect of school that you do enjoy, whether it's art, whether

11:04

it's computer science, whether it's shop class, whatever. So go for those classes

11:08

and

11:09

and just put up with and do the hard stuff because it's way easier than having to do it

11:13

later. That's easy to say when you're 50-something; it's harder when you're

11:16

15-something, but... ...It makes a lot of sense.

LÅS UPP MER

Registrera dig gratis för att få tillgång till premiumfunktioner

INTERAKTIV VISARE

Titta på videon med synkroniserad undertext, justerbart överlägg och fullständig uppspelningskontroll.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

AI-SAMMANFATTNING

Få en omedelbar AI-genererad sammanfattning av videoinnehållet, nyckelpunkter och slutsatser.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

ÖVERSÄTT

Översätt transkriptet till över 100 språk med ett klick. Ladda ner i valfritt format.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

MIND MAP

Visualisera transkriptet som en interaktiv mind map. Förstå strukturen med ett ögonkast.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

CHATTA MED TRANSKRIPT

Ställ frågor om videoinnehållet. Få svar från AI direkt från transkriptet.

REGISTRERA DIG GRATIS FÖR ATT LÅSA UPP

FÅ UT MER AV DINA TRANSKRIPT

Registrera dig gratis och lås upp interaktiv visning, AI-sammanfattningar, översättningar, mind maps och mer. Inget kreditkort krävs.

    Dave Plummer:… - Fullständigt Transkript | YouTubeTranscript.dev