Recent Articles

Jul 2013

The Page at Fault

by in CodeSOD on

Long before humans walked the Earth, dinosaur network engineers noticed that networks could be slow sometimes. Sending thousands and tens of thousands of lines across a network could be a serious performance problem. A particularly clever Tyrannosaur used its stubby arms to type out the first paging algorithm.

This ancient technology is well understood. So this particular bug report perplexed Kamen:


A Crony Joke

by in Feature Articles on

Steve set aside his Turkish pizza and borek and answered the phone. He was taking lunch around the corner from the office.

“The server is down!” his boss grumbled into the phone. “Where are you? Can you come back in? This is production! Production is down!”


It's Nobody's Baby

by in CodeSOD on

Daan O. arrived at work only to find all of his peers sitting in the conference room, looking scared; very scared! The salesman had snagged a new client by promising that all of their data from their current application could be trivially imported into Daan's company's primary product - no problem-o! Unfortunately, the salesman had not bothered to ask the new customer what the data looked like. Or in what format it existed. Or how much of it was there. Or if it was in any way consistent. He had just made the promise. Now it was their problem to make it all work. Unfortunately for Daan, he had been victimized assigned with the task of making the magic happen.

First, the data was delivered as a plethora of Excel spreadsheets, each one representing a table in the client database. Perhaps job-one should be to dump it all into scratch tables and try to work from there.


100% Chance of Laser Beams

by in Error'd on

"Sure is some wild weather we're having tonight," remarked Jeff.


Ubertrim

by in CodeSOD on

Nav was not having a great day. He was remotely managing servers in the datacenter using Dell's iDRAC interface but the time it was taking to load was worse than an old lady with a walker trying to cross an intersection.

Nav checked the obvious spots - Were there any problems with the corporate Intranet? Email? Network drive? Ping? A little slow, maybe, but all were certainaly usable. So, he thought, What the heck could it be?


The Circle of Fail

by in Feature Articles on

During Ulrich’s days as an undergraduate, he landed a part-time gig at a nuclear power plant. It was an anxious time to be on board at the nuke plant- the late 1990s. The dreaded Y2K loomed over all of their aging systems. One decimal point in the wrong spot at midnight on January 1st, 2000 and… well, nothing good would come of it.

Ulrich’s job for the big conversion was more benign though. He needed to update the simple graphics on the monitoring program the nuclear technicians used to keep tabs on the reactor. The very basic macro language generated Commodore 64-quality graphics; it displayed the position of the control rods, neutron flux, water temperatures & pressure, turbine and generator stats, and how many three-eyed fish were caught in the neighboring lake. All of this was then shown on 10 massive CRT monitors mounted around the main control room.


1 or 2 or 3 or 4

by in CodeSOD on

Brian knew his assignment for Software Engineering class would be trouble when he was put in a group with That Guy.

That Guy, as anyone could attest, was the one who burned down the chemistry lab. . . twice. He was That Guy who dropped a brick on the Dean’s sandal-clad foot in a failed physics experiment. He was That Guy whose actions led to a complete ban of aluminum foil in the campus cafeteria.


Outlet to the Danger Zone

by in Feature Articles on

Chris Q had a reputation for being a bit of a maverick. He didn't make changes directly to production, dare the two-week-old butter chicken in the back of the lunchroom fridge, or even particularly like 1986's Tom Cruise / Val Kilmer vehicle Top Gun. But as part of an elite development team that had split from Government Department's mainframe dev group, Chris couldn't help being branded "other". When he walked by, the old-school mainframe developers whispered: there went a guy who thought dangerously out of the box.

The original reason for the split was called The Internet. As the Thermodynamic Arrow of Time dragged them relentlessly towards the heat-death of the universe, Government Department needed a web presence and a modern intranet. While the budgetary committee would have been perfectly happy to somehow run the new system on the Department's existing mainframes, sanity prevailed (this time) and a new-ish PC server machine landed on Chris's doorstep. Since a majority of the senior-most developers wanted nothing to do with the newfangled equipment, the PC / Server Team was formed. While having perhaps not as much experience as the mainframe developers, Chris and co. knew their server needed an uninterruptible power supply and regular disaster-recovery testing. Every quarter, at a scheduled time, they would pull the plug on the UPS and ensure the server shut down gracefully before the batteries died. And the server always did.


An Exact Measurement of Evil

by in Error'd on

"The Sith in Star Wars the Old Republic really keep specific tabs on exactly how evil you are," writes Chris Osgood.


SQL Injection Not Found

by in CodeSOD on

The bug ticket complained, “When I try and update a certain page in the CMS, I get a ‘file not found’ error.” It included more details, explaining what page in specific was the culprit, but Michael was still confused. This application had been in use for over a decade, and no one had ever had a complaint like this. He also couldn’t replicate it, at least, not until he got the user to provide the specific text they were trying to use in the update.

As soon as he noticed the sentence: “Stop; declare your intent!”, he realized it must have something to do with their SQL injection protection .


A Questionable New Hire

by in Feature Articles on

Chris S. worked at a large financial firm that had its roots in the wild and crazy days - long before political correctness was all the rage. Men behaved savagely, both financially and socially. Women, no matter their skill and/or rank, were objects, targets ripe for abuse. Fast forward a few decades into the PC era and the madness was scaled back quite a bit, but the characters remained. The off-color jokes and emails are still passed around; just more discretely. Right or wrong, it's just the way the business side has always been in large financial firms.

One day, Chris received an email from the CTO asking him to consider the attached resume for the open position on his team. The resume looked decent, and the level of business knowledge the candidate would bring to the team would be extremely helpful, so Chris decided to reply and set up an interview. As he hit reply, Chris noticed that the email had been forwarded from the broker to the CTO; it was initially a series of exchanges between the candidate and broker who were obviously buddies, so he decided to read it all, starting from the bottom up.


PHP Doesn't Have Date Functions Either

by in CodeSOD on

We recently brought you the touching story of Shaun, and his coworker's mistaken belief that Perl has no built-in methods for working with dates. Well, Shaun can rest easy: he's not alone.

Apparently, PHP can't handle dates either.


The Accounts were Pounded

by in Feature Articles on

Shortly before the global banking system chucked itself out of a 30 story window, one large bank purchased another. It may be a common financial transaction, but from an IT standpoint, the problem of integrating these two systems is always unique, always cumbersome, and fraught with problems. Sajid was one of the lucky individuals tasked with the great undertaking of moving these banks to one information system.

Sajid’s business contact at the new acquisition was Karel. The latest round of requirements from Karel described a system to track the movement of trade data from his office, in the Netherlands, to Sajid’s, in London. The underlying business logic was simple, but the nature of financial data added layers of complexity. Moving data around was insufficient- there needed to be auditing, tracing, regulatory compliance. The project needed a risk management plan, the tool itself needed a clearly documented backup and recovery plan, and on top of all of that there was the simple management overhead of doing anything in a large organization.


Success Overcompensates for Failure

by in Error'd on

Brian found that SharePoint considers a “Success” an error worth noting. Oh, Brian, we know. We know.

World of Tanks is apparently a pretty great MMO, but it looks like Jaakko won’t be joining them any time soon.


Stringing a Replacement

by in CodeSOD on

Philip inherited a large Java application. It was the sort of application that needed to solve a clear business problem, so the original programmer started by building his own “template engine”, to simplify the process of generating output.

A template engine needs a simple way to do string replacements, but unfortunately, Java doesn’t offer a String class with a variety of “replace” methods for different situations. No, this Architect had to invent this wheel, using nothing but used chewing gum and his own wits.


To Con and Insult

by in Feature Articles on

“Well, you know, this’ll be easier when you guys need support from us,” Bob told Peter, tugging at the calendar tacked to his cube wall.

From his seat on Bob’s empty file cabinet, Peter blinked. “Wow. I’m already a ‘you guy?’”


Epoch Fail

by in CodeSOD on

One of Michael's employer's clients wanted a system to catalog and retrieve security videos. The resulting product was partly written in C++, partly written in PHP. The code is like poetry...really, really bad poetry.

One day, the client complained that the dates and times weren't being recorded right. Michael took a look in the database and double-checked the UNIX timestamps of a few on the web page. He confirmed that yes - they were recorded just fine. Surely the client must have been imagining things, Michael thought as he closed the bug as 'couldn't reproduce'.


Documentation by Sticky Note

by in Feature Articles on

Anita parked outside the converted garage, the printed graphic reading Global Entertainment Strategies (GES) above it. When the owner, an old man named Brad, had offered her a position after spotting her in a student computer lab, she thought he was crazy, but a background check confirmed everything he said. Now she wondered if her first intuition was correct.

“Anita, welcome!” Brad seemed to bounce like a toddler as he showed Anita inside. The walls of the converted garage were bare drywall; the wall-mounted AC unit rattled and spat in the corner. In three corners of the office sat discount computer desks. Walls partitioned off Brad’s office in the fourth corner.


Mistaken Identity

by in Error'd on

"You know, I kind of feel bad for the Visual Studio installer," writes Markus Schaber


Classic WTF: Java is Slow!

by in Feature Articles on

It's Independence Day for us folks here in the US, so to mark the occasion, here's a Classic WTF!



Ternary Over a New Leaf

by in Coded Smorgasbord on

Dimitry likes it when the bad code he finds can be sung aloud. This particular line can be sung to the tune of “Rule Britannia”.

for (var html in data["html"])
   $(data["html"][html][0]).html(data["html"][html][1]);

The Speed of Progress

by in Feature Articles on

Eric had not expected to be put into this position. He had been an annual visitor to Comicon for the past decade, but when they ran into trouble with the audio right before the "Big Bang Theory" cast panel, he just happened to be the right person in the right place at the right time. Working furiously to get the cabling back together, he was surprised the gentle tap on his shoulder. Turning around, he found himself face-to-face with Kaley Cuoco.

"Thanks soooo much for your help", she cooed.


May the Sad Force Be With You

by in CodeSOD on

A long, long time ago, in a software shop far, far away, clouds of bad management began to gather. The evil CEO, in his hooded shroud, commanded a dearth of Darth's that a powerful sphere-of-influence be built to help enforce His will. Rules and regulations would abound. Roles would be restricted. The twin suns were obscured and darkness covered the land.

It was the beginning of a period of Great Sadness.