Recent Articles

17 Dec 2014
16 Dec 2014

JSON at Crystal Lake

by Remy Porter in CodeSOD on 2014-12-16

Trevor found an unusual bug. Every customer had a GUID, but for some reason, their JSON API failed if there were ever more that 75 results.

He checked the web layer, only to find that it didn’t actually build the JSON- it just returned a string. The string itself came from their Oracle database. That’s where this procedure came from:

49 Comments - Last Comment @ 2014-12-17
15 Dec 2014
12 Dec 2014

Good Help is Hard to Find

by Mark Bowytz in Error'd on 2014-12-12

Daniel writes, "Looking for world class talent? won't be finding it here."

23 Comments - Last Comment @ 2014-12-16
11 Dec 2014

Polynomial Optimization

by Remy Porter in CodeSOD on 2014-12-11

Marlschlag falsch&Schlingen

Rayer S’s co-worker exploded into his cube, beaming. “I’ve just optimized our processing loop. I’ve gone from O(n2) to O(n)!”

46 Comments - Last Comment @ 2014-12-17
10 Dec 2014
09 Dec 2014

You Can't Fire Us Until We Quit

by Mark Bowytz in CodeSOD on 2014-12-09

When one of Felix G’s newest design customers decided that they were officially unhappy with their current web-agency, another company's loss was his gain.

His first assignment was a simple one - remove the code that displayed the website’s creator credits (something like 'developed by xyz') from an external website.

99 Comments - Last Comment @ 2014-12-16
08 Dec 2014

Is Something Happening Right Now?

by Maciej Stachowski in CodeSOD on 2014-12-08

Most programmers are familiar with a notion of technical debt. Sometimes all it takes to make or break a project is a single bad decision, questionable design solution, or even a plain old bug that doesn't get fixed early on. The hacks and workarounds keep piling up, slowly turning the project into an unmaintainable mess.

In this regard, David was already off to a head start. He has recently been assigned to maintain a meeting tracking system with – to put it lightly - a bit of history. A year before, the marketing department of his company received the first version from a subcontractor and promptly implemented it – only to find out that the data gathered were a little off. According to the reports, every single meeting lasted exactly 24 hours – from midnight to midnight.

75 Comments - Last Comment @ 2014-12-12
05 Dec 2014

We're Not in Kansas Anymore

by Mark Bowytz in Error'd on 2014-12-05

"After signing up to search for jobs at Comcast, I check out their locations map and wondered when Nebraska annexed Kansas," Herb wrote.

74 Comments - Last Comment @ 2014-12-11
04 Dec 2014
03 Dec 2014

Nasal String Length

by Remy Porter in Representative Line on 2014-12-03

Dariusz isn’t sure what this line of code was meant to do. At his best guess, it was supposed to find an improperly terminated C string and add a null terminator character after it:

buf[strlen(buf)] = '\0';

103 Comments - Last Comment @ 2014-12-09
02 Dec 2014

Will Managers Never Learn?

by snoofle in CodeSOD on 2014-12-02

Arty works on a team maintaining a legacy application that can best be described as a birds nest of code. It is a massive collection of global variables and a few tens of thousands of routines that would independently modify the data. Decapsulation was the overriding design pattern of choice. Of course, changing the value of some variable invariably has all sorts of unpredictable side affects. Naturally, this lead management to be fearful of making any changes, no matter how urgent, for fear of what would inevitably happen.

Fortunately, management recognized the need to replace it. The directive was given. A new application would be built. The replacement would be designed in such a way as to keep data and the routines that needed to access it somehow tied together. The state of a variable would only be changed as an end-result of some business action.

88 Comments - Last Comment @ 2014-12-08
01 Dec 2014

The Amazon River

by Dan J. in Tales from the Interview on 2014-12-01

Growth is challenging for any company, and the smaller a team is the more carefully they have to vet candidates to ensure a good fit. Carlos understood this, but had never seen it practiced as extensively as when he applied for a systems management position at Initech. The scrutiny applied to their candidates suggested a company obsessed with finding the perfect fit, and Carlos couldn't imagine the quality of the incredible team they must have already. Between the recruitment agency and Initech itself, he'd had three interviews and completed four online tests, including every developer's favorite: a personality quiz. Shaking hands with Carlos after the most recent interview, Initech's senior developer and his would-be boss promised he'd get a call that day or the next with the company's decision. Days went by before his phone rang, Initech's chipper HR person on the line.

"Hi Carlos! I was hoping you had a few minutes to answer a few questions."

339 Comments - Last Comment @ 2014-12-15