The Old New Thing
Practical development throughout the evolution of Windows.
Latest posts

Raymond’s technique for getting people to leave a meeting room when their meeting runs over

It's certainly common at Microsoft, and probably common at many places, that a meeting runs over. The next group who has booked the room gathers outside waiting for the previous meeting to wrap up. Sometimes they wait timidly outside the door, and the group inside never realizes that they are running over. Late meetings have a cascade effect on the rest of the day, and not just for the specific conference room. Of course, if the 9am meeting runs late, then the 10am meeting in the same conference room will start late and consequently run late. But it also makes late the 10am meeting that one of the 9am participan...

Oh, I feel so bad for those poor Wall Street folks who have to have a normal party instead of a ridiculously lavish one

Scaling back.

Don’t be helpless: You can find information too, if you try (episode 2)

Commenter Joshua Blake wonders why Word's status bar says "Word is preparing to background print the document", wondering whether there used to be other types of printing like foreground. Well, first of all, this is a question about Office, something I explicitly deny any special knowledge of: Topics I am not inclined to cover: [...] But I'm going to take this opportunity to teach you how to use information already available to you to answer this question yourself. First, let's see what the Internet says about Word and background printing. A search for ‹Word background printing› turns ...

The Ballard Locks will be empty this week

The Hiram M. Chittenden Locks (more commonly known as the Ballard Locks) are a common attraction in Seattle. But if you pay a visit for the next week, you'll find that the large set of locks will be empty. And not just empty of boats. Empty of water. The chamber has been emptied of water for annual maintenance, and if you stop by, you can take pictures of a big hole in the ground. According to The Seattle Times, items found upon draining the chamber include cell phones, a two-way radio, a boot, beer cans, and prescription glasses. Nothing too exciting, I have to admit. Now, if they had found a bicycle...

Just because a method is called Refresh doesn’t mean that it refreshes what you want

Here's a question from a customer: I made some changes related to my shell extension [details omitted], but the changes don't show up in the Explorer window when I refresh it. Any suggestions on how to solve this problem? When we asked how they were refreshing the Explorer window, we were expecting something like pressing F5 or calling with , or maybe calling or possibly even calling from script. But we definitely didn't expect this response: I'm invoking the Process.Refresh() method from the namespace. Just because a method is called doesn't mean that it refreshes what you want. I think this is...

Welcome to the 2008 holiday shopping season

Yes, maybe you're one of those crazy people who camps out in front of a store so you can be the first person in line to get this year's hot toy, or so you can snag one of the doorbuster deals. But be judicious in your rush, because the police are out there too, and they're shopping for something else.

Not my finest hour: Getting instructions on doing something I’ve already done

Last year, I sent some email to the people who run our team's check-in validation tool asking how I could add a new rule to the validation tests. One of the members wrote back, "You do it just like this guy," and sent me a reference to another check-in that added a validation rule. That other check-in was made by me. But wait, it gets better. That other check-in? It added the very rule I was thinking about adding.

The cost-benefit analysis of bitfields for a collection of booleans

How many of them are there?

Yes, I filed an expense report for a hair dryer, why do you ask?

Back in the late 1990's one of my colleagues (who is now in Office Labs—check it out, they've got some pretty cool stuff) filed an expense report for a hair dryer, and it was accepted. But what valid business purpose would there be for a tester to buy a hair dryer? At the time, my colleague worked as a tester for Windows power management. One of the things that needed to be tested was whether the motherboard accurately reported thermal stress (translation: overheating) to the operating system and whether the operating system responded appropriately to these reports. And when the project started, the mos...