I was recently reminded of a classic story that I want to make sure that I get out in print so that I don’t forget it.
The story takes places in the mid 90’s when the internet was just getting off the ground. I had developed an application that used a cron job to periodically check a file for entries and if they were found it would run another application to remove the entries and process them. Periodically the process checking the entries would hang and someone would have to kill them.
The story continues as follows:
Me: It's getting too tedious to manually kill all of these hung processes. We're going to need to spend some time getting to the root of problem. Manager: Why burn the time? Why don't you just create a cron job that periodically checks for hung processes and kills them? [After much bickering the end result was that another cron job was created since it was the fastest path to a "solution". In time it too would hang while killing the hung processes.] Me: We *really* need to investigate why the file checking process keeps haning! Manager: Didn't you set up that cron job to kill off the processes? Me: Yes, but it keeps hanging! Manager: [Exhasperated and wondering why he has to explain my job to me] Just create a cron job to kill off that process too!
I wish that I could say that I was kidding but that would be a lie. I also wish that I could say that intelligence in the software community has increased in the past ten years so that these situations no longer occur, but that too would be a lie *grin*.