I had a frustrating morning. As usual, it was my own darn fault.
I was adding Wiki Comments to the SCOFAQ files. I already had a script that extracts from the scotec[1-9].html files and creates individual articles of the form "FAQ_name", so I just needed to modify that to add the Wiki line.
Early on, I made a boundary mistake: that's when you are running through looking for some condition that indicates a new file should start, so you use that to close off the old file first. At some point, you run out of input, and you need to do your close-off routine there, too. I didn't forget that, but I screwed up in my nesting and got it outside of the wrong loop.
OK, these things happen. I fixed that, but apparently I still had something wrong because the output wasn't right. Actually, most of the output was fine, but I made two dumb mistakes. I know better for both of these, but I was in haste..
Anyway, lessons to remember:
Check the date of your output files. I was creating multiple files, but I was only checking one, and it was not being modified by my script. It SHOULD have been, and I knew that, but I never checked the dates. If I had, I would have noticed a problem immediately.
Check your input. The reason that file wasn't being created was because my initial screw-up had damaged my input files, causing them not to have data that I expected to be there. The script never should have been messing with the input, but because I made that nesting error, it did.
Silly mistakes like this can cost time and, probably more importantly, create frustration that can carry over into other things. The thirty minutes or so I spent being stupid were of course interlaced with emails and phone calls that I had to handle. Being frustrated just makes that harder.
Got something to add? Send me email.
More Articles by Tony Lawrence © 2012-06-20 Tony Lawrence
What happens then? Is there a ticker tape parade and heartfelt thanks from the computer it has reached? No, my friends, there is not. The poor packet is immediately gutted, stripped of its protective layers and tossed into the hungry maw of whatever application (mail, a webserver, whatever) it belongs to. (Tony Lawrence)