2013 year-end link clearance

Another round of the semi-annual link clearance. Testing informercial workout systems. Understanding the Galaga No-Fire cheat. Fixing E.T. The Extra-Terrestrial for the Atari 2600. Reasons My Son Is Crying. A technical look at the Win32 thread pool. Creative usernames and Spotify account hijacking. This is a fascinating security issue caused by a helper library erroneously…


New Year’s Eve is sometimes a stressful occasion

Today is New Year’s Eve, another opportunity for to mark that an approximately-integral number of revolutions of the earth have occurred since some point in time that wasn’t even calculated correctly in the first place. (We retain it for backward compatibility.) December 31, 1999 was a particularly anxious day in the technology sector. Microsoft’s Director…


There’s no seating up there, so you just have to hang on for dear life

I dreamed that through a friend, I got to join a handful of other people atop Prince Charles’s carriage as it wound its way through London. There was no seating up there, so you just have to hang on for dear life. When we reached Buckingham Palace, the assembled crowd and reporters swarmed the carriage…


How can I get the list of programs the same way that Programs and Features gets it?

A customer wanted to get the list of programs the same way that the Programs and Features folder gets it. Here, here’s an idea: Instead of trying to mimic the Programs and Features folder, just ask the Programs and Features folder for its contents! That way, no matter what changes are made to how the…


Brief Q&A on the HeapEnableTerminationOnCorruption heap information flag

Question: What type of heaps are controlled by the Heap­Enable­Termination­On­Corruption flag? Answer: Any user-mode heap created by the Heap­Create function. This includes the process heap (Get­Process­Heap) but not the managed heap. Some components use Heap­Create under the hood. If so, then those heaps would also be affected. Question: What versions of Windows support Heap­Enable­Termination­On­Corruption? Answer:…


I think we’re going to be getting frozen leftovers for lunch today

There are a few times a year when a large fraction of employees are out on vacation at the same time, such as a single work day wedged between a holiday and a weekend (as happened this year on July 5). The most extreme case of this is the week between the Christmas holiday and New…


Why is GetWindowLongPtr returning a garbage value on 64-bit Windows?

A customer was running into problems with their application on 64-bit Windows 8. They claimed that on Windows 8, the Get­Window­Long­Ptr is returning a garbage pointer, which causes their program to crash. The same program works fine on 64-bit Windows 7. They asked the Windows team why they broke Get­Window­Long­Ptr. An investigation of the customer’s code quickly turned…


The chain of stories triggered by seeing a package of Ahoj-Brause

While surfing the Web aimlessly doing valuable background research, I happened across a page that had a picture of a package of Ahoj-Brause (pronounced ahoy browse-uh). Seeing that package triggered a bunch of memories. My emergency vacation from several years ago included a visit to a friend spending the year at Uppsala University in Sweden….


Essays from the funniest man in Microsoft Research

James Mickens has written a number of essays for ;login: magazine. The wall-of-text presentation is kind of scary, and the first time I encountered them, I skimmed the essays rather than reading them through. As a result, my reaction was, “I got tired.” But if you follow the path and read the essays through, you…


That doesn’t sound like South Frisian to me

I dreamed that I was back in college taking a course in South Frisian, but I suspected something was up because the words didn’t sound Germanic at all, and we were taught the words to a Christmas carol as Nom Yom Hear What I Hear? Also, because the course was taught by known prevaricator/exaggerator Robert…