The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Sep 28, 2006
Post comments count 0
Post likes count 0

Saturday is Museum Day, courtesy of Smithsonian Magazine

Raymond Chen

September 30, 2006 is the first Museum Day open to the general public. (Apparently, previous Museum Days were limited to subscribers of Smithsonian Magazine.) You will have to print out the Museum Day Admissions Coupon to get in. Some restrictions apply. Read the fine print. Even the Institute for Creation Research (an actual museum!) is getting into the act.

Sep 27, 2006
Post comments count 0
Post likes count 1

IsBadXxxPtr should really be called CrashProgramRandomly

Raymond Chen

Masking a bug just creates a different, harder-to-find, bug.

Sep 26, 2006
Post comments count 0
Post likes count 0

News flash: The heart produces urine

Raymond Chen

In an attempt to explain why astronaut Heidemarie Stefanyshyn-Piper fainted during a welcome ceremony, ABC News reported The heart of an average person on Earth pumps blood throughout the body. But when an astronaut is in space, Levine explained, the blood remains predominantly in their chest cavity. Because of this, he said, the heart tries to get rid of excess blood through urination.

Sep 26, 2006
Post comments count 0
Post likes count 1

Isn't DDE all asynchronous anyway?

Raymond Chen

"Isn't DDE all asynchronous anyway?" asks commenter KaiArnold. It's mostly asynchronous, but not entirely. You can read about how DDE works in MSDN, but since it seems people are reluctant to read the formal documentation, I'll repeat here the points relevant to the discussion. The DDE process begins with a search for a service provider. This is done by broadcasting the message and collecting the responses. Each server that wishes to respond to the request sends back a message. The DDE client then chooses which of the servers it wishes to continue the conversation with (possible more than one). The remainde...

Sep 25, 2006
Post comments count 0
Post likes count 0

Filming for The Battle in Seattle has begun

Raymond Chen

A few weeks ago, filming for the movie Battle in Seattle began. In Vancouver. Serves us right.

Sep 25, 2006
Post comments count 0
Post likes count 0

Waiting until the dialog box is displayed before doing something

Raymond Chen

Last time, I left you with a few questions. Part of the answer to the first question was given in the comments, so I'll just link to that. The problem is more than just typeahead, though. The dialog box doesn't show itself until all message traffic has gone idle. If you actually ran the code presented in the original message, you'd find that it didn't actually work! When you run this program, the message box says "Not Visible", and in fact when it appears, you can see that the main dialog is not yet visible. It doesn't show up until after you dismiss the message box. Mission: Not accomplished. Along th...

Sep 22, 2006
Post comments count 0
Post likes count 0

Hand gestures for numbers

Raymond Chen

When I was in Los Angeles for Thanksgiving, I began noticing the hand gestures that accompanied numbers. When people said "six", they often punctuated it by holding out their hand with the thumb and pinky extended, palm towards the speaker. That's because they were using Chinese number gestures. (It so happens that the gesture for "six" is the same in both the Chinese and Taiwanese systems.) What was particularly amusing was that when I asked them about it later, they had no recollection that they had done it and didn't even notice that I was doing it. "I noticed you said 'six'," as I make the 'six' gesture. ...

Sep 22, 2006
Post comments count 0
Post likes count 0

Things you already know: How do I wait until my dialog box is displayed before doing something?

Raymond Chen

One customer wanted to wait until the dialog box was displayed before displaying its own dialog box. (Personally, I think immediately displaying a doubly-nested dialog box counts as starting off on the wrong foot from a usability standpoint, but let's set that issue aside for now.) The customer discovered that displaying the nested dialog box in response to the message was premature, because as we all know, the is sent before the dialog box is displayed. The question therefore is, "How do I want until my dialog box is displayed before doing something?" One proposed solution was the following code fragment: ...

Sep 21, 2006
Post comments count 0
Post likes count 0

It’s that season again: The Microsoft Company Meeting

Raymond Chen

Today is the 2006 Microsoft Company Meeting, and with it the continuation of what I consider to be one of the most annoying Company Meeting traditions: The group that cheers wildly any time their project name is mentioned. It's never the same group year to year. Instead, a different group (or groups) independent decides to be the annoying one for any particular meeting. For illustrative purposes, let's call the 2006 group "Project Nosebleed". (All project names in this entry are fictitious and are used solely for illustrative purposes. Any similarity to actual projects is purely coincidental. But I mean, really,...