As far as the French government is concerned, I am the expert on Windows XP
For complex legal reasons I don't understand, Microsoft had to submit to the French government a declaration of originality for Windows XP in order to pursue a software piracy case. It is my...
View ArticleWhy does HRESULT begin with H when it’s not a handle to anything?
I got a piece of email from a colleague who wondered why HRESULT begins with an H when it's not a handle to anything. "The question came up at lunch today, and your name soon followed. We all just...
View ArticleA helper template function to wait for WaitOnAddress in a loop
The WaitOnAddress function suffers from the problem of spurious wake-ups. This means that most uses of the The WaitOnAddress function are of the form "while the value is bad, wait for it to...
View ArticleStuff my father-in-law says: On taking the train
My father-in-law was planning on taking the train to the airport. He heard that the train comes every ten minutes. By his calculations, then, he could catch the 7:50 train and be at the airport by...
View ArticleA helper template function to wait for a Win32 condition variable in a loop
Win32 condition variables suffer from the problem of spurious wake-ups, and you will usually wait on a condition variable in a loop. It's easier than the case of WaitOnAddress because you hold a...
View ArticleThe history of change-packing tools at Microsoft (so far)
Self-proclaimed "Author of unremarkable code" Jay Bazuzi posted a brief history of change-packing tools at Microsoft. First of all, what is change-packing? After you make some changes to code, you may...
View ArticleMicrospeak: Impedance mismatch
In electrical engineering, an impedance mismatch occurs when the input impedance of an electrical load does not match the output impedance of the signal source, resulting in signal reflection or an...
View ArticleHow can I reserve a range of address space and receive notifications when the...
A customer wanted to reserve a range of address space and be notified when the program first reads or writes a page in the range. It's not clear what the customer's goal is, but if it's true that all...
View ArticleHow can I reserve a range of address space and create nonzero memory on...
Last time, we looked at how you can reserve a range of address space and receive notifications when the program first reads or writes a page in the range, in the case where you merely want the...
View ArticleLike love, taxes make people do the strangest things
Tariff engineering is the study of how to make small changes to a product in order to achieve a more favorable tariff classification. Here are some great moments in tariff engineering: Converse...
View ArticleHow can I reserve a range of address space and create nonzero memory on...
Last time, we described how you can become the page access manager for a range of pages, but it required that all the accesses came from one thread at a time because you don't want another thread to...
View ArticleThe saga of Heartland vs. The United States Beet Sugar Association
I first learned about tariff engineering in the case of Heartland By-Products v. The United States. Heartland avoided the 6% tariff on "refined sugar product with 6% or less additional content (not...
View ArticleWell that was a helpful error message
errors in directory c:\src\blah c:\src\blah\mumbletool : error error: ??????????????? I guess the tool doesn't know what went wrong either. Maybe the error message could have been errors in directory...
View ArticleMicrospeak sighting: over-index
The other day, I heard the Microspeak term over-index used in the wild. It's like birdwatching, but for words. In a brief interview with Redfin CEO Glenn Kelman, they talked about the significance of...
View ArticleWhy does hypervisor remain enabled even when Hyper-V is disabled in Windows...
A customer found that even though they set the hypervisorlaunchtype to off in the boot configuration, and they unchecked Hyper-V in the Turn Windows features on or off dialog, they found that...
View ArticleCommunication by hand signals, and other complex coordination problems
Back in 1944, LIFE Magazine ran a series of photos showing some of the hand signals used by club owner Sherman Billingsley to communicate with his staff while he schmoozed with a customer. In a...
View ArticleHow can I get a signature for a Windows system that will remain unchanged...
The SystemIdentification runtime class (introduced in the Windows 10 Anniversary Update) gives you a signature for a Windows system that will remain unchanged even if the user reinstalls Windows....
View ArticleSpurious wake-ups in Win32 condition variables
Win32 condition variables are subject to spurious wake-ups, where the sleeping thread wakes up but finds that the condition it is waiting for is not satisfied, so it has to go back to sleep. It woke...
View ArticleThe case of the SRWLock violation in a thread pool work item
A customer encountered a failure detected by Application Verifier and wanted some assistance understanding what happened and how they can fix it. The verifier failure was "invalid SRWLock owner", and...
View Article// If this happens, I am going to quit and become a barista
While chasing down a bug, I ran across this comment: // Arbitrary cap on message length. // If you change the format string, then update this to match. // (Although, if we ever need to place a million...
View Article