The Old New Thing

Practical development throughout the evolution of Windows.

Latest posts

The sad predicament of the unempowered manager
May 30, 2007
Post comments count 0
Post likes count 0

The sad predicament of the unempowered manager

Raymond Chen
Raymond Chen

I just made up that term now because I needed a word to describe the situation where some manager is put in charge of a feature but is not given a staff to implement that feature. This happens more often than you might think, since there are many features that are "horizontal", i.e., features which affect all teams throughout the project. So-called taxes often fall into this category, such as power management, accessibility, and multiple monitors. (Larry Osterman calls them *bilities. I call them taxes.) The unempowered manager is in a predicament, having been assigned a task without a staff to accomplish it. Al...

Let's talk like people
May 29, 2007
Post comments count 0
Post likes count 0

Let's talk like people

Raymond Chen
Raymond Chen

On Mark Rosenfelder's Zompist web site I found a series of cultural guides named How to tell if you're ‹nationality›. All of the entries are simultaneously funny and insightful, such as this one from Turkey: A company can fire just about anybody it wants. But it will also hire anybody. For some reason, my favorite is this one from the Polish entry: When you negotiate, you are polite, of course, but it's only good business to 'play hardball'. You don't say what you mean, you pretend not to know many things, but you surely never lie. You know the other side does the same thing, and they know yo...

Psychic debugging: Why does FormatMessage say the resource couldn't be found?
May 29, 2007
Post comments count 0
Post likes count 0

Psychic debugging: Why does FormatMessage say the resource couldn't be found?

Raymond Chen
Raymond Chen

Solving this next problem should be a snap with your nascent psychic powers: I'm trying use to load a resource string with one insertion in it, and this doesn't work for some reason. The string is "Blah blah blah %1. Blah blah blah." The call to fails, and returns . What am I doing wrong? Hint: Take a closer look at the parameter . Hint 2: What does "" tell you? Resource identifiers that begin with "" are typically string resource identifiers, not message resource identifiers. There is no strong consensus on the naming convention for message resource identifiers, although I've seen "". Part of t...

Cool, they're using Roman numerals!
May 28, 2007
Post comments count 0
Post likes count 0

Cool, they're using Roman numerals!

Raymond Chen
Raymond Chen

The IT department here will periodically send out notifications regarding changes to the network infrastructure or updates that are being deployed across the company. One of my colleagues sent me email saying, "Cool, they're using Roman numerals!" It was in response to one particular IT notification that included the following sentence: This update will require approximately X minutes.

Raymond's SIFF schedule (2007)
May 25, 2007
Post comments count 0
Post likes count 0

Raymond's SIFF schedule (2007)

Raymond Chen
Raymond Chen

Nobody asked, but I'm going to post it anyway. These are the movies I'm planning on seeing, along with my twisted take on the plot, based solely on the movie description. ¹These movies were chosen in large part to serve as German lessons. ²I have a weak spot for slightly off-kilter Japanese movies set in the modern day. ³Swedish class group movie. Even though it's in Danish. Since Outsourced is sold out, I'll have to find another movie to replace it. Possibilities include French for Beginners, Mushihi, The Three Musketeers (animated), and Eagle vs. Shark.

The parameters to PostQueuedCompletionStatus are not interpreted
May 25, 2007
Post comments count 0
Post likes count 0

The parameters to PostQueuedCompletionStatus are not interpreted

Raymond Chen
Raymond Chen

Larry Osterman mentioned this almost in passing quite a while ago, that the parameters to are not interpreted by the operating system. Well, obviously the first parameter, the handle to the completion port, is interpreted as the handle to the completion port. But the other parameters, , , and are not interpreted at all. Even though they have names, the names don't mean anything. Whatever values you pass for those three parameters merely pop out of when the notification packet makes it to the head of the queue. Why do the parameters have names if the names don't mean anything? Because the operating system i...

Being nominated for the Nobel Prize isn't as big a deal as it sounds
May 24, 2007
Post comments count 0
Post likes count 0

Being nominated for the Nobel Prize isn't as big a deal as it sounds

Raymond Chen
Raymond Chen

Occasionally, somebody will use the fact that they were nominated for the Nobel Prize as some sort of proof that they are a qualified or well-respected person. Except that it proves no such thing. This isn't like the Academy Awards or the Pulizter Prize for which receiving a nomination means that you are one of a handful of finalists. For the Nobel Prize committee, nomination is just the first step, and there is no restriction on how many people can be nominated. In particular, the list of people authorized to submit nominations for the Nobel Peace Prize includes "members of national assemblies and government...

We should just get rid of that stupid middle tier
May 24, 2007
Post comments count 0
Post likes count 0

We should just get rid of that stupid middle tier

Raymond Chen
Raymond Chen

One of our line-of-business applications sometimes gets very heavily loaded, and several times a day, when you try to issue a query or update a record, you'll get the error message, "Unable to contact middle tier. (other technical gibberish goes here)". Whenever this happens, I like to amuse myself by shouting "Stupid middle tier! We should just get rid of it. It's always unresponsive." Of course, this is a joke along the lines of changing that 15 to a 1. The system follows the standard three-tier model. Getting rid of the middle tier won't actually fix anything. But if the error message keeps blam...

Das Leben der Anderen
May 23, 2007
Post comments count 0
Post likes count 0

Das Leben der Anderen

Raymond Chen
Raymond Chen

A few weekends ago I finally got around to watching the movie Das Leben der Anderen. (English: The Lives of Others.) Apparently movies about the former East Germany get screen time in the States. Go figure. I'd been away from conversational German for a long time, but I was rather pleased that I was able to follow some parts without having to consult the subtitles. Though those parts didn't last long. Eventually, they'd use too many words whose meaning I couldn't guess from context, or they'd talk so indistinctly that I couldn't make out the words, or they'd just plain talk too fast and my internal parsing bu...