Now you see it...

Flashback to 1992, when this pilot fish has written some point-of-sale software for a high school cafeteria. And it's pretty slick -- except something isn't quite right.

"Though we were still in the MS-DOS era, my software had a full mouse-driven GUI where the user simply clicked away at lunch menu items on-screen and then clicked Total," says fish.

"I installed a series of checks in the code to ensure accurate billing. One of these wrote the x and y coordinates of the mouse for every button click, which allowed me to recreate a sales event if necessary."

The software has run for a full month before fish finishes a program that uses those coordinates to calculate sales totals and compare them with the totals being submitted to the finance office.

To his horror, fish discovers that the totals don't always match. Throughout the week, they're off occasionally, but on Friday they're consistently off.

He spends a month poring over his code, but he can't find the bug. Finally he concludes there's only one way to spot it: He has to literally see what's happening.

"I modified my program to place one counter variable in the lower left corner of the screen, and one counter variable in the lower right," fish says. "These two counters should always increment at the same rate. If there was an abrupt change then I had just captured a trigger event.

"Friday came and I set up a video camera just behind the cashier, Mrs. Smith. The camera was focused on the CRT but also showed some of the surrounding environs. I started recording at 10:30 a.m. At 3 p.m. I returned and checked my program. Sure enough, the data was not in agreement."

Fish's timestamps show that the first error event was at 11:42. His heart is racing as he fast-forwards the tape to 11:41 and starts watching.

One minute later, the counter on the right side of the CRT abruptly jumps to zero. Fish replays the tape several times, but he still can't figure out why it's happening -- until he notices an arm showing up in a few frames. And it's hairy and muscular -- definitely not the cashier's.

Fish runs out to find the cashier and drags her back up to the VCR. Whose arm is that? he demands.

"Oh, that's Mr. Miller, the principal," cashier says.

It seems that when things get very busy -- usually on Fridays -- the principal steps in and helps by running the student ID scanner while she clicks the mouse.

"As it turned out, he was scanning the next customer's ID card right as she was clicking Total for the current customer," says fish. "If executed just right, my code would freak out every time,

"I politely asked Mr. Miller to stay out of the cashier's area, and he acquiesced."

Fill Sharky's tray with true tales of IT life. Send yours to me at sharky@computerworld.com. You'll snag a snazzy Shark shirt if I use it. Add your comments below, and read some great old tales in the Sharkives.

The Best of Shark Tank includes more than 70 tales of IT woe submitted by you, our readers, since 1999. Which all goes to prove, conclusively, that hapless users and idiotic bosses are indeed worldwide phenomena. Free registration is all that's needed to download The Best of Shark Tank (PDF).

FREE Computerworld Insider Guide: IT Certification Study Tips
Join the discussion
Be the first to comment on this article. Our Commenting Policies