ATRIUMsearch → argument graph
Audio · 2025-08-29 · 6 moments

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

Dave Plummer is a programmer, former Microsoft software engineer (Windows 95, NT, XP), creator of Task Manager, author of two books on autism, and host of the Dave’s Garage YouTube channel, where he shares stories from his career, insights on software development, and deep dives into technology. Thank you for listening ❤ Check out our sponsors: https://lexfridman.com/sponsors/ep479-sc See below for timestamps, and to give feedback, submit questions, contact Lex, etc. CONTACT LEX: Feedback – ✦ AI generated

timeline · colored by role

01
Anecdote

The moment that changed my life was standing frozen at 40 below with splinters in my hands from a gas dip at 7-Eleven, realizing I was going to do it the same way next time — and that made me go back to high school at age 21.

Dave describes the low point working at 7-Eleven doing gas dips in freezing weather, getting splinters, and having the epiphany that he'd just do it the same way next time — which made him realize he had to change his life and go back to finish high school.

transcript

Dave Plummer: Probably the worst moment for me. I mean, I got held up at knife point and stuff and that's all entertaining, but the worst, the most, the suckiest part for me was doing the gas dips. 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. So I'm doing that and the first time I do it, I drop the pole and I re-drab it. Well, that's about 1000 splinters of wood into your hands and it's 40 below out and that really sucked. Oh wow. I realized I don't want to do this for my whole life. I knew that. Okay, so you stand there frozen with splinters in your hand. And at some point I have a revelation about my life that next time I'm going to do it differently. And then how ludicrous that is hits me about 3 seconds later, right? And I think that was really the moment for me where I realized that I've got to do something different.

gives example · 1

02
Anecdote

I got into Microsoft by cold-emailing people whose registration cards I had from my shareware product, because I read a book about the company while working a summer job and decided that's where I had to be.

Dave describes reading 'Hard Drive' about Bill Gates and Microsoft while working a summer job, then going through his Hypercache registration cards to find anyone with a Microsoft email address, cold emailing them, and eventually getting connected to someone who hired him for MS-DOS.

transcript

Dave Plummer: 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? 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 Amiga didn't have any out of the box. And it had done reasonably well. And so I went through my registration cards, because in those days you had a 4x6 card that people would fill out with their name and their address, and if I had an email, their email, and they send it in, they get notifications of updates and so on, when it's shareware. And I went through the whole stack looking for anybody with a Microsoft email address. And I found maybe three or four people, and I just cold emailed them and said, hey, I'm an operating systems student in Saskatchewan looking for an opportunity. I don't remember exactly what I said. But one guy, Alistair, Alistair Banks, he wrote back and he said, I know somebody that I can put you in contact with.

explains mechanism · 1provides context · 1

03
Anecdote

I put my home phone number in an assert in Task Manager to catch a kernel bug that made total CPU usage show greater than 100% — and that phone number is still in the leaked NT source code to this day.

Dave describes chasing a bug where Task Manager would occasionally show >100% total CPU usage. After the kernel team dismissed it as his problem, he added asserts everywhere that never fired — then put his phone number in the assert message. A stress debugger finally caught it, proving it was a kernel accounting bug, not a Task Manager bug.

transcript

Dave Plummer: I had a bug, 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. And this looks pretty silly for a task manager. So 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. That's probably some issue in my code, right? And they're probably right, but it wasn't in this case, and I was sure of it. 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. And finally, it never asserted. But occasionally, we would get this bug where people would still see it. And so I finally put my phone number in the assert. And I was like, if you see this message, call Dave PL at 425-836, my phone number. And finally, we did get a catch in the actual stress debugger that I was talking about earlier, where it happened to somebody with the debugger connected. We were able to go through and it was actually a kernel accounting issue and it wasn't a task manager issue. So they just fixed it in the kernel once I was able to prove that it was in fact the kernel issue. And you'd think we would then remove my phone number, but we just commented it out. So it's shipped and it's in all the damn source code leaks for NTs that are out there.

gives example · 1

04
Anecdote

Windows Task Manager was a side project I wrote at home that shipped at 87K because I refused to link the C runtime — and it still runs on billions of machines today with the original code mostly intact.

Dave explains how he built Task Manager at home as something he wanted for himself, using only registry APIs to get stats, then bringing it in-house to use internal kernel APIs. He designed it to be as robust and small as possible — no C runtime, manual constructor calls — and it shipped at 87K in NT4.

transcript

Dave Plummer: Task Manager is one of those side projects that I started as something that I wanted for myself and eventually came in-house. So I started writing it at home, and I got kind of the basics up and running. And I was using, I think it's HKEYPerformance 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. 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 answers very quickly, which enabled it to become a very fast responsive app. So people have come to rely on it because I wrote it to be as reliable as possible. I wasn't worried about the features. It was a basic set of functionality that I wanted in there. And I got everything I wanted, but I wanted it to be really robust. And so that, and small. And the original was like 87K.

gives example · 1

05
Anecdote

Microsoft called me to buy my zip utility not knowing I already worked there — they cold-called the author and found out it was me — and I used the money to buy the red Corvette from the house I'd taped to my monitor as motivation.

Dave tells the story of writing a zip shell extension as shareware while at Microsoft, motivated by a picture of a house with a red Corvette taped to his monitor. Microsoft called to acquire it not knowing he was an employee, and he used the acquisition money to buy the very car from that picture.

transcript

Dave Plummer: 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? I said, yeah. And she said, are you the guy that wrote Vigil Zip? I said, yeah. 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. I said, okay, what building are you in? And she's like, what do you mean? I said, well, I'll come by. And she said, no, you got to talk to travel and you got to talk to legal and this all has to be set up. And I'm like, I don't get it. We both work at the same place. Why can't I just stop by? It was a few minutes of back and forth where we both realized that she didn't know I worked there. They just cold called the author and then found out that it was me. And so they made me an offer on it. 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. Neither of those is great. I mean, I keep my job, of course, but I'd like to still have this income stream. And the other option was accept their offer, which is what I did. So then I bought a used 93 red Corvette.

extends · 1

06
Anecdote

I watched a kernel developer named Laura Butler debug a deadlock in the Windows 95 scheduler with such speed and precision that it set my template for what Microsoft developers were capable of — a ballet of call stacks flying by, solved in five minutes.

Dave recalls being six weeks into Microsoft, stuck debugging a deadlock in the Windows 95 scheduler while working on OLE presentation cache. He called the kernel team, and Laura Butler arrived with a null modem cable, sat down, and navigated the terrible WinDbg debugger with incredible speed — checking call stacks, kernel objects, and wait chains — solving it in minutes.

transcript

Dave Plummer: I'd been there like 6 weeks, and I'm working on this Olay presentation cache that I'd mentioned earlier. 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. 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. And eventually I get stuck, so I'm kind of out of my element. And I send an e-mail to the Windows 95 kernel team and say, could you send somebody by? And so about 10 minutes later, this developer strolls in and they're just holding a null modem cable, which is to connect my 2 machines together so they can debug one with the other in case I didn't have it, but it was already set up. And so they sit down and they're using wind debug, which is just a horrible debugger. It's just, it's a cursed, but they're very, very competent with it. 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. And it's just this quick silver ballet of call stacks flying by. 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. And about 5 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.

Highlight slides
Related episodes