Menu
Sign In Search Podcasts Charts Entities Add Podcast API Pricing

Dave Plummer

👤 Person
1147 appearances

Podcast Appearances

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

I do.

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

I didn't own my first computer for a long time, but the first computer I ever used was a TRS-80 Model 1 Level 1 4K machine.

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

And I rode my bike in fifth or sixth grade, so I was about 11, to the local Radio Shack.

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

And, you know, they had the standard component stereo systems and everything else the Radio Shack had, but they had a stack of boxes that was labeled computer.

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

And so I was asking the people that worked there about it, and they said they just got it and they hadn't set it up yet.

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

And so I was rather precocious, and I figured, well, I'll set it up for you.

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

And they said, okay, have a shot.

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

Did you know what you were doing?

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

Absolutely not.

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

I mean, it's no worse than a component stereo.

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

The only thing is that Tandy and their infinite wisdom use the same five-pin DIN connector for power, video, and I think cassette, so they're all identical.

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

And if you plug them in wrong, you'd blow it up.

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

So I read the label and got it working and wound up playing with it and not knowing anything about computers.

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

So I'm typing English commands into it, and, you know, print 2 plus 2 works perfectly, yet...

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

More simple in English that you enter into a basic level one interpreter is not going to get you very far.

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

Yeah.

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

Didn't know any better.

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

And I still have an old full scap that I wrote in sixth grade of a program that's kind of a logically correct, but has no chance of working on any interpreter that existed at the time.

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

It took me a while to figure out what was actually going on with them.

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

But I rode my bike down there every Thursday and Saturday, and they had graciously let me use the machines.

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

When was this?

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

79, 80.

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

Okay.

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

So what are we talking about?

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

Well, the big three had come out.

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

There was the TRS-80 Model 1, there was the PET 2001, and the Apple II came out roughly simultaneously.

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

Apple II.

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

Probably in retrospect, yes.

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

Well, I would probably give that to the Commodore 64.

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

It's hard to gauge the long-term impact, but I think the 64 itself probably influenced more people.

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

So that's my reason for picking that one.

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

You think so?

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

The sales are certainly higher.

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

So Commodore 64 sold a lot.

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

Yeah.

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

I mean, the numbers are hard to believe.

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

It depends which numbers you believe, but even the medium estimates are pretty high.

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

Well, the first thing I did was overheat the floppy drive on it, which was unfortunate because it wasn't a warranty machine.

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

My parents didn't have a lot of money, so we bought it from Computer House as opposed to one of the major retailers, which meant when it died, it had to go back to Germany or something to be fixed.

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

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

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

And so I was writing small things, and I had a machine language monitor

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

that you could load from cassette.

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

Didn't have an assembler built in, but a disassembler.

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

So you could enter the op codes and 6502 in hex.

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

And if you were careful about planning, you'd be able to write some basic programs.

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

So that's kind of how I learned.

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

And, uh,

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

The first thing I ever wrote on it was a clone of Galaga.

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

Now, it's a bad clone of Galaga, but it has the major enemies that attack over time, and it's all written in hand-coded machine language, and you can't relocate 6502, so if you need to add code in the middle, you need to manually insert a jump to somewhere else, do your work, jump back to where you were.

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

It's just hideous spaghetti code.

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

But it all worked eventually.

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

And I went to make a backup of it to preserve it for future scholars or whatever the hell I was doing.

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

And I copied my blank floppy onto my data floppy.

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

So that was my first experience with data management.

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

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

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

Yeah, there was a huge amount of guilt because, right, you destroy several weeks of work and you know it was because you rushed or you did something stupid or you made a mistake.

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

So it's literally machine language.

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

Not assembly yet because there's no assembler built in.

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

So I should have written an assembler as my first task, but I wasn't that clever.

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

How hard is that to do?

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

Trivial.

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

And it's one of those things that sticks, I think.

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

You do it so many times.

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

You know, if I give you a C issue, there are certain syntactic issues in C that you're never going to forget and get wrong.

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

Yeah.

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

And it's just one of those.

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

The biggest issue is you have to write completely sequentially because at least in that variant, 6502, you can't add things later.

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

You can only add things on the end.

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

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

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

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

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

Uh, that game would be, I mean, in assembly language, I've done a fair bit of complicated stuff, but in actual machine language, I think that game would be the only thing I've actually.

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

You literally built a game.

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

Not a great game, but it worked.

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

I think there was two stages for me.

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

I always knew immediately that I was fascinated with these machines from the TRS-80 model one.

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

It's all I wanted to do is ride my bike back there and have more time with it.

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

And I did that, you know, to wear out my welcome as much as I could.

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

And the other revelation came, I think, about second or third year university when I realized I love programming, but I have no idea what I'm going to do.

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

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

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

I have absolutely no idea what I'm going to do post-graduation, but I love what I do.

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

And so I think that was a lot of consolation.

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

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

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

I knew I was in the right area, finally.

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

Yeah.

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

Yeah, not the smartest move.

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

There's no moment when I dropped out.

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

You just go less and less and less until you realize it's going to be embarrassing if I show up because I haven't been there in a long time.

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

And then pretty soon you're just not going.

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

And that's how you drop out of high school.

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

So if you find yourself on that path, stop doing that.

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

but that's precisely what I did.

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

And so now I'm not at school and I have to get a job.

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

So I'm working at 7-Eleven and a paint warehouse and stuff like that.

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

And 7-Eleven is actually kind of an interesting job because it's a job I think they keep rotating for people that are smart enough to do the night shift with all the accounting and the administration and stuff they make the night shift do, but that have reasons personally that they need to work at 7-Eleven.

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

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

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

Probably the worst moment for me.

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

I mean, I got held up at knife point and stuff, and that's all entertaining, but the worst, the most...

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

The suckiest part for me was doing the gas dips where you've got a long, it's like a 15 or 20 foot wooden stick and it's measured in gradients of inches and feet and you drop it into the gasoline tanks and then you bring it up and you measure where the gasoline sits because there's no electronic sensor.

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

So I'm doing that.

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

And the first time I do it, I dropped the pole and I redrab it.

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

Well, that's about a thousand splinters of wood into your hands and it's 40 below out and that really sucked.

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

Oh, wow.

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

Um, yeah.

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

I realized I don't want to do this for a whole life.

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

I knew that.

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

And at some point I have a revelation about my life that next time I'm going to do it differently.

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

And then how ludicrous that is hits me about three seconds later, right?

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

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

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

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

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

And I was like, can you let me back in?

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

And he's, no, you're too old.

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

And we don't have room.

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

It was his main reason.

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

And I said, well, between now and then, somebody's going to drop out.

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

So you'll have room.

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

So let's assume you have room.

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

Can I come back?

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

And he was gracious and let me come back.

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

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

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

Well, the problem with that process is you're making a much smaller decision.

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

I'm just not going to go to class today.

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

And that's all you're deciding.

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

But you do that enough times, you're making a much bigger decision.

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

No, I was a terrible student in high school.

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

And even my first semester of college, I still wasn't taking it quite serious because I got mercy passed in Geometry 90, which is like the makeup class for the Geometry 12th grade class that I didn't have.

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

And that scared me because I realized by 1% or the grace of the professor that let me through,

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

I just about ended my entire university career here.

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

So fortunately, those marks don't count in the transcript because of remedial classes.

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

And so I got kind of a fresh start the next semester and did it for real.

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

I did it for me.

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

And that made all the difference.

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

Well, ideally, there's some aspect of school that you do enjoy, whether it's art, whether it's computer science, whether it's shop class, whatever.

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

So go for those classes and just put up with and do the hard stuff because it's way easier than having to do it later.

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

And that's easy to say when you're 50 something.

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

It's harder to say when you're 15 something, but it makes a lot of sense.

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

Yeah, it's a big jump.

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

So I had gone back to school and I think it was my third year of university.

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

I was working for the phone company for the summer as a summer job and I'm doing conversions of their UB net to TCP IP and modern networking.

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

which really amounts to swapping cars, but then figuring out why their config.sys doesn't allow Lotus to run anymore because it's got 10K less than it used to.

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

And it's just a horrible time to be working on computers, but I was doing it.

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

And at lunch, I'm sitting in the food court with the old and the bored, and I'm reading a book that I had bought called Microsoft, or Bill Gates and the Making of Microsoft.

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

Hard Drive, I think is the title.

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

And it's a great book.

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

It's just sort of a matter-of-fact history of how Microsoft came to be, what it's like, how it operates, what the people are like there.

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

And I'm reading this book, and I become really entranced by it and fascinated because it sounds like exactly the place that I want to be, but I'm in Saskatchewan, so what am I going to do about it?

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

And what I wound up doing was I had put myself through school with a program called HyperCache, which is a file system cache for the Amiga, because the Amiga didn't have any out of the box.

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

And it had done reasonably well.

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

And so I went through my registration cards because in those days you had a four by six card that people would fill out with their name and their address.

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

And if they had an email, their email, and they send it in, they get notifications of updates and so on when it's shareware.

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

And I went through the whole stack looking for anybody with a Microsoft email address.

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

And I found maybe three or four people and I just cold emailed them and said, hey, I'm a operating system student in Saskatchewan looking for an opportunity.

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

I don't remember exactly what I said.

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

But one guy, Alistair,

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

Alistair Banks, he wrote back and he said, I know somebody that I can put you in contact with.

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

And he put me in contact with a guy named Ben Slivka, who did a phone interview, who eventually wanted to hire me to work in MS-DOS for the summer.

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

So that's how I got there.

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

Yeah, it made decent money.

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

I mean, I sold a couple thousand copies, 20 bucks a copy or 40 bucks a copy.

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

What language was it written in?

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

C. C. So there were some assemblers.

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

The actual really tight code to do the real work of transferring data to and from the cache was 68,000 assembly.

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

Everything else was C.

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

Okay, this is like file system IO?

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

Device block IO.

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

So any block that gets serviced from the drive would go through my cache first, and it was an N-way associative cache.

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

And so it would try to match the geometry of the drive and do prefetch based on you're trying to read a whole track at one time, that kind of thing.

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

Yeah, it's interesting.

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

I think I started on Usenet and some of the Amiga forums posted, here's my trial version, try it out for 30 days, see what you like.

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

Okay.

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

And eventually got picked up by a few retailers.

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

And I remember I was with my now wife in her car and she had a cell phone because her dad was very concerned about her safety.

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

And so this is late 80s and she's got, you know, the antenna on the roof and the big box in the trunk, the whole deal.

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

But we got a call from one of the software retailers that wanted to buy 50 copies at 20 bucks, which to me is a thousand bucks, which in 1989 or whatever year it is, was a big deal.

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

And so eventually a number of companies just bought inventory.

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

At the time, it was the single most potent assemblage of smart people that I've ever been a part of.

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

And I've been in academia and I've been in industry to a certain extent.

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

And...

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

You know, when you're working at a regular computer company, the one guy who actually knows what he's doing, his smarter friend, he probably works at Microsoft.

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

So when you get there, you're the big cheese from your small town.

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

You think you know a lot.

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

And all of a sudden, you're just in an environment where like, uh-oh, I'm just not going to speak because I don't want to look stupid.

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

I think he was relentless in the pursuit of his one dream, which was his old slogan of a computer in every home and a computer in every desk.

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

It was his special interest.

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

He was a smart guy, super determined, and he hired people that were as smart or smarter than him to help him execute it.

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

And he built an almost unstoppable machine of intellect to go forth and make things

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

Let's say very simple products.

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

MS-DOS is not a complicated product by any stretch, but it's exactly what the market needed at that time.

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

Yeah, before DOS, they were largely a language company.

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

So they had made BASIC for a lot of computers, and they had a Fortran compiler and a Pascal compiler, that kind of thing.

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

But their deal to have MS-DOS included with every version or every instance of the PC effectively set them as a standard that they were able to leverage for decades going forward.

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

And to a certain extent, they lucked into that.

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

And on the other hand, they were smart to have done it.

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

Because they didn't charge IBM a lot of money for it, but making it a standard...

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

really played out to their advantage over time.

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

It's largely a command launcher.

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

So you type in a name of a command, it looks up to see if that's in the current directory or on a special path of folders, and it loads it into memory and executes it if it's there.

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

And that's 90% of what MS-DOS does.

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

Now, it has environment variables and some complexity and a small scripting language built in.

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

But it is basically just an operating system shell that allows you to use the resources of the computer, like the hard drive or the CPU.

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

And it doesn't allow you to multitask.

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

There's no graphical interface.

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

Now, Microsoft did add a text-based graphical interface for things like an editor and QuickBasic.

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

in DOS 5, I believe, and it was a DOS shell, which was sort of a graphical file manager in MS-DOS 4.

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

So they experimented with it, but it's largely a command prompt.

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

Well, it was limited by the original x86 instruction set, which limited it to 640K.

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

And then there were various band-aids on top of that to do high mem and then extended memory beyond that.

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

And a lot of hoops have to be jumped through to make anything work without consuming base RAM.

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

Yeah, 640k is the maximum that's ever going to be available.

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

So it's not what's available to you as an operating system developer because whatever you use is what the user won't get.

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

So if you use 10k needlessly, every machine in the world now has 10k less.

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

So it's kind of a big responsibility.

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

Nobody will ever need more than 640k?

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

One of the first things I did was to take SmartDrive, the disk cache, because I had familiarity with disk caches, and to add CD-ROM caching to it because I was new.

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

CD-ROMs were just coming out.

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

Microsoft Bookshelf was one of the few products you could run for it.

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

And as you can imagine, caching a CD speeds it up by dozens of times if you're smart about it.

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

So it was a big performance win and a nice thing to work on.

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

A bigger part of that was moving a bunch of smart drive and eventually the double-spaced compression engine up into what's known as high memory.

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

And without rat-holing on the technical aspect of it, on the XA6, there's something I believe called the A20 line.

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

And I probably have this backwards, or I got a 50-50 shot at it, but...

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

If you've got the A20 line asserted, then your memory pointers wrap at the one megabyte mark.

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

And if not, they don't.

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

So you continue going up in memory.

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

So you can rewrite memory above by combining your segment and offset registers to a number bigger than one megabyte, and you get an extra 64K.

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

And you put your code in there and then you just put stubs to jump to it from low memory.

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

And so you can get another 64K out of the machine that way.

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

And we did that for a couple of the products.

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

And I had no idea what HiMem was because I was an Amiga programmer and I'd never written any x86 code before I got there.

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

I actually worked on Windows 95 for about three or four months.

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

I was on the CommLA team doing the presentation cache, which is when you insert, say, an Excel spreadsheet or chart into a Word document, you don't want Excel to have to be loaded to render it every time, so there's a presentation cache of enhanced metafiles, and I was working on that.

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

So that shipped in Windows 95, but I moved to the Shell team about six months after getting to Microsoft, and so I worked on NT from there forward.

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

Windows 95 is an evolution of the original 16-bit Windows 3.1, which was the very first popular version of Windows.

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

And it adds 32-bit support and VXD drivers and a bunch of new technology and an entirely new user interface.

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

And it's something that at the time was revolutionary.

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

People lined up at night to wait in line to buy the thing.

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

I don't want to make it as basic as the start menu, but I think it's a big part of it.

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

I know when I first saw it, I couldn't quantify what about it was different and awesome, but I realized that I wanted to be a part of it.

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

And that's why I started writing a shell extension, which became zip folders at some point.

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

But I was just fascinated by the new shell.

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

And that's why I wound up working on the team that brought that shell over to the NT and what's Windows today.

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

Windows 95 would be number two for me.

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

I think OS 360 is going to be number one.

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

Okay, interesting.

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

If you take a machine and write a COBOL program for it in 1962, jump in your time machine, go to Poughkeepsie and boot up an IBM Z17 mainframe and run it today.

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

And they've been doing it for however many years that is.

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

And it's all on the business side, so we as consumers don't have much access to it.

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

But I think it was probably as influential in the commercial side as Windows 95 was in the home side.

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

And then probably Linux would be number three for me.

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

I put Linux as bigger than Unix, which doesn't work because you can't have one without the other.

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

But the impact of Unix, BSD, and so forth is largely in the academic space.

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

It's by programmers for programmers.

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

Yeah, and it's penetration on the server side of things now is, I don't know if it's equivalent to what System360 achieved, but it's almost ubiquitous.

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

Well, your day starts coming in, and you've got to download the address book, which is Microsoft has between 10,000 and 15,000 employees at this point, and we're all on MS Mail.

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

We're just getting off of the PDP-11 called Miss Piggy, which we're on WhizMail.

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

and we're running MS Mail.

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

But MS Mail has a fixed address book that every user must download every morning.

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

And when there's 10,000 people downloading 10,000 people, it gets pretty messy.

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

And I think we're on 10 megabit networking at the time.

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

So your first hour is downloading the address book, which was always frustrating.

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

But you'd use that time to look at the crashes that would have happened overnight from a process we called stress, which is NNT.

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

All the machines that are unused run tests all night long and they try to crash themselves.

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

And if they manage to crash themselves, it will drop into a debugger with a serial cable to another machine.

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

And you can connect to that other machine and remotely debug the crashed machine.

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

So you come in and they will have triage bugs.

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

You know, there was a crash in the start menu.

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

So we'll assign that to Dave.

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

And so you come in and that's your first thing is to connect because you got to get that machine back to the guy that owns it and unlock the machine.

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

So that's your first hour of your day is basically triage for bugs that have come up from stress overnight.

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

And then at that point, it's probably back to coding, which unfortunately 80% of the time is fixing bugs, especially in my career.

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

It was porting code and fixing bugs.

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

I wasn't writing a lot of new code.

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

There were exceptions.

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

I wrote a lot of new code on the side to get it out of my system from a day-to-day grind of always fixing bugs in other people's code, which is amazing learning.

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

Yeah, we took the entire Windows 95 user interface and we ported it to NT, which meant making it Unicode for one thing.

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

So everything that was 8-bits is now 16-bits.

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

So pointers, it's quite a mess when you switch the code over, as you can imagine.

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

It's like breaking into somebody's house and going through all their stuff and seeing the stuff in their drawers that they didn't want you to see.

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

You find all the good stuff, the pretty pictures hanging on the wall, and you find some disturbing stuff in the nightstand.

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

I saw code that was like 200-some characters wide with profanity and swears in it.

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

It eventually got all cleaned up over the years by the time I left, but it was not always the most professional code in the world.

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

line by line.

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

So you see it all.

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

Yeah.

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

It was.

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

It was basically a clean sheet design.

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

So they went and they got Dave Cutler from Digital Equipment, who had done operating systems for them, VMS and RSX-11, he had done.

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

And so he came over after, I believe it was Prism and Micah were some projects at DEC West that got canceled.

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

And so you had a whole team of guys involved.

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

Well, their project just canceled, and basically they took a whole bunch of them and came to Microsoft.

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

And I don't know specifically what the deal, but they all showed up.

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

So you get Dave Cutler and Mark Lukowski and all these really smart guys from DEC.

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

And they did basically a clean sheet, but they also had OS2 as a starting point.

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

But OS2 was, of course, written in assembly language, and NT is going to be written in C. So...

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

To what extent they were able to leverage any of that, I don't actually know.

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

But at least they had a system to start with.

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

So Dave Cutler is the architect of the kernel.

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

So he is Linus.

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

In the Linux world, it's Dave C in the Windows world.

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

Dave C, okay.

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

And it's not that there weren't other people that contributed, of course, huge pieces to it, but I think he's the driving force behind it and always largely has been.

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

And he's still, I think he's 85 now.

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

He still codes every day.

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

He's a Microsoft fellow.

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

As far as I know, he still goes into work.

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

Well, the dude's wicked smart, but he's also like a farmer.

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

He's like the guy that will follow you around and make sure that stuff gets done and gets done right to make sure that you're not checking any crap into his operating system and he won't tolerate it.

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

And he's a real taskmaster in that regard, but I think it really paid off because it was a very big paradigm shift for Microsoft developers to be subjected to the

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

Dave Cutler digital equipment style of leadership.

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

Tools are everything, I think, for one.

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

People are everything.

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

We'll just give that as a granted.

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

But the tool set is a huge factor.

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

If we would have had Git, it would have been immensely easier.

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

We were using diff and...

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

you know, manual deltas to do this porting and stuff.

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

So being able to fork a branch of source code would be a luxury that is new to me.

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

Well, what I was not present for was somebody was complaining.

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

A new hire came into the team and was working on what I believe was called Cairo.

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

And Cairo was going to be the next future operating system.

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

It was going to be beautiful and have a whole new user interface, newer than when it was 95.

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

And it never materialized.

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

But while they were working on it, one of the guys who was working on Cairo was kind of flaming on the open interface.

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

anti-dev alias, which is thousands of people, how shitty the anti-boot experience was.

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

And the response that came back was an epic flame that I wish I would have saved, and I won't name the guy who wrote it.

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

He knows who he is, but it was a work of art of angry flame mail.

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

Kind of like the ones you see Linus send every now and then about kernel stuff.

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

So it's a very similar sentiment.

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

Yeah, it got contentious.

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

So you've got intellects competing and eventually the technical merits for some people are secondary and it's about besting the other person in that argument.

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

And it's no longer productive at that point half the time, but there was a fair bit of that.

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

Yeah, I mean, there was one that I lost that still bugs me to this day, I think.

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

What's that?

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

Well, when we were doing the shell, we were porting everything from ANSI to Unicode.

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

So every character that was 8-bits now becomes 16-bits.

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

Now, the problem is I'm on a MIPS box because I'm porting it to RISC.

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

And you can't have unaligned addresses.

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

But if you take two ID lists, which are basically path components, you take the one for C colon backslash, take the one for Windows, take the one for system 32, and you add them together.

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

But if you've got an odd number of characters, now you're at an odd address in this thing.

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

And it takes me an immense amount of work to turn on exception handlers, to do unaligned byte access, to pull the string out and copy it manually.

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

It's literally like 100 to 1,000 times the amount of work to read a string out of this ID list.

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

on a MIPS machine because it's unaligned.

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

So I'm having the argument that even though it's late and the Windows 95, they've already shipped one beta that we should now just guarantee that ID lists are always an even number of bytes or do some hack to just make sure this never happens.

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

So the code that references them on other hardware can just blaze through it.

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

And it became a shouting match and sort of a personal match and I lost that one.

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

And I still think that I know today that that code running on Windows is thousands of times slower than it has to be.

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

And nobody cares because it's plenty fast, but it could be a lot faster.

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

Well, about half your day is going to be spent debugging.

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

And most of that time is going to be spent in call stacks that are in pure assembly language because there's no source level debugging.

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

So it's not like we're in Visual Studio and you hit a breakpoint and it pops up and there's the source code.

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

You can go look at the source code, but you're looking at the raw assembly dump from the machine at all times.

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

Oh, man.

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

So it's a little cumbersome.

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

Better yet, we're doing four instruction sets because we're doing Intel, MIPS, Alpha, and PowerPC.

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

So depending on which machine it crashes on, you've got an entirely different instruction set that registers.

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

So you get reasonably adapted debugging all four, but...

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

I had more experience in MIPS, so MIPS stuff would come my way.

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

Yeah, I would say that 20% of my professional life has been creating and 80% has been debugging and fixing.

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

Yeah.

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

And I mean, I got a better reputation as somebody who could fix stuff.

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

And so stuff like that would flow to me.

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

And so I would spend more time doing that.

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

I wasn't renowned as a creative UI genius where I'm flowering all these new ideas.

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

So I got to fix ugly stuff, but you get really good at that.

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

So I don't mind it until it's one of those things where you've been chasing it for so long that you don't know what to do next.

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

And you can't understand why it doesn't work or how it ever worked or whatever situation you happen to be in.

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

And, uh,

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

you know, after a day of it, it can get pretty trying.

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

I think the ones that, you know, take you a day, they resolve one of two ways.

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

Either it's like, oh, extra semicolon, and then you finally see it.

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

Or it's some horrible manifestation of cross-threaded department nonsense that was really hard.

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

But it can go both ways.

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

I had a bug.

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

It wasn't my bug, actually, but it was a manifestation of a bug in Task Manager, where every now and then it would say greater than 100% total CPU usage.

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

And this looks pretty silly for a Task Manager, so...

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

I had tried to resolve it for a long time and I'd talked to the kernel guys about my issue and they were unsympathetic, let's say, because the kernel guys are a special breed and they weren't interested in my user land problems.

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

It's probably some issue in my code, right?

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

And they're probably right, but it wasn't in this case and I was sure of it.

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

And so I kept adding asserts all through the code to make sure that the preparatory steps of adding the stuff together were never more than 100 and that the final sum was never more than 100.

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

And finally, it never asserted.

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

But occasionally we would get this bug where people would still see it.

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

And so I finally put my phone number in the assert.

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

And I was like, if you see this message called APL at 425836, my phone number.

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

And finally, we did get a catch in the actual stress debugger that I was talking about earlier, where it happened to somebody with a debugger connected.

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

We were able to go through and it was actually a kernel accounting issue and it wasn't a task manager issue.

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

So they just fixed it in the kernel once I was able to prove that it was in fact the kernel issue.

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

And you'd think we would then remove my phone number, but we just commented it out.

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

So it's shipped and it's in all the damn source code leaks for NT that are out there.

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

So that's how I find task manager code is I search for my phone number on Google and it will...

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

Reverse find the empty source code.

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

A little facetious because it's probably not the smartest thing, but you will find out.

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

Yeah, I'm a little religious about my asserts, too.

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

I don't assert things that I hope aren't true.

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

I assert things that I know cannot be true.

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

And I think that's really the intent of an assertion, so I'm overstating the obvious.

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

But when it does occur, it's a bug, plain and simple.

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

It's not a warning.

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

Yeah, it's not something I want to suggest you go back and add later.

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

It's something you should do organically as you build your code.

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

So for each function, if you've got assumptions, like I know that this pointer is never null, well, assert that.

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

If you know this count is always less than twice the byte width, assert that.

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

And don't be afraid, because if it asserts, it's doing you a favor.

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

I think some people are afraid, you know, it's like when you turn out of an intersection and you think maybe there's somebody coming and you don't look left.

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

Yeah.

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

Or maybe I want to do that, but it's like that.

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

People don't assert because they're afraid they're going to fire.

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

Well, no, you want to know.

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

So Windows Task Manager is a way to go in and find out which apps on your system are using the computer, using the hardware, using the CPU, using the memory, and which ones might be using too much or locked up or going crazy.

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

And it gives you the ability to terminate and kill those ones.

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

So it's an inspection and a fixing tool.

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

Yeah.

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

Well, I had the great fortune of working on a lot of things that people are familiar with.

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

And Task Manager was one of those side projects that I started as something that I wanted for myself.

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

And eventually came in-house.

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

So I started writing it at home and I got kind of the basics up and running.

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

And I was using, I think it's HKEY performance in the registry to get the stats because I didn't have access to the internal APIs because I was working from home and I don't call those if I'm working from home.

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

And when I brought it in-house, then I was able to call things like anti-query system information or anti-query process information and get the real

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

Answers very quickly, which enabled it to become a very fast, responsive app.

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

So people have come to rely on it because I wrote it to be as reliable as possible.

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

I wasn't worried about the features.

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

It was a basic set of functionality that I wanted in there.

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

And I got everything I wanted, but I wanted it to be really robust.

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

And so that, and small.

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

And the original was like 87K.

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

Okay.

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

You don't assume much, right?

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

If you're going to call the shell to run an app, well, that could be a network path that's on a TCP AP share that takes 90 seconds to time out.

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

So anytime you do any kind of API call like that that could take time, you're going to wind up doing it on a separate thread.

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

And so the app becomes a little bit more complex because everything is multi-threaded.

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

There's a couple of things that are a little hardcore now.

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

I'm surprised I did.

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

Like, I didn't want to link to the C runtimes at all.

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

So I made sure never to call a runtime call, and I didn't link to them.

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

And that saved me whatever the C runtime is, 96K or something.

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

So, you know, it almost doubled the size of the app if you just touched any C call.

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

So I was careful not to do that.

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

But then I was actually writing in C++, which is C with objects more than anything.

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

But...

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

In order to get it to work, I had to go through and call all the object constructors manually from the dispatch table and stuff because you don't have the runtimes to do it for you.

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

So you're working with a compiler that doesn't have its runtime, and I don't want to rat hole on the technical issues, but it's a lot of extra work to get it to work, but when you do, it's incredibly small and tight.

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

One of the cooler things that I saw is

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

I don't wanna say I invented hamming code, but I kind of invented hamming code without knowing hamming code existed.

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

So every column and every row in Task Manager has a bit on whether it's become dirty or not.

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

And then I can look basically the same way hamming code looks in your X and Y columns to find out which rows have changed, go through and find out which ones actually need to be repainted.

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

So Task Manager is super efficient and it works in concert with the ListView control, which provides that functionality to go through and repaint as little as an individual cell,

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

that changes from frame to frame.

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

So it can paint very fast.

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

It can resize very smoothly.

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

And resizing was probably my biggest personal goal with that app.

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

So you can size it to any size and it still works.

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

And even if you have 32 CPUs, which wasn't possible in the day, it will draw, I think only eight graphs and then it wraps, but it still works today.

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

So kind of proud of that.

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

The functionality is very same.

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

The reporting is more because they've added GPU and thermals and things like that, which is really nice to have.

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

We didn't have that ability in the day, so...

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

As far as I know, the original code is still mostly all there.

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

So there are layers of drawing code and dark mode code and whatever else, XML schema code that goes on top of that that makes it four megabytes instead of 87K.

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

But that's the world we live in, so.

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

Yeah, it might be locked in for a while on that one.

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

It might be good.

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

Yeah.

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

So they came into my office and said, hey, what are you doing?

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

And I said, I told them what I was doing.

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

They said, well, how do you want to spend your next three months?

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

I said, I have no idea.

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

And they said, do you want to port Pinball?

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

And I'd seen Space Cadet Pinball as a game standalone for the Win95 platform.

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

And it had a couple of different tables and it was a cool game.

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

So I was kind of excited.

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

What they wanted was some visual splash for NT to show that NT can do for then high-speed graphics and, or at least responsive graphics.

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

And so I took a shot and unfortunately, a lot of the code was in assembly and I was on the MIPS.

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

So I had to rewrite the code in C so I could then port it to all the different platforms.

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

And at the heart of the game is a huge state engine.

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

And it's like a giant switch statement with, if I remember, like 50 entries in it.

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

And it's got an Easter egg built in and decoding the state.

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

It's like running a neural network through this thing as you hit it with different states.

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

And I just put it aside and treated it as a black box.

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

And so my code runs on top of that and does the drawing and the sound and everything else.

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

But the original game is still running.

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

And somebody recently asked me, why is it slightly different?

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

The physics are slightly different from the Windows 95 version, but it should be the same code because I'm trying very hard to preserve that.

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

But what it is, is I had a bug where I will draw as many frames per second as I can, which on a modern computer could be 5,000 frames a second for pinball because it's a pretty basic game.

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

And so all your physics are interpolated 5,000 times per second instead of 30 times a second or whatever you would have got in the old ones.

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

You're getting arguably better, at least different physics.

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

But they fixed that since.

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

Why is that game so awesome?

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

I think it's a great design.

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

I mean, I take no credit for that.

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

That's all totally the guys at Cinematronics.

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

But the original game is a great design.

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

It's very similar to Black Knight 2000, which I own as an actual physical pinball machine.

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

And the layout is actually very similar.

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

I don't know if it was inspired by it or not.

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

So it's a good game.

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

Well, those things were included in the OS, not as games, but as educational tools to get you to use a mouse.

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

Oh, interesting.

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

So Solitaire is there to show you how to do drag and drop.

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

Yeah.

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

And Minesweeper is probably right click.

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

I think you put a flag or something.

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

I'm not a Minesweeper guy, but so each one of them teaches you something.

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

I used to volunteer teaching computer science at my kids' school, you know, for the third graders and stuff.

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

So it's more like logging in than computer science.

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

But, uh...

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

The kids, of course, all their dads work at Microsoft, so nobody's impressed by anything you do.

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

But one of the kids found out I worked on pinball, and then they were like, whoa, you worked on pinball?

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

Because they all knew that in those days.

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

Now the kids are probably aged out.

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

They don't know it anymore.

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

But for a brief period.

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

You say it like it's a bad thing.

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

So they came to me late in the XP ship process.

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

I don't know if the beta had gone out.

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

I don't think the beta had gone out yet, but they had intended to take the Office activation code and then adapt it to Windows and add activation to Windows.

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

But whoever was responsible for doing it had slipped it enough times that it wasn't going to happen.

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

And so I had kind of a reputation for being able to fix things quickly.

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

So they came to me and said, can you get this done in time for XP?

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

I don't know, but I'll try.

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

So with the help of the guys that were doing the DRM stuff on the DRM side and the research guys doing the math for the product keys and everything else, we cranked it out in time for XP.

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

And I don't know what actual impact is for revenue, but I imagine it's substantial when you start enforcing license keys.

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

I wonder what it is.

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

I don't know.

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

Because it's also annoying.

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

It is, especially if you have to phone activate.

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

And that was just the case that we had to carry with us as an albatross around our neck, where you've got to pass data up to the clearinghouse, the backend systems that are going to approve your key.

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

You've got to tell it all your hardware parameters, like how much memory and hard drive space and the various things the hardware key is bound to, as well as the product key.

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

And you've got encoded in letters and numbers that somebody is willing to read in over a phone.

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

And if you think doing product activation is painful over the phone, could you imagine being the person that worked on the other end of that line?

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

I mean, that's just got to be a mind-numbing job to listen to product keys for eight hours a day.

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

One of my more popular episodes of late has been why you can't move the Windows taskbar.

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

I had no idea, but the outrage is palpable amongst people that you just put it on the left or top and you can't anymore, and it is an affront to their existence.

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

And I understand it to a certain extent.

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

Well, it does cost, right?

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

Because the freedom to put the start menu on the left or the top or the right...

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

really increases the complexity of the code that renders the start menu and lays out the tabs and does all the things.

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

And now it's a much larger surface for bugs and it's a much larger piece of code to maintain.

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

So you probably need more developers or another developer or some portion of a developer's time.

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

So the question becomes at what point is it still worth it to satisfy the niche needs of a small set of users?

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

And those decisions weren't mine to make, but I could see it from both sides.

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

I bet it was.

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

I bet it was a scheduling decision when they rewrote the start menu.

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

I think they rewrote it because it's different than the old taskbar.

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

And somebody was tasked with, you've got to deliver this set of functionality.

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

And if I cut out putting it on the left and the top and the right and two rows of tabs and all the other cool features, I can deliver it four months sooner.

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

And I'm not saying that's the right decision, but I'm guessing that might be the kind of thing that motivates it.

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

And they're on such a different release schedule now.

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

It used to be

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

you won't see much craftsmanship unless somebody owns a component for a long time and it settles to a point that then you can work on and polish it.

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

Right.

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

But if it's always churning and the UI is changing every release, it's never going to get that level of polish.

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

Right.

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

They've tried that, right?

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

Google, yeah.

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

Okay, but how do you respond to the Steve Jobs aspect of giving you customization implies that we couldn't figure out the right answer for you?

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

Or maybe there is no right answer and all four answers are equally right.

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

I have no idea.

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

So that was a piece of software that I wrote at home again.

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

And what happened was I was out with my wife, and I think it was a Sunday afternoon.

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

We're driving around.

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

This is 1993, and we're living in our apartment.

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

And we're just seeing what the housing market is like out there.

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

And there's a guy, he's got this beautiful three-bedroom house and a Corvette convertible, 93 red, torch red, parked in the driveway.

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

And the house is for sale, and it's like 300K, I think.

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

And there's no chance I'm coming up with 300K at that point, or even the down payment on that.

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

So...

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

I took the flyer and I cut the picture of the house out and I taped it to my monitor.

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

And that was my incentive to just write something at night.

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

Because when I came home, I was doing two things.

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

I was one, expressing a creativity that I couldn't get out at work when I was just fixing bugs.

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

And I was trying to make some extra money.

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

And so I wrote a shell extension before I actually went to the shell team.

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

I started it.

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

And that's what led to my interest in going to the shell team based on a MSDN sample or MSJ at the time, MSJ sample that I saw on how to like bring up a folder.

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

Well, once I had the very basic bring up a folder template, adding zip file support to it was just incremental all the way.

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

And I released it as a shareware product.

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

I think it was 1995 or 2995.

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

And I sold whatever, a couple of hundreds or thousands of copies.

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

And,

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

One day I'm getting ready for work and I get a call and it's a lady and she says, are you Dave Plummer?

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

And I said, yeah.

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

And she said, are you the guy that wrote Visual Zip?

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

I said, yeah.

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

And she said, well, this is Betsy from Microsoft and we'd like you to come by and come in and talk about an acquisition of it.

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

I said, okay, what building are you in?

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

She's like, what do you mean?

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

I said, well, I'll come by.

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

And she said, well, no, you've got to talk to travel and you've got to talk to legal and this all has to be set up.

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

And I'm like, I don't get it.

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

We both work at the same place.

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

Why can't I just stop by?

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

I don't know if I said that literally, but it was a few minutes of back and forth where we both realized that she didn't know I worked there.

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

They just cold called the author and then found out that it was me.

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

Yeah, that's funny.

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

So they made me an offer on it.

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

And it's the kind of thing where if I don't accept the offer, now my choices are I can keep selling my own version and quit Microsoft, or I can stop selling my own version and work for Microsoft.

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

Neither of those is great.

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

I mean, I keep my job, of course, but I'd like to still have this income stream.

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

And the other option was accept their offer, which is what I did.

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

So then I bought a used 93 red Corvette.

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

I did.

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

So we took a lot of features out, right, to simplify it because it had encryption and it had a number of features that were common in zip programs of the day, but probably weren't appropriate for Windows.

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

And at the time, encryption was like ammunition.

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

So you couldn't just add encryption willy-nilly to various parts of the operating system.

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

So we took out some things like that.

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

Multi-volume support, I think, was taken out just to simplify it.

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

It was really born out of the BBS era when people were dialing in on modems to download trialware and shareware and other things from BBSs online.

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

And to compress them, executables compressed about half their size.

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

Other stuff compresses much more.

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

But a guy named Phil Kass came up with a command line program for MS-DOS called PKZip, which was able to do compression of programs.

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

And

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

He has a rather tragic arc, but it became ubiquitous in the entire PC industry, and pretty much everybody was using it.

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

So when Windows came out, there was no way to open up a zip file, but everybody had been creating them for a decade.

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

And so that really drove the desire to have the zip support right into Windows.

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

Yeah, and that's another piece of software that just kind of

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

And it could be vastly improved, but you know, it was written in a single core day, so it doesn't do anything multithreaded.

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

And you've got a 96 core, 79, 95.

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

Well, it uses one of them to unzip your file.

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

I worked on the initial prototypes of Windows Media Center.

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

So we did that in 96, I believe.

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

And we didn't have, at the time, any sources.

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

So we had like a CD of MPEG video files of Raging Rudolph and I think the original South Park video, the Christmas one.

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

which is all wildly inappropriate in the workplace today, but it's all the content we had until we got actually, we had them put a satellite dish on the roof, a DSS, whatever the 18-inch dish is, because we couldn't get cable to the building.

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

And so we built up this thing that would eventually look a lot like Media Center, and it was distance viewing UI for Windows, so you could sit with a remote control on a desktop and have, you know, the current start menu is not great at 20 feet away, so.

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

What it is, is when Windows has no other option, when the kernel gets into a state where something illegal has happened, so let's say a device driver is trying to write to a piece of memory it doesn't own, or it's trying to free a piece of memory twice, something that just cannot happen and the kernel has no other option, it will shut the machine down to save your work.

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

Well, not save it, prevent further damage.

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

And it puts up a blue screen and it prints out the stack information, depending on how your settings are.

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

Sometimes it's just a sad face in the current Windows.

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

So Windows 3 had a blue screen, but it's completely unrelated to the blue screen in Windows NT.

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

And I talked to the guy that wrote the blue screen in Windows NT.

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

His name's John Vert.

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

And the reason he picked white on blue, I had thought, I'd always heard, because in the labs, you could walk through a lab where we have 50 PCs all running stress.

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

Oh, that one's got a blue screen.

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

It's crashed.

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

It wasn't that simple.

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

It was just the MIPS firmware that he was building it on was blue on white.

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

And Visual Slick Edit that he was using as an editor was also the same color scheme.

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

And so you could code, boot, crash, and reboot all in the same color scheme.

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

I think there's two major things that happen with computers as you run them over time.

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

One is memory gets used and not freed.

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

Yeah.

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

And so it accumulates on the heap or in the swap file or wherever, and things get sluggish.

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

And the other is code gets into a state that the developers didn't anticipate or didn't test very well.

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

And maybe that's a rare state, but now that Notepad or Word or Excel is in that state, your system is goofy.

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

So if you just reboot the thing or shut it down or restart it, you're getting a fresh state and there's no memory leaks.

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

So it covers a lot of sins, basically.

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

In terms of beautiful code, there's two that stand out for me.

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

One is the kernel in general.

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

When you get down into the Windows kernel in the actual NT APIs and stuff, it's very well written.

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

And it's written to a standard that you don't see on the user side, or at least is uncommon on the user side.

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

On the user side, probably the coolest code I remember seeing was a guy named Bob Day wrote a named pipe implementation to eliminate the use of shared memory.

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

So Windows 95 had a big shared segment amongst all the shell processes where it would store stuff that was common to all the shells.

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

We didn't want to do that.

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

Shared memory is a bad idea on an anti-internet industrial level.

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

So he came up with a way to do it with named pipes.

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

And I remember doing the code review on it.

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

Then it was...

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

Very impressive to walk through the code.

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

It was one of those things that was like, oh, I don't think I could have done that if I was trying.

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

You know what?

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

I don't think there is anyone.

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

I've met a number of great programmers, but I'll tell you one story that impressed me a lot was when I was brand new at the company.

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

I've been there like six weeks, and I'm working on this Ole presentation cache that I mentioned earlier.

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

And I'm on Windows 95, and I've got Excel inserted into Word, and I'm in the kernel debugger, and something's going wrong in the scheduler.

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

And I've been there, you know, I've barely written any x86 code, and I'm looking at the Windows scheduler trying to figure out why my thing is deadlocked.

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

And eventually I get stuck.

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

So I'm kind of out of my element.

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

And I send an email to the Windows 95 kernel team and say, could you send somebody by?

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

And so about 10 minutes later, this developer strolls in and they're just holding a null modem cable, which is to connect my two machines together so they can debug one with the other in case I didn't have it, but it was already set up.

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

And so they sit down and they're using WinDebug, which is just a horrible debugger.

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

It's just, it's accursed.

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

But they're very, very competent with it.

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

And they are just blasting through the call stacks and they're checking all these objects in the kernel and trying to find out who's waiting on what and why things are deadlocked and what things are signaling and what's not.

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

And it's just this quick silver ballet of call stacks flying by.

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

And I'm watching this and I'm pretty blown away because I'm a good programmer, but this person is an amazing debugger and I've never seen a performance like this.

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

and uh about five minutes in i just hear oh i see and then they disconnected and got up and left and that was laura butler who became a distinguished engineer at microsoft i think she may still be i'm not sure if she's retired or not but so she kind of set my template for you know what microsoft developers were like when they're debugging and what kernel developers were like and even what female developers were like because i had such a small sample set um

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

But it was a very high standard.

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

carpenter or... I love anything done really, really well.

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

Two billion.

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

Something like that.

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

I've seen the metrics and it's up there.

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

Crazy to you?

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

It is.

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

What I love about it though, and I'm sure you've had this experience where sometimes you design a piece of software and it's complex and you get it working in your head and you get the plumbing working and you know how it's going to run and flow and then eventually you write the code and the code does that thing that you had pictured in your head.

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

Mm-hmm.

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

And now there are billions of copies of that thing that I had in my head running on millions of people or billions of people's machines.

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

And that in itself is really cool to me.

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

It's not a vanity thing so much as a I'm impressed by it, I guess.

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

How's your programming evolved over the years?

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

I take a lot more care in complexity these days.

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

So it used to be you would write code and just keep writing code, writing code, and then at some point go back and clean it up.

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

Well, I write the other way now.

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

I try to write really clean initial skeletal code and then flesh it out because I have been involved in too many projects of my own and of other people's makings where things get so messed up that they're just not fixable.

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

And so sometimes the work you put in up front pays off, you know.

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

For me, it's been C++ and assembly language.

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

Yeah, right now I'm 100% Lua and Python, but that's just a side project I'm working on.

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

What I'm doing is I wanted to build an AI to play the game Tempest.

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

That's the old Atari game Tempest.

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

And this is a game that I actually hold the world record on.

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

From 1980.

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

And it's a very complex game.

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

You've got full 360 degrees of motion.

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

You have eight shots on the screen.

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

There's like 11 enemies.

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

There's spikes.

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

So it's a very complex game.

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

It's not like trying to, you know, do Pong or something.

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

Okay.

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

And what I wound up doing was first taking the ROMs out of the machine and reverse engineering the code.

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

So I got a sense of where all the code in Tempest lives and what it does, where the zero page variables are, where things live.

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

Yeah, there's one.

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

Oh, wow.

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

That's me playing the game right there.

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

Well, it's a 3D geometric world.

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

It's basically 3D space invaders wrapped into a shape, and the enemies descend from the center of the tube towards the outside, and they all have different behaviors.

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

Wow.

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

So long story short, it's a fairly complicated game to play well.

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

and I wanted to see if I could get an AI to do it.

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

And so once I had figured out where all the interesting parts of the game lived in memory, I added them as parameters and built a Lua app to extract everything from the game's memory as it's running.

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

and puts them together as parameters, which sends it to the Python side over a socket, and then the Python side does RL learning.

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

I'm using a dueling deep queue, and I believe with two head and tail, and they chase each other, and it can play up to about level 36 now, which is way better than most humans, but that's level 96, so it's got a ways to go yet, but...

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

Yeah.

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

So you have a rotating knob, which is an optical spinner, and you have a fire button and a super zapper for emergencies.

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

But that's it.

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

Fire and rotate, basically.

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

Because it allows me to encapsulate my favorite C code in classes.

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

I'm not a big, well, I actually- You're really a C guy.

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

Yeah, I'm really a C guy.

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

Although I write two kinds of C++.

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

I write really modern C++ 20.

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

using no pointers or no character strings.

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

So it's basically as safe as Rust, as far as I'm concerned.

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

Or I write C with classes, which is standard C, but with polymorphism and encapsulation.

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

And that's most of what my code is.

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

But I try to do both.

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

Now that was, other than like family health scares, you know, when kids are sick, that was the scariest time of my life.

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

And the period leading up to it was one of the most invigorating and exciting because what had happened was while I was at Microsoft, I had written all these shareware utilities and I was selling them on the side and sold one to Microsoft as we talked about.

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

And they started to do really well.

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

And then I discovered banner advertising online.

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

And so I signed up with my credit card for a site, I think it was called FastClick.

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

And you could say, I will pay this much for a banner ad impression.

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

Here's my banner.

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

And it would rotate it in.

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

And I didn't set a cap on it.

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

I came back on Monday and I saw I had spent like $10,000 in banner ads.

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

I was like, holy crap, how am I gonna explain this to my wife?

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

This is a bug, it's a mistake, it was my fault.

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

And I looked at the sales and it had made like $38,000 worth of sales.

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

And I was like, holy cow.

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

So all I have to do is scale that at some point and basically did that for the next several years.

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

And the reason we got in trouble was the AG came in and they had... Well, I was blown away because they had like 12 court claims of action and 10 of them were...

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

which to me as a person with autism, I couldn't get past.

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

It's like, I know these 10 things are absolutely not true.

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

Why are we even here talking about them?

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

And then all they care is the two things that might be true.

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

And the two things that might be true were that it was a 30-day trial version.

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

And after your 30 days were up, it would then, if you continued to run it and not buy it or uninstall it, it would remind you once a day, not like every 10 minutes, but once a day or every time you booted your computer at most once a day.

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

And the AG contended that was too often.

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

It amounted to spam.

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

And so we agreed with them to limit it to once a week, I believe.

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

And, you know, there had to be a button to just uninstall with one click.

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

So we did those kinds of things.

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

The other one was, in those days, when somebody bought a piece of software, even if they bought it online and got a download, they fully expected there would be media showing up at their house.

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

So in the year 2001, which was 2001, 2003, we're talking about, if you bought software online,

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

there was an expectation that a disk would show up.

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

And so we made that the default was to fulfill by disk and it was 395 or 495 extra.

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

And it was very obvious, but it was a checkbox and it was turned on to ship the disk to your house.

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

Because we found if we didn't do that, we got all these calls, people would wait, we'd order two weeks later, call, where's my disk?

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

And we'd look, we didn't order a disk.

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

Well, cancel it all, I don't want it.

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

because I'm not waiting for it.

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

And so we got a lot of returns, and we didn't include the disk, and so we decided to include the disk.

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

But that is a priority violation of negative affirmation billing in Washington State, because you're giving them a default higher purchase price.

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

Yeah, and what you don't want is you don't want them to have to do it or buy it or do something to get rid of it.

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

Yeah, the one that really throws me is the use recommended settings.

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

So I just did a Windows upgrade, I went through the steps, and I'm going through this new dialog or wizard, and use recommended settings.

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

Sounds like the thing you should do, but I'm pretty sure that resets you to using the Edge browser and all this other stuff.

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

So yeah, recommended by them, but not recommended for me, and that's the difficulty.

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

Well, you don't want your operating system to be an adversary, right?

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

And sometimes Windows can feel adversarial.

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

Like it doesn't have your best interests at heart.

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

And that bugs me to a certain extent.

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

Yeah, I would much rather pay $199 for Windows Pro per year or $20 a month or whatever the fee schedule would be and not be upsold any further and not have my data monetized and those kinds of things.

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

Yeah, I mean, I'm way more self-aware now.

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

There's things I would do much differently, particularly in terms of the advertising.

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

I always figured there's a guy named David Ogilvie, and he did this ad long ago for the Volkswagen Beetle where it had a picture of a beetle, black and white, and it just said, lemon, beetles.

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

And there was a block of text below it.

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

So it's clickbaity and then informational.

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

And I always tried to follow that pattern.

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

But there's three ways to sell something, I think.

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

And you can use sex, fear, or greed.

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

And sex doesn't work really well for software.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Fear works well for antivirus and stuff, but not so much for optimization and make your computer faster utilities.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so I always tried to cater to the greed aspect.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You know, make your computer faster, get more RAM available, whatever the value proposition is.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I realize now that I'm looking at that with my knowledge.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And as an autistic person, I now have an appreciation that other people are going to look at it with their background knowledge and may conclude something different.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I might be scaring people where I was just trying to incentivize or get their greed instinct going.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I'd be more sensitive with that kind of thing today.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

the top three windows operating systems the different versions i'm a fan of windows 2000 server that's wait what really yeah okay that's what i ran my business on i ran my brother's business we set up multiple salons all vpn to one another and using the sql server and

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, I liked it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I mean, it doesn't have the visual flash that came with XP, but as a system, and especially as a server operating system, it was great for the day.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I would think so.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It certainly got the longevity for it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There's people who would still run it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I mean, I'd still run it on stuff if you get security updates because it does 98% of what I need a Windows to do, but.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Personal preference or industry impact?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I don't know if it's a very apt description, but I think of it as crisp.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it's not a lot of rough edges.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It does what it does.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's snappy.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Well, I'm happy to ruin them for you.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Okay.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it's ironic to me that I play slot machines because I know it's a losing bet overall, but there's a whole dopamine feast there of bright lights and high contrast colors that I enjoy.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I do play them.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But what happens is internally, there's basically a black box mechanism that does nothing more than generate the next random number and what the outcome is in terms of probability and payout.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then the game says, I got to make up a movie to go along with that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And maybe it's three bars or whatever it is, but there's no correlation.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's not spinning the reels, seeing where they land and looking that up to see what you won.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's completely the other direction.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It determines whether or not, or if you won and then make something up to fit that scenario.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That indeed is ruining it for everybody.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

A little bit.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Uh, what kind of code runs them?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I don't really know.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I tried to get down and get inside access to one and it was very hard.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

They don't want to tell you a lot about them.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm sure it's not that deep of a secret, but yeah, cause they're all basic windows PCs, but they're basic windows PCs on top of a very secure enclave of some kinds that I don't know a lot about.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Well, in the 70s or 80s, there was a tech in Vegas went around, and he was burning his own ROMs for the slot machines with a backdoor in them.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so when he serviced the machine, he would just put his ROM in, and he'd come back six months later and invoke the backdoor.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I like a lot of old hardware.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I restore cars, so I do a lot of 1960s muscle cars, cars and trucks.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Nice.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Old computers, so I restore PDP-11s.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's been my fascination and my special interest for the last six months or so, and I've built a number of those.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So basically what it is is I had built a number of PDP-11s, and so over the years I had acquired all these parts,

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I decided, well, let me build the best PDP-11 that I can.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so it was kind of a quest to, just like you'd try to max out a PC, I tried to max out a PDP-11.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it's got four megabytes of memory, which would be massive in the day.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And yeah, that's it there.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And it's got lots of blinking lights.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I had to rewrite the BSD kernel to make the lights work.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

What is, what's...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So the very top is a PDB 1170 control panel, which we can largely ignore.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then there's two chassis below that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

The knobs control what view you get of the LEDs.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So normally you see the data bus and you can see the address bus.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And you can pause the machine.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You can edit the address on the bus.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And you can deposit stuff into memory with the switches.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, it's a weird floppy drive.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's a dual floppy drive with one stepper motor.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So both heads seek together like Siamese twins.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, so I restore them.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, it's all real.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Wow.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Then I had to rebuild the kernel and all that, so I had to learn the BSD kernel.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm pretty familiar with it now.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Because you can't just add a device driver, right?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You've got to rebuild the kernel to add support for whatever device.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So you add a new disk controller.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's time to build the kernel.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So you've got to go find the source and find the code.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Well, the fundamental theory of thought for autism is called monotropism.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And basically what that means is that my brain does one thing, it does it very intensely, and then when it's done, I can move on and do something else.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I'm not a multitasker.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm a serial single tasker by any stretch.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Autism usually brings with it sensory sensitivities and repetitive behaviors, behavioral issues that compound it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And if they rise to the level where an individual can't moderate or accommodate them in their life, it becomes a disorder.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And that's probably 1% to 2% of the population.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

What's the biggest benefit of life with autism?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I can bring to bear an incredible amount of focus and dedication on a particular task.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And it has to be something I love.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It has to be something that's rewarding.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It has to be something I can make progress on.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And there has to be all these things that are true about it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And it can be like a kid playing with trains.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I get that same feeling.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You are actually acquiring the focus is the issue.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I'm very easily distracted.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I fall asleep with noise canceling headphones or I can't fall asleep, that kind of thing.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But once I get locked in, I'm very hard to distract.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it's kind of a paradox.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's hard to get into that state.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That I don't know what anybody else is thinking.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I know what I would think about this interaction if I was in your position and I was you.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And that's the best I can do.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I think most neurotypical people have a sense of, well, Lex probably feels this way or that way because he's acting this way and his reactions are this and his facial expressions say this.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And that's all kind of lost on me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I run a little proxy NPC game for everybody I deal with.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It can be, yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Telephone is especially hard because I rely on a lot of other cues.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And when somebody is just on the phone and I just have their voice, there's so much that's implied between people that I miss.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so I'm much better on FaceTime, where if somebody makes a joke, they might smile after.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Where on the phone, I don't know if you're being sarcastic or serious and that kind of thing.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, there's lots of times with my wife, too, where, well, there's a certain literalism that comes with autism.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And we spent years where she would say something, and I'd say, but that doesn't make sense.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

She'd go, you know what I mean.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm like, no, I know what you said, and I'm not being just combative here.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I literally only know what you said, and I don't have that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And, uh, I remember we've been in meetings with people and, uh, you know, there's three or four people in the meeting and I'm the only autistic person.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'll tell that they've got this communication loop going on.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I feel like you can't go to tell me what's going on.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Cause I really don't know what's being said here.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, my very first summer at Microsoft, when I got the internship, Bill had all the interns over.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I guess it was 20 or maybe 25 of us that got hired that year over to his house for burgers and beers and just chatting in the backyard.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And of course, it's still Bill Gates, and he's a big enough deal even then that you're a little nervous.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so my manager, Ben, who was sort of my mentor at the time, took me over to introduce me to Bill because he knew him.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And he's explaining, this is Dave.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

He's our intern from Canada.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And in the space of four months, he's done this feature and just copying smart driving, listed off all the stuff I was doing.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I stopped because I'm like, well, actually, it was three months.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I had to interrupt them.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And they both kind of, what?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And they looked at each other.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I realized that was the wrong time to correct the guy.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, I'm much better than I used to be before I didn't know.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I didn't know how injecting a correction meaninglessly into a conversation could impact and make the other person feel.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Now I got a better sense of it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

In terms of prosperity and finances, the biggest thing I can say is sell what you can do and not yourself.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Because if you go into a job interview and you try to wow them with your personality and how amazing you are, it may or may not go well.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But if you can go in with your portfolio of work and say, look, here's my GitHub history, and here are the awesome projects I contributed to, and here's the actual algorithm I wrote, and this is what I do.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I think you get a lot further with that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So whether you're playing the piano or writing code.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It does.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And that was a liability for me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I think the biggest deficit for me was when I started to manage people.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Because now you're...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

concerned about their hopes, dreams, aspirations, what motivates them.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

They have entire lives that are kind of a mystery to me because I assume they want to be motivated and led and encouraged and compensated exactly as I would.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And that's not always the case.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Some people need a lot more affirmation.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Some people just want money.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Some people want to be in the important meetings and make decisions.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I was largely oblivious to that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so eventually I had to learn that everybody that you're managing has their own set of incentives and priorities, and they're completely different from what I think they probably are.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And that's something I started doing is overtly asking because it's hard for me to nudge somebody there.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm not good with that kind of social dance, so...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, I've had laptops thrown at me and stuff, and I'm sure it was my own fault.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Now, of course, anything that has two answers has a high error rate, but...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So what's more important to society as a whole from the people?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Is it cooperation or creativity?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And if you had to pick one, which is the most important?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And most neurotypical people will generally lean towards cooperation, whereas people on the spectrum tend to lean towards creativity as individual problem solvers.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So if you want to double your precision, you can use the second test, which is you ask, there's a room with 10 chairs and six people come in and sit down in those chairs.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

How many chairs are left?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Now, some people are going to say four, but I'm going to say 10 because that's how many chairs are still there.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Literally true.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I'm not being a dick.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm not trying to be complicated, but that is how my mind works.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so when I see that question, it's like how you answer it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, everything is very literal for me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I remember as a kid, my grandfather was building a planter holder in the kitchen for my mom.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And he was using these big angle brackets that I thought were a little overkill.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I said, do you think that'll be big enough to hold the plant?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And he says, it'll be big enough to hold a horse.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I was only five, but I was very confused about, A, why you would bring a horse into your kitchen, why you would put a horse up on a planter, and all of these things that didn't make any sense to me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And obviously, it was a figure of speech.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But for a lot of my life, I took figures of speech as literal, so...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So if I meet somebody, particularly somebody new, and it's my first couple of interactions with them, it's like even meeting you today, then I will go home later and replay all of the

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

moments where I had choices to make and probably the most uncomfortable ones first to find out what did I do wrong in that moment?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

What did I miss?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

What was the other person thinking?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

How can I improve that kind of situation next time?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And do I need to go fix it or make a phone call?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That kind of thing in a bad, you know, in an extreme case.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But, uh, and that's happened a couple of times in my life.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Like I had a car restored that my dad had bought new in 69.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I still have it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So we've had a 50 years and about 20 years ago I had it restored and it was like a three year process of craftsmen working on this car for thousands of hours.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I go out to pick it up and I'm inspecting the car and I'm very impressed with the work and I'm saying, oh, this is nice and this is great and everything else.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then I fly home and write the check and the car gets delivered.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then I realized probably 10 years later that I had a whole bunch of craftsmen that had worked on my car for three years.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I probably should have blown some smoke up their butts, but what a great job they did.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I never did that because it's not what I wanted or needed in that moment.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I was completely oblivious to that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I sent an email to the manager or to the owner of the place.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I said, I don't know if you remember this, but 10 years ago, I picked up my car and I probably looked unimpressed, but I want you to know that I was very impressed with everything and the quality and everything else.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And he wrote back, he's like, I've thought of that moment often.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That's a good point to jump in there too on empathy because there is some perception in the community that people with autism lack empathy.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I don't think that's the case at all.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I can only speak for myself.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I feel fairly empathetic.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I think the problem is a communication one, and it works in both directions.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Whereas I don't know how you're feeling, so it's hard for me to be empathetic with it until you communicate to me what it is you're experiencing.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then once I know...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Once I have an understanding of what's going on in your head, I can feel incredibly sorry for you.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But until then, I'm going to assume you're going to handle it just like I would in your position, in my case, with what I know now.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, be really specific.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And don't assume I'm going to pick up on clues and nuance and subtlety.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So if you're trying to nudge me into particular behavior, you're much better off to say, Dave, this is what you need to do.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So masking is, and it's probably not the right way to describe it, but it's the act of acting normal.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And that is how do I conduct myself in a social situation in a way that other neurotypical people are going to, or that other people who are neurotypical are going to receive and accept it the right way.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And everything you do in a social interaction from waving my hands to taking facial expressions to tone of voice, to posture, to

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's a huge contrivance and it's work.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It comes natural to most people.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's just what they do.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And cool people do it really well.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But for somebody on the spectrum, you've got to fake it all.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Uh, yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Acting normal.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There's a song by Rush, you know, the band?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yes.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Uh, Limelight and it's written by Neil Peart.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I, I only speculate about people who have passed on.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I've got a sense he was probably on the spectrum.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Um, but the line is something like all the world's indeed a stage and we are merely players, performers and portrayers, each another's audience.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And he talks at length in the song about not being able to treat strangers as friends and being able to fake an affect and all that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it seems like he's struggling with masking a lot in the song and I have no idea, but that was what I took from it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Generally, it's when you're emotionally overwhelmed to the point that you can't manage your behavior anymore.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so you see it in the movie Rain Man when he's trying to get on the airplane and he's kind of forced and he starts losing it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That's a meltdown.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Or I've seen it on, they did kind of a, actually probably the best portrayal I've seen in media is, what's the TV show where the doctor is autistic?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Anyway, there's a TV show where a doctor is autistic and he's a surgeon and he is eventually banned from surgery because of his autism and he's always wanted to be a surgeon and he has a complete meltdown and it's a pretty good portrayal on television, so.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So switch flips, you go kind of a primitive brain.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Your frontal cortex shuts down to an extent, I think, so you don't have the benefit of decision-making and filtering.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You're very reptilian brain in that state.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And it's really a panic state.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so it's a panic and a fight or flight response to not being able to tolerate the current reality.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And perhaps it's been so frustrating or you've been so randomized or you had a bad travel day or an argument at work or whatever.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's added up to the point that something has now triggered you and your brain loses its ability to adequately moderate your behavior.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You know, I've been married 31 years and together for 37.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So a long history there.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I think our first indication that we knew we were very different was we were sitting in the car one night in front of the house at dark and across the street, there's kind of a nice house that has these big brick pillars that are linked by like anchor chains and it forms a fence around the yard.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I'm looking at these things because they're about two feet square and I got a capstone and I'm like, no wonder if they're hollow or they backfill, they fill with concrete or what?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And my now wife looks at me and she's like, what's wrong with you?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Why do you have a place in your head that cares about that?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And we just knew in the moment that I was passionately involved in caring and she was passionately involved in why would you even worry about that kind of thing?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

We knew we were very different.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But, uh, I was never good with people caring.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I don't get it when people like me, I guess.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And my son is the same way, because they all don't fall very far from the tree.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I got him a T-shirt that says, if you're hitting on me, please let me know and be specific because I'm clueless.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And it's very similar for me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I mean, I had to be around a long time and kind of grow on people because I had no game, because I had no ability to do the social dances that that whole thing requires.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So my only option is to just be myself, and that works for some people.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I mean, her family was way more open with that kind of thing than mine was.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so it was a growing period for me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Well, now we do a lot of affirmation and checking.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Like, in the last couple of years, we do a thing where she'll just be like, you good?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm like, yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And there's two steps to that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There's the, are you good?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then there's my response.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Because if I'm like, yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

She knows something's up.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so there's always this pinging back and forth because there's not the ability to read people just from looking at them to know what's going on.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So we have this explicit check mechanism, I think, where we've developed that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, I think a lot of people, maybe 10% to 20% of the population, is somewhere on the autism spectrum, but isn't impacted by it enough that it rises to the level of a disorder.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But they still have many of the characteristics that arise from autism.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I think if they can understand and identify and manage some of those behaviors in an optimal way, they can both leverage them to take advantage of some of the skills and mediate some of the deficits and problems that come with it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I wrote it mostly for my kids because none of them, as far as I know, have ASD, but they've all got certain aspects of my behavior that are particularly related to it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I thought I'd write a little manual for them basically.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I think it's that single-minded focus and the ability to reduce a problem and to be ultimately curious about what's inside stuff.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That's been an obsession for me my whole life.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

What's inside?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I got to take my mom's oven apart because I got to know how the flip clock works.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I think that's a good habit to have if you're going to be a programmer.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Well, it's very close to working.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I think now it's tweaking the model size and layers and stuff like that to get it to learn past the one threshold.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But, you know, it's a couple thousand lines of Lua and it's a couple thousand lines of Python and they all interact and they all work.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it's like 95% of the work is done now.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's tuning hyperparameters and hoping for the best.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, my goal was to be able to beat me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

That's tough.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It is, but lots of games now are, you know, they play them better than humans, but maybe not games as complex.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

The PDP-11 stuff, I'm trying to get at what's called an RA-82 drive.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's the big 14-inch monster that spins at 3,600 RPM and sounds like a washing machine.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then I'll find the controller card and write the code and integrate it into the driver and try to get that all working.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

What kind of code are you trying to run on it?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I'm going to have to get the driver stack to work.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I have to incorporate the driver for it into the kernel.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So we have a project called GitHub Primes.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

If you just search for GitHub Primes, you'll find it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And it is a single set of prime number algorithms implemented in about 100 different languages.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it's the exact same algorithm and we require that you follow certain rules to make it fair.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then you express that algorithm in whatever language you choose to the best of your ability.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And we run a benchmark every night and we compile the results and find out which languages are fastest.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It's all these languages.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So they all get built into an individual Docker container, and then they all run.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Zig, I think right now.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Zig.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

It does, it varies.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

People will make an improvement to the C++ and it'll pass for a while and the Zig guys will get angry and come back and make it faster.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So what they're doing is they're solving the primes up to 100 million as many times per second as they can in a five second loop.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, on all cores.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

No.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So you can do anything you want, but it has to be a prime sieve.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You're allowed to use one bit per integer at most, so you can't use a byte, which is cheaper and easier.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There are a number of rules like that that you have to allocate the memory within your timed loop.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so we have a set of rules, and we have...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Some solutions that don't follow the rules, like the 6502, because you've only got 64K, you can't do 100 million civ.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So there's a lot of solutions like that that we run as exhibition projects.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But among the main languages, they all follow the same rules.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so it really should just be how the algorithm is expressed in that language.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And many of them use the same backend compiler.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So it really is how you're expressing it and the limitations or the benefits of that language.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Are there a lot to be multiple submissions per language?

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So if you look in the C, there's like five, I think.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, some are GCC, some are CLang, LLVM.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, we've got crazy languages like PowerShell.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There's a version in PowerShell and stuff like that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, there's two guys over in Europe.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Rucker and Tudor basically own this now.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I started as just three languages.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I did Python, C Sharp, and C++.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I checked them in, and I published the episode, and then people started throwing more solutions in there, and it just got out of hand.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I had to get somebody to manage that one, and they've been great doing that for me.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I think the most fun for me is when I build something complex and I thought through how it should work and then I run it and it does work that way, that creates intense satisfaction.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So seeing the results come out the way that I planned them and have it work, because it rarely does the first time.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Or especially if it does work the first time.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I never trust that.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, I've done a ton of it for the Python side because I'm not great with Python and I'm kind of new to it, so...

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I found it very helpful because I've learned a lot from watching the code that it generates.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

If I don't know how to do something, because if I write Python from scratch, it's going to be about four times as long as what the AI can crank out because Python can be pretty terse if you're good at it.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, it's all pretty self-explanatory once you see it, but creating it from a whole cloth is a little different.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Oh, and to read it and to know what to tell it to do next and all that, yeah.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I don't think you can vibe code yourself if you're just new and haven't coded, but if you're a good programmer, AI can make you incredibly powerful.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I do.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I think, I don't want to say prompt engineer, but I think it's going to be something like that in the sense that if you're an architect building a bridge, at some point, guys were down there welding beams together, but now you're dragging things around in AutoCAD and assembling from big free form sections.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And I assume that's what programming will be like.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You won't be in there throwing individual lines of code around.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You'll be moving components and interfaces around.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

and describing to the AI what those interactions should be and letting it build the components.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I think we're still quite a ways from it being able to whole cloth generate.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

You can't say, give me a Linux kernel that's compatible with Linux.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

One day we'll be able to and it'll crank it out.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But we're not there yet.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Yeah, I kind of came up at a really fortunate time, I think, because I had to come up with the technology over the course of 30 or 40 years.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

So I understand TTL logic, and I can use AI to write code, and I kind of know all the pieces in between.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

There certainly are holes in my knowledge.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

But I think the only way to have got that level of knowledge or the completeness of that picture is to have lived it for that long.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And it's going to be hard to duplicate that for people starting now.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

I guess fundamentally what I care about is being able to make complex things that are useful to other people, which leverages my abilities in a way that allows me to be creative and to create things that other people can use in a way that if I was limited to painting or sculpting or whatever in the classic arts, I would be hopeless.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And so for me, that's really the meaning of life.

Lex Fridman Podcast
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

And then maybe you raise a couple of good kids to hand the baton off to.