No Hiding Place (unless you are a software bug)

Don and I have spent the last few weeks trying to track down a nasty bug in ADE.  As part of the investigation we added extra code to help us understand what might be going on.  I also added some code to allow me to manipulate some data quickly.  This code should have been removed before we released the last update but in all the excitement (or frustration) I forgot.  Well that code was quite hidden so I could deal with it in the next update - fat chance!

Within hours of the release the log reports started to appear that came from this code so the users concerned had found it and could not resist having a go.  Why is it that we spend much time pointing out what is right in front of people but they can find that which is well hidden.

Mind you I am not one to speak about this since I am well known (to my wife at least) as not being able to find the requested bottle in the refrigerator even when it is on the front row.

Which brings me with no particular link to bugs - especially those that remain resolutely hidden for months.  Any programmer or developer will know the ones I mean.  Users can activate them at will without trying and can apparently describe how they got to them in great detail.  Meantime with all our tools and knowledge of the code we cannot replicate the behavior - in fact we cannot imagine how the bug could be triggered.  We follow the users description in detail - and end up nowhere.  We then look at the logs and find the user was doing something entirely different at the time - they swear blind they were not doing what the log says they were,

And the final non-sequitur concerns the users who swear blind they did not do something which we can clearly see they have.  On at least one occasion recently it took three of use several days before the guy admitted the inevitable and that somehow he must have done what we knew all along he had.

I think perhaps that I do need a hiding place after all.

Why I Hate Programming

It's always the same.  No matter how much testing we do, as soon as we release ADE to production the bugs start flooding in.  Worse is the unforced programmer errors and general SNAFUs that follow.  The rule is never change functionality when you make a new release - so why am I incapable of sticking to it without tinkering?  Case in point was a small change that enabled a function for one version of the simulator.  The trail of chaos and destruction that followed makes me hate what I do.  The change generated the usual cascade of unexpected consequences followed  by apologetic posts on the forums and a rash of daily updates.  It must drive users nuts to get a new update every day - it would me.

Ho hum - well right now I am going to do something else - destroy a bit more of the house so that we can start again I think.  Nothing like wielding a crowbar and sledge hammer to get out the frustrations with one's own failings.

Ah - well I feel better having written this so I think I don't hate programming after all!