The Old New Thing

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 ...
Comments are closed.0 0
Code

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 ...
Comments are closed.0 0
Code

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...
Comments are closed.0 0
Code

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 ...
Comments are closed.0 1
Code

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

Why a really large dictionary is not a good thing

Sometimes you'll see somebody brag about how many words are in their spell-checking dictionary. It turns out that having too many words in a spell checker's dictionary is worse than having too few. Suppose you had a spell checker whose dictionary contained every word in the Oxford English Dictionary. Then you hand it this sentence: ...