When Glen Sommers was hired to add some features to a Cold Fusion based web application for a non-profit organization, he wasn't surprised by the quality he found, instead he expected it.
The application, whose sole purpose was to manage registrations for a organization's annual conference, was a learning experience for the original developer (who apparently did the work for free). Among its many WTF's, the app used a grand total of 1 database table with 50+ columns with generic names like PackageOne, PackageTwo, PackageThree, and so on, but The Real WTF™ was the application's security...or rather, the lack thereof.
"I received these three letters all on the same day," wrote Martin P., "two were sent October 31st and the other November 1st, and they all said pretty much the exact same thing. At least it's comforting to know we're saving trees."
It's All About C Now (from Dan M)
Last year, I saw that a certain founded-and-headquartered-in-the-Netherlands electronics company was hiring web developers in my town, so sent in my résumé. Like most résumés, mine contained the standard skills & buzzword section:
Languages and technical writing: PHP, MySQL, AJAX, JavaScript, PRADO Framework, MSSQL Server, C#, .Net Framework, Perl, C/C++, Visual Basic, ASP, HTML, DHTML, XML, SOAP, CSS, Java, UML
I was pretty excited to get an interview. Well, that is until the interviewer took one look at my resume and said "Why is C so far down on your list?"
You'd think that buying things online eliminates the human element of shopping in a retail store. And you'd almost be right.
Nolan heard about one of his company's "problem customers" from a friend of his in the customer service department. This customer was satisfied exactly as often as he was not right – never. If there was a coupon code for $5 off five items, he'd be calling to ask why it didn't work for one item. If they caved and gave him the discount, it'd only result in more calls demanding more and more discounts. If his order arrived on the last day of the estimated shipping date, he'd bitch and moan until the shipping cost was refunded.
Jim B. stared wistfully in the mirror at the wrinkles near his eyes and the few stray gray hairs that he’d accumulated over the last six months. On the way back to his desk, he stopped by his friend Mike's desk. “Point three six,” he said as he banged his head against Mike's cubicle wall. “Point three six.”
His work was about as high-stress as it gets – he was on a team building a security system that was responsible for keeping ne’er-do-wells out of data belonging to nine-figure financial companies and an array of three-letter government organizations, many of which Jim had never heard of. But if he failed and a hacker got into the data, Jim would be sure to find out exactly what the FQD was when they had him deported.
"That's nothing to smile at, Brett," writes David Robinson, "EntityName parsing errors are serious business."
(currently live at NBC Sports)
Some time ago Martin F. was sent in by his IT consulting company to help fix some problems with the HR Database at a major European banking / insurance firm. He admits that the WTF worthy warning signs were there at the onset (among them being that he was the 4th in a series of consultants assigned to this project), but being relatively naive to such things, he accepted the position and spent a year shaking his head in bewilderment and, at the same time, his fists at Rob. He was an HR 'specialist' and a true IT genius who had a self-proclaimed hobby of programming in Visual Basic and was, of course, long gone from the corporation.
The problem database held monthly snapshots of information about all the (over 50,000) employees of the bank, such as their names, DOBs, home address, function, fixed and variable salaries going back about 4 years. Over that period of time, it had expanded to an impressive 2 Million records in size which is not unheard of in any large corporation, but your typical "Select and Group By" query on 200 people took about eight minutes. However, as Martin came to discover, this was mostly due to the fact the corporate HR database was in reality an Access database sitting on some network fileshare.
The Bug That Shut Down Computers World-Wide was originally published on October 2nd, 2007, and today marks the twenty-fifth anniversary of the story. Here’s to a great 2009!
Where were you the morning of January 1st, 1984? Me? I was out living it up at Divestiture-fest ’84 and – let me tell you – it was quite a party. We drank until those seven little Baby Bells looked like fourteen, and kept drinking until it all looked like AT&T again. Ah, the good old days. But not all of us were out celebrating. Some – like Robert Reagan – were actually working, desperately trying to fix the bug that shut down computers across the world.
The Harbinger of the Epoch was originally published on June 20th, 2006. Happy New Year, and have fun fixing those "Date Not Found" bugs created by your predecessors who never would have thought their software would see 2009.
January 19, 2038 is a date which will live in infamy. It is on that day that the 32-bit integer storing the number of seconds since the beginning of The Epoch will overflow, causing death and destruction unseen by the world since the Y2K Bug. As they did in 2000, software will spectacularly crash, hardware will explode, appliances will go haywire and attack their owners, and nuclear missiles will simultaneous launch and destroy the world. Casper Kvan was reminded of this impending doom when one of his systems suddenly went down.
A Function to Quit For was originally published on July 17, 2006
It's easy to understand how Mike Hartnagel got himself into the classic "should I quit after three days?" dilemma. Who would have guessed that a single bullet point on the job description -- "utilizing some Excel Interoperability" -- actually described the architecture of the system: a horrid amalgamation of Excel spreadsheets interacting with C# interacting with other spreadsheets. Who would have thought that all other bullet points -- from "multi-tiered architecture using remoting" to "automated/integrated build process" -- were actually features they'd like to have at some point in the distant future.