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

Miss France, she has the Eiffel Tower on her head, because France has the Eiffel Tower, and no other country does, so she put it on her head, that's why

Miss Universe 2010 National Costumes, Part 1 Miss Universe 2010 National Costumes, Part 2 Commentary in parts NSFW but they so deserve it.

Why does the primary monitor have (0,0) as its upper left coordinate?

By definition, the primary monitor is the monitor that has (0,0) as its upper left corner. Why can't the primary monitor be positioned somewhere else? Well, sure you could do that, but then you'd have to invent a new name for the monitor whose upper left corner is at (0,0), and then you're back where you started. In other words, it's just a name. You could ask, "Why can't starboard be on the left-hand side of the boat?" Well, sure you could do that, but then you'd have to come up with a new name for the right-hand side of the boat, and then things are pretty much the same as they were, just with different names...

I challenge you to come up with an even lamer physics pun

The other day, I was in the office kitchenette, and two of my colleagues both named Paul happened to be there getting coffee. I quipped, "Oh no, is this legal? I think it's a violation of the Paul Exclusion Principle." It was a horrible physics pun, perhaps one of the worst I've made in a long time. My challenge to you is to come up with an even worse one that you've told. Note: You have to have actually made the pun to an appropriate audience. No fair just making one up for the purpose of the challenge.

How do I get the Explorer navigation pane to highlight the current folder all the time?

In Windows 7, the folder tree in the Explorer navigation pane by default no longer highlights the item in the view pane. This change was based on user testing and feedback, but if, like me, you prefer things the old way, you can play with two new check boxes on the Folder Options dialog. You can get to Folder Options in a variety of ways: However you wind up there, the item you want to turn on is Automatically expand to current folder (or Expand to current folder if you use the super élite method).

Microspeak: The funnel

In the Customer Service and Support part of Microsoft, you will often see the term funnel. Here are some citations: Effectively and efficiently solve issues by driving levers across the entire funnel. Putting the Fun in Funnel. Strengthening the front of the funnel. The funnel is a way of viewing customer support engagements. For some reason, the funnel diagram is always drawn on its side with the mouth (the fat part) on the left and the stem (the narrow part) on the right. The width of the funnel represents the volume of customers at that stage of the support process, and the progress through the funnel r...

What was that story about the WinHelp pen-writing-in-book animation?

The first time you open a WinHelp file, you get this pen-writing-in-book animation while WinHelp does um something which it passes off as preparing Help file for first use or something similarly vague. I remember a conversation about that animation. The Windows shell team suggested to the author of WinHelp that the program use the shell common animation control to display that animation. After all, it's a short animation and it met the requirements for the animation common control. But the author of WinHelp rejected the notion. (Pre-emptive "I can't believe I had to write this": This conversation has been e...

What happened to WinHelp?

Commenter winhelp (probably not his/her real name) wonders what happened to WinHelp.exe. I don't know, but it turns out the answer was already known to the Internet. At the time the question was posted, the answer was already in the Wikipedia entry for Windows Help—it even had a citation! The question does highlight another one of those no matter what you do, somebody will call you an idiot dilemmas. On the one side, we have "Windows is already so big, what's the harm in adding another megabyte to the size to add this feature that is rarely used, primarly by older applications, so that customers won't h...

When do I need to use GC.KeepAlive?

Finalization is the crazy wildcard in garbage collection. It operates "behind the GC", running after the GC has declared an object dead. Think about it: Finalizers run on objects that have no active references. How can be a reference to an object that has no references? That's just crazy-talk! Finalizers are a Ouija board, permitting dead objects to operate "from beyond the grave" and affect live objects. As a result, when finalizers are involved, there is a lot of creepy spooky juju going on, and you need to tread very carefully, or your soul will become cursed. Let's step back and look at a different prob...

How can I find all objects of a particular type?

More than one customer has asked a question like this: I'm looking for a way to search for all instances of a particular type at runtime. My goal is to invoke a particular method on each of those instances. Note that I did not create these object myself or have any other access to them. Is this possible? Imagine what the world would be like if it were possible. For starters, just imagine the fun you could have if you could call . Vegas road trip! More generally, it breaks the semantics of AppDomain boundaries, since grabbing all instances of a type lets you get objects from another AppDomain, w...