True tech confession no. 6: The backup that wasn'tAlso on the list of classic screwups: backup tapes nobody ever looked at until they needed them -- and then it was too late.
Back in the mid-'90s, Mike Meikle was working as a jack-of-all-trades system administrator for an unnamed state agency. He soon discovered that the agency's servers had never been scanned for viruses and its antivirus software was badly in need of an update.
"It was at the dawn of my career," he says. "I had only been there a few weeks and was still trying to get the lay of the land. I worked with a gentleman who'd been there five years and was in charge of server backups. He assured me all the servers had been backed up and we were good to go."
Meikle began scanning for viruses, removing infections, and restarting the machines. But one server refused to reboot -- the one that tracked where grant money was coming from and where it was going to.
"I figured, no problem, we'll just restore it from tape," he says.
Naturally, nearly all the tapes were corrupted. But nobody knew that, because no one had ever bothered to test the backups or attempt a restore. The dead server was finally revived, but months of data were gone for good.
Meikle, a self-titled corporate consigliere who runs his own tech consulting business, says he still remembers the look on the CFO's face when he informed her that her staff would have to redo three months' worth of work because they had no recent viable backups.
"That's the day I learned the importance of having reliable backups and testing them," he says. "Sadly I had to learn the hard way. Even sadder, many IT shops today still don't have good backups that have been tested or even disaster recovery plans."
True tech confession No. 7: Hex marks the spotThere are three essential rules of programming. Rule one: Code carefully. Rule two: Test thoroughly. When those two aren't enough, be sure to follow rule three: Cover your assets.
William Warren (not his real name) was working as a software engineer at a major telecom company in the mid-'90s when he was asked to create an application that allowed clerks to enter Social Security numbers into a database. Part of the app's job was to clean up user input to make sure no non-numeric characters (like dashes) were stored in the numbers field.