← Lex Fridman

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

第479期2025-08-29English会员内容

嘉宾:Dave Plummer

收听本集00:00 / 1:59:30
阅读设置
按你的习惯阅读
正文字号
下载播客精读
把这一篇,带走慢慢读

英文 · 精读 · 当前版本

下载功能还未开放

正文语言

精读 · 按主题梳理核心观点、论证与案例。

§01Who Dave Plummer Is

Lex Fridman introduces Dave Plummer as a programmer and old-school Microsoft software engineer who worked on Windows 95, NT and XP. Fridman credits him with tools that hundreds of millions of people have used continuously, including the Windows Task Manager and the zip/unzip compression support in Windows. Plummer also ported Space Cadet Pinball, also known as 3D Pinball, to Windows. Today he runs the YouTube channel Dave’s Garage.

Fridman also mentions Plummer’s book, Secrets of the Autistic Millionaire, which combines his life story with insights on handling relationships, career and day-to-day life with autism. Fridman frames the conversation as being about the history and future of programming, computing and technology, and about building things in the proverbial garage.

§02A First Computer in a RadioShack

Plummer did not own a computer for a long time. The first one he used was a TRS-80 Model 1, Level 1, 4K machine at his local RadioShack. He was about 11, in fifth or sixth grade, and he rode his bike to the store. The staff had a stack of boxes labeled “computer” that they had not set up yet, so he offered to set it up himself, and they let him try. He places this around ’79 or ’80.

Plummer says he had no idea what he was doing. He compares the setup to a component stereo, with one hazard: according to Plummer, Tandy used the same five-pin DIN connector for power, video and, he thinks, cassette, so plugging them in wrong could destroy the machine. He read the labels and got it working.

Because he knew nothing about computers, he tried typing English commands into it. Commands such as PRINT 2+2 worked, but ordinary English typed into a Level 1 BASIC interpreter did not get him far. He still has a sheet of foolscap from sixth grade with a program he calls “kind of illogically correct” that could not have run on any interpreter of the time. He says it took him a while to work out how the machines actually worked. He kept going back every Thursday and Saturday, and the store let him use the machine.

§03The Big Three, and the Case for the Commodore 64

Plummer describes the state of the art at the time as “the big three”: the TRS-80 Model 1, the PET 2001 and the Apple II, which came out at roughly the same time.

Fridman asks whether the Apple II is the greatest computer ever built. Plummer first says “Probably in retrospect,” then changes his answer to the Commodore 64. Fridman agrees that the Commodore 64 was incredible and says it was his own first computer, many years after its release, while adding that the Apple II had a huge impact on the history of personal computers.

Plummer admits that long-term impact is hard to judge. His reason for choosing the Commodore 64 is that it probably influenced more people, and its sales were higher. He hedges on the figures: “It depends which numbers you believe, but even the medium estimates were pretty high.” He gives no specific sales number.

§04Hand-Coding Machine Language, and Losing It All

On his own Commodore 64, the first thing Plummer did was overheat the floppy drive. His parents did not have much money, so they had bought the machine from Computer House rather than a major retailer. As a result it was not a warranty machine, and the drive had to go back to Germany, or somewhere similar, to be repaired. That left him with a cassette deck.

He loaded a machine language monitor from cassette. It had a disassembler but no assembler, so he entered 6502 op codes directly in hex. He says that with careful planning this was enough to write basic programs.

His first program was a clone of Galaga. He calls it a bad clone, but it had the major enemies attacking over time, and it was written entirely in hand-coded machine language. In this hand-entered machine-code workflow, adding code in the middle meant jumping to another location, doing the work there and jumping back. He calls the result “just hideous spaghetti code,” but it eventually worked.

When Fridman asks what limits a programmer working in raw machine code, Plummer says the biggest problem is having to write everything in sequence. In that variant, 6502, new code can only be added at the end, not inserted later.

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

Plummer stresses that this was machine language, not assembly. He says he should have written an assembler as his first task, “but I wasn’t that clever.” Asked how hard that would be, he answers “Trivial” and adds that it is one of those things that sticks once you have done it many times, like certain C syntax issues you never forget. He has done a fair amount of complicated work in assembly language, but the Galaga clone is the only thing he built in actual machine language.

The game no longer exists. When Plummer went to back it up, he copied his blank floppy onto his data floppy. He calls this his first experience with data management. He remembers feeling a great deal of guilt, because several weeks of work were gone and he knew the cause was rushing, a stupid mistake or an unwise choice.

§05Two Stages of Falling for Programming

Plummer describes two stages. The first came immediately with the TRS-80 Model I: all he wanted was to ride back to the store for more time with the machine. The second came around his second or third year of university. He loved programming but had no idea what he would do after graduating, whether that meant making the 12 flash on a VCR or working on an operating system. He found comfort in the fact that he loved the work itself.

I knew I was in the right area, finally.

§06Dropping Out, 7-Eleven, and Going Back

Plummer calls dropping out of high school “Not the smartest move.” He says there was no single moment when it happened. He attended less and less until returning would have been embarrassing, and then he stopped going. His advice to anyone on that path is to stop.

Without a diploma, he worked at 7-Eleven and a paint warehouse. In his view, 7-Eleven kept the night shift for people smart enough to handle its accounting and administrative work who also had personal reasons for needing a job there. He counted himself among them because he had no diploma.

He mentions being held up at knifepoint but says the worst part of the job was the gas dips. Because there was no electronic sensor, he measured fuel by lowering a 15- or 20-foot wooden stick, marked in inches and feet, into the tanks. The first time, he dropped the pole and grabbed it again, which put what he calls about a thousand splinters into his hands. It was 40 below outside.

Plummer says he then had a passing thought that he would do things differently next time, and about three seconds later he saw how ludicrous that was. He describes this as the moment he realized he had to change course.

At 21, he asked the principal of his local high school to let him back in. The principal said no, mainly because Plummer was too old and the school had no room. Plummer argued that someone would drop out before he started, so there would be room. The principal let him return, and he completed the three or four classes he needed.

§07How Small Decisions Become Big Ones

Fridman calls the slow drift out of school a strange thing the brain can do. Realizing you do not have to do what everyone else does is dangerous, he argues, because some things require being part of society, and that realization can lead to either an incredible life or a very difficult one.

Plummer locates the danger in how the decision is made. Each day you only decide to skip one class, but those choices add up to a far larger one.

“I’m just not gonna go to class today.” And that’s all you’re deciding, but you do that enough times, you’re making a much bigger decision. And that’s the problem.

Fridman concludes that anyone who wants to live unconventionally should make the big decision explicitly rather than let it build up through small slips. Plummer adds a warning: “It’ll be made for you eventually.” Fridman then notes that Plummer, who had not been a strong student, went on to college and did very well there.

§08A near-miss in school and a fresh start

Dave Plummer is blunt about his early academic record. He says he was "a terrible student in high school" and still wasn't taking school seriously in his first semester of college. That semester he was "mercy passed" in Geometry 90, a makeup class for the 12th-grade geometry course he had never taken. He describes the pass as coming down to "1% or the grace of the professor," and says it scared him: he realized he had almost ended his university career before it started.

He also had some luck with the system. Because these were remedial classes, he says the marks didn't count on his transcript, which gave him a clean slate the following semester. The change he points to is about motivation more than technique. He started treating school as something he was doing for himself.

So, I got kind of a fresh start the next semester and did it for real, and I did it for me, and that made all the difference.

When Lex Fridman asks for advice to students, Plummer stays modest. He suggests finding the part of school you actually enjoy, "whether it’s art, whether it’s computer science, whether it’s shop class," leaning into it, and putting up with the hard parts, because they are "way easier than having to do it later." He admits this is easier to believe at 50-something than at 15-something.

§09From a phone-company summer job to a cold email into Microsoft

Fridman frames the next step as a jump from 7-Eleven to Microsoft. Plummer says that by about his third year of university he was working a summer job at the phone company, converting their UBNet networking to TCP/IP. He says the work was mostly swapping cards and then figuring out why config.sys no longer let Lotus run once the machine had "10K less than it used to." He calls it "a horrible time to be working in computers."

At lunch in the food court, he was reading a history of Microsoft. He isn't sure of the title and gives it, tentatively, as "Microsoft or Bill Gates and the Making of Microsoft Hard Drive." He describes it as a matter-of-fact account of how the company came to be, how it ran and what its people were like. The book made Microsoft sound like exactly the place he wanted to be, but he was in Saskatchewan.

His way in came from his own software. HyperCache, the shareware he had used to pay his way through school, came with four-by-six registration cards that users mailed in with their name, address and, if they had one, an email address. He went through the whole stack, found "maybe three or four people" with Microsoft email addresses, and cold-emailed them as "an operating system student in Saskatchewan looking for an opportunity." He says he doesn't remember exactly what he wrote.

One recipient, Alasdair Banks, replied that he knew someone he could connect Plummer with. Plummer believes, though he hedges with "I think," that this was Ben Slifka. Slifka did a phone interview and eventually wanted to hire him to work on MS-DOS for the summer.

§10HyperCache: a shareware disk cache for the Amiga

Plummer says HyperCache filled a gap: the Amiga didn't ship with a file system cache "out of the box." He jokingly calls it "the weight loss program for hard drives." Asked whether it actually made money, he says it did reasonably well: he sold "a couple thousand copies" at 20 or 40 dollars each, "depending on the rules."

Technically, most of the program was written in C. The tight code that moved data to and from the cache was written in 68000 assembly. When Fridman asks whether this was file system I/O, Plummer corrects him: it worked at the level of device block I/O. Every block read from the drive went through his cache first. The cache was N-way associative and tried to match the drive's geometry, prefetching data such as a whole track at once.

Distribution started small. He believes he began by posting a 30-day trial version on Usenet and Amiga forums, and eventually some retailers picked it up. One moment stands out for him. In the late '80s, in the car of the woman who is now his wife, they took a call on her car phone, which her father had insisted on for her safety. A software retailer wanted 50 copies at 20 dollars, a thousand dollars in total, which Plummer says was a big deal "in 1989 or whatever year it is." Over time, several companies bought inventory.

§11Why Microsoft dominated: talent, focus and a standard

Asked why Microsoft dominated personal computing for so long, Plummer starts with the people. He calls the Microsoft of that era "the single most potent assemblage of smart people" he has ever been part of, comparing it with what he has seen in academia and industry. Arriving there felt like going from big cheese in a small town to deciding to stay quiet so you don't look stupid.

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.

On Bill Gates, Plummer stresses persistence and focus. He describes Gates as relentless in chasing one dream, his old slogan of a computer in every home and on every desk, and calls it Gates's "special interest." In his account, Gates was smart and very determined, and he hired people as smart as or smarter than himself. The result was "an almost unstoppable machine of intellect." Plummer adds a counterintuitive point: that machine often built very simple products.

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

Fridman calls MS-DOS pivotal to Microsoft's success. Plummer gives the business history. Before DOS, Microsoft was mostly a language company, with BASIC for many computers plus Fortran and Pascal compilers. The deal to include MS-DOS with every PC made it a standard the company could build on for decades. His verdict is balanced: Microsoft "lucked into that" to some extent, but was also smart to do it. It didn't charge IBM much, and the long-term payoff came from becoming the standard.

§12What MS-DOS actually was, and the 640K ceiling

Plummer describes MS-DOS mainly as a command launcher. You type a command name, it checks the current directory or a set path of folders, and if it finds the program, it loads it into memory and runs it. He says that is "90% of what MS-DOS does."

It has environment variables, some complexity and a small built-in scripting language. It is basically an operating system shell that gives access to resources like the hard drive and CPU. It does not multitask and has no graphical interface. Microsoft added a text-based interface for tools such as an editor and QuickBASIC in DOS 5.0, which Plummer says "I believe." MS-DOS 4.0 had a DOS shell, roughly a graphical file manager.

His conclusion is that Microsoft experimented with interfaces, but DOS remained "largely a command prompt." Asked how far it extended into device support, he focuses on memory instead. The original x86 instruction set capped it at 640K. High memory and extended memory were "Band-Aids" on top of that, and making anything work without using up base RAM meant jumping through a lot of hoops.

He explains why the ceiling shaped how OS developers worked. 640K was the most that would ever be available, and any memory the operating system used was memory users lost. Waste therefore multiplied across every machine running DOS.

So if you use 10K needlessly, you’re gonna… Every machine in the world now has 10K less, so it’s kind of a big responsibility.

Fridman asks whether Gates really said nobody would ever need more than 640K. Plummer says no: the line has been attributed to Gates, but it isn't real.

好对话,值得读完整。

免费试读到此结束。开通书架会员,继续阅读全文,解锁中英对照与电子书下载。