Author Archives: brucedawson

About brucedawson

I'm a programmer, working for Google, focusing on optimization and reliability. Nothing's more fun than making code run 10x faster. Unless it's eliminating large numbers of bugs. I also unicycle. And play (ice) hockey. And juggle.

What Would Jesus’s Resume Say?

Some years ago I saw a set of resumes created by not-yet-graduated university students. They were all three to four pages long. This is too long, and I said to my daughter “Even Jesus Christ’s resume fits on one page”. … Continue reading

Posted in Fun | Tagged , , , | 11 Comments

Finding a CPU Design Bug in the Xbox 360

The recent reveal of Meltdown and Spectre reminded me of the time I found a related design bug in the Xbox 360 CPU – a newly added instruction whose mere existence was dangerous. Back in 2005 I was the Xbox … Continue reading

Posted in Debugging | Tagged , , , , | 61 Comments

Analyzing a Confusing Crash–Stack Walks Gone Bad

Part of my job always seems to include crash analysis. A program crashes on a customer’s machine, a minidump is uploaded to the cloud, and it might be my desk that it appears on when Monday morning rolls around. The … Continue reading

Posted in Debugging | Tagged , | 8 Comments

Hey Synaptics, Can You Please Stop Polling!

TL;DR – be wary of buying a Lenovo laptop or any other laptop that uses a Synaptics touch pad until Synaptics ships a fixed driver. Their driver has a memory leak and they have a battery-life bug that causes Windows … Continue reading

Posted in Investigative Reporting, Uncategorized | 29 Comments

What is Windows *doing* while hogging that lock

Earlier this month I wrote about how Windows 10 holds a lock during too much of process destruction, which both serializes this task and causes mouse-cursor hitches and UI hangs (because the same lock is used for these UI tasks). … Continue reading

Posted in Investigative Reporting, uiforetw, xperf | Tagged , , | 15 Comments

24-core CPU and I can’t move my mouse

This story begins, as they so often do, when I noticed that my machine was behaving poorly. My Windows 10 work machine has 24 cores (48 hyper-threads) and they were 50% idle. It has 64 GB of RAM and that … Continue reading

Posted in Investigative Reporting, uiforetw, xperf | Tagged , , | 229 Comments

The Spoils of Law (Moore’s Law)–a New Laptop

I just got a new laptop (Lenovo P51, four-cores, eight-threads, 32 GB RAM, multiple drive bays). My old machine was more than six years old so it was probably overdue. I wanted to record some of the reasons for the … Continue reading

Posted in Investigative Reporting, Rants | Tagged , , | 28 Comments