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

The social skills of a thermonuclear device, part 2

I guess I'm living up to my reputation of having the social skills of a thermonuclear device: From: <name withheld> It'd be awful swell of you to add my blog to your blogroll. You don't know me, and I know you only by your superlative writings, but I'm a big fan. http://<link withheld> P.S. Would you like you home ...

A thread waiting on a synchronization object could be caught napping

If you have a synchronization object, say a semaphore, and two threads waiting on the semaphore, and you then release two semaphore tokens with a single call to , you would expect that each of the waiting threads would be woken, each obtaining one token. And in fact, that's what happens—most of the time. Recall in our discussion of why...

Betsy's interview tip: Wear pants

Last year, our retiring Blog Queen Betsy Aoki reminded us to wear pants...

Why does the size of a combo box include the size of the drop-down?

Many people are surprised to discover that when you create a combo box (either in code via or indirectly via a dialog box template), the size you specify describes the size of the combo box including the drop-down list box, even though the drop-down list box is not visible on the screen. For example, if you say that you want the combo box to ...

If you ask for a window caption, you also get a border

Some people may have noticed that the is defined as the combination of and : Since includes , it is impossible to get a caption without a border. Sometimes people don't quite get this and keep asking the question over and over again, and I have to keep trying to explain the laws of logic in different ways until one of them finally ...

Reading the fine print, episode 3: What's in the bottle?

Caught out by the FDA. I happened to be in the bug spray section of the store when I spotted a bottle of mosquito repellant that proudly proclaimed "100% DEET". But the FDA-mandated labelling tells a different story: 95% 5% Similarly, foods labeled "zero fat" are actually allowed to contain up to a half gram of fat. (...

Reading the fine print, episode 2: Portable headphones

Marketing writes the big print; lawyers write the small print. I bought some portable stereo headphones. The front of the box says you can use it "while in-line skating, power walking, biking, jogging, skiing, running, weightlifting, climbing and more." (Emphasis mine.) The back of the box says that it should not be used "while driving or ...

Why is there no message for disabling the Cancel button on a wizard?

Some people have noticed that there is no message that lets you disable the Cancel button on a wizard. This is on purpose. Usability studies reveal that users find it extremely frustrating when they get partway through a wizard and then decide they don't want to perform the operation after all, but find that the wizard doesn't give them a way ...

Raymond, you even pose like a girl

Okay, so it's bad enough that I write like a girl. (And so does Betsy.) Now, Korby Parnell reported on a little get-together of some Microsoft bloggers, and in the photograph you can see that I'm doing the "peace" sign, just like young Japanese women do in photographs. Apparently, boys are supposed to strike a superhero pose, but the peace...

The consequences of invalidating the null window

On occasion, you might notice that every window on the desktop flickers and repaints itself. One of the causes for this is a simple null handle bug. The function is one you're probably well-familiar with. It is used to indicate to the window manager that the pixels of a particular window are no longer current and should be repainted. (You ...