[Banana and monkey]

The Banana Awards

Dedicated to Programming Excellence

About the Banana Awards

FAQ: Banana Award Goals, Miscellanea

Work in progress! This site is still being written: please check again later.

About the Banana Awards

It has been posited that if an infinite number of monkeys sit at an infinite number of typewriters and randomly press keys, they will eventually produce the complete works of Shakespeare.

—S. Christey, The Infinite Monkey Protocol Suite (IMPS) (RFC 2795)

Whether an infinite number of monkeys sitting at an infinite number of typewriters will, in fact, produce the complete work of Shakespeare remains to be proven; however, it has been conclusively demonstrated that they will spew a considerable amount of software programs. The Banana Awards are dedicated to these monkey's excellence by highlighting the most meritable pieces of code.

In other words, the Banana Awards are meant to point out the most remarkable bugs and misfeatures in various computer programs: code that cannot work, could not work, will never work, should never have been written, and was never tested (and in some cases, never used).

FAQ

Banana Award Goals

So, what's this about?
Short answer: Awarding bananas to the most stupid, the most disastrous, the most original, and otherwise remarkable software bugs.
Longer answer: Have you ever (either in using a program or, better even, in reading its source code) encountered a bug such that you thought, no sane person could have programmed this—it must have been some monkey randomly typing at the keyboard? Well, that's what the Banana Awards are all about—rewarding similar cases of bad programming: bugs, security holes, misfeatures, or gratuitous ugly hacks. Perhaps the Banana Awards are best compared with the Ig Nobel prizes.
Are you serious about this?
It depends on what you mean by serious. I'm not seriously suggesting this or that piece of code could have been written by a monkey. But we do intend to make a list (evidently incomplete and necessarily subjective) of the most ridiculous or irksome software bugs we can find. (So far, however, this site is just being launched and the list is mainly in our heads.)
Isn't it insulting, comparing programmers with monkeys?
Our sense of humor is bound to be found offensive by some, certainly. So maybe it's worth spelling out the (obvious) fact that we don't actually wish to compare programmers with monkeys, and we do appreciate the good work that is being done by thousands of (often volunteer) programmers world-wide. But as Horace wrote, quandoque bonus dormitat Homerus: sometimes even good Homer nods—and even the best programmers can make the most frightfully obvious mistakes.
What's the point?
We believe that pointing out cases of bad programming can help improve software quality as a whole: much is to be learned by observing common problems (such as buffer overflows, maginal case errors, race conditions, and generally untested code) or even by spotting other people's mistakes. After all, it is said that one should learn from others' mistakes because life is too short to commit them all single-handedly.
The license says there's no warranty of any kind, so you can't complain about bugs!
That's not a question, but let's pretend it is. The license is about legal responsibility, and saying there's no warranty means nobody can sue the programmer for the bugs he writes, which is fortunate. However, the fact that we can't sue doesn't mean that we can't complain or laugh about it. And it certainly doesn't mean we can't hand out awards.

Miscellanea

What does the perfect Banana Award candidate look like?
for ( p=first ; p ; p=p->next ) { free(p); }
Who are you?
We prefer to remain anonymous for the time being: at least until we can sort out the details of how the Banana Awards recipients will be chosen. Let us say that, for the time being, we ourselves do not really know who we are… And no, you simply can't contact us, sorry—whether to insult us or to ask a question.
What's coming next?
Many details still need to be decided, from the technical (how this site will be managed and organized and what it will contain) to the political (who is eligible, how the bananas will be awarded and who will do the choosing). Most probably, a number of bugs will be designated as charter recipients of the banana awards, and, after that, selection will be a two-stage process, where bugs are awarded an immediate banana when they are noticed, and, later on, are eligible for the yearly (or perhaps more frequent) prizes such as the Golden Banana Award and similar. We don't yet know whether only Unix software, resp. only Free Software, will be eligible for banana awards (point being, we don't want a certain Redmond-based firm plundering the bounty! so we're considering the question of how to distinguish code written by a monkey and by an—uh—octopus). We also still don't know whether there will be some token material prize associated with the awards (such as an actual piece of fruit: unfortunately it's a hassle to send internationally) or just some image the author could put on the program's Web page (like this program won the 2006 Allman-Behlendorf-Vixie Banana Award for Repeated Very Common Mistakes). Stay tuned!

Copyright © 2005 de la Salle S, Armoire