8.29.2012

the march 2 bug.

Before I fell in love with my house, another person did. Well, I never met him, so I can't say for sure how he felt about it. All I know is that he put an offer down on it, the offer was accepted, and he went under contract. It might be that he bought it for a hated mother-in-law, or perhaps he just wanted a place to keep his howler monkeys. In any case, four days before he was going to sign the papers for the house, he lost his job. That meant that he couldn't get his loan, so he couldn't get the house.

Then came me. I went under contract and I had a month to think about that poor guy who lost the house so that I might buy it. I was terrified that something would happen that would prevent me from buying it. I stopped talking on my cell phone while driving that month, because I didn't want to get in an accident. My logic was that if I totaled my car and had to buy a new one or if I had sudden overwhelming medical bills, I might not get the loan. As soon as the house was mine, I went back to driving and talking on the phone. Remember kids, it's okay to do potentially dangerous things, as long as you are not under contract to buy a house.

I was also afraid of losing my job. This was in the scary days of early 2009. We'd all watched the stock market plummet and the unemployment number grow. No one had been let go at my company, but I had the least seniority. I seemed like the easiest cut to make.

I took off work on a Friday to sign the papers and buy the house. Up until quitting time on Thursday night, I lived in fear of being laid off and I did not use my cell phone while driving. Friday, I bought a house. While driving from the lawyer's office to the house, I called my mom.

Monday morning, two people were laid off at my office. I was not one of them. I felt relieved, of course. But it made me wonder whether it would have been worse to have been laid off before I bought the house or after. I would not have gotten my wonderful property, but then again, I wouldn't be newly unemployed and 130K in debt at the same time.

* * *

This year, on the second day of March, whenever any of our customers fired up our product, they were greeted with an error. And then the program crashed. That was it. No one in the whole world could run our application on March 2. When we all got to the office in the morning, the people overseas had encountered this problem hours before. People were unable to do their jobs because our program was not running.

That's a pretty bad bug.

We have a web site where customers can report problems and get help, either from other users or employees of the company. One of my coworkers happened to check the web site on the night of March 1, when those foreign customers started complaining. He found the problem and posted a message on the web site about how to fix it. We were all properly impressed the next morning when we saw his message, which was posted at 1:03 AM.

The bug was a simple math error, and the fix was to add an equals sign to a comparison (greater than or equals, rather than just greater than). The buggy code was a couple of years old, and disaster would only happen on March 2. It hadn't come up in previous years because there was no code that called the bad code. As it happened, I was the one who called the bad code, but of course, we all blamed the person who wrote that very bad code in the first place. First, because it really was his bad code, and second, because he'd been one of the people laid off a couple years ago. The general rule is that the last person to leave a company gets blamed for all the bugs.

The really funny thing is that he was laid off on March 2, 2009, which I remember because I bought my house the Friday before. And so it was like some spooky revenge that he set into motion on his way out. I don't think he did, but after spending a morning scrambling around reassuring angry customers whose very expensive software product suddenly quit working, it was funny to think of it that way.

No comments: