Category Archives: Investigative Reporting

Reflections on My Tech Career – Part 2

This is second and final part of the story of how my career as a software developer unfolded (part 1 is here). In this half I work at four different companies in the Seattle area, make my mark, and then … Continue reading

Posted in Bugs, Chromium, Floating Point, Investigative Reporting, Linux, Performance, Programming, Quadratic, Symbols, uiforetw, Unicycling, Xbox 360, xperf | Tagged , , , , , | 20 Comments

Finding a VS Code Memory Leak

In 2021 I found a huge memory leak in VS code, totalling around 64 GB when I first saw it, but with no actual limit on how high it could go. I found this leak despite two obstacles that should … Continue reading

Posted in Bugs, Code Reliability, Debugging, Investigative Reporting, memory, Programming, Rants | Tagged , , , , | 17 Comments

Acronis True Image Costs Performance When Not Used

Over two years ago I installed Acronis True Image for Crucial in order to migrate my data to a new SSD I had just purchased. It worked. I then left True Image installed “just in case”, and what harm could … Continue reading

Posted in Investigative Reporting, Performance, uiforetw, xperf | Tagged , , | 17 Comments

What this blog is about

I’ve recently told a few people that I write, that I have a blog, and then I try to describe what I write about. I’m kinda proud of some of the stuff that I’ve covered here on randomascii over the … Continue reading

Posted in Fun, Investigative Reporting, Programming, Quadratic | Tagged | 1 Comment

32 MiB Working Sets on a 64 GiB machine

Memory is a relatively scarce resource on many consumer computers, so a feature to limit how much memory a process uses seems like a good idea, and Microsoft did indeed implement such a feature. However: They didn’t document this (!) … Continue reading

Posted in Computers and Internet, Investigative Reporting, memory, Performance, Programming, uiforetw, xperf | Tagged , , | 10 Comments

No Start Menu for You

I tend to launch most programs on my Windows 10 laptop by typing the <Win> key, then a few letters of the program name, and then hitting enter. On my powerful laptop (SSD and 32 GB of RAM) this process … Continue reading

Posted in Code Reliability, Debugging, Investigative Reporting, Performance, Programming, Rants, uiforetw, xperf | Tagged , , | 28 Comments

Compiler Tricks to Avoid ABI-Induced Crashes

Last month I wrote about an odd crash that was hitting a few Chrome users. Something was corrupting the XMM7 register and that was causing Chrome to crash. We fixed a couple of bugs in Chrome and we were able … Continue reading

Posted in Chromium, Debugging, Investigative Reporting, Symbols | Tagged , , , | 2 Comments

Please Restore Our Registers When You’re Done With Them

“Hey, you. Yes you, that function over there. When you’re cleaning up please remember to restore all of my registers. Yes, that one too – what do you think this is, Linux?” That’s the problem I was dealing with in … Continue reading

Posted in Chromium, Debugging, Investigative Reporting, Symbols | Tagged , , | 25 Comments

Why Modern Software is Slow–Windows Voice Recorder

I apologize for this title because there are many things that can make modern software slow. Blindly applying one explanation without a bit of investigation is the software equivalent of a cargo cult. That said, this post describes one example … Continue reading

Posted in Investigative Reporting, Performance, uiforetw, xperf | Tagged , , | 41 Comments

Slower Memory Zeroing Through Parallelism

While investigating some performance mysteries in Chrome I discovered that Microsoft had parallelized how they zero memory, and in some cases this was making it a lot slower. This slowdown may be mitigated in Windows 11 but in the latest … Continue reading

Posted in Investigative Reporting, Performance, uiforetw | Tagged , | 13 Comments