Recent Articles

Aug 2013

OMGWTF2: The Honorable Mentions

by in Feature Articles on

We received a lot of entries that were pretty great, but we only had so many prizes to give out. Here are some honorable mentions that we still want to share.

Yesno - Thomas Eding

Yesno was the only entry written in Haskell. Language choice itself isn’t interesting, but if you’ve ever touched Haskell, you wouldn’t expect to see code like this:


OMGWTF2: The Grand Prize

by in Feature Articles on

Picking the Grand Prize winner for the Second Olympiad of Misguided Geeks at The Daily WTF was truly a monumental challenge. The grand prize winner needed to embody the most all-around WTF solution possible. There were a plenty of great (terrible) entries but were looking for that one special entry that hurt our souls and ate our brains. Something that made us exclaim "WTF?!"

In the end, it came down to two submissions. Both are great examples of bad development practices, but in the end one outshone the other as worse than failure. So, before we get to the grand prize, let's take a look at the code which almost won.

Runner Up - The Wrong Tool For Every Job


OMGWTF2: Casino Royale, with Cheese

by in Feature Articles on

Programming languages make it super easy to pick a random number. A call to a built-in 'generate random number' function returns some float value between 0 and 1.0 and really the only heavy lifting for the developer is to turn that into a bigger number, a boolean (yes/no), or whatever. Ta-da. It does exactly as it says on the tin.

So, naturally, in a contest like ours, if a developer can think outside of the box and deliver a truly novel way of choosing a random result, he or she deserves a tip of the hat, or as we like to call it, the “Casino Royale, with Cheese” award.


OMGWTF2: Lipstick on a Pig

by in Feature Articles on

When we first started the OMGWTF2 contest, one thing that we hoped to make clear in our FAQ was that we really only wanted submitters to do his or her best on their entry's UI. After all, this is a coding competition not an art contest.

However, if you were a special developer who could weave together a abomination of a solution and make it look extra pretty, well, we felt that combination deserved special recognition and thus, the "Lipstick on a Pig" prize was born. The recipient? Randolpho and his entry: "Ask Threepio"


OMGWTF2: The Beast of Burden

by in Feature Articles on

While going through entries for OMGWTF2, one question often crept in our discussions “What would it be like to have to maintain this code?”

Some entries tried to enter our nightmares based on their otherworldly variable and function names, others revealed themselves as colossal-sized horrors with regards to the sheer size of the code base. However, one entry stood out among all the others - Oxin’s entry written in HTML and "Diarescript".


OMGWTF2: The MacGyver Award

by in Feature Articles on

It’s that time- time to review the results from the OMGWTF2 programming contest.

 var procs = from proc in Process.GetProcesses()
                        where proc.ProcessName == "java"
                        select proc;

foreach (var proc in procs)
{
	proc.Kill();
}

You WILL Live in One of These Cities—OR ELSE!

by in Error'd on

"Sadly, whoever created this survey didn't think to include a 'None of the Above' option," noted Rob Meier, "Better get packing I guess."


Coding Practices MUST Be Followed

by in Feature Articles on

Marcin Wichary, Posted to Creative Commons Jan 05, 2006When a new company is formed, it's usually just the owner, possibly some partners, and a small staff. As they figure out how the business is to be run, they come up with their own ways of doing things. Over time, the staff grows, and more rules are created about how this or that is to be done. Eventually, it reaches critical mass, and all of these rules get quantified into written guidelines. Sometimes this can be a good thing. For example, coding style guidelines, if done correctly, can be a good thing.

Unfortunately, beyond a certain point, the company becomes bureaucratic, and the folks making the rules tend to be insulated from the bigger picture. People start clarifying rules to add finer grained detail. To the point of lunacy. You get stuff like instructions on whether of not to put a space before a semicolon; in which corner of the page a staple should be used, and at what angle it should be to the page, or how many sheets of TP to use for #1 vs. #2, and whether you should choose one ply or two ply. The rules start to resemble a mindless automaton, blindly forging ahead, without thought, sensibility or sentience. It's enough to suck the life out of any well-meaning effort.


Today's Article is Brought to You by the Letters "WTF"

by in CodeSOD on

Children’s show “Sesame Street” famously ends each episode with a message along the lines of, “Today’s episode is brought to you by the letter ‘B’.”

The alphabet is the first thing that’s drilled into us when we’re learning our native language. Brenden’s co-worker definitely understands the alphabet. Their grasp of loops and conditionals on the other hand…


Customer Self-Service

by in Feature Articles on

It was spring (or autumn, if you live south of the equator). A time when everyone's heart is a little bit lighter. When the layers of clothing are worn just a bit looser. When even the infirmed have a spring (or autumn) in their step.

Everyone except for Tim.


There and Back Again

by in CodeSOD on

In an office cubicle, there worked a programmer. Not a nasty, dirty cubicle in the basement, nor a dry, bare cubicle in a vast faceless farm: it was a web startup cubicle, and that meant comfort. It was decorated brightly, with plenty of monitors and cables, a pantry full of all manner of crisps known to programmer-kind, and posters of films that were adaptations of a single book, broken needlessly into multiple parts.

The programmer was a well-to-do programmer, and his name was Anders. He was part of a coding team, and their team had worked on The System since time out of mind. It was a very respectable codebase, because it never did anything unexpected: you could tell what any function's output would be without the bother of calling it. Unit tests were a thing to be done by other folks!


Patch Friday

by in Error'd on

"I submit reason number one why you should start up your old XP box every once in a while even if you don't need it...just in case you might want to use it again," writes Bobbie.


Drawing a Blank

by in Feature Articles on

Keith received a ticket regarding a very large, very important, and very complex application, written in Perl. Keith’s first step was to scan the file for variables, so he could get a better sense of things he should look out for.

He found this:


Don't Be Evil

by in CodeSOD on

Many things in life can be joined. You can join two pieces of wood to construct something useful. You can join a club. You can join with a person of your choosing. Joins can be good things. Sometimes...

Doug K. was working on utilities to manage applications. Among other things, this would entail keeping track of which administrators were responsible for each application. As a first pass, the developers came up with a table like so:


Performance Dehancement

by in Feature Articles on

Les got an unexpected promotion to head developer, when his cranky old micromanaging boss Frank tendered his resignation one Monday. Frank knew his stuff, but couldn’t silence a constant whine over any grievance, no matter how slight. It would be a relief to not have to listen to him complain about everyone any more, especially his complaints about Phil, the Vice President.

Frank’s chair had been empty for mere seconds when Phil stepped in to Les’ office with a performance issue in production. Phil explained that the company’s bread-and-butter website was crawling at a snail’s pace. The site had only been rolled out to half of their contracted users, and Phil was worried about scaling. “I need you to look into this right away. This is a great opportunity for you to show me how you can handle big responsibilities, Les!”


Email Hyper-Validation

by in CodeSOD on

"The quickest way to advance around here is to get some project management experience under your belt!" was the advice Andrew's boss handed out along with an assignment to work with the offshore group.

The task was meant to be a super simple project to get his feet wet working with the remote team - add validation to the email address field on a vendor profile screen used by the purchasing group.


These Aren't the Socks You're Looking For

by in Error'd on

"Fox's Socks, a story in which a fox loses his socks and must hunt for them," writes Dave, "Play.com thinks I may have actually been looking for something a little more ...gruesome."


The Last Straw

by in Feature Articles on

In the beginning, The Founder had a vision. He hired Manoj P. to develop a shiny brand new system that would embody The Founder's vision. He would have the freedom to design and build it any way he wanted. He could choose his own languages, tools and methodologies. The Founder laid out his vision and Manoj started typing. Thus was born Team WTF at what would become WTF-Inc.

Over the next few years, Manoj would encourage The Founder to hire his comrades to help. And help they did; they copied and pasted each other's code hither and yon, over and over. Features were added. The code and functionality grew at an astounding rate. Unfortunately, none of them had ever heard of the concepts of scalability, threading or aging off data. As features and customers were added, the database grew geometrically. Along with the hardware requirements to support it. And the cost. It was at this point that The Founder had an epiphany; let's hire someone who has more than 2 years of experience to help sort out the mess. Enter Snoofle.


Don't Touch That Dial!

by in CodeSOD on

You can't really blame Bjørn for not listening to the radio much anymore. If you'd had to spend months maintaining the in-house web application he inherited, you'd develop some negative associations of your own.

Bjørn was always baffled by the occasional complaints he'd receive from users, reporting that the filtering and categorization functions on many of the application's pages were broken. The pages displayed sets of radio buttons to allow users to select among various options, and apparently these buttons didn't always work. The problems always had hazy descriptions and, no matter what, Bjørn had never reproduced a single one.


Hurry Up and Wait

by in Feature Articles on

Nate worked on software that communicated with onboard computers for large machinery and industrial vehicles. Two releases a year made for a tight development schedule, but the fast turnaround created plenty of variety. With the next release cycle, he’d be taking the lead on the highest-priority feature: an Engine Theft Deterrent (ETD) system, something unprecedented but interesting.

“How ’bout we just hire a guy to stand by the engine with a gun?” Nate asked.


Galapagos

by in CodeSOD on

When Darwin visited the Galapagos, he saw that the relative isolation of the islands had allowed species to evolve into forms that would never have happened on the mainland. This insight helped him to refine his theory of evolution by natural selection.

Roberto had a similar experience, when one of his co-workers went on vacation . This co-worker didn’t work on any of the regular teams, and spent all of their time working in isolation on projects no one else ever touched. Roberto found something certain to give even Darwin's finches nightmares.


A Drafty Flight

by in Error'd on

"According to Expedia, this flight might be kind of windy," writes Sasha.


The Old Switch n' Bait

by in Tales from the Interview on

A few years back, RJ was hiring developers. Besieged by pretenders, he had devised an online coding test and hired a recruitment firm to subject candidates to it in hopes of weeding out the lower-quality developers. Since RJ and a teammate had to assess each candidate by themselves, the test was an important time-saver: if the candidate's code wouldn't even compile, refused to run, or obviously didn't work, that was an easy write-off. But this story wouldn't be much of a WTF if it were merely about some feckless applicant.

One day they received a submission from a Mrs. Qiu Jiang. Her code not only compiled and ran, it actually worked. It passed RJ's test cases quickly too, which meant Qiu hadn't simply brute-forced her way through. RJ had high hopes for their face-to-face interview.