The Old New Thing

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

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

How can I format my USB drive as NTFS?

You have to promise to play friendly. Go to Device Manager and set the policy of the USB Stick device to "Optimize for Performance". The default is to optimize for Quick Removal, which restricts you to the FAT filesystem. If you do this, then you absolutely must go through the the annoying removal dialog to unmount the filesystem ...