« Dec 12

January 2013

Feb 13 »
Telecommunications manufacturing is a cut-throat business. Features, functionality and hardware need to be added and continuously improved at a frenetic pace in order to stay one step ahead of the competition. Engineers must constantly increase their skills to leverage the latest advances in technology to design and build the best product possible at the lowest cost. Slip up just a little, and it can be a death knell for your company.

Reusable Code

Code reuse is one of the key steps to maintainability. There are many ways a developer might make their code reusable. For example, Steve’s co-worker wrote this block, which generates 1000 log entries:

Scheming Schema

Adam worked for a moving company. When he joined up, it was a regional enterprise with several locations and a surprisingly large fleet of trucks. One day, he came to work to learn that he now worked for a much larger, national company, called ConHugeCo. Nobody was getting fired, but now Adam had to get their data integrated with ConHugeCo’s.
It was a dark and stormy night. The kind of night envisioned by Mr. Bulwer-Lytton when he penned his infamously bad opening sentence, but the weather was not a deterrent to Craig. Craig faced a task more daunting than mere lightning and rain. He was on the trail of an annoying bug and was determined to track it down come hell or high water (a possibility made more real given the weather).
As a parent, I'd prefer the middle choice in this one that Kevin G. sent in. It's large enough to block the elements and sends a powerful message to the kids.

The Sysadmin's PC

“Hey, can you give me a hand? This computer I built won’t boot.”

De-Populate Dates

"That was call seventeen about the sales logger," said Jeff, "The dates are all mangled. Nothing’s getting logged. We need to escalate."

Too Much Sleep

I've frequently posted about my attempts to speed up our system being thwarted by sleepy management decisions about application performance. Our application is essentially: query data, crunch data and save results. Each of those tasks took approximately 1/3 of the run time. A large part of my job is to make the application run more quickly. Every time I fixed something, something else would break, not because I coded something incorrectly, but because of the fragility of our application, other associated applications and the database. For instance... Sleep for the database
Creating websites so that they display the same on all browsers and platforms for all vendors is tough business. Designers aim for "One size fits all" but sometimes, even with the best of incantations, "One size fits most" is the end result.
"Xfinity's website seems to think that I'm 'null'," wrote Jon Klein, "I tried to change that by creating a new username but instead got stuck in an endless loop."


Comments are a vital part of making code readable, but they’re more than just documentation. They’re communication between one developer and another. They tell us what the code does, but also how we feel about it.
"You ever seen one of Arnold Schwarzenegger's speeches?" Alan's new supervisor Tessa asked as she led him to his new office at BigTelCo.

A Forest of Trees

Our system was written by neophyte troglodytes who didn't follow standards of any kind. They coded whatever they wanted, however they wanted, whenever they wanted, wherever they wanted. Usually via copy/paste/plagiarize.
“232632, in the flesh. I’ve waited a long time.”
TDWTF Sponsors   JRebel is a JVM-plugin that makes it possible for Java developers to instantly see any code change made to an app without redeploying. JRebel lets you see code changes instantly, reloading classes and resources individually and updating one at a time instead of as a lump application redeploy. Download your FREE Trial Today!   Inedo - the makers of BuildMaster, the free, and easy-to-use, web-based deployment and release management tool. Going far beyond Continuous Integration and into Continuous Delivery, BuildMaster delivers a series of robust features unparalleled by other build-promote-deploy-distribute tools. And now back to our regularly scheduled program...
Jim worked in the IT department of a university and one of his many jobs was maintaining the dial-up system.


Data-driven applications need to generate SQL from time to time. Usually, we leverage things like stored procedures or ORM tools to keep our code sane, but from time to time, we might hard code our SQL statements. You sacrifice some flexibility for some transparency into what your code actually does to the database.

Color Me Stupid

Andy's company develops solutions for "Industrial" handheld devices. To make deployment and updates easier, they each run a thin client so only the server is different from project to project. This client was written by a long-gone employee in the early nineties, and had barely changed since because it "just worked". Updating it was discouraged for fear of breaking backward-compatibility.

Divide and Validate

In IT, what many developers mistakenly consider to be magic code or evidence of elite (aka "L337") hacker-type abilities actually turns out to just be some cleverly applied math concocted by a developer who chose to think outside of the box.
"Not the sharpest blade in the data center...if you know what I mean," wrote Sam C.
You know what really gets to me? People who open links too quickly. Haphazardly opening new tabs all over the really grinds my gears.
There was nothing unusual about an unusual ticket. Matt worked helldesk at an assembly plant, and not a week went by without some confusing brain-bender from his users. He didn’t blink when he received this ticket:
« Dec 12

January 2013

Feb 13 »