Dave Plummer on Windows, Programming, and Autism

·1h 59m
Shared point

Early computers and finding a path into programming

Dave Plummer recalls discovering a TRS-80 at a Radio Shack as a child, then learning to program on a Commodore 64. He describes writing a machine-language Galaga clone and accidentally erasing it, and explains how his interest in computers grew into a love of programming.

He also recounts leaving high school, working at 7-Eleven and other jobs, returning to school, and eventually finding his way to university and Microsoft. He says making an explicit choice is better than drifting into one through repeated small decisions.

Microsoft and the evolution of Windows

From shareware to MS-DOS

Plummer explains how he developed Hypercache for the Amiga, sold it as shareware, and used contacts from its registration list to find an opportunity at Microsoft. He discusses Microsoft’s concentration of technical talent, Bill Gates’s focus on putting a computer in every home and on every desk, and how MS-DOS became a standard alongside the IBM PC.

He describes MS-DOS as primarily a command launcher, and recalls work on disk caching and making more memory available on early x86 systems.

Windows 95, NT, and software teams

Plummer talks about briefly working on Windows 95 before joining the shell team, where he helped port the Windows 95 interface to Windows NT. He compares Windows 95’s role in home computing with the influence of other operating systems, and describes NT’s clean-sheet design and the role of architect Dave Cutler.

He recalls the practical challenges of porting code to Unicode and multiple processor architectures, debugging in assembly, and disagreements among engineers. He also explains how overnight stress testing helped teams find and diagnose crashes.

Debugging and building Task Manager

Plummer says much of his career involved debugging and fixing code. He tells the story of tracing a Task Manager CPU-usage error to the kernel, and discusses using assertions to expose bugs.

He describes Task Manager as a small, responsive inspection and troubleshooting tool he first built for himself and later brought into Microsoft. He explains design choices made to keep it robust and fast, including avoiding C runtime dependencies and repainting only changed cells.

Other Microsoft projects and Windows design

Plummer recounts porting Space Cadet Pinball to Windows NT, implementing Windows activation for Windows XP, and developing ZIP-folder support from a shareware shell extension that Microsoft acquired. He also describes early Windows Media Center prototypes and explains what can trigger a Windows blue screen.

The conversation turns to Windows customization and the trade-offs between user options, code complexity, maintenance, security, and development schedules. Plummer and Lex Friedman discuss how interface decisions affect power users and user trust.

Shareware, sales practices, and Windows versions

Plummer describes growing his shareware business through online advertising and explains the issues raised by an attorney general about trial reminders and default disk purchases. He reflects on how product prompts can frustrate users, and discusses balancing sales with users’ interests.

He names Windows 2000 Server, Windows XP, and Windows 95 while discussing which Windows versions he values and the criteria he considers, including stability, impact, and consistency.

Slot machines and vintage computers

Plummer explains that slot machines determine outcomes using random numbers before generating the accompanying visual display. He also talks about restoring cars and PDP-11 computers, including a PDP-11 build with four megabytes of memory and the work needed to adapt its BSD kernel and device support.

Autism, communication, and relationships

Focus, social cues, and work

Plummer describes monotropism as a way of understanding his intense focus on one task at a time, alongside the difficulty of getting into that focused state. He discusses missing social cues, taking language literally, and using explicit communication and later reflection to make sense of interactions.

He shares advice on presenting work and skills in job interviews, and on managing people by asking directly about their motivations and priorities. He also discusses masking, meltdowns, and the role of clear communication in relationships, including his long marriage.

Autism and understanding others

Plummer discusses the idea that some people have autistic traits without meeting the threshold for a disorder, and why intense curiosity and attention to detail can suit programming. He says he does not view empathy as absent, but says it can depend on being told what another person is experiencing.

Current projects and the future of programming

Plummer describes building an AI to play Tempest, using Lua to extract game state and Python for reinforcement learning. He also explains GitHub Primes, a community project benchmarking implementations of a prime sieve across programming languages, and describes what he finds satisfying about making complex software work as intended.

The conversation closes with AI-assisted coding, which Plummer has used to learn Python. He sees AI as a useful aid for experienced programmers and expects programming to involve more assembling components and describing their interactions, while noting that AI is not yet able to generate a complete system such as a Linux-compatible kernel from scratch. He ends by describing the meaning he finds in making useful, complex things for others.

Topics

Chapters

26 chapters
Lex Fridman Podcast
AI chat — answers grounded in episodes