Puzzling triple rainbow clearly identifies location of pot of gold
I noted to some friends that the weather forecast for Seattle two weekends ago called for rain on Friday, rain on Saturday, and rain on Sunday. But at least on Monday, the forecast was not for rain....
View ArticleSecurity vulnerability reports as a way to establish your l33t kr3|)z
There is an entire subculture of l33t l4x0rs who occasionally pop into our world, and as such have to adapt their communication style to match their audience. Sometimes the adaptation is incomplete. I...
View ArticleWhy are there both FIND and FINDSTR programs, with unrelated feature sets?
Jonathan wonders why we have both find and findstr, and furthermore, why the two programs have unrelated features. The find program supports UTF-16, which findstr doesn't; on the other hand, the...
View ArticleVarious ways of performing an operation asynchronously after a delay
Okay, if you have a UI thread that pumps messages, then the easiest way to perform an operation after a delay is to set a timer. But let's say you don't have a UI thread that you can count on. One...
View ArticleThe debugger lied to you because it the CPU was still juggling data in the air
A colleague was studying a very strange failure, which I've simplified for expository purpose. The component in question has the following basic shape, ignoring error checking: // This is a...
View ArticleHave you found any TheDailyWTF-worthy code during the development of Windows 95?
Mott555 is interested in some sloppy/ugly code or strange workarounds or code comments during the development of Windows 95, like "anything TheDailyWTF-worthy." I discovered that opening a particular...
View ArticleThe QuickCD PowerToy, a brief look back
One of the original Windows 95 PowerToys was a tool called QuickCD. Though that wasn't its original name. The original name of the QuickCD PowerToy was FlexiCD. You'd think that it was short for...
View ArticleWhy do I get notified for changes to HKEY_CLASSES_ROOT when nobody is writing...
A customer had a question about the RegNotifyChangeKeyValue function. We are using it to monitor the HKEY_CLASSES_ROOT tree as follows: RegNotifyChangeKeyValue( HKEY_CLASSES_ROOT, true, // monitor...
View ArticleReplaying input is not the same as reprocessing it
Once upon a time, there was an application that received some input and said, "Okay, this input cancels my temporary state. I want to exit my temporary state, but I also want the input that took me...
View ArticleIt rather involved being on the other side of this airtight hatchway: Writing...
We received a security vulnerability report that went roughly like this: There is a security vulnerability in the X component. It loads shell32.dll from the current directory, thereby making it...
View ArticleWhy do some shortcuts not support editing the command line and other properties?
Ben L observed that some shortcuts do not permit the command line and other options to be edited. "Where is this feature controlled? Is there a way to override this mode?" This question is echoed by...
View ArticleMicrospeak: v-team
People who don't work at Microsoft but who are aware of its jargon might encounter the term v-team and guess that it's a team consisting of vendors, because the Microspeak term v-dash is used to refer...
View ArticleHow am I supposed to free the information returned by the GetSecurityInfo...
The GetSecurityInfo function returns a copy of the security descriptor for a kernel object, along with pointers to specific portions you request. More than once, a customer has been confused by the...
View ArticleWhy is it so hard to write a program that requires UI Access privilege?
If you want your program to have the UI Access privilege, you have to jump through a few hoops. The program needs to be digitally signed, and it needs to go into the system32 directory. Why is it so...
View ArticleWhy is it possible to create a toolbar with the wrong HINSTANCE? And what's...
A customer observed that all of the following code fragments are successful in creating a toolbar common control: // Fragment 1: Use the process instance // Create the toolbar. HWND hWndToolbar =...
View ArticleLike the cake, WS_EX_TRANSPARENT is a lie, or at least not the entire truth
There is an extended window style known as WS_EX_TRANSPARENT. Explaining what this style does is kind of difficult, but it's been on the list of future topics since 2003. Better late than never, I...
View Article2012 års Gävlebock gick upp i brand. Igen.
The town of Gävle in Sweden erects a large straw goat every year. The Yule Goat is a Scandinavian tradition, but the Gävle goat (Gävlebocken in Swedish) is by far the most famous, or perhaps the most...
View ArticleWhy was Pinball removed from Windows Vista?
Windows XP was the last client version of Windows to include the Pinball game that had been part of Windows since Windows 95. There is apparently speculation that this was done for legal reasons. No,...
View ArticleWhy doesn't SHGetKnownFolderPath return the customized path?
A customer reported that the SHGetKnownFolderPath function was not working correctly. They moved their Videos folder to a new location, but when they called SHGetKnownFolderPath, they got the...
View Article