Just Another Bug Hunt

I had dropped onto the planet’s surface and made my way to the rendevous point. That’s when it came over the TacNet “Bugs Mr. Rico, zillions of them.”

This last week has sort of felt like that. I have been testing 1.07 Cults of the Wastelands. First I was on my own. Then I hooked up with a small group of Mutants who were foolish enough to recently have sent me a save game bug and wanted a taste of the action. Now, I have 10 maniacs I recruited from that dodgy outfit that hangs out in the Cryptic Comet corner of the Wargamer bar.

This is the humbling part of being a programmer. You get to see just how stupid or lazy you are. Gross Conceptual Error (GCE). It’s a term I learned in the US Navy and it basically means you simply have no idea what you are talking about. Sometimes the light bulb just pops on and your limits are illuminated. GCE is responsible for some of the bugs but laziness can be as well. The bugs generally fall into the following categories:

Black Box
This is the I have an idea of how this is working or at one time I understood it (probably right after I coded it) but right now I look at it and all I see is Spaghetti type of situation. There is a problem happening and it could be in the black box or the black box could just be showing the symptoms. Maybe I just didn’t understand the code as well as I thought when I first made it. Combing back through it is certain to be fun.

Sherlock Holmes:
These can be the worst and the GCE is often the culprit here. You stare at the code and stare at it and nothing seems wrong. This can’t possibly be happening according to the laws of physics. I remember being in the computer center circa 1984 with a terminal on a VAX 11780 and the Pascal program I was running was not working. I had myself convinced that it was the computer’s fault. Then the Sherlock Holmes rule kicked in from the Sign of the Four: “How often have I said to you that when you have eliminated the impossible, whatever remains, however improbable, must be the truth?” Sure enough, the universe is a logical place and the fact that I could doubt that at the time made me laugh and cry hysterically…. it was now 5 am. Guess you had to be there.

I’ll Be Back
You stub something out because you really don’t want to even think about that right now. Problem is unlike the Terminator you don’t come back.

Copy and Paste
Ctr-C and Ctr-V and the variable names look close but they don’t really match anything else above them. Surgery like this can save time and cause problems.

Life is a Strange Loop
Whenever I get a program not responding situation I usually know where to start looking. Always suspect the loops first. Especially the Repeat While x = false types.

Law of Unintended Consequences
Just had one of these that caused a bunch of problems. I moved a single line of code up a couple of lines so that it would execute before another line. That fixed one problem but I moved the darn thing up above another couple of lines because there was some nice free space there and making space above the key line would have just been too much extra work I guess. Its new position ended up causing its own problems and I had a new bug to fix.

I could go on. At any rate, the shoe is making that noise it makes when insects meet their doom. A March 20th release for the Cults of the Wastelands is looking good. Salvation is at hand!