Showing posts from April, 2009

Car Accidents... Aren't!

Did you know that nearly 100% of drivers involved in accidents don't think it was their fault?

This is perhaps not shocking, but what might surprise you more is that nearly 100% of them are wrong!

Most accidents are completely preventable, if you just follow advice from a good driver training program.

The "T-bone"

Primary Fault: "T-bone-ee" mis-judges distance of (or doesn't even notice) oncoming car and turns left in front of them

Common Excuses:
"They came out of nowhere!" Cars do not randomly appear from spatial vortexes.  It was barreling towards you the entire time.
"They were speeding!" If you could tell they were speeding, you sure as hell should not have turned in front of them.

Primary Prevention: Don't turn in front of cars unless you damn well know you're going to make it! (duh)

Secondary Fault: "T-bone-er" ran head on into a car that turned right in front of them!  Never a good idea.

Secondary Prevention: Keep your fo…

Software Development: When Change is Bad

As software moves into maturity, it becomes a delicate art to add features and fix bugs without screwing up stuff that already works.

I've worked on three 10+ year-old, massively-sized projects (CorelDRAW, Microsoft Access, and ERDAS Imagine) and let me tell you -- the older the code base, the tougher it gets.

In very mature projects, maintainability starts to become more important than optimization, and the prevention of introducing new bugs can trump fixing old ones.  You’ll even see libraries where they decide to keep old bugs in place, since consumers up the chain rely on the buggy behavior.

If you’re a programmer, it's important that before you change any function that is used elsewhere in the system (a "core" function), you check each and every place it is called and understand the implications of your change.  If there's any doubt, you need to either step through, or ask someone else who is more familiar with that code.

A safer alternative is to write a new fu…