The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

A Few Seconds of Panic: Life as an NFL kicker
Oct 1, 2009
Post comments count 0
Post likes count 0

A Few Seconds of Panic: Life as an NFL kicker

Raymond Chen
Raymond Chen

Although I don't follow him regularly when he appears on All Things Considered and didn't when he wrote for The Wall Street Journal, I'm a quiet fan of Stefan Fatsis's books because he writes about joining a world most of us don't get to see. I previously wrote about his excursion into the world of competitive Scrabble. Today, it's his book A Few Seconds of Panic, or more formally, A Few Seconds of Panic: A 5-Foot-8, 170-Pound, 43-Year-Old Sportswriter Plays in the NFL, another example of the Catchy title: Long boring subtitle book title fad. [Update: Now available in paperback.] Fatsis convinces a profession...

In the search for the subtle source of the problem, you sometimes overlook the obvious one
Oct 1, 2009
Post comments count 0
Post likes count 0

In the search for the subtle source of the problem, you sometimes overlook the obvious one

Raymond Chen
Raymond Chen

A customer was encountering a problem with lots of duplicate GUIDs. How is that possible? The whole point of the GUID generation algorithm is to work hard to avoid duplication. Was one of the fundamental assumptions of the algorithm broken? Maybe there was a duplicate MAC? Was the clock regressing? One of my colleagues pointed out that in the search for the subtle source of the problem, you sometimes overlook the obvious one. In fact, this is the most common source of problems with so-called duplicate GUIDs. As he so tersely puts it: "A GUID can easily be duplicated by simply copying it." In other words, you h...

2009 Q3 link clearance: Microsoft blogger edition
Sep 30, 2009
Post comments count 0
Post likes count 0

2009 Q3 link clearance: Microsoft blogger edition

Raymond Chen
Raymond Chen

It's that time again: Sending some link love to my colleagues.

Why do messages posted by PostThreadMessage disappear?
Sep 30, 2009
Post comments count 0
Post likes count 0

Why do messages posted by PostThreadMessage disappear?

Raymond Chen
Raymond Chen

The only thread message you can meaningfully post to a thread displaying UI is , and even then, it's only because you want to wake up the message loop for some reason. A common problem I see is people who use to talk to a thread that is displaying UI and then wonder why the message never arrives. Oh, the message arrived all right. It arrived and then was thrown away. This is actually a repeat of an earlier entry with the title Thread messages are eaten by modal loops, but I'm repeating it with a better subject line to help search engines. But since I'm here, I may as well augment the existing article. Obvi...

Microspeak: Net net
Sep 29, 2009
Post comments count 0
Post likes count 0

Microspeak: Net net

Raymond Chen
Raymond Chen

In finance, the net is the total after you have cancelled positive values against negative values. For example, if you took in $30 and paid out $20, then your net is $10. In Microspeak, this term has moved into project planning and has undergone redoubling, so it's not just net; it's net net. The doubling of the word was probably added to create a sense of impatience. Here's an imaginary conversation that illustrates the term: Speaker 1: We're five days over on component X, but component Y is ahead of schedule, and we can have some of them h... Speaker 2: (interrupting) What's the n...

Why doesn't Explorer have an interface for creating hard links?
Sep 28, 2009
Post comments count 0
Post likes count 0

Why doesn't Explorer have an interface for creating hard links?

Raymond Chen
Raymond Chen

Nick asks why Explorer doesn't have UI for creating hard links. Heck, while you're at it, why not ask "Why doesn't Explorer have a UI for hex-editing a file?" Remember, all features start out with minus 100 points. Explorer is not under any obligation to expose every last NTFS feature, and it's certainly not going to help to expose an NTFS feature that even technical people don't understand. Just look at all the people who ask questions like "How can I tell if a file name is a hard link instead of a normal file?" or online explanations of hard links which claim that "A hard link is only a reference to the ori...

The ways people mess up IUnknown::QueryInterface, episode 2
Sep 25, 2009
Post comments count 0
Post likes count 0

The ways people mess up IUnknown::QueryInterface, episode 2

Raymond Chen
Raymond Chen

Sadly, I get to add another entry to The ways people mess up : Blindly responding to everything. Some people are just too eager to please. No matter what the interface is, they say, "Sure, we do that!" Furthermore, no matter what you ask for, they always return the same interface. Even if it's not what you asked for. Exercise: Some people say that "these problems wouldn't be there if Microsoft Windows had enforced correct behavior to begin with." My exercise to you, commenter "foo", is to come up with a list of all bugs in which Windows should enforce and describe how to enforce it. (If your respon...

Don't panic, it's just H1N1
Sep 24, 2009
Post comments count 0
Post likes count 0

Don't panic, it's just H1N1

Raymond Chen
Raymond Chen

The media simply can't resist a good panic story, even when there is no panic to be found. On the Media interviews sociology professor Eric Klinenberg on what happens when the media ask you to talk about the nonexistent widespread panic over H1N1. Klinenberg says to the reporter, effectively, "There is no panic." Undaunted by the lack of support for his thesis, the reporter places Klinenberg's remarks on the last page of the story, under the subhead Not Enough Panic? Read the article to learn about the White House press conference where a reporter repeatedly asks whether the flu outbreak is a bioterrorist a...

When people ask for security holes as features: Privileged execution
Sep 24, 2009
Post comments count 0
Post likes count 0

When people ask for security holes as features: Privileged execution

Raymond Chen
Raymond Chen

A customer wanted to know if there was a way to execute privileged instructions without having to write a driver. "I just need to execute a few instructions, and writing a driver would be overkill since it's only three instructions. Is there a way I can execute these privileged instructions without a driver?" The whole point of having a class of modules called drivers is to prevent somebody from doing exactly what you're asking for. Only drivers can execute privileged instructions; that's why they're called privileged instructions. "Yeah, but I just need three instructions. Do I have to write a whole driver ju...