The Old New Thing

Raymond's highly scientific predictions for the 2006 NCAA men's basketball tournament

Methodology explained earlier. Update: As I noted yesterday, the final will be very close, with George Washington University edging out Villanova by two months, 1988.08.01 to 1988.10.05. Other people have come up with their own systems. The person a few doors down from me chose an algorithm that can be captured in three words: "Shorter...

Why does the version 6 animation control not use a background thread?

Many people have noticed that the animation bar control in version 6 of the common controls no longer uses a background thread to draw the animation. Instead, it acts as if the style is always set, even if the caller didn't pass it. Why is that? The first reason is that the background thread didn't actually help any. In order to draw ...

Really, college athletics is about education (not)

Okay, somebody handed me a NCAA Men's Basketball Bracket to fill out. I don't know squat about college sports, so I decided that I would fill in the bracket based on the following simple principle: The school whose President (or Chancellor) has served longer will win the match-up. (Not counting the first-round games of the top five seeds in ...

Das Buch der verrückten Experimente

The Annals of Improbable Research tipped me off to Reto Schneider's Das Buch der verrückten Experimente (The Book of Weird Experiments in English), a collection of descriptions of one hundred scientific experiments throughout the course of history. As you might expect from the title, the experiments are all somewhat strange, yet ...

On the fuzzy definition of a "Unicode application"

Commenter mpz wondered why the IME cannot detect whether it is sending characters to a Unicode or non-Unicode application and generate the appropriate character accordingly. But what exactly is a Unicode application? Actually, let me turn the question around: What is a non-Unicode application? Suppose you write a program and don't , so you'...

Top ten things to do to make your application a Vista application

On MSDN, there's a series of articles on the top ten things to do to make your application a Vista application. The series began last December, and just this month, they covered a topic dear to my heart: Application compatibility. [Update 2pm: If you have feedback about these articles, posting that feedback here won't accomplish much since...

Controlling resource consumption by meting out work items

At the PDC, one person came to talk to me for advice on a resource management problem they were having. To simplify, their system generated dozens of work items, each of which required significant resource consumption. For the sake of illustration, let's say that each of the work items was a single-threaded computationally-intensive operation ...

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