Alex Papadimoulis

Founder, The Daily WTF

May 2012

The Long Glow

by in CodeSOD on

"It was around 2005 when I landed my first job at a small software company," writes Derek, "I was the youngest programmer on the team by at least a decade, and my coworkers certainly made sure I remembered it. Fortunately, it was all in good fun, but they reminded me that I had a long way to go and that I should learn from older, more experienced folks – presumably like them."

"In the midst of 'learning' from them, I noticed that on many of the companies projects used the same pattern where the main window five different buttons and three stock photos. Each button had a glow that appeared on hover and the first three buttons would trigger a corresponding stock photo to display. Nothing too crazy, though this hi-tech feature took my predecessor astonishing 280 lines of code… in each project it was implemented in."


The Beacon of Hope and A Positive Attitude

by in Tales from the Interview on

The Beacon of Hope (from Pete)
My phone interview for a senior developer position in the banking industry started off pretty well. The jovial and affable development manager told me that my CV stood out "like a beacon of hope compared to the vast oceans of crap applicants" he had been sent by HR and various recruitment consultants. "I just have one question," he said with a smile in his voice, "how soon could can you start?"

I chuckled, and then he told me it was time to do some actual interview questions. He started with a simple one: "Have you used WCF?"


The Extensible Menu

by in CodeSOD on

"The product we maintain has come a long way," writes Tod Hoven, "the backbone is a three-tier VB6 application that is slowly being ported and rewritten in .NET languages (VB.NET / C#)."

"But some code, however, just isn't quite cut out for conversion. Take, for example, the navigation/authorization mechanism used by many of the core screens:"


Docking Ejection

by in Error'd on

"I think my Docking Station is docked to my docking station," writes Tod Hoven, "I wonder which one my laptop is docked to?"


Representative Table

by in CodeSOD on

"This is a small peek into the production database of one of our client's systems," writes Walter. "I wish I could say that this was an unused table, an isolated occurrence... or even that I had some other job prospects. But sadly, none of those are the case."


Confessions: The Soft CPU Upgrade

by in Feature Articles on

"Years ago," writes Maxime, "we found ourselves plagued with a brand new, unusably sluggish website. Most of the team blamed the esoteric VMCMWTH-based architecture (i.e. View-Model-Controller-Model-What-The-Huuhhhhh) that was pioneered by the Chief Developer. But the Chief Developer and the CTO (who also happened to be his uncle), blamed the hardware. More specifically, it was the 'inferior, off brand' CPU."

"Now despite the fact that this 'inferior, off brand' CPU commanded over 40% of the market, and that no one had ever experienced any performance problems on it ever, the powers-that-be refused to even consider the possibility that the non-performance was a result of their poorly-designed system."


Element of Violence

by in Error'd on

"Avast blocked itself from updating on reboot," Tejio writes, "if it can't trust itself, who can it trust?"


Sanity Check

by in Representative Line on

"Lucky me," Ryan wrote, "I got assigned to work on Legacy, an application whose name accurately describes itself. I'm pretty sure that this system manages to have a WTF/line ratio greater than 1.0, especially if we include the 'minor' ones, like the System.Environment.Exit calls peppered throughout library code that causes the app to inexplicably exit."

"But beyond minor annoyances like that, or the random number generator class that seems to exist solely to duplicate the behavior System.Random, I discovered this gem inside a class method."


FAIL FAIL,FAIL FAIL,FAIL FAIL and More

by in Coded Smorgasbord on

"We're had been using a manufacturer's web service, but started getting errors all of a sudden," wrote Peter Lindgren. "Something has really, really failed."

<StatusCode>InternalServerError</StatusCode>
<StatusDescription>Internal Server Error</StatusDescription>
<WebHeaders>
  <X-Backside-Transport>FAIL FAIL,FAIL FAIL,FAIL FAIL</X-Backside-Transport>
</WebHeaders>

Squared Interior Design

by in Error'd on

"I found this ad for an interior design company," wrote Wouter, "they probably do a lot of rectangular designs."


The Online Ordering System

by in Feature Articles on

Local businesses aren't exactly known for their web savviness or IT prowess. And for the most part, that's just fine. You'd be better off judging a prospective attorney on the suit he wears rather than the website he maintains, as that at least has some tangential relationship to practicing law. But usually, you'd just go with whomever a trusted colleague recommended, anyway.

For restaurants however, this is quickly changing. With smartphones becoming the norm, many people will use the web to discover the restaurants around them, see what menus they have, and get a general vibe for the place. And as such, local restaurants do become judged by their web savviness – or at least, their ability to maintain a halfway-decent website.


The Bit Setter

by in CodeSOD on

"Bit manipulation can be tricky," writes Nathan, "especially if you have no familiarity with bitwise operators or logic."

"At least, that's what my smarter-than-built-in-language-features colleague must have thought when he authored setBit. Fortunately, his code was the only one that utilized this function, as it doesn't quite work as advertised."


Sponsor Appreciation, nullnull, and More Error'd

by in Feature Articles on

Please take a few moments to check out the great companies that sponsor The Daily WTF.

TDWTF Sponsors

JRebel Logo   JRebel is a JVM-plugin that makes it possible for Java developers to instantly see any code change made to an app without redeploying. JRebel lets you see code changes instantly, reloading classes and resources individually and updating one at a time instead of as a lump application redeploy. Download your FREE Trial Today!
Joyent Logo   Joyent - This cloud ain't for storing music. Running your apps on Joyent's open-source SmartOS is a different, smarter cloud choice. Automatic and Free 400% vertical scaling, copy-on-write with ZFS, DTrace for killer visibility (heat maps! flamegraphs!) Come check out our stack.
Inedo   Inedo - the makers of BuildMaster, the free, and easy-to-use, web-based deployment and release management tool. Going far beyond Continuous Integration and into Continuous Delivery, BuildMaster delivers a series of robust features unparalleled by other build-promote-deploy-distribute tools. They're also behind the upcoming ProGet, a NuGet package repository that lets you host and manage your own personal or enterprise-wide NuGet feeds.

And now back to our regularly scheduled program...



Mybad

by in CodeSOD on

"At my company," writes Ryan L, "we have a 'certain' developer who has been here a while but is very reluctant to learn or improve. In fact, he actively works against the rest of us when we want to implement pesky things like proper version control, design patterns, or architecture to our code behind having 3000-line code-behind files."

Ryan continues, "I was exploring our SVN logs and came across something checked in by this "engineer". It was a single file, with a commit message of 'Mybad'. The file turned out to be a config file. Here was the previous version checked in: