Alex Papadimoulis

Founder, The Daily WTF

Jun 2009

Loyalty Rewarded

by in Error'd on

"This coupon increased the chances of me trading in my car by about 0.79%," Josh notes.


Death by Delete

by in Feature Articles on

Rick worked for a regional ISP that provided hosting services. The customer base consisted primarily of consumers and small businesses, so the ISP offered a lot of "a la carte" services for things like SSL, authentication and database access.

A small chain of pet stores in the tri-state area, MegaPetCo, approached Rick's company because it was trying to expand into other cities and states. Having outgrown its current provider, MegaPetCo wanted Web space, a database and a few e-mail boxes. After careful consideration, it opted for the $74.99/ month Advanced Package that included a 10MB database, 100MB of disk space and 100GB of bandwidth.


The Winds of Recession, A Doomed Interivew, and Oops!

by in Tales from the Interview on

The Winds of Recession (from Juan Seul)
Among other things, my job description at a certain Austrian software company includes interviewing candidates for project manager, developer, and other IT positions. In all my years conducting interviews, I’ve never had one that was all too crazy, and to this day, I still haven’t. But I think I was pretty close.

One day, I had an applicant scheduled for an 11:00 AM interview. She had been downsized a few months ago from a local manufacturing company, and seemed pretty excited at the opportunity to work with my company.


What Could Be Easier Than XML?

by in CodeSOD on

JT Klopcic could not believe his eyes. It was supposed to be a simple assignment. The length of some data field was changing, so he needed to walk through the import process and make sure that all the associated data sizes would accommodate the new length.

JT was unfamiliar with the process, so he took a look at the import file. Thankfully, it was all well-formed XML. This should be rather easy, he thought. And then he stumbled over this:


A Long Way to the Top

by in Feature Articles on

Matt was excited: he had landed his first real web development job. Granted, it pretty far down on the totem pole – webmaster for a local wholesaler – but it was a foot in the door. Next job he might have the opportunity to do a little bit of PHP. And the job after that, maybe some MySQL. Soon enough, he’d be a full-fledged developer with a résumé overflowing with buzzwords from AJAX to Zend.

But for now, his job was to maintain the wholesaler’s website. Several years prior, the company had spent a bundle ($20K +) to have the site professionally designed by some local web development shop, and had been managing it in-house ever since.


Internet... Sure!

by in Feature Articles on

Smokin fast.Back in the early 90's, Marcus worked for a company we'll call SuperbNet. They were the European equivalent of CompuServe and a boasted a continent-wide network that you could dial-in to to post messages, share pictures, chat interactively, and so on. But unlike CompuServe, SuperbNet's infrastructure was built for reliability using specialized Tandem servers that could never fail.

For years, users were thrilled to pay upwards of $10/hr (on top of any long-distance charges) to access SuperbNet, and SuperbNet's Tandem systems — programmed with a customized version of FORTRAN — ran wonderfully. Because nothing ever seemed to break, the system was designed to go back years upon years to see everything that had ever been posted since first going online. It was as perfect of a world as could be. That is, until this thing named the "Information Superhighway" came along.

Re-Engineering the Wheel


For Kids

by in Error'd on

"I visited the Science Museum of London this week-end and saw this," Samuel Alba writes.


NPR Is Reading My Email, Just Fix It!, & More Support Stories

by in Feature Articles on

NPR Is Reading My Email (from Tom)
I was on a teleconference one day and saw another call coming through. It was Heather Jenkins, a fairly common caller to tech support, so I decided to send the call to voicemail. Whatever it was, it could wait.

As soon as my new voicemail indicator lit up, the phone rang again. It was Heather, so I sent the call to voicemail.


For The Love Of...

by in CodeSOD on

To many people, including Ron Owens, the word "some" refers to a relatively small amount in between "none" and "most". But To Ron's employer, and especially in the context of "job responsibly include... some maintenance of legacy VB6 applications", the word "some" tends to mean "pretty much all day long for the indefinite future."

Because legacy application maintenance is one of the torments found in the outer circles of hell, Ron had hoped to find catharsis by sending in examples of his day-to-day. But alas, because the application was so large and had been maintained by so many people, there was no single, concise snippet that faithfully represented what he was dealing with. That is, until recently, where he uncovered a snippet that not only illustrated the (over)complexity of the application but offers glimpse into what the UI looks like.


The ö Alternative

by in Error'd on

"This was the packing slip on a package I received from some online order," Florian Schicker writes, "apparently, the Chinese folks writing these slips don't have computers that can display the 'ö' character."


Simple SQL

by in CodeSOD on

John N's colleague's approach to problem solving is best described as follows. The solution to any given problem is to introduce two additional problems. While this approach generated quite a many interesting implementations, it rarely produced the needed results: simple, custom software for their clients. Ultimately, this approach led towards his de-hiring, which meant that John would have to maintain his old systems.

One project that John inherited was a fairly simple web application that tracked overtime. Simple, that is, from the front end. The back end PHP code was responsible for querying a MySQL database with queries similar to this:


An Old COOT

by in Error'd on

"COOT is software that's used by crystallographers to build models," Jordan Eunson writes, "I know I would sure like to upgrade the COOT I'm using right now!"


The Int Divide

by in CodeSOD on

Mark Baker and Aaron Jenkins had one thing in common: they were both in the midst of a transition at Initech Global. It was Aaron's last day on the job and Mark's very first, and Aaron was tasked with helping Mark get acquainted with the applications, servers, and whatever else a new employee might need.

Of course, seeing that it was Aaron's last day, Mark's "brain dump" consisted of a single item: how to unlock the front door and disarm the alarm system. "So let's see," Aaron explained, "if you're the first one in, just put this here key into this here lock and give it a turn. Got it? Then punch 8863 on the alarm panel. Got it?"


Confused Coaches' Poll

by in Error'd on

"I captured this on ESPN during a college basketball game," Francisco Moraes writes, "as you can see, it seems hard to distinguish between teams #11 through #20. When in doubt, just sort the results."


A Waste of Time

by in CodeSOD on

Every now and then, you’ll come across some code that’s just like a car crash. The twisted, mangled-up kind of crash where the car’s on its side – possibly even on fire – and you can’t help but stare at the wreck with a mix of disgust and interest. Can it be fixed? Hmm, maybe something can be salvaged from the mess. Sheesh, I hope no one died as a result of this.

Samara N recently came across some car crash code: there were virtually no comments and the documentation simply read “handles time.” It came as no surprise that the code was written by Jared, also known as the Lead Developer’s sister’s daughter’s boyfriend. As everyone knows, nepotism rarely generates anything good, and in this case it generated something god-awful that no one dared to touch.


Interesting Bitmap

by in CodeSOD on

As a programmer for a steel mill, Josh gets to see all sorts of interesting things. And not the "everyday" things like the gargantuan ladles that carry hundreds of tons of molten steel. Or the red-hot, 2000°F slabs flying through the hydraulic rollers in the hot strip mill. Or even the giant vats of hydrochloric and sulfuric acid used by the pickler. No, I'm talking about The Code.

The Code — the lifeblood of the steel mill's information system applications — was originally developed by a highly paid consulting firm who specialized in the manufacturing industry and hired "only the brightest of developers". And that turned out to be their downfall: given the boring nature of the steel mill's information systems, the developers often made things far more complicated than they needed to be.


Serious Self-Service

by in Error'd on

"I got this one while attempting to update my programming for Bell TV," Steve Gamble writes, "talk about self-service: they even allow me to do sysadmin stuff if desired!"


A Classic Production Failure

by in Feature Articles on

Since I got tied up on a lovely production failure yesterday (hence the Classic), I figured today'd be the perfect day to rehash "//TODO: Uncomment Later", originally pulished on March 14th, 2007.


What was your worst production failure?


How Not to compareTo()

by in CodeSOD on

"With more changes being requested by the business and less time allowed to turn around those changes, we've fallen a bit behind on our deadlines," writes Zarar S, "so I requested that we bring on a contractor to help fill in. It was a long shot, but hey, anything not to come in to the office weekend after weekend."

"Amazingly," Zarar continues, "the Powers That Be granted my request and added a 'twenty-year veteran' with 'great Java experience' to my team. One of the first things I asked him to do was write a compareTo() method on our Activity classes and integrate them into our reporting subsystem. After a day or so of hard work, this is what the expert came up with."


10, 10, or 15?

by in Error'd on

"I saw these three ads when I loaded my Yahoo! Mail inbox," Anthony Perkins writes, "I wonder which one to go for?"


Illogical Logic Flow

by in CodeSOD on

"I took a job at Initrode Software to help build the bridge to C#/.NET from their current, VB6 codebase," Chris G. writes. "It didn't take me too long to realize that the original programmers of this software — the only product that Initrode sold — had very little real-world experience."

"Recently," Chris continued, "I was fixing some of the code that was used to highlight a portion of the screen when I found this."