The Old New Thing

Compatibility constraints of the water cooler

One of the things you learn when dealing with compatibility is that every single external detail is a potential compatibility constraint. A few years ago, the water coolers in the buildings were replaced. I have no idea why. Maybe the new water cooler company put in a lower bid. Who knows? All I know is that I like the newer ones less, and ...

Death at a Funeral, Cashback, and Tell No One

Another installment in Raymond's short reviews of SIFF movies he's seen recently. (image) (image) (image) (image) (image) (image) (image) (image) (image) (image) Death at a Funeral: The family funeral gets off to a bad start when the funeral home delivers the wrong body, and it's the only mishap that actually gets fixed without further ...

Choosing a provocative debug signature

Back in Windows 95, there was an elusive heap corruption bug in the graphics engine, and after a lot of analysis, the graphics folks were convinced that the corruption was coming from outside their component, and they had a pretty good idea who the corruptor was, but they needed proof. One of the standard techniques of narrowing down the...

I took the Monorail to the Shadow of the Moon

It turns out that the replacement movie wasn't any of the ones I listed. Instead, I decided to see In the Shadow of the Moon, a mid-week performance in Seattle. Since it was also a fantastically warm sunny day, traffic into Seattle was a nightmare. As the bus crawled along the highway, I had to do some mental calculations. I'm definitely ...

Inserting as many layers between the message and reality as possible

Some time ago I received a message that described a situation that was "based on a reality-based scenario." Wow, how many layers away from reality can you get? It wasn't a real scenario. It wasn't a reality-based scenario. It was based on a reality-based scenario. Then again, I'm just adding to the problem. I'm writing a message about a ...

Visual C++ 2005 will generate manifests for you

New in Visual C++ 2005 is the ability to specify a manifest dependency via a directive. This greatly simplifies using version 6 of the shell common controls. You just have to drop the line into your program and the linker will do the rest. Note that the processor architecture is hard-coded into the above directive, which means ...

The three things you need to know about tsunamis

One of my friends is involved with Science on Tap, a free, informal monthly get-together in the Seattle area covering science topics for the general public. (Recent coverage in the Seattle-PI.) The topic for July 30th is "The three things you need to know about tsunamis", and a title like that pretty much sells itself...

The sad predicament of the unempowered manager

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