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

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

By Lex Fridman

In this Lex Fridman Podcast episode, Dave Plummer shares his journey from writing code on a TRS-80 Model 1 at Radio Shack to becoming a Microsoft engineer who developed crucial Windows components. Plummer discusses the technical details of his contributions to Windows, including the creation of Task Manager and the implementation of Windows XP's activation system, while explaining how he optimized these tools for efficiency.

The conversation explores how Plummer's autism has shaped his programming career, from enhancing his ability to focus on technical details to presenting challenges in social interactions. He also describes his current projects, including his work with reinforcement learning to master the game Tempest, his restoration of vintage PDP-11 hardware, and his leadership of the GitHub Primes project, which benchmarks prime number algorithms across programming languages.

Listen to the original

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

This is a preview of the Shortform summary of the Aug 29, 2025 episode of the Lex Fridman Podcast

Sign up for Shortform to access the whole episode summary along with additional materials like counterarguments and context.

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

1-Page Summary

Dave Plummer's Background and Journey as a Programmer

Dave Plummer's programming journey began at age 11 when he encountered a TRS-80 Model 1 computer at Radio Shack. His early passion led him to regularly visit the store to use their computers, eventually progressing to writing a Galaga clone on a Commodore 64. Despite dropping out of high school and working low-wage jobs, a pivotal moment at 7-Eleven motivated him to return to education. He successfully completed high school at 21 and went on to thrive in university before joining Microsoft.

Dave Plummer's Windows Software Technical Details

As a Microsoft engineer, Plummer developed several crucial Windows components. His Windows Task Manager, initially created for personal use, was designed to be robust and compact at just 87KB. Plummer explains that he optimized it using multi-threading and avoided linking to C runtime libraries for efficiency. He also developed Windows' first zip utility, which Microsoft acquired, leading to his official employment with the company. Additionally, Plummer contributed to Windows Media Center prototypes and implemented Windows XP's activation system, though he acknowledges the activation process was cumbersome for users.

Dave Plummer: Autism's Impact on His Life and Career

Plummer discusses how his autism has influenced his programming career, noting that his logical, detail-oriented mindset and intense focus benefit his work. However, he explains that he faces challenges with social interactions and non-literal communication. To manage these challenges, Plummer and his wife have developed explicit communication strategies, and he employs what he calls "emotional post-processing" to analyze social interactions after they occur. He advises other autistic individuals to showcase their work through portfolios rather than relying on personality in professional situations.

Dave Plummer's Current Technical Projects and Hobbies

Plummer describes his recent work with reinforcement learning to master the classic game Tempest, creating an AI that can play up to level 36. He's also invested six months in restoring PDP-11 hardware, combining his passion for vintage computing with hands-on engineering. Additionally, Plummer leads the "GitHub Primes" project, which benchmarks prime number algorithms across various programming languages. He notes that languages like Zig, Rust, C++, and C consistently show the best performance in these tests.

1-Page Summary

Additional Materials

Clarifications

  • The TRS-80 Model 1 computer was one of the early personal computers released by Radio Shack in the late 1970s. It was part of the TRS-80 line of computers and was popular for its affordability and accessibility to hobbyists and early computer enthusiasts. The TRS-80 Model 1 featured a Zilog Z80 processor and was known for its expandability and compatibility with various peripherals. It played a significant role in the early days of personal computing and helped inspire many individuals, like Dave Plummer, to pursue programming and technology.
  • Dave Plummer optimized the Windows Task Manager by utilizing multi-threading to enhance performance and efficiency. He avoided linking to C runtime libraries to streamline the code and reduce the overall size of the application. This approach helped create a compact Task Manager that was only 87KB in size. Plummer's optimization techniques aimed to make the Task Manager robust and resource-efficient for users.
  • "Emotional post-processing" is a term used by Dave Plummer to describe his method of reflecting on social interactions after they occur. It involves analyzing the emotional aspects of conversations or situations to better understand them. This process helps him navigate social challenges that may arise due to his autism. By reviewing and interpreting emotions and social cues after the fact, he can improve his understanding and responses in future interactions.
  • The PDP-11 is a series of 16-bit minicomputers known for their innovative features and ease of programming. It was a successful product line by Digital Equipment Corporation, with hundreds of thousands sold. The PDP-11 influenced the design of later microprocessors like the Intel x86 and operating systems such as Unix. It played a significant role in the history of computing, particularly in real-time applications and software development.
  • The "GitHub Primes" project led by Dave Plummer benchmarks prime number algorithms in various programming languages to compare their performance. This project involves testing how efficiently different languages like Zig, Rust, C++, and C handle prime number calculations. By analyzing and comparing the results, the project aims to highlight which programming languages excel in generating prime numbers. The focus is on performance metrics and efficiency when it comes to prime number algorithms across a range of popular programming languages.

Get access to the context and additional materials

So you can understand the full picture and form your own opinion.
Get access for free
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Dave Plummer's Background and Journey as a Programmer

Dave Plummer, a former Microsoft programmer, has an unconventional journey that started at a young age with a deep curiosity about computers and led to notable accomplishments in programming.

Dave Plummer's Early Exposure and Curiosity About Computers

Plummer's Trs-80 Model 1 Computer Programming Journey

Dave Plummer's initial encounter with a computer was around 1979 or 1980 at age 11 with a TRS-80 Model 1 in a local Radio Shack. Despite having no experience, he boldly offered to set it up and succeeded. This marked the beginning of his fascination with computers, as he made a regular practice of riding his bike to the store every Thursday and Saturday to use them. His early programming journey included transitioning to a Commodore 64, where he wrote a clone of Galaga using machine language due to the absence of a built-in assembler.

Plummer's High School Dropout and Return To Education

Plummer's Low-wage Job Experience Led Him Back to School For Programming

After gradually attending less and less, Dave Plummer eventually dropped out of high school. He found himself in low-wage jobs, such as working at 7-Eleven and a paint warehouse. Plummer describes a pivotal moment while working at 7-Eleven and suffering splinters in his hands from measuring gasoline tanks in cold weather. This discomfort was a wake-up call, motivating him to seek a change in his life.

Plummer Thrives As a Student After High School Struggles

Despit ...

Here’s what you’ll find in our full summary

Registered users get access to the Full Podcast Summary and Additional Materials. It’s easy and free!
Start your free trial today

Dave Plummer's Background and Journey as a Programmer

Additional Materials

Actionables

  • Explore coding with retro emulation to connect with the roots of programming and appreciate its evolution. Start by downloading an emulator for a classic computer like the TRS-80 or Commodore 64 and try out simple coding tutorials available online. This hands-on experience can give you a sense of the history of programming and inspire you to learn how far technology has come.
  • Create a personal "comeback story" by setting a goal that requires you to overcome a past setback. If you've previously given up on a hobby, subject, or skill, commit to re-engaging with it. Set specific, achievable milestones, such as completing an online course or building a small project, to track your progress and maintain motivation.
  • Apply the "principal persuasion" technique to negotiate opportunities in your life. Identi ...

Get access to the context and additional materials

So you can understand the full picture and form your own opinion.
Get access for free
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Dave Plummer's Windows Software Technical Details

Dave Plummer, a former Microsoft engineer, played a crucial role in developing several core Windows components. His contributions to the Windows Task Manager, Zip utility, Media Center, and Windows XP Activation reflect his ingenuity and technical prowess.

Plummer's Role In Developing the Windows Task Manager

Plummer was known for having a knack for debugging, which served him well during his time developing the Windows Task Manager, a project he initially began for personal use. Eventually, he brought the Task Manager in-house to Microsoft.

Techniques Plummer Used to Optimize Task Manager Efficiency

Task Manager was coded in C++ for Windows NT. To optimize its efficiency, Plummer designed it to be robust and compact, with the original version being only about 87KB. He utilized multi-threading so the application would remain responsive and never freeze, separating time-consuming API calls into a different thread from the main app functionality. Intentionally, he didn't link to the C runtime libraries, as doing so would nearly double the app’s size. Although this required manually calling object constructors, the end result was a small and efficient program. Additionally, he developed a system to effectively update the UI, similar to Hamming code, to only repaint cells that had changed or become 'dirty.'

Core Functionality of Task Manager Unchanged

Despite the addition of new features like GPU and thermal tracking, the core functionality of Task Manager has remained mostly unchanged over the years. It was created as a tool for users to manage system processes and track hardware resource usage. The tool’s continued relevance was underscored by Lex Fridman, who mentioned its impact and widespread use.

Plummer's Implementation of Zip Support in Windows

Plummer's Zip Utility Acquired by Microsoft

Before joining the Microsoft shell team, Plummer developed a zip file support shell extension inspired by Windows 95's new shell. He sold hundreds to thousands of copies as shareware before Microsoft acquired the utility, leading him to join the company officially and forgo independent sales.

Challenges Plummer Faced Integrating Zip Support Into Windows

While integrating zip support into Windows, features such as encryption were excluded to simplify the utility, considering the legal implications of including encryption software in the OS. The zip support was driven by user demand, as there was no native support in Windows to handle zip files at the time.

Plummer's Contributions to Other Influe ...

Here’s what you’ll find in our full summary

Registered users get access to the Full Podcast Summary and Additional Materials. It’s easy and free!
Start your free trial today

Dave Plummer's Windows Software Technical Details

Additional Materials

Actionables

  • You can enhance your problem-solving skills by tackling a common issue in your daily life with a multi-threaded approach, similar to how Task Manager was optimized. For instance, if you're managing a busy schedule, break down your tasks into smaller, parallel chunks that can be handled simultaneously, like meal prepping while listening to an educational podcast.
  • Explore the basics of coding by starting a simple project in a language known for efficiency, like C++. Use free online resources to create a basic calculator or a personal budget tracker, which will give you a taste of how robust applications like Task Manager are built from the ground up.
  • Reflect on the tools and services you use daily and consider how the ...

Get access to the context and additional materials

So you can understand the full picture and form your own opinion.
Get access for free
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Dave Plummer: Autism's Impact on His Life and Career

Dave Plummer speaks candidly about the influence his autism has had on his life, particularly his career in programming, and the strategies he employs to navigate the neurotypical world.

Plummer's View on Autistic Mindset Strengths and Challenges

Plummer, who identifies as a person with autism, talks about his logical and detail-oriented mindset, which he says aids him in his programming abilities. However, he also faces challenges with social interactions due to his literal interpretation of communication.

Plummer's Focus and Dedication Benefit His Programming Abilities

Dave Plummer discusses how his autism allows him an incredible amount of focus and dedication to tasks he's passionate about, similar to a child's engrossment with playing with trains. He explains that his lifelong focus and curiosity, such as taking apart his mom's oven to see the mechanisms, are advantageous for a programmer. This single-minded focus and creativity in problem-solving are traits he values highly.

Plummer's Challenges With Social Interactions and Non-literal Communication

Plummer shares his struggles with sensory sensitivities, repetitive behaviors, and difficulty interpreting social cues, especially over the phone. He prefers FaceTime interactions as it helps in better understanding the implied meanings between people. Plummer admits to having a hard time deciphering what others think, often running mental simulations to anticipate responses based on his perspective. Furthermore, he discusses his literal approach to conversations and misunderstanding sarcasm, satire, humor, and figures of speech. He recollects an awkward encounter with Bill Gates, where his challenge with social nuances came to the forefront as he felt compelled to correct an inaccuracy during an introduction. The act of "masking," or emulating natural behaviors in social settings, is a conscious effort for him as he typically relies on explicit communication. Plummer recounts incidents from his childhood and marriage that highlight his direct interpretation of statements.

Plummer's Strategies For Managing Autism In Professional and Personal Life

Plummer and his wife have developed explicit check mechanisms, such as asking "you good?" to gauge each other's feelings since Plummer finds it difficult to understand subtle emotional cues. They also use a lot of affirmation, and the tone of response to their check-in question helps them understand each other better.

Plummer's "Emotional Post-Processing" for Interaction Analysis and Response Improvement

Dave Plummer describes using "emotional post-processing," analyzing his social interactions after they occur to understand the social world better. He revisits interactions to consider if he needs to correct anything and how he might handle situations differently in the future. Plummer also shared an anecdote about expressing delayed appreciation to craftsmen who restored his father's car. This reflection helps him navigate future interactions by learning from his past experiences.

...

Here’s what you’ll find in our full summary

Registered users get access to the Full Podcast Summary and Additional Materials. It’s easy and free!
Start your free trial today

Dave Plummer: Autism's Impact on His Life and Career

Additional Materials

Actionables

- You can enhance your programming skills by adopting a detail-oriented approach to problem-solving, such as creating a checklist for each project that breaks down tasks into small, manageable steps, ensuring thoroughness and accuracy.

  • By focusing on the minutiae, you'll train yourself to look for patterns and potential issues before they arise. For example, when learning a new programming language, instead of trying to build a complex application right away, start with simple exercises that focus on understanding the syntax and structure deeply.
  • Improve your understanding of social cues by practicing active listening during conversations, which involves summarizing what the other person said and asking clarifying questions.
  • This technique can help you pick up on subtleties in communication and better interpret the intentions behind words. For instance, if someone makes a joke, you could respond by saying, "That's interesting, can you tell me more about what you mean?" This invites them to explain, giving you more context to understand the humor or sarcasm.
  • Develop a personal feedback system for social interactions by keeping a journal where you note down social ...

Get access to the context and additional materials

So you can understand the full picture and form your own opinion.
Get access for free
#479 – Dave Plummer: Programming, Autism, and Old-School Microsoft Stories

Dave Plummer's Current Technical Projects and Hobbies

Dave Plummer, a former Microsoft engineer, shares his latest explorations in technology, from mastering classic games through AI to tinkering with vintage hardware and evaluating programming languages’ performance.

Plummer's Use of Reinforcement Learning to Master Tempest

Dave Plummer details his method for mastering the classic Atari game Tempest using reinforcement learning. By reverse-engineering the game's ROMs, he extracts real-time game data which he then feeds into a reinforcement learning model.

Plummer's Method and Game Code Reverse-Engineering

Plummer first built a Lua application to extract the valuable parts of the game's memory while it runs. He then sends this game data as parameters to a Python-based processing side via a socket. Employing a dueling deep queue network, he teaches an AI to play the game. Impressively, the AI can play up to level 36, surpassing the skills of most human players. As he fine-tunes the hyperparameters, the model approaches a high level of proficiency.

Plummer's Restoration and Repurposing of Pdp-11 Hardware

With a burning passion for hardware engineering and vintage computing, Plummer has dedicated the past six months to restoring PDP-11 hardware. He is captivated by the tactile sensation of interacting with the machine’s elements like LEDs, switches, and knobs.

Plummer's Fascination With Hardware Engineering and Vintage Computing

Discussing the intricate process of manipulating the address bus and depositing memory, Plummer’s work on vintage computing hardware, especially an RA-82 drive he aims to rehabilitate, brings to light his deep engagement with the field. He plans not just to make the drive operational but to write a new driver for it, fully integrating it into the kernel.

Plummer's Role In "Github Primes" Comparing Language Performance

Dave Plummer leads a project named "GitHub primes", testing the performance of prime number algorithms across an array of programming languages.

Challenges Of ...

Here’s what you’ll find in our full summary

Registered users get access to the Full Podcast Summary and Additional Materials. It’s easy and free!
Start your free trial today

Dave Plummer's Current Technical Projects and Hobbies

Additional Materials

Counterarguments

  • While reinforcement learning is a powerful tool, it may not generalize well to more complex games or real-world scenarios where the environment is not as controlled or predictable as a classic game like Tempest.
  • The use of a Lua application and a Python-based processing side for game data extraction and AI training might not be the most efficient approach, as there could be more streamlined or modern methods or languages that could perform these tasks more effectively.
  • Restoring and repurposing vintage hardware like the PDP-11 is a niche hobby that, while valuable for historical and educational purposes, may not contribute significantly to current technological advancements or practical applications.
  • Writing a new driver for an RA-82 drive and integrating it into the kernel is an impressive technical feat, but it may have limited use outside of a hobbyist or educational context, given the obsolescence of such hardware in modern computing environments.
  • The "GitHub primes" project, while valuable for comparing language performance, may not provide a comprehensive view of a programming language's overall efficiency or suitability for a task, as it focuses solely on prime number calculation algorithms. ...

Actionables

  • You can explore the basics of reinforcement learning with online simulations to understand how AI can learn tasks without prior knowledge. Start with simple browser-based games that offer reinforcement learning modes, such as Gridworld or OpenAI's Gym, where you can observe how AI agents learn through trial and error.
  • Try hands-on learning with vintage computing by purchasing a basic electronics kit. These kits often come with components like LEDs, switches, and knobs, allowing you to create simple circuits that mimic the tactile experience of older hardware without needing to restore actual vintage equipment.
  • Participate in open-source projects to improve your coding sk ...

Get access to the context and additional materials

So you can understand the full picture and form your own opinion.
Get access for free

Create Summaries for anything on the web

Download the Shortform Chrome extension for your browser

Shortform Extension CTA