Recent Articles

Dec 2011

The Niet Gedef category_name

by in Error'd on

"When I updated the firmware on my Xperia Neo phone, a new piece of software got installed called Wisepilot," writes Tarmo, "it looked interesting, but the EULA stated that I only have the right to use it on iPhone or iPod touch."


Classic WTF: I Think I'll Call Them "Transactions"

by in Feature Articles on

I Think I'll Call Them "Transactions" was originally published on October 31, 2006.


As programmers, we derive satisfaction from our ability to create solutions to other peoples' problems. Unfortunately, the problems that we solve aren't the exciting "world-hunger" type, they're more along the lines of, "Sally is spending too much time doing expense reports and would like to automate the process." The inherently boring nature of these business problems lead many programmers to seek out new problems to solve, the most common of which is the meta-problem: a problem with the process of creating a solution for the actual problem.


Classic WTF: The Speed-up Loop

by in Feature Articles on

The Speed-up Loop was originally published on January 24th, 2008.


“So what do you think about the opportunity,” Ben’s recruiting agent asked. He thought about it for a few moments. It wasn’t exactly what he was looking for, but then again, he had been out of work since November of 1989 – nearly three whole months – and figured he should probably get back in to the swing of things. He told the recruiter that he’d like to talk to the client and asked to schedule an interview for the following week.


JavaScript JSON Parsing

by in Representative Line on

No data interchange format is perfect. ASN.1 (Abstract Syntax Notation One) is probably the closest (it's by far the most flexible and comprehensive), but since no one's really heard of it, it may as well be Esperanto. Although XML has become the de-facto standard, JSON (JavaScript Object Notation) has been gaining favor – especially for simple operations on the web.

For example, a JSON response to an authorization check might look something like this.


Risk Management

by in Feature Articles on

John grabbed another slice of pizza and took a moment to review the project status and gather his thoughts. The project plan was buried unter a pile of empty pizza boxes and laptops. The room stunk of caged programmers, grease, and deadlines. At least it wouldn't be too much longer, now. John finished his slice and got back to work.

This particular deadline death-march was for a risk-management and assessment package. It was the pizza-and-pepperoni for John's employer, an insurance company. Identifying, assessing, and wrapping numbers around risks was their line of business. The VPs wanted the "tribal knowledge" of how to do this encoded into a software package, and they wanted it live by the end of the quarter- only a week away.


S(adistic)DK

by in CodeSOD on

Having been a software consultant for the past two decades or so, John wasn’t too worried when his client asked for some help developing against a “fairly niche” vendor SDK (Software Development Kit) for reading genealogy data from various file formats. When his client mentioned the SDK author had gotten the nickname Dinosaur Bob, John just shrugged his shoulders. He had conquered many a SDK in his day, so how bad could Dinosaur Bob’s SDK be?

The first alarms started going off when John tried to use the SDK’s test program to open a sample project. One of the file formats the SDK supported was called TMG, and that format happened to be developed by the very same Dinosaur Bob. It seemed like the logical place to start, so he loaded up the Dinosaur Bob’s TMG software and created a small sample project called simplest.


Broken Bus Driver

by in Error'd on

"The Israeli bus company 'Dan' recently started putting big screens for commercials on the back of the bus," writes Eran Chetz, "it's a little concerning that the bus cannot load


Tired of Getting Burned

by in CodeSOD on

"For the longest time," writes Sasha, "there was only a single Software Engineer IV in the group, and he was known as The Bloviator. If there was a simple solution to a problem, then he'd complicate the problem. If there was a complicated solution to a problem, then he'd complicate the solution even further."

"One trademark style of The Bloviator was his enums. When asked about why he defined his numbers this way, his response was simply: I've seen compilers get literal numbers wrong before. And I'm tired of getting burned."


Confessions: FSDB

by in Feature Articles on

Robert Horvath shares with us a confession from a system a long, long time ago.


When I was twelve years old, I wrote my first point-and-shoot game on my Commodore 64. The next year, I burned-out that very same C64 by trying use its sound chip for placing phone calls. At fourteen, I taught myself Pascal and wrote a little program that hid itself in memory and snooped on my classmates’ and teachers’ passwords as they typed them in. There was no question about it. Before I even entered high school, I was a bona fide computer genius.


Uppity

by in Representative Line on

"The project was done in C and it was clear the original contractor had no comprehension of function parameters," Aargle Zymurgy writes, "Imagine a source file with 20 functions in it, all modestly complex (between 10 and 40 lines) that only differed from each other by which global variable they operated on. Now repeat for dozens of other modules."

"But this was just the start of the global madness. For the user interface, various notions of up, down left and right were needed. In fact, those ideas were needed in dozens of contexts throughout the program. But what to do? You just have to innovate, of course! Thus the code had the following global variables."


Sponsor Appreciation, Careline, laskdfa ksd l;fajs;f dkfas;, & More

by in Feature Articles on

And for try #2 of this article (first one was a bit null'd). Our sponsors help pay the bills so please, try to check out what they do!

TDWTF Sponsors

Aurigma Logo   Aurigma makes it incredibly easy for users to upload photos, documents, or any other kind of file directly into your app. Give your users the power to upload multiple files at once, resize photos prior to upload, and so many other things without any complications.
New Relic   New Relic is basically a magical, real-time performance and user monitoring tool that works on virtually any web platform: Java, Ruby, PHP, .net, Python, Ruby on Rails. I'm not sure how it works (magic?), but it's incredibly easy to use and is pretty inexpensive. Remember: performance is a must-have feature!
New Relic   Monetate - their testing, targeting and personalization platform for online retailers is used on leading websites like Best Buy, Sports Authority and Urban Outfitters. If you’re a problem-solver who is passionate about rich web applications, scaling Internet applications to billions of page views, and working with big data, then you’re a perfect fit for our close-knit and agile team.!
BuildMaster   Inedo - the makers of BuildMaster, the free, and easy-to-use, web-based deployment and release management tool. Going far beyond Continuous Integration, BuildMaster delivers a series of robust features unparalleled by other build-promote-deploy-distribute tools. Oh, did I mention it's free?
SoftLayer   SoftLayer - SoftLayer is the innovation leader in Cloud, Dedicated, and Managed Hosting with 13 data centers worldwide. We integrate best-in-class connectivity and technology into the industry’s only fully-automated platform, empowering enterprises with complete access, control, security, and scalability

"Reading The Cooling Kludge" reminded me of our very own asterisk reboot procedure."


The WET Cart

by in CodeSOD on

The WET Cart

"I help out design firms with 'backend' coding for websites and web applications," writes Josiah, "usually this involves anything that's not HTML/CSS or copy/paste JS."


The Source of Control

by in Feature Articles on

"I think I understand the process," Miguel said, "but how do I check in the code?"

Stephan leaned over his desk for a closer examination of Miguel. His expression spoke of a deep distaste for what he saw. "You don't," Stephan said. "Only I access source control. Only I check in files, after I've confirmed that you haven't made any mistakes. Can you imagine the chaos if we just let any developer have access to our code base? We like to keep things nice and organized around here."


The Date Array

by in CodeSOD on

"When the snow starts falling, that means two things," writes Lee, "there's a bit of a slower commute, and the End of Year bugs start coming out of the woodwork."

"This bug cropped up and took down one of our larger systems when outlooks for 2012 were trying to be prepared."


No, NO, No, NO, No

by in Error'd on

"I saw this Manual Microwave an electronics store," Daniel Fountain wrote, "is there a crank? Do I have to hold my food and spin on the spot?"