Recent Articles

Jun 2009

A Systematic Approach

by in Feature Articles on

It was the early 1990s and Frank was living the dream – unshaven, in pajama bottoms and his favorite hockey jersey, having just woken up at 12:18 PM, was now working in the dim light of his basement on one of his freelance projects. Just as he was sipping a cup of coffee, the phone rang.

Frank tried fruitlessly to fight an unexpected open-mouthed yawn when he picked up the receiver. "OOOOAAAaaahhhh... hello?"


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 Dead Guy's Password

by in Feature Articles on

Anyone seen my car keys?"Is this campus tech support?," the caller said before Michael even had a chance to say hello, "I hope this isn't a recording because we have a serious problem with one of the detectors here. It won't open files!!"

Used to working with the frantically confused user, Michael replied in a calming voice, "Now calm down, let's start out with your user id and—"


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.


Yesterday's Function, Today's Form

by in Feature Articles on

credit: duesentrieb @ flickr Chest puffed out and walking absurdly fast, Dietrich called out various rooms as they passed. "Built in the 70s, you'll find our building is an absolutely stunning marvel – processing room! – of modern architecture. Top to bottom, function has – restroom! – dictated the form. You'll find no unnecessary extravagences – another restroom! – within these walls." His heels clicked and echoed as he led Chris S. and another fresh-faced recruit on the grand tour of RNTP's corporate building.

Chris had been trying to get a word in, and seized the opportunity as soon as he could. "Wow, this building is hu-"


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:


It's the Only Way to be Sure

by in Feature Articles on

WHY?! "Support ain't gonna be no big deal," Scott B.'s boss told him, "it's a weighbridge fer cryin' out loud! They don't got no movin' parts and they ain't gonna go breakin' in the middl'a the night."

Scott found the conversation reassuring. While he was happy to help his company expand into the business of selling and managing weighbridges, he was reticent to commit to 24x7 for emergency support, especially when support meant possible on-site visits within a fifty mile radius. But the boss was right, it's a weighbridge — truck moves on, weight slip prints out, truck moves off — it don't get no simpler than that.


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?"


Debugging is Risky

by in Feature Articles on

WTF cat is not amused.Years ago, Peter worked as a highlyly paid IT consultant. You know those guys who come into the office in Italian suits and take over the large conference room as their "office" for six weeks? Well, Peter was one of those guys. But unlike the stereotype, he actually earned his hourly rate while applying his expert experience to several projects. He also had the luxury of working with some very highly skilled (and also highly paid) professional colleagues.

However, times started to get tough and Peter was having a harder and harder time finding a position as a consultant. Soon, he had to face facts — he'd have to explore other employment options, including getting a job as... a regular developer.

Paradigm Shift


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."


Hell Hath No Fury

by in Feature Articles on

"Stu-dennnt!" Bill called out for Gary with the level of respect Gary had become accustomed to, in a tone not unlike Superintendent Chalmers's calling for Principal Skinner. "Is this... decaf‽"

Gary had grown numb to the lack of respect. He used to remind himself that this was his first job out of college, that he'd eventually earn Bill's respect, that if he just kept his chin up and proved himself then someday Bill would treat him like an equal. Over time, that inner voice gave up.


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."