Microspeak: Occupant compression
This is not so much Microspeak as it is Microsoft Real Estate and Facilities-speak. The following notice was displayed in one of the buildings: Microsoft Real Estate and Facilities will be converting...
View ArticleWhat does this strange value for “Percent CPU” mean in Performance Monitor?
A customer was monitoring the CPU usage of one of their processes in the Performance Monitor tool, and they got a pretty graph and this summary: Average: 271,828 Minimum: 0,000 Maximum:...
View ArticleHow to compare two packed bitfields without having to unpack each field
Suppose you are packing multiple bitfields into a single integer. Let's say you have a 16-bit integer that you have packed three bitfields into: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 r g b Suppose you...
View ArticleMy 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 ArticleOn resolving the type vs member conflict in C++: The Color Color problem
In C++, there are ambiguities when a member function has the same name as a type. Consider: // Some header file from a UI library you are using namespace Windows::UI::Xaml { enum class Visibility {...
View ArticleA little program to look for files with inconsistent line endings
I wrote this little program to look for files with inconsistent line endings. Maybe you’ll find it useful. Probably not, but I’m posting it anyway. using System; using System.Collections.Generic; using...
View ArticleWhy was Texas Hold ‘Em Poker a Windows Ultimate Extra instead of a built-in...
Windows Vista came with a variety of in-box games. Old stand-bys like Freecell were given a facelift, and some new games were been added, like Purble Place. Other games were available as a separate...
View ArticleThe administrative assistant who lasted only one day: A legendary prank from...
Today is Administrative Professionals Day, according to somebody who decided to declare today to be Administrative Professionals Day. Administrative assistants are perhaps one of the most important...
View ArticleHow can I launch an unelevated process from my elevated process, redux
Some time ago, I showed how you can launch an unelevated process from an elevated process by asking Explorer to launch the program on your behalf. There’s another way which is a bit more direct, but it...
View ArticleHow many ways are there to sort GUIDs? How much time do you have?
Suppose you want to sort GUIDs, say because they are a key in an ordered map. How many ways are there to order them? Before we can even talk about how to order GUIDs, we need to figure out how we’re...
View ArticleSpotting problems with destructors for C++ temporaries
Consider the unique_handle. It specializes std::unique_ptr to support Windows kernel handles. It lets you get all the niceties of std::unique_ptr with just a handful of lines of code. But then you have...
View ArticleAsync-Async: Reducing the chattiness of cross-thread asynchronous operations
The Windows Runtime expresses the concept of asynchronous activity with the IAsyncOperation<T> and IAsyncAction interfaces. The former represents an operation that completes asynchronously with...
View Article