My initial frustration trying to configure our internal VoIP phones that were...
I remember when Microsoft made their initial internal roll-out of its VoIP phones. The VoIP phones were integrated with a desktop app which let you configure the phone, managed your telepresence, as...
View ArticleAlternate definitions for English words, as inferred from bug reports
Here are some terms that appear in bug reports. "Empty" means "There are a bunch of things here, but not the ones I wanted." "Blank" means "There are things, maybe." "The picture is wrong" can mean...
View ArticlePredator-prey reversal: Rock lobsters vs whelks on Malgas Island and Marcus...
Malgas Island is dominated by rock lobsters, who happily feast upon whelks. Just 4km away, Marcus Island is dominated by whelks, not a rock lobster to be found. Researcher Amos Barkai couldn't figure...
View ArticleHow do I destruct an object that keeps a reference to itself, because that...
Consider the case of an ordered work queue. Components can queue work to the worker thread, with the expectation that the work will run sequentially. class OrderedWorkQueue { public:...
View ArticleWhat order are pages in a memory-mapped file flushed out to disk?
Say you create a memory-mapped file mapping and write data to it. In which order will the pages be flushed out to disk? Is it in the order the pages were written? Or are pages closer to the beginning...
View ArticleEven if your assembly language code doesn’t call any Windows APIs, you still...
Writing in assembly language doesn't absolve you from adhering to the software conventions. Certainly you have more flexibility in assembly language, but that doesn't give you freedom to do anything...
View ArticlePrecision questioning: The cynical description
Precision questioning is a technique used by some senior executives at Microsoft. Although precision questioning positions itself as a toolkit for critical thinking and problem solving, its use in...
View ArticleAsking for clear written documentation that Require trusted path for...
A customer had turned on the Require trusted path for credential entry policy (under Computer Configuration, Administrative Templates, Windows Components, Credential User Interface). They demanded...
View ArticleWhy is there a limit of 15 shell icon overlays?
There is a limit of fifteen shell icon overlays. Why fifteen? The value 15 came from the corresponding limit for image lists. The ImageList_SetOverlayImage function supports up to 15 image list...
View ArticleOh no, it’s inspection time again
I recreate below a memo attached to the office doors of some occupants of the Microsoft RedWest campus fourteen years ago today. From: Reel Estate & Faculties Executive NotificationsSent: Friday,...
View ArticleOn the bogosity of speculation: Guessing the price of the original Surface
It appears that Windows 8 followed the teaser model: Show people a glimpse of the future, and then don’t mention it again until you have another big announcement. It happened in June 2011, when a brief...
View ArticleDubious security vulnerability: Code execution via LNK file
A security vulnerability report arrived that claimed to have achieved code execution via a shortcut (LNK) file. The report was somewhat convoluted, but it went something like this: Start with this...
View ArticleWhy do we need atomic operations on the 80386, if it doesn’t support...
The 80386 processor did not support symmetric multiprocessing, yet we discussed atomic operations when in our overview of the processor. If the processor doesn’t even support symmetric multiprocessing,...
View ArticleWhat does it mean when my attempt to stop a Windows NT service fails with...
A customer reported that they had a sporadic problem: Their product includes a Windows NT service, and when their client program tries to stop the service, it sometimes fails with ERROR_BROKEN_PIPE....
View ArticleOptimizing your cafeteria meal card stockpile
As I noted when I told the story of getting one’s paycheck from some mysterious pile of money, I had a colleague with a lot of money-related quirks. Back in the early 1990’s, payment for food in the...
View ArticleWhen I select multiple files in the File Open dialog, why does the last item...
If you have a File Open dialog that supports multiple selections, and you select multiple files, you may notice that the file you selected last is listed first. This is annoying when the order of the...
View ArticleEven if you open a file with GUID, you can still get its name, or at least...
Some time ago, I showed how you could eschew file names entirely and use GUIDs to open your files. But even if you choose to open the file with a GUID, you can still get its name. Take the second...
View ArticleHow can I determine the reason why my window is closing?
A customer wanted to know whether their MFC program can determine why their window is closing, similar to how WinForms does. The source code for WinForms is online. You can see how they do it, and then...
View ArticleHow can a desktop app use a Windows Runtime object that infers UI context...
Many objects in the Windows Runtime can be used from desktop apps. For today’s example, we’ll use the FileOpenPicker. This is a rather artificial example because you could just use the IFileDialog...
View ArticleToday is tax day, but it’s also division meeting day, so let’s get you some...
Many years ago, there was a division-wide meeting for all of the Windows product team. A local convention center was rented out for the occasion, buses were hired to shuttle employees to and from the...
View Article