Recent Articles

Jun 2007

Electronic Door Lock Security

by in Error'd on

What better way to keep out the riffraff at an office gym than one of those newfangled electronic locks? Of course, getting legitimate users to remember the key code can be a bit of a challenge, so it’s probably best to put a sign on the door that tells them what the key code is. But of course, that presents a security problem with the aforementioned riffraff, so it’s probably best not do that. Or, one could just do both …


Inflammatory Comments

by in CodeSOD on

Once upon a time, there was a web programmer and a web designer. Try as he might, the web programmer was not a very good programmer: he hacked, and hacked, and hacked, but his programs just never worked the way he wanted. The web designer was a good designer, but had one problem: her ego was three sizes too big.

One day, the web programmer and the web designer worked together on a project. They had their arguments; they had their differences; and they made sure to discuss their arguments and their differences in the HTML comments for all, including Robert H, to see and enjoy ...


WARNING: Corroding Application

by in Feature Articles on

Trevor D. recently got a job at a company that has provided all of Europe the means to ship dangerous materials for decades. He wasn't specific about which dangerous materials they deal with, so I'll speculate: radioactive, flammable, toxic, corrosive, or biohazardous chemicals, and maybe bees and cobras.

Whatever these dangerous materials are, Trevor maintained an application that could print labels for whatever dangerous goods were being shipped. These labels would list why the contents were dangerous and any necessary precautions for handling them. For instance, chemicals that can explode get a "combustible" designation, biohazardous materials get the logo of defunct New York old-school hardcore band Biohazard, and cobras and bees are labeled "warning: this package is full of goddamn cobras and bees!"


Just Wait For It ...

by in Error'd on

Sure, Charles could buy now and get the standard "discounted upgrade pricing," but if he waits just a little longer, he could totally rock the much better, “New Every Two” discount …


The Batch Process Manager

by in Feature Articles on

Ahhh, e-cards. Once a fun way to express those delicate emotions in a way that only hundreds of retina-burning animated GIFs and a midi version of Rush's "Tom Sawyer" can. Now, a surefire way to get your email added to spammers' mailing lists. Still, it's hard not to smile when you get an e-card.

Years ago, T. I. was working as an intern in the IT department of a small company. On their web site they offered a free e-card service, built by an outside vendor. An outside vendor named Frank. T. I. was tasked with integrating Frank's e-card infrastructure with the company's on-site servers.


The Wireless Catch-22

by in Error'd on

Aaron encountered a Catch-22 while signing up for wireless access. For you logicians out there, see if you can follow me. Signing up for wireless access (C) requires you to enter your credit card over a wireless connection (A). You should never transmit credit card information wirelessly (B). Therefore, ((A ^ B) => C), but (A => !B) and (B => !A). Ergo, you can never sign up for wireless access. Also, note that it only warns you about this after you've already submitted your credit card information.


F'd Factorial

by in CodeSOD on

When we look to hire a recent college graduate, there’s not a whole lot we can expect. Source Control, Defect Tracking, Best Practices –all concepts not a part of any computer science curriculum I’ve ever seen, but essential in any business environment. All we can hope for is a good personality match, a strong potential for learning, and at a very minimum, some retention of the concepts taught in computer science courses.

On a recent interview, Richard’s candidate managed to score zero-for-three. Despite having recently graduated with a computer science degree, the student had a tough time solving the easiest of easy computer-science riddles: the Factorial. Their conversation went something like this ...


Broken Communication

by in Feature Articles on

Rrrrrriiiinnngggg. Ahh, yes. The 2:00AM support call. There’s nothing else quite – rrrrrriiiinnngggg – like it to remind us that no place, not even Happy Dreamland, is – rrrrrriiiinnngggg – a sanctuary from work. “Hun,” Michael’s wife grumbled, “Aren’t you going to get – rrrrrriiiinnngggg – that?!” Michael rolled out of bed and answered the support phone. There was apparently a pretty serious problem with one of the dedicated communication servers.

“Did you check the operations logs?” Michael asked. Surprisingly, the operator had already done that. And attempted to resynching the connection. And cleared the message queue. And everything else on Michael’s step-by-step failure procedure, up to and including calling Michael when all else failed. As pleased as Michael was to find a competent operator working that shift, he still had to go into the office and fix whatever was wrong. The stock exchange was opening in seven hours, and there’d be a lot of unhappy investors if his company couldn’t relay trades.


Before Until

by in Error'd on

Melchior is either a fan of opera, 16 liter bottles, or Chrono Trigger, or maybe he just has a weird name. Anyhow, he encountered an error on a large shipping company's web site. Melchior says the company's name rhymes with "Percolator," and no, I can't think of the name of the company either.


Confusingly Confidential

by in Feature Articles on

When companies need IT work done, they tend to go to one of three places: consultants, contractors, or freelancers. Consultants fill the gap when an organization needs to leverage their collective synergy with a quality-driven approach that focuses on delivering key objectives. Contractors are great when the only remaining solution is throwing more bodies at the problem. And freelancers, they’re perfect for companies on a budget, hoping to build their technology infrastructure ten dollars at a time.

As a freelancer, Allen G. is able to provide inexpensive (often “quick and dirty”) software to small businesses who couldn’t otherwise afford custom software. Though rewarding to some, finding work as a freelancer can be pretty difficult, especially without any formal qualifications or experience. That said, Allen was pretty excited to find an opportunity for a “big” freelancing project at a local web design shop. They were interested in talking and wanted him to sign their standard Non-Disclosure Agreement before divulging any details. 


Which Cable?

by in Error'd on

Clean design and thorough documentation are essential in every type of engineering, from aerospace to software. Network Engineering is no different: with miles of cables wired to thousands of jacks in a typical office building, an unlabeled block of cable is just as good as a dead one. Fortunately, the fine folks at Patrick McGoohan’s office made sure to carefully label everything …


Multiplied Denomination

by in CodeSOD on

Hannes lucked out: he wasn't assigned to the .NET Migration Project. Of course, that doesn't mean he's free from it, as several hours each day, he hears the unmistakable signs of his officemate working on the project: "oh you've got to be kidding me," "why would they do that," "what the --?!"

One particular outburst, filled with plenty of not-safe-for-work language, caught Hannes' attention. It was on one of the hundreds of ASP pages that his coworker was trying to reverse engineer and document...


May The Form Be With You

by in Error'd on

Not to be outdone by British Airways' variety of 206 different titles, the Atlanta Botanical Gardens wanted to make sure they covered everyone on their donation form's dropdown box. Who would have thought that Sith Lords have a soft spot for botany?


Comments from a Madman

by in CodeSOD on

It's hard to maintain your cool while writing software, and therefore hard to not have that reflected in comments. It's probably a good idea to get in the habit of searching the codebase and replacing four letter words prior to checkin.

Submitted anonymously, we were given a series of comments that chronicle one man's gradual descent into insanity. I've taken the liberty of removing calls to It.Basket.Add(theLotion).


The Interview For Hell

by in Tales from the Interview on

“So, let me guess, ahhhhxxxCCxxshheeecczzzahhhhem,” started Mr. Thompson, Ed B’s prospective boss, pausing to make the most vile power-snorting, throat-clearing, wet-cough noise ever heard. “You’re Edward – cxxxxshxxx cxxxxcaaaheem – and you’re here for a job interview? A harr harr harr!”

Ed forced a smile as Mr. Thompson half-laughed/half-coughed at the apparently funny joke: moments earlier, the receptionist called to say that Ed had arrived for the interview. Before even sitting down, Ed knew he could never work in that office, for that man.


More Like Didgeridon't!

by in Error'd on

If you were tasked with building a time zone synching application, you could probably do it in less than 1MB. Maybe you Linux guys could write it in one line of Perl (or at least brag about having the ability to write it in one line of Perl). Hell, maybe you'd just use the built-in synching functionality in your favorite OS. Anyhow, I can't imagine the crazy Western Australian rules for calculating time that make this software baloon to 4GB.


(submitted by Marty)


Sacrebleu!

by in Feature Articles on

In the mid 90s, Ken W. was working in the distribution center of a large commercial printing company. Since the department didn't generate any revenue, it was treated as a cost center. As such, getting purchases approved had a difficulty level somewhere between squeezing a camel through the eye of a needle and being rich and getting into heaven.

Since the printing branch was sending order information in Word documents or Excel spreadsheets, the distribution center needed Office licenses. Office costs more than $0, however, and the vehement opposition to approving purchase requests trumped the need for the software.


Crashing Las Vegas

by in Error'd on

Surely, you’ve seen the commercials and are familiar with Las Vegas’ First-Commandment / Clever-Marketing-Tagline: What Happens in Vegas, Stays in Vegas. I suppose we can bend that rule today and share a couple pictures that Christopher Kimbell snapped while he was walking down the strip…


A Plea from the Heart

by in CodeSOD on

Donniel Thomas writes "Javascript isn't for the weak of heart or those short of patience. What works in one browser may not function properly, or result in a nasty JS error in another (*cough*IE*cough). Which is why I can understand what this programmer meant."

The following screenshot is from the homepage of Zillow.com, which is one of the most popular and AJAX-y Real-Estate sites on the web. And, as of this writing, the coder's plea still remains ...


We Prefer Our Way

by in Feature Articles on

Most people think that Their Way of doing things is the best way. After all, it works, it’s always worked, they’re good at it, and there’s no need to change it. The folks inside D.T.N.’s company feel the same way: the corporate office has Their Way of doing things (which is obviously superior) and D’s branch office has Their Way of doing things (which is also obviously superior). And being that the corporate office houses the CTO (as we learned in the case of The Fully Automated Manual System), Their Way always trumps the branch office and Their Way.

Fortunately, the corporate and branch offices are fairly separate and are allowed to enjoy a whole host of separate policies and procedures, from when Crazy Shirt Day is to which side toilet paper rolls are hung on. Both attendance taking and conference room scheduling fall into this category: both are mandated throughout the company, but how exactly it’s done is up to the Office Manager.


Thanks For Nothing, Documentation Group

by in Error'd on

Here's another from the don't-worry-we'll-remember-to-update-this-before-release department:


(submitted by James W.)


Announcing the OMGWTF Winner

by in Feature Articles on

The Olympiad of Misguided Geeks at Worse Than Failure Programming Contest was not easy to judge. With their use of OCR, Extreme Hardware Virtualization, and Fractions for math, each finalist represented a very unique and a very wrong way of implementing a simple calculator. We truly believed that each finalist deserved to win, but as Connor MacLeod would say, “there can be only one [OMGWTF Winner].”

To make the determination, we asked our panel of judges (Raymond Chen, Joel Spolsky, and Jeremy Zawodny) to decide. “I’m impressed by all the work people put into this,” wrote Joel, “I guess it’s possible to take pride in just about anything, which explains how some of the code I’ve seen got written in the first place.”


Tonight... We Lunch... In HELL!

by in Feature Articles on

J Cooper sat down with his buddy Holden for lunch. They'd eat together pretty much daily, enjoying a meal while discussing work. While they were eating, Holden mentioned a particularly irritating issue that he was troubleshooting.

Holden explained the process as it should work — clients would submit flat files which would automatically be read into the PICK database, then invoices would be generated. If there was an import error, it'd send an email alert to the representative that handled that particular client.


Code Reuse

by in CodeSOD on

Good developers know that, (1) Exception Handling is costly and might use thousands of CPU cycles to process which, in turn could take several nanoseconds, and (2) Code Reuse is important, and definitely faster to reuse the same block of code than to have two similar blocks.

Gooder developers (such as Abraham's colleague) not only know these facts, but know how to apply them simultaneously to maximize Speed and Code Reuse…


OMGWTF Highlights #3: Code

by in Feature Articles on

While going through contest entries, we were bummed that we don't have more high-res JPGs (and laptops) to give out. Here are some highlights that didn't quite make finalists, but got the Honorable Mention award. For which the prize is an honorable mention in this article. This is the third and final entry in a three-part series.


Massimo's ASMCalc avoids expensive built-in arithmetic functions, instead using a function pointer to assembly code patched at runtime:


Odd or Even... or Both?

by in CodeSOD on

Part of the fun in Waldo W.'s job is working with third-party data providers and figuring out how to integrate the data into his company's applications. One of Waldo's favorite data providers is a Certain Address Data Service.

The address data provided by the vendor is partitioned into Odd and Even ranges for a given street. Sometimes -- usually when there are not a whole lot of addresses on a street -- the vendor puts them in the Both range. And this resulted in the following code being written to determine the evenness, oddness or bothness of the address entered...


Who is Kyle Söze?

by in Feature Articles on

The First Day of a new job is almost always slow and uneventful. A bit of paperwork in the morning, a quick walkthrough of the system, and possibly a trivial First Assignment. Nick’s First Day at the International Shipping Company (as I’ll call it) was no exception. In fact, it was so slow that it seemed like the First Day would last all week. That is, until a frantic coworker burst into his cubicle.

“Hey, New Guy, do you know anything about SQL Backups?” Before Nick could even nod affirmatively, he continued, “’Cause, the backup on our Tracking Application is failing, and that’s a big problem. Oh, I’m Dave by the way.”


Overwhelmingly Negative

by in Error'd on

Sure, it might look stupid, but it does add up to 100%.


(submitted anonymously)


OMGWTF Highlights #2: Misc.

by in Feature Articles on

While going through contest entries, we were bummed that we don't have more high-res JPGs (and laptops) to give out. Here are some highlights that didn't quite make finalists, but got the Honorable Mention award. For which the prize is an honorable mention in this article. This is the second in a three-part series.


Pete Bassett's "Petes Pants Calc" took the easy way out - rather than writing complicated C code, it shells out to VBScript for all arithmetic operations. (Petes Pants Calc)


It's Like Raiiiiiin

by in Feature Articles on

Regardless of what Alanis Morissette may tell you, irony isn't like ra-i-aiiiiin on your wedding day. It's more like someone making an offhanded remark to reassure you, but rather making you feel worse.

An anonymous submitter (we'll call him "Cody") had recently taken over a large internal application with a substantial userbase. With guarded optimism, he was excited to get to know the users and to learn and improve the application. Cody was eager to see the code and the database.


What, Me Layer?

by in Representative Line on

In these days of Web 2.0, the line between outdated (and therefore obsolete) and retro (and therefore cool again) can get pretty blurred. Desktop Applications: outdated (unless they’re HTML-based or made by Google). Client/Server: retro (no green-screens please!). Tiered Design: retro (but only if at least two tiers are AJAX/JavaScript-based).

See what I mean? It’s hard to keep up. Greg Ward’s predecessors must have gotten pretty confused along the way as well. Following is a single line from their Web 2.0-based medical application.


You, Jeepies?

by in Tales from the Interview on

“You know,” Rich Z thought to himself as he cruised down Highway 23, “I think this job might be the one!” he was on his way to interview for a “PHP Programmer” position at a trucking/logistics company. They were apparently impressed with by resume, and he was impressed by the small company and obvious open-source philosophy. But what had him exited at the time was the forty-five minute commute through a beautiful, traffic-free rural landscape.

Rich got off the highway at Birch Road to head East for “six… maybe seven miles,” then “hang a left at the grocery store,” and finally “make a right at the Big Brick Bank Building.” From there, he “couldn’t miss it.” Obviously, those weren’t MapQuest directions. Chuck, the Head of HR, insisted that “those internet directions” are always unreliable and never work out in the country. Of course, neither did the ChuckQuest directions, either.


Think of the Children

by in Error'd on

50 Cent's masterwork "Candy Shop" is an eloquent and subtle meditation on the similarities between consuming candy and f**king. Classical composers Bach and Ligeti, on the other hand, took things a bit too far with their highly explicit, violin-only Chaconne (originally titled "****ing and ****ing in D Minor, 6th God**** Movement").


(submitted by James A.)


Assisted Processicide

by in Feature Articles on

Rebellious users are a pain. Introducing a feature that changes the standard workflow is a harbinger of confused users and new help-desk tickets. Eventually, a user might stumble onto some workaround to avoid the new feature, and this workaround will then be passed down and changed via interoffice oral tradition. Ancient tribes that were present for the creation of the world 6,000 years ago passed down tales of the earth mother. We pass down keyboard shortcuts.

Jesse B. worked on banking software years ago. As banks control lots and lots of (other peoples') money, they make the rules. Jesse was entangled in maintenance of an application for tellers and retail banking clerks. His time was dedicated to customization and enhancement for a particular client bank.


OMGWTF Highlights #1: Custom UIs

by in Feature Articles on

While going through contest entries, we were bummed that we don't have more high-res JPGs (and laptops) to give out. Here are some highlights that didn't quite make finalists, but got the Honorable Mention award. For which the prize is an honorable mention in this article.


Donald Straney was kind enough to give us a free enterprise-level license for his calculator software. It requires the user to minimize and restore the window to increment numbers or choose operands.


It's Like Calling Assert

by in CodeSOD on

When we go from language to language and platform to platform, a whole lot of “little things” change about how we write code: typing, syntax, error handling, etc. Good developers try to adapt to a new language by reading the documentation, asking experienced colleagues, and trying to follow best practices. “Certain Developers,” however, try to make the language adapt to their way of doing things.

Adrien Kunysz discovered this following code written by a “Certain Developer” who wasn’t a fan of the try...catch…finally approach called for in .NET Java development and exception handling.


OMG Finalist Week Conclusion & Voting

by in Feature Articles on

I hope you enjoyed this week's edition of WTF! I had a lot of fun reviewing and writing up these fantastic entries:

Why not take a moment to vote on your favorite (Voting Page). Although the final decision will be made by the panelist of judges, let's see how their descision compares with yours....


OMGWTF Finalist #12: ExtensibleCalc

by in Feature Articles on

This is the twelveth article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


Out of all of the OMGWTF submissions, Entry #100342 (James Ng’s ExtensibleCalc) was the only one that shipped with ten DLLs. And for good reason: the ExtensibleCalc relies entirely on an external “calculation engine” to handle all of the mathematics.


OMGWTF Finalist #11: VICE, Virtual Integrated Circuit Engine

by in Feature Articles on

This is the eleventh article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


NPN TransistorVirtualization was not an uncommon theme among several of the OMGWTF entries. It only makes sense: why stop at abstracting layers of software when the entire hardware platform might need to be changed later on? Sure, some might argue that the “operating system” or “compiler” can handle all those changes, but why risk it? Entry #100336 (Randolpho St. John’s VICE, Virtual Integrated Circuit Engine) sure didn’t: it took the concept of a virtual machine way too far.


OMGWTF Finalist #10: FerronCalc

by in Feature Articles on

This is the tenth article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


There were a lot of entries that pushed the limits of C and C++: self destroying objects, self-modifying code, you name it, someone probably did it. Entries like this introduced a whole new level of convolution that leads to a progression of reactions: “… huh!?... is that doing what I think it is!?... who would even think of that!?... why would they even /allow/ that!?... huh!?” Within this category, we felt that Entry #100265 (Dennis Ferron’s FerronCalc) was the most ridiculous and most complete.


OMGWTF Finalist #09: Terry's Calculator

by in Feature Articles on

This is the ninth article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


Why spend time developing a new, unfamiliar User Interface when a perfectly good one has been in production for over thirty years? That must have been what Terry Lyons thought when he put together Entry #100253 (Terry’s Calculator). The long-established UI that he used was a bona-fide solar-powered desk calculator. Or, at least, a scanned picture of one on a wooden table:


OMGWTF Finalist #08: Universal Calculator

by in Feature Articles on

This is the eigth article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


If you’ve ever had the pleasure of working on or even using a giant, monolithic, internal application that was developed by the “crack team” of in-house programmers, then you’ll most certainly appreciate Entry #100252, Greg D’s Universal Calculator. It was designed to be the end-all/be-all of all calculators past, present, and future, and like the Titanic applications it was inspired by, the Universal Calculator fails at everything except being completely useless.


OMGWTF Finalist #07: Rube Goldberg's Calculator

by in Feature Articles on

This is the seventh article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


Developing Completely Incorrect Solutions to Non-Existent Problems (The Customer Friendly System, Enterprise Rules Engine, etc) takes a lot of effort, a whole lot of smarts, and an almost infinite amount of misdirection. Each of these CIS2NEPs are borne from a very basic and theoretical concept, each starting with a single phrase: “wouldn’t it be nice if…” In the case of Entry #100206 (Charles Nadolski’s Rube Goldberg’s Calculator), it was “wouldn’t it be nice if we could use something than decimals?”


OMGWTF Finalist #06: OMG!OCRCAL

by in Feature Articles on

This is the sixth article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


Yes, you read that title correctly. OMG!--O-C-R--CAL. That's right, someone just had to go and implement Optical Character Recognition for their calculator. But if that was all that Entry #100175 (Ivan Milyakov's OMG!OCRCAL) did, it surely wouldn't have made finalist. The OMG!OCRCAL is a bit more... in depth... than what you might think.


OMGWTF Finalist #05: WTF Web Calc

by in Feature Articles on

This is the fifth article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


All Real Applications these days have a few things in common: a Client/Server Model, a Web 2.0 Interface, and good amount of outsourcing. Entry #100123 - Dave C.'s WTF Web Calc - managed to accomplish that with an impressively minimalistic approach.


OMGWTF Finalist #04: TerseCalc

by in Feature Articles on

This is the fourth article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


I learned an interesting thing when reviewing Entry #100103 (Welbog’s TerseCalc): a whole lot of computers today don’t have mathematical coprocessors! I was a bit skeptical at first, but then I remembered something: our 386 computers had a slot for the 387 chip, i.e. Intel’s mathematical coprocessor, and my computer today does not have a slot for me to add a mathematical coprocessor! Therefore, this fact must be true. It was also written in an authoritative-looking PDF, so double-therefore, it must be very true.


OMGWTF Finalist #03: The estimator

by in Feature Articles on

This is the third article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


Before even hearing the problem description, “certain” developers already know what the solution will be: something with a Client-Server model. It could be .NET Remoting, Java RMI, or some homegrown protocol, but whatever it is, it should use network communication to interface between layers just in case it has to scale up for multiple computers. The Client-Server model was not an uncommon approach to the OMGWTF contest, but Entry #100099 – Keith Lucas’s estimator – did it in the most unconventional manner.


OMGWTF Finalist #02: The FileSystemHashMapNotepadCalculator

by in Feature Articles on

This is the second article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


It should come as no surprise that, after asking the WTF community to build a fairly useless calculator application on an operating system that already has a perfectly good, built-in calculator, there were some pretty interesting cases of code reuse. Or, more accurately, “application reuse.” Out of all of the “Window’s Calculator” wrappers, none were quite as spectacular as Entry #100066, or Dan U’s FileSystemHashMapNotepadCalculator. Let’s take a look at it in action (make sure you have Flash enabled):


OMGWTF Finalist #01: The Buggy 4-Function Calculator

by in Feature Articles on

This is the first article in a twelve-part series that discusses the twelve finalists and their calculator submissions for the OMGWTF Programming Contest. The entries are being presented in the order submitted, and the winner will be announced on June 18, 2007.


As Jake, Intern Boyd, and I sat around the conference table and scrolled through codefile after codefile, solution after solution, Entry #1000043 – Stephen Oberholtzer’s “Buggy 4-Function Calculator” – sucked us in. It didn’t feel like we were looking at a purposely contrived contest entry, it felt like a real, live, rotting codebase. The kind of codebase that plagues so many organizations: fragile, old, bug-ridden, and passed through the hands of several developers.


Print It Like It's Hot

by in Error'd on

When you've got a ho-speed laser jet
Print it like it's hot
Print it like it's hot
Print it like it's hot
When your toner's running somewhat low
Swap it like it's hot
Swap it like it's hot
Swap it like it's hot
And if a [word from the original song that I really shouldn't use since I'm white] gets a paper jam
Clear it like it's hot
Clear it like it's hot
Clear it like it's hot


(submitted by Rob)


My Kind of Random

by in CodeSOD on

Taking over the maintenance of a web application can be a bit scary. Depending on its age and size, there's a good chance that it lives in a developmestuction environment, has no known documentation, and was built with an amalgamation of technology ranging from custom C++ CGI engines to the latest and "greatest" AJAX toolkit.

Fortunately, the web application that Chady was inheriting looked like it was in pretty decent shape. A quick sign on to the administration section revealed that each page request seemed to have its own 256-byte security key attached to the query string – impressive! Well, that is until he dug into the code.