Raymond Chen

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

Post by this author

Marriage as a cross-branding opportunity

Jennifer Aniston and Brad Pitt have decided to besmirch the institution of marriage by deciding that the "until death do us part" thing was neither legally nor morally binding. "Brad said that they spent the rest of the holiday working out how they would release the news of the split. They worked out together the reasons they would give and ...

Why doesn't \ autocomplete to all the computers on the network?

Wes Haggard wishes that \ would autocomplete to all the computers on the network. [Link fixed 10am.] An early beta of Windows 95 actually did something similar to this, showing all the computers on the network when you opened the Network Neighborhood folder. And the feature was quickly killed. Why? Corporations with large ...

Why doesn’t \ autocomplete to all the computers on the network?

Wes Haggard wishes that \ would autocomplete to all the computers on the network. [Link fixed 10am.] An early beta of Windows 95 actually did something similar to this, showing all the computers on the network when you opened the Network Neighborhood folder. And the feature was quickly killed. Why? Corporations with large ...

Seattle Snowstorm 2005 (insert swooshy sound effect)

As others have reported, it snowed here in the Seattle area yesterday. One whopping inch. You'd think that Seattle, which gets snow a few times a year, wouldn't go completely apoplectic the moment the flakes starts falling from the sky. Especially since it all melts away in a few hours anyway. I didn't watch the local news last night, but ...

Taskbar notification balloon tips don't penalize you for being away from the keyboard

The function is used to do various things, among them, displaying a balloon tip to the user. As discussed in the documentation for the structure, the uTimeout member specifies how long the balloon should be displayed. But what if the user is not at the computer when you display your balloon? After 30 seconds, the balloon will time out, ...

Taskbar notification balloon tips don’t penalize you for being away from the keyboard

The function is used to do various things, among them, displaying a balloon tip to the user. As discussed in the documentation for the structure, the uTimeout member specifies how long the balloon should be displayed. But what if the user is not at the computer when you display your balloon? After 30 seconds, the balloon will time out, ...

How can code that tries to prevent a buffer overflow end up causing one?

What's the deal with those ...ncpy functions anyway?

A rant against flow control macros

I try not to rant, but it happens sometimes. This time, I'm ranting on purpose: to complain about macro-izing flow control. No two people use the same macros, and when you see code that uses them you have to go dig through header files to figure out what they do. This is particularly gruesome when you're trying to debug a problem with ...

You don't need to run away from home to join the circus

Last week, I saw a performance of Circus Contraption at The Seattle Center with some friends. We were all left agape by the aerialists as they climbed ropes, hoisted, hung, and balanced themselves high above the ground. I thought back to seeing acrobats as a child at the circus and realized how much more impressive they are as you get older...

PulseEvent is fundamentally flawed

The function releases one thread (or all threads, if manual-reset) which is/are waiting for the pulsed event, then returns the event to the unset state. If no threads happen to be waiting, then the event goes to the unset state without anything happening. And there's the flaw. How do you know whether the thread that you think is waiting...