Alex Papadimoulis

Founder, The Daily WTF

Mar 2011

Somewhat Unclear, Maybe it's the drugs, and More Support Stories

by in Feature Articles on

Have support-related stories of your own? Then by all means, send them on in!


Somewhat Unclear (from Bob S)
After working in Tech Support for several years, I have come to value the rare request that actually contains enough information to solve the problem. Below is the worst technical support request I have received so far. The kicker is that it arrived with no subject line, no signature, and of course no attachment.


Fundamental Misunderstanding

by in Representative Line on

If there's one phrase that Salvatore could attribute to his predecessor, it'd be fundamental misunderstanding. He had a fundamental misunderstanding of the business requirements. He had a fundamental misunderstanding of how to transform business requirements into code. He had a fundamental misunderstanding of how to write maintainable code. He had a fundamental misunderstanding of tools like source control. He had a fundamental misunderstanding of maintaining a modicum of documentation... even the passwords needed to access the server where the codebase (and production application) resided.

But of course, his colleague's fundamental misunderstandings went far beyond the world of software development and transcended into other areas, as this column from one of the database tables illustrates.


Gary Strikes Again

by in CodeSOD on

Back in January, Gary taught us a lot during his tenure with Initech.

Whenever Jake would offer him an idea on how to get something done in his ASP.NET project, Gary would say that it could not be done for one or more of a list of stock reasons: “security issues”, “incompatibility with ASP.NET”, “.NET doesn’t have that feature”, et cetera. One wonders which of these motivations produced the following code for copying the business database customer table to the database that backs the web presence.


Testing Done Right

by in Alex's Soapbox on

It’s been a rough couple weeks. Not only did I have all sorts of catching-up to do after Code PaLOUsa, but it also happened to be release week. And oh, do I hate release week.

Don’t get me wrong, I’m just as excited as anyone else when a new release of BuildMaster comes out (it was release 2.3, in case you were wondering), but new releases mean testing. And fixes. And more testing. And still more testing. And oh, do I hate testing.


TAG++

by in CodeSOD on

C++ has a consistent and fairly simple syntax for defining classes and class members. While this syntax would still look like gibberish to a non-programmer, an entry-level coder could probably understand it after flipping through C++ for Dummies. Kevin Day's predecessor must have been concerned that the former group might be maintaining the system.

Fast forward a few years, and management, not surprisingly, decided that the best folks to maintain their C++ codebase would be, in fact, C++ programmers. And that's where David came in. Faced with the common dilemma understanding a foreign architecture of a foreign product in a foreign business domain, David had at least one bit one thing going for him: a good working knowledge of C++. But since the original designers decided to #define a meta-language in C++, and then use that meta-language to represent all of the key classes, his knowledge hardly came in handy.


The Glitchy SVN

by in Feature Articles on

The Human Resources department at Eddy B’s company had a bit of problem. With new people being hired every few weeks, the company’s organizational documents – phone list, org chart, seating chart, etc. – needed lots of frequent updates.

The office suite of choice was Microsoft Office 2007 Professional Edition, but for whatever reason, the IT folks installed Microsoft Office 2007 Broken Edition on HR’s workstation. Unlike the Professional Edition, the Broken Edition would intermittently and inexplicitly delete large and important blocks of text when documents were saved. Broken Edition was also a culprit in ensuring that poor spelling, bad grammar, and HAVHING EVERYtHINGS IN AlL CAPPS were the norm.


Notacon 8

by in Announcements on

I got some great feedback about Code PaLOUsa; everyone seemed to have a great time, and I really enjoyed the opportunity to meet up with some of you. So, along the same vein, the next community conference I'm headed to is Notacon. It's held in my home town of Cleveland, Ohio, and runs April 14-17.

Notacon ("not a con[ference]") is indeed a conference, but not of the typical variety: it's a community event driven by submitted presentations and projects. I realize that's not a very thourough description, but Notacon is a hard event to quantify. There are a handful of speakers and bunch of events including Anything But Ethernet and the PixelJam demoparty.


The Disgruntled Bomb

by in Bring Your Own Code on

It's been quite a while since the last Bring Your Own Code. It's mostly because I haven't thought of any coding quandaries that fit in the "totally fun and doable over a quick break" difficulty; everything has been either hello world easy or graduate-level comp sci homework hard. If you've got any ideas, please do send them to me.

That said, today's BYOC is a little bit different than the previous ones. It was inspired by a submission from Mårten Rånge, who wrote "rumor has it that a disgruntled employee once left #define true false in a random header file in the codebase. Given our codebase, that would be a lot harder to debug than one might think."


Unusual Document Mixture

by in Error'd on

"I went to get $40 out of an ATM machine and I got this message," Joe Bui writes, "I braved the 'unusual document mixture' and hit Continue. It spit out $20 bills and a receipt."


Logging the Logger

by in CodeSOD on

"My team has recently inherited a massive monster of a Java J2EE based system," writes Terence White, "some of the code leaves me to wonder if the reason these guys had no peer review was that they had no peers."

"One thing they were obsessed with was logging. And logging their logging. It's no wonder why the system required a handful of servers for a few dozen users..."


Enterprise Dependency: Big Ball of Yarn

by in Feature Articles on

Not too long ago, I posted The Enterprise Dependency. Essentially, it was a visual depiction of a good ole' enterprise framework that was "several dozen megabytes chock full of helper classes like IEnterpriseAuthenticationProviderFactoryManagementFactory." Inspired by the diagram, commenter "LieutenantFrost" shared his own "enterprise-ness and despair" with a dependency diagram that looks somewhat like an anglerfish.

But that got me thinking: like a Representative Line, perhaps dependency diagrams can help provide some insight into the pain that large applications' maintainers face each day. And just then, Jan-Hendrik sent in such a diagram. Note that each little box represents a class, and a line is its dependency to another class.


Confusing Multiples

by in Error'd on

"I found this on an ATM when trying to withdraw money," Putu Sanjaya wrote, "I suppose 0 is still a multiple of 10."