Repent! (With money)
December 20, 2009 10:13 AM   Subscribe

Feel guilty about some of that terrible code you've inflicted on the world? Worse Than Failure (formerly the Daily WTF) introduces bad code offsets for purchase to atone for your crimes.

Proceeds go to a handful of open source/self funded projects. What's next, arms export offsets? Check. Bad boyfriend offsets? (I'll take a dozen of those.)
posted by ctmf (22 comments total)
 
Yeah, I'm lookin' at you.
posted by R. Mutt at 10:15 AM on December 20, 2009


(I would like to not that while The Daily WTF went by "Worse Than Failure" for a while, it is now back to its original name)
posted by Monday, stony Monday at 10:29 AM on December 20, 2009 [4 favorites]


I would like to note that these are ALSO brought to you by Stack Overflow, the best development help community on the Internet.
posted by Plutor at 10:32 AM on December 20, 2009 [4 favorites]


I remember the Daily WTF used to have posts about bad code, but at some point they switched to only posting bland Dilbert-esque stories of corporate idiocy, accompanied by some stock imagery of people in business attire making funny faces. Has it returned to form?
posted by pravit at 10:42 AM on December 20, 2009 [4 favorites]


CodeSOD has been a regular feature for as long as I've been reading. It's interspersed with the longer stories.
posted by kmz at 11:02 AM on December 20, 2009


pravit: "I remember the Daily WTF used to have posts about bad code, but at some point they switched to only posting bland Dilbert-esque stories of corporate idiocy, accompanied by some stock imagery of people in business attire making funny faces. Has it returned to form?"

They also sometimes do some coding puzzles. The last one looks to have been done in September, though.
posted by ArgentCorvid at 11:50 AM on December 20, 2009


It's always funny until somebody gets killed in a steel mill explosion or gets one thousand times too much therapeutic radiation or the phone system aoto-dials an old lady in Dubuque fifty times a week. Then real people have to live with the consequences while the software engineers make that snorting, gasping sound they use for laughter.
posted by longsleeves at 12:06 PM on December 20, 2009 [2 favorites]


If I bought these for past transgressions, I'd need an AIG sized bailout.
posted by ryoshu at 12:20 PM on December 20, 2009 [1 favorite]


Given the stupidly huge number of "bad lines of code" that I've contributed to the world, I can't help but wonder how anyone could afford this. 50 cents per bad line of code? Wait a minute while I just remortgage my house.

(And no - This isn't because I'm a bad coder, it's because I've been writing code pretty much constantly for the last 28 years.)

Given how "compact" trendy languages like python are compared to the more sneered upon but more commonly used COBOL, Java, C, C++ and variants, I can't help but think this is just another excuse for faddish coders to have yet another pop at the people who actually do the work.

Also - "Bad line of Code"? What the hell does that even mean? Most shortcuts or bugs are embedded in multiple lines. It's rare that you can point to a single line and say with objectivity "That is a bad line of code."
posted by seanyboy at 12:23 PM on December 20, 2009


It's rare that you can point to a single line and say with objectivity "That is a bad line of code."

:(){ :|:& };:

Wait, what?
posted by ryoshu at 12:35 PM on December 20, 2009 [1 favorite]


The words to look at here are rare & objectivity.
The word I missed out was production. As in "production code"

The thing isn't that we don't write bad lines of code, it's that we write good tested code that works, is maintainable and does what it is supposed to do within the confines of cost and requirements.

It's also important that we reread our code. Because too much of the time, I don't and I'm sure as hell not going to give myself another disincentive to stop myself checking work that may be bad.

If I write a bad line of code, and that gets picked up in testing do I pay money? If I stub in bad code in the knowledge that I'll make it good later, do I pay money? If a bad line of code is made good after beta testing, should I be able to claim a rebate?

It's a nice sentiment, but as an idea it's never going to work.
posted by seanyboy at 12:47 PM on December 20, 2009


Well, the main mistake seems to be that it's aimed at nerdy engineers, who will nitpick about definitions and strict accounting. Instead of saying "Ha! That's humorous. I'll take one, for the fund raising, and pretend it excuses my code writing 'sins' of the past."
posted by ctmf at 12:56 PM on December 20, 2009 [3 favorites]


It's rare that you can point to a single line and say with objectivity "That is a bad line of code."

I've used the goatse operator in perl.
posted by a robot made out of meat at 1:36 PM on December 20, 2009 [4 favorites]


It's always funny until somebody gets killed in a steel mill explosion or gets one thousand times too much therapeutic radiation or the phone system aoto-dials an old lady in Dubuque fifty times a week. Then real people have to live with the consequences while the software engineers make that snorting, gasping sound they use for laughter.

I can't tell if you're joking, but no, it actually isn't funny. And we don't snort and gasp about it when it happens. And for the record, we're "real people" too.

Most of us know that defects occur in code. And as a result, when we're working in human-critical fields, there are multiple review processes designed to catch those mistakes. Personally, I refuse to work in a human-critical field at this point in my career; I know I could kill somebody, and I couldn't cope with that. I know one guy who quit his job at a medical device manufacturer specifically because of the stress of the possibility that a defect had slipped through review.

Even in non-human-critical fields, there's always a testing process. It's sometimes better or worse, depending on the size and professionalism of the organization. But I've never met a programmer who thinks code should be shipped untested--although I've met many who didn't want to do the testing themselves. We have extensive systems set up to track and fix code defects. An issue-tracking system is pretty much the second piece of software a development team procures, after version management.

The "bad lines of code" that dailyWTF is offering to "offset" are not defects. In general, they're code that has been through testing and passed. They're simply inelegant, aesthetically-displeasing constructs. They're functionally equivalent to "good" lines of code; they're just ugly. To use a metaphor: if the dailyWTF was for structural engineers and architects, they'd be offering to offset the cinderblock and concrete monstrosities; not buildings that fall down.

But, then, I'm sure you're the sort of person who thinks doctors laugh at their fatal mistakes as well.
posted by Netzapper at 1:51 PM on December 20, 2009 [1 favorite]


seanyboy, I definitely agree with what you're saying in principle. My experience has been that the projects most likely to accumulate bad code are the ones whose managers and/or funders are unwilling to pay for the work of 'making it better later.'

The 'ship the prototype' mentality that eternally-in-beta web 2.0 sites and agilemania have fostered don't help with this. Lots of companies like the idea that agile approaches will get them something demoable fast, but are unwilling to commit to the expensive side of the equation - investment in refactoring, pairing, etc.

I have seen lines of code that undoubtedly worked, but were mind-bogglingly bad. Like, one innocuous line of code that opened up three serious security holes in a web app.
posted by verb at 2:10 PM on December 20, 2009


Well I thought it was funny.

AS FUNNY AS SCRUBS!

Which, as it turns out is an example of a show that demonstrates it's OK to laugh at doctors that make mistakes.

(there are also a bunch of darker hospital shows that make light of fatalities)
posted by seanyboy at 2:17 PM on December 20, 2009


Oh, I think the Code Offsets are funny. I was just responding to the commenter upthread who seemed to think that hackers laugh when our code kills people or makes them miserable.

(there are also a bunch of darker hospital shows that make light of fatalities)

My mom's a doctor. My wife's a nurse. There's plenty of gallows humor. What isn't treated lightly is mistakes resulting in harm to patients.

Also, you might consider not confusing television for reality.
posted by Netzapper at 2:32 PM on December 20, 2009


I can't tell if you're joking, but no, it actually isn't funny. And we don't snort and gasp about it when it happens. And for the record, we're "real people" too.

This was a clumsy attempt at humor. Some of my best friends know software engineers.
posted by longsleeves at 2:58 PM on December 20, 2009


I'm not confusing television with reality. I'm confusing humorous stereotypes on television with humorous stereotypes on metafilter.
posted by seanyboy at 3:10 PM on December 20, 2009


Given how "compact" trendy languages like python are compared to the more sneered upon but more commonly used COBOL, Java, C, C++ and variants, I can't help but think this is just another excuse for faddish coders to have yet another pop at the people who actually do the work.

Also - "Bad line of Code"? What the hell does that even mean? Most shortcuts or bugs are embedded in multiple lines. It's rare that you can point to a single line and say with objectivity "That is a bad line of code."
Wow, you sound defensive.

Also, while you may not be able to look at one line of code and tell if it's 'bad', any more then you could looking at one single character. But you can certainly see horrible code. So if you have a 100 line function or 1000 line program that's horrible, then that's 100 or 1000 bad lines of code.

So the "offsets" are for bad code, based on the number of lines. But mostly it's a cheeky way to support some open source software projects.
If I write a bad line of code, and that gets picked up in testing do I pay money? If I stub in bad code in the knowledge that I'll make it good later, do I pay money? If a bad line of code is made good after beta testing, should I be able to claim a rebate?
But how often does "I'll go back and fix it later" come true? It goes into a priority queue, and then more stuff gets stacked on top ad-infinitum. That's how bad code gets into production. Later on, someone else comes on and has to make a quick change and the whole thing gets worse.

Maybe at some places, people really do spend a lot of time crafting their code, but in the real world a lot of people have to rush to get things done. And the truth is that there are a lot of bad programmers out there, who write crap but don't realize it.
It's a nice sentiment, but as an idea it's never going to work.
DUH IT'S A JOKE. The point is just to fund some OSS projects, not actually improve code quality.
posted by delmoi at 9:44 PM on December 20, 2009


How did I miss the fact that it's a joke? I understood it was jokey, but assumed that it was ultimately serious.

Put that one down to me being an idiot, and we'll not mention it again.

You're mainly right delmoi in your asessment of my comments. But for the defensive part. The anger in that statement comes from me being unable to find a good web-mvc framework that can be used to rewrite 200+ screens of windows database application. Either django or asp.net mvc looks ok, but the project looks orders of magnitude harder to write than it should be.
posted by seanyboy at 12:16 AM on December 21, 2009


It's rare that you can point to a single line and say with objectivity "That is a bad line of code."

system("rm -rf *");

Bad boyfriend offsets? (I'll take a dozen of those.)

Funny how all boyfriends consider themselves bad. This boyfriend offset idea has potential.
posted by spamguy at 7:09 AM on December 21, 2009


« Older "Do not be alarmed. We are here to protect you."   |   The Far-Reaching Consequences of Bad Science Newer »


This thread has been archived and is closed to new comments