Saturday, September 05, 2009

Caught With My Pants Down

My friends say I have become a technological curmudgeon...whenever a new gadget or device or operating system comes out, I just grumble about how that it just means more bugs and mutter about how a byte only had 7 bits when I was young.

How did this happen? Pretty simple. New driver comes out, new bugs and interactions with X-Plane, rinse, wash, repeat. This is not a criticism of the driver writers. Those guys have an impossible job: write code that is super high performance in an environment that is highly unforgiving (an X-Plane crashes X-Plane; a video driver bug crashes your entire machine), then do it again when the next hardware comes out 9 months later. As the apps guy integrating on top of this ever-running treadmill of new hardware and drivers (think I Love Lucy) I sometimes dream of a week when none of the software that X-Plane runs on top of changes.

This is not one of those weeks. Snow Leopard came out, and it looks like Apple has been quite successful in keeping the price low; I'm seeing plenty of bug reports against 10.6 and it's only been a few days. Apple ships video drivers with the OS, so Snow Leopard isn't just a new OS, it's new drivers too, as well as possible changes to the OpenGL "middle" layer that Apple provides.

Now about my pants...over the last few years I have been accumulating graphics card + operating system combinations, so I can see a higher percentage of hardware-related bugs "in the lab".* But my wife and I are in the process of relocating to Boston, and this has temporarily separated me from a significant subset of my hardware. The result: driver bugs are coming in and I can't easily reproduce them.

(I know I'll take some slack for this, but: why did you all go and grab an OS update so fast? What have you gained? The down-side is lost time and application compatibility problems...was it worth it?)

*Just because it's hardware related doesn't mean it's a driver bug - X-Plane can be the broken app too! Sometimes drivers work around X-Plane bugs and sometimes X-Plane works around driver bugs. I mention this because plenty of apps developers complain on forums about "driver bugs" - but how many of them repost when they discover a null ptr in their code? A driver and an app are two pieces of software that have to be integrated, and bugs crop up on both sides.