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

Not all short filenames contain a tilde

I'm sure everybody has seen the autogenerated short names for long file names. For the long name "Long name for file.txt", you might get "LONGNA~1.TXT" or possibly "LO18C9~1.TXT" if there are a lot of collisions. What you may not know is that sometimes there is no tilde at all! Each filesystem decides how it wants to implement short ...

First thing we do is kill all the jerks

There a fascinating article in today's New York Times on a troop of baboons which went pacifist: ... researchers describe the drastic temperamental and tonal shift that occurred in a troop of 62 baboons when its most belligerent members vanished from the scene. The victims were all dominant adult males that had been strong and snarly ...

Unicode collation is hard

The principle of "garbage in, garbage out" applies to Unicode collation. If you hand it a meaningless string and ask to compare it to another meaningless string, you get meaningless results. I am not a Unicode expert; I just play one on the web. A real Unicode expert is Michael Kaplan, whose explanation of how comparing invalid ...

Extraterrestrial income

As I was reading one of the bajillion annual reports in my mailbox, I happened across a comment regarding extraterrestrial income. Space aliens have to pay income tax? Oh, no, it was just a misread for the controversial extraterritorial income exclusion...

The random number seed can be the weakest link

Random number generation is hard. That's why you should leave it to the experts. But even if you choose a good random number generator, you still have to seed it properly. The best random number generator in the world isn't very useful if people can guess the seed. That's why seeding the random number generator with the current ...

Comparing the Norwegian, Swedish, and Danish languages.

As I got onto the plane for my outbound flight, I grabbed a Norwegian newspaper, having mistaken it for a Swedish paper. Fortunately, the two languages are so similar I was able to fake my way through it without too much difficulty. (And it's definitely an odd sensation reading U.S. cartoons translated into Norwegian...) The on-board ...

A story about USB floppy drives

It all comes down to the color.

Where does the taskbar get grouped button titles from?

If the "Group similar taskbar buttons" box is checked (default) and space starts to get tight on the taskbar, then then the taskbar will group together buttons represending windows from the same program and give them a common name. Where does this common name come from? The name for grouped taskbar buttons comes from the version resource...

A very brief anecdote about Windows 3.0

In an earlier comment, Larry Osterman described why Windows 3.0 was such a runaway success. He got a little of the timeline wrong, so I'll correct it here. Windows 2.0 did support protected mode. And it was Windows/386, which came out before Windows 3.0, which first used the new virtual-x86 mode of the 80386 processor to support pre-...

Reference counting is hard.

One of the big advantages of managed code is that you don't have to worry about managing object lifetimes. Here's an example of some unmanaged code that tries to manage reference counts and doesn't quite get it right. Even a seemingly-simple function has a reference-counting bug. The point of this function is to take a (pointer to) a ...