Alex Papadimoulis

Founder, The Daily WTF

Feb 2008

So You Hacked Our Site!?

by in Best of the Sidebar on

Not too long ago, I added my company, Inedo, to the federal government's Central Contractor Registration system. I don't know, I just didn't want to miss out on all the fun every one seems to have with government work. Whenever one signs up for virtually any government thing, a deluge of companies somehow manage to find to out. The CCR is certainly no exception.

One of the many companies that contacted me after signing up was the Federal Suppliers Guide. The initial cold call went something like this:


Special Order

by in Error'd on

Jesse Weisner was a bit disappointed that this item is still out of stock...


Behavioral Deficiencies

by in Feature Articles on

Shawn O. was not used to bright lights, smiling faces, or greetings like “hi Shawn, how are you today?” In fact, just about anything that wasn’t specifically intended to bring pain and misery to all had become foreign to him. It was simply par for the course. Shawn, after all, was an Oracle DBA. And not just any Oracle DBA, but one who sat on the company’s Database Code Review Council.

Like at many other Oracle shops, the Council at Shawn’s company was responsible for defining policies and procedures to make it virtually impossible for any developer within the company to make changes to their databases. For example, if a developer wanted to change, say, the columns retrieved from a single SELECT statement, he’d have to fill out a ream of paperwork, venture all the way up to the top floor, find his way to The Council’s chambers, humbly plead his case to The Council’s members – each of whom would be ensconced in darkness, wearing their traditional Oracle DBA robe – and then repeat the process several times after The Council ridicules him for missing paperwork, too little whitespace, too much whitespace, etc., and rejects his request for change. It’s just the way things work.


K2C

by in Feature Articles on

Anton N is not a programmer by trade. Whenever he comes across “questionable” code in his job as an engineer, he always gives the programmer the benefit of the doubt: it might just have to be that complicated to work; maybe he did it to work around some system limitation; or perhaps it’s some optimized routine. It’s only fair. Certainly, he wouldn't want some programmer critiquing his decision to use the modial interaction of magneto-reluctance (rather than a more efficient method, such as capacitive directance) for supplying inverse reactive current in a unilateral phase detractor.

Not too long ago, Anton had one of those questionable code moments. It all started when he noticed some rather bizarre readings and strange error messages come up in the Test Control System. The TCS is a C-based application that was built by in-house programmers over the course of several years. It was designed so that, theoretically, it could monitor an unlimited number of devices (of any possible type), each which could provide an unlimited amount of input via an unlimited amount of connections. In reality, Anton and his fellow engineers use the TCS to monitor one, maybe two, temperature control devices that they build for use in large-scale industrial equipment.


OH_WELL

by in Error'd on

"I got this message while trying to install the Dutch-language version of McAfee's VirusScan 8.5i on my Vista-based laptop," writes Alex van Herwijnen, "the text above reads it is recommended to remove the following products, and beneath do you want to remove these products now."


Not Valid Enough

by in CodeSOD on

Sandy Barnabas received a rather odd message when submitting a registration form:

 


The Clbuttic Mistake

by in Best of the Sidebar on

This clbuttic was originally posted by "ezrec"...

Browsing through a web archive of some old computer club conversations, I ran across this sentence:


Hand Dryer Crashed

by in Error'd on

Choose Your Own WTF: that this restroom hand dryer can't boot-up, or that this restroom hand dryer needs to boot-up...


(snapped by Kenneth Anthony, full size here)


The Comcast "Bill", A Buggy Traffic Light, and More

by in Best of the Sidebar on

First there's Comcast WTF that was originally posted by "cheesy" ...

Having not received my bill from Comcast (now Time Warner) one month, I called them up. They said they would send me another copy. This is what showed up a week later.


The Enterprisey Null Test

by in CodeSOD on

I'm always amazed at the lengths some people will go to 'enterprise up' there Java apps," Ben writes, "especially those daft Yes/No enums that we've seen here lately."

"Now, I've always been proud that I am a practical common-sense programmer, so imagine my surprise when I found myself writing this joy of over-engineering ...


Those Unstable Databases & An Interesting Database Field

by in Best of the Sidebar on

First, we've got Those Unstable Databases, originally posted by "tbcpp"

I used to work at a radio station, and part of my tasks included keeping the rather old automation system up and running. Now granted, this system was a 98 machine running on a beige box 500mhz and 128mb of ram, but the software was also a little at fault for the crashing it constantly was experiencing.


SQL Sentences

by in CodeSOD on

At David’s company, management wasn’t a big fan of the whole check-in/re-compile/re-deploy process. They felt that it had too many steps and took far too long to complete. Their organization needed to adapt to software changes - especially bug fixes - much faster. So, to address this problem, they thoroughly analyzed the development process and carefully tweaked it for efficiency. I’m just kidding. Actually, their solution was to pioneer a new methodology called “SQL Sentences”.

Management figured that, since a large portion of their application dealt with saving and retrieving data from the database, then a lot of the bugs must be a result of bad SQL queries. Likely, it was things like a LEFT JOIN instead of an INNER JOIN, or a > instead of a >=. And, since their application already used a database, they figured - you know where this is going - why not store all of the SQL queries in the database?


Fixing Compiler Warnings

by in CodeSOD on

"In C," writes Keith Lucas, "literal floating point number are interpreted as double precision floating point numbers. For example, if you have '0.0' in your code, the compiler will determine the type of '0.0' to be 'double'. In some compilers, such as the Visual C++ 6 compiler that we use, if a literal 'double' is used for a function with a 'float' parameter, a compiler warning is issued because the literal could be less accurate."

Keith continued, "My former coworker thought of an ingenious way to fix this problem. He defined a constant with a manual cast for double he intended to use..."


From the Streets of Japan

by in Souvenir Potpourri on

Ever since the first Free Sticker Week ended back in February '07, I've been sending out WTF Stickers to anyone that mailed me a SASE or a small Souvenir. Nothing specific, per the instructions page, "anything will do." Well, here goes anything, again! (first one here)


Guilken (Japan) sent "stuff he found on the ground on his way to work." I hate to tell you, Japan, but your 1 Yen coin is far too light and feels like play money. No wonder people throw them on the ground!


His Own Way to Newline

by in CodeSOD on

In the world of .NET, the Right Way to include newlines in a string is with the Environment.NewLine constant. Of course, given how easy "\n" is, few developers actually follow this rule.

// The Right Way
myString = "Line1" + Environment.NewLine + "Line2" + Environment.NewLine + "Line3";

// The Way Everyone Does It
myString = "Line1\nLine2\nLine3";

Manual JIRA

by in Feature Articles on

I was introduced to bug tracking software many years back at my second programming job. And by “introduced”, I mean forced – practically at gunpoint – to use it. And boy, did I hate it. Why do I have to put every stupid thing I do, I remember thinking, whether it’s a stupid bug or not, in some stupid system so some stupid project manager can look at my stupid tasks?

I quickly got over it. Within a month, I came to realize how valuable a bug tracking system was in every aspect of software development, from keeping track of the countless little changes to quickly being able to blame everyone else when things went wrong.


A Rather Interesting Specialization

by in Error'd on

Kendall's friend was awarded this Bachelor of Landscape Architecture with a rather interesting specialization from Polytech.


We Don't Need Requirements

by in Best of the Sidebar on

Originally posted by "snoofle" ...

I've mentioned a few times that I joined a team well into a two year development project. The system was designed, based on the sponsoring users claims, to handle 500-600 million records per day.


Complex Complex Validation

by in CodeSOD on

"When I went to dispute my credit information," Raj K wrote, "I noticed that the company's online form required a complex password. The developer in me was curious as to how the validation was implemented, so I viewed the page source. Shortly thereafter, my palm quickly met my forehead."

Following is a summary of the 700-line function used to validate the form's three different fields...


Claymation with a Murky Past

by in Error'd on

"While I can see how the two ladies might have a murky past," Martin Cowen wrote "what can Shaun have been up to?"


(spotted on Amazon)


Not Too Particular and More

by in Tales from the Interview on

Not Too Particular from Ichabod
After reading through a stack of dull resumes, this one was a welcome change.

OBJECTIVE
A job in IT. After looking for searching for a job for several months I'm not too particular anymore.


1.1: A New, High-Falutin' Web-Comic

by in Mandatory Fun Day on

If there's one thing The Internet doesn't have enough of, it's Web Comics. Really, it's almost impossible to find a web-comic these days.

So, to help fill the void, I'm very excited to announce Mandatory Fun Day, a brand-new web comic about software, technology, and life as a corporate code monkey. Of course, since my artistic skills are below that of even stick figures, I've enlisted the help of fellow techie George E. McDougall. You may have seen his work before; he did the Codethulhu illustration.


SUCSESS?

by in CodeSOD on

"You'd think that the C++ Boolean would be a welcome addition to the language," writes Jake E. "Not so much for our outsourcing company. This is what's now in our constants.h file."

#define TRUE 1
#define FALSE 0
...snip...
#define SUCCESS 0
#define FAILURE 1
...snip...
#define SUCCESSFUL 0
#define FAILURE 1
...snip...
#define OPER_SUCCESSFUL "SUCSESS"

Developing in Access

by in Best of the Sidebar on

Originally posted by "marinus"...

There is this Access database. Part of it manages inventory. There is a large storage, in which crates of different stuff from different sources are stored, and in the Access database there is a form onto which this information is entered. There are 38 rows of 10 columns of crates and the height varies.


Calculatorating in Las Vegas

by in Error'd on

This certainly isn't the first time we've seen a larger-than-life error on the strip, but come-on Paris Las Vegas, windows calculator this time!?


(from John Gardner's camera-phone)


The Most Favoritest Icon

by in Feature Articles on

Every so often, Bob B. observed that his company's e-commerce site would crash-hard. No one had any clue as to why it happened, but everyone knew how to fix it. Restart both the IIS and SQL Server processes and, voilà, within a minute, the site was up and running again.

Like an old car with a few quirks, the company worried that tinkering with the application might make things worse. But after a few months and a handful of customer complaints, Bob was permitted to investigate the issue so long as he wasn't too intrusive.


U R NT QFD & Giving Notice

by in Best of the Sidebar on

Two for the price of one today! U R NT QFD was originally posted by "Ben Fulton"...

I have a suspicion this ad for a programmer was text-messaged in to our local paper...


THIS is a Warning Message!

by in Error'd on

"Clearly," Alex wrote, "there is more potential for my printer here than just printing..."


I've Got The Monkey Now

by in Feature Articles on

1999 was a big year for Harvard Business School Publishing. In the past few years, they had seen their business model – selling books, journals, articles, case studies, and so forth – transform from being entirely catalogue-based to largely web-based, and it had finally come time for a major re-launch of their website.

HBSP’s new website was slick. On top of a fairly advanced search system, the re-designed site also featured community forums and a section called “Ideas @ Work”, which let users download audio broadcasts from influential business thinkers from around the world. And best of all, despite the rapid development schedule, scope creep, and all of the new bells and whistles, the new site actually worked. In the height of the dot-com era, not too many other sites could claim the same.


ikownjou

by in Best of the Sidebar on

Originally posted by "Publius"...

 I'm working on VB6 code written by a Dutch speaker and maintained by an Italian, with variables and comments in both languages. And no indentation whatsoever.


Six Copies, Please

by in Best of the Sidebar on

Originally posted by "snoofle" ...

I've been working with computers since the mid 1970s, and thought I'd seen every possible stupid thing users could do. Coffee cups on the PC's cup holder. $20 bills jammed into the slot (floppy) to purchase stuff on the internet. Pretty much everything featured on TDWTF. Nothing could surprise me anymore. Until today.


Not Exactly AJAX

by in CodeSOD on

"At manufacturing companies," Brent Railey wrote, "all you ever hear about is SAFETY, SAFETY, SAFETY. In fact, that was exactly the type of application I was tasked with reviewing: an 'Activity Based Safety Program' application for the corporate offices. It was a Classic ASP application that was 'slightly customized' from another application."

"As I was testing out the application, I noticed a little AJAXy behavior. When I selected one category, it would populate another section with the list of items in that category. Not bad for ASP, I figured. That is, until I looked at the code."