The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

Jul 27, 2009
Post comments count 0
Post likes count 0

Conway-Kochen Free Will Theorem: Lecture series

Raymond Chen

Some time ago, there was a bit of excitement when researchers John H. Conway (best known to geeks as the inventor of The Game of Life, a Turing-complete cellular automaton) and Simon Kochen (best known to geeks as, um, okay, he's not known to geeks) concluded that if human beings have free will, then so too do elementary particles. In 2009, Conway gave a series of six one-hour lectures on this theorem. The lectures have been recorded and are available online. (I also found a nice summary of a public lecture by John Conway on the same subject, for those who are impatient and just want the one-page versi...

Jul 27, 2009
Post comments count 0
Post likes count 1

Polling by sleeping versus polling by waiting with a timeout

Raymond Chen

Commenter Francois Boucher asks it's better to write a background worker thread that polls with and a flag, or polls by waiting for an event with a timeout? "Which scenario is better? The first one uses only 1 handle for the thread. The second one will use 2. But is the first scenario wasting more thread time? Is it worth using the event (kernel object)?" Yeah, whatever. I don't quite understand why you want to pause every so often. Why not just do the work at low priority? When there are more important things to do, your background thread will stop doing whatever it's doing. When there is an available C...

Jul 24, 2009
Post comments count 0
Post likes count 0

The guerilla wedding

Raymond Chen

When two of my friends were getting married (to each other), there was of course a lot of effort spent on finding the right wedding location. To relieve the tension, when we got together, we would amuse ourselves by coming up with guerilla wedding locations, which was our term for surreptitiously holding a wedding ceremony at a location without the site owner's knowledge. Everybody would converge on the designated location, wait for the secret signal, and then spontaneously assemble for a wedding ceremony, wrapping it all up before anybody else knew what happened. Here are some ideas in the Seattle area we came ...

Jul 24, 2009
Post comments count 0
Post likes count 1

If you wished a language supported the preprocessor, you know, you can fix that

Raymond Chen

A customer had the following question about the message compiler, something that I had noted almost nobody uses. Well how do you do, we found somebody who actually uses it. Anyway, the question went like this (paraphrased, as always): Can I use symbolic constants in my .mc file? For example, I have a message file that goes like this: I have symbols defined in a header file and that I, of course, have to keep in sync with the error messages. One way to do this is to change the messages: And in my function that prints error messages, I can insert these magic parameters: This is obviously a rather h...

Jul 23, 2009
Post comments count 0
Post likes count 0

Changes to the the 2009/2010 Seattle Symphony subscription season, part 2

Raymond Chen

The Seattle Symphony made a large number of changes to their 2009/2010 program line-up. I've updated the 2009/2010 Seattle Symphony subscription season at a glance accordingly. The Brahms Variations on a Theme by Hadyn, the Brahms/Schoenberg Piano Quartet in g minor, and the Shostakovich Symphony #15 moved to different dates, and a large number of substitutions or single-piece additions/subtractions were made. The concert for the week of October 30 was cancelled outright; ticket-holders will be issued tickets for the week of May 6 instead.

Jul 23, 2009
Post comments count 0
Post likes count 1

Your debugging code can be a security hole: Contest tickets

Raymond Chen

Last year, the Microsoft cafeterias ran a promotion which involved scratch-off tickets and prizes ranging from a free bagel to a new Zune to free airplane tickets. But it turns out that the people who ran the contest left some debugging code behind that became a security hole. As people compared notes on what they did or didn't win, they noticed that the tickets all looked identical save for the scratch-off area (naturally) and some tiny numbers printed in the corner of the back of the card. After some study, it became clear that all the losing tickets had a code that ended in 01, all the tickets for a free ba...

Jul 22, 2009
Post comments count 0
Post likes count 0

I saw a fascinating documentary about bugs

Raymond Chen

In the September 20, 2007 Dilbert comic, Dilbert says to his date, "I saw a fascinating documentary about bugs." A Year in the Life of Ants.

Jul 22, 2009
Post comments count 0
Post likes count 0

Microspeak: Whale Boy

Raymond Chen

Today is the tenth anniversary of Windows Live Messenger. My colleague Danny Glasser provides some history behind the product, and you can watch a tenth anniversary celebration video created for the occasion. And thus is inspired today's Microspeak: Whale Boy. Whale Boy is the nickname for the pawn-shaped Messenger buddy icon. His normal state is green, but he changes color or picks up a piece of flair to indicate various changes in status, such as busy or away. I don't know the etymology of the term, but I suspect it came from his somewhat rotund appearance. Sample usage (which I made up just now; not from ...

Jul 21, 2009
Post comments count 0
Post likes count 1

Proto-Microspeak: Coceptualize

Raymond Chen

Many years ago, to see whether anybody was paying attention, a colleague and I slipped the made-up word "coceptualize" into a document. Nobody said a thing. Either nobody read that part of the document, or they did and thought it was a real word.