The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

News flash: The heart produces urine
Sep 26, 2006
Post comments count 0
Post likes count 0

News flash: The heart produces urine

Raymond Chen
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.

Isn't DDE all asynchronous anyway?
Sep 26, 2006
Post comments count 0
Post likes count 0

Isn't DDE all asynchronous anyway?

Raymond Chen
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...

Filming for The Battle in Seattle has begun
Sep 25, 2006
Post comments count 0
Post likes count 0

Filming for The Battle in Seattle has begun

Raymond Chen
Raymond Chen

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

Waiting until the dialog box is displayed before doing something
Sep 25, 2006
Post comments count 0
Post likes count 0

Waiting until the dialog box is displayed before doing something

Raymond Chen
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...

Hand gestures for numbers
Sep 22, 2006
Post comments count 0
Post likes count 0

Hand gestures for numbers

Raymond Chen
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. ...

Things you already know: How do I wait until my dialog box is displayed before doing something?
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
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: ...

It’s that season again: The Microsoft Company Meeting
Sep 21, 2006
Post comments count 0
Post likes count 0

It’s that season again: The Microsoft Company Meeting

Raymond Chen
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,...

If you don't trust your administrators, you've already lost
Sep 21, 2006
Post comments count 0
Post likes count 0

If you don't trust your administrators, you've already lost

Raymond Chen
Raymond Chen

Occasionally, a customer will ask for a way they can restrict what the administrator can do. The short answer to this is, "Um, no, that's why they're called 'Administrator'." You can try to set up roadblocks, say, ACL files to revoke access to a file you don't want the administrator to read, but the Administrator can always take ownership of the file and read the contents that way. At the end of the day, the Administrator owns the local machine. Often, people ask this question because they want to grant certain employees selected subsets of the full set of capabilities available to the Administrator. The way to ...

It is as if our leaders have not been educated in orbital space colonization
Sep 20, 2006
Post comments count 0
Post likes count 0

It is as if our leaders have not been educated in orbital space colonization

Raymond Chen
Raymond Chen

Yesterday were held the primary elections in the state of Washington. Most of the partisan positions were uncontested, so there wasn't much to research. The one with the most candidates was for one of the state's Senate seats, and among those candidates were some who might be considered "a bit unorthodox". None of these candidates appears to have won their respective election, so we won't be seeing much more of them this election season. But that's okay. All four of these candidates are "regulars" on the ballot, so they'll almost certainly be back in two years if not sooner.