Categories ---------- Two of the three previous Essie categories were qualified flops. They did generate interesting submissions, but unfortunately, only one each. Therefore, the successful category will be retained, and two new categories added. The 2002 categories are: 1. Most entertaining new Turing-Complete toy or language. 2. Best treatment of a mainstream programming language as an esoteric programming language. 3. Iron Programmer! Category Clarifications ----------------------- 1. Most Entertaining New Turing-Complete Toy or Language: This was a rather big hit, last time through, and so has been resurrected for another award. All entries must be either obviously (to the judges) Turing-Complete or be proven Turing-Complete to the satisfaction of the judges. For the purposes of this category, to be considered "Turing-Complete," a toy/ language does *not* have to have an infinite random-access store; for example, Befunge-93 would still be Turing-Complete despite having only a pure stack for an infinite store. However, if the toy/language does not have an infinite random-access store (or equivalent), the toy must not place unreasonable constraints on finite random-access store. For example, Befunge-93's 4000-byte random-access store (the playfield) would be acceptable; if Befunge-93 were limitted to a 4x3 section of the playfield for storage, it would not be acceptable. Remember that judges will likely play with the language/toy in order to more fully experience it, and the smaller the memory, the less interesting their test programs can be. In all cases, for the purposes of this category, the judges' decision on the Turing-Completeness of a toy/language will be final. Note #1: A toy *can be* a programming language, but does not *have to be* one per se, provided it is still (provably or obviously) Turing Complete. Note #2: All entries should come with at least a specification and an interpreter, compiler, or other usable implementation; while a specification may be highly interesting, they generally aren't fun. 2. Best Treatment of a Mainstream Programming Language as an Esoteric Programming Language. The International Obfuscated C Coding Contest (http://www.ioccc.org) annually coaxes C programmers to violate any and all style guidelines, and generally poke into the darkest corners of Kernighan and Ritchie's famous creation. This must be done for more languages, but in a slightly more dignified manner (not that the indignities perpetrated on C are anything but entertaining and deserved). Rather than obfuscated programs, which involve algorithmic analysis, ambiguous names, and general style violations, the goal, here, is to examine a commonly-used language, and find a subset of features which (a) is still Turing-Complete (or, no less Turing-Complete than the original language originally was, at least), and (b) is identifiably (by the judges) in the spirit of esoteric programming. Entries should contain pointers (electronic or otherwise) to the original specification, pointers to a (preferably) freely available implementation, the list of features removed or retained (the shorter of the two lists will suffice), and test programs illustrating the resulting depravity. Optionally, a description of the resulting programming environment may accompany this. In the example programs, it would be best to refrain from other, more typical obfuscation methods, and the entry should stand on its own merits. 3. Iron Programmer! Yes. "Iron Chef" for programmers. Anyone who hasn't seen the Japanese import (or the Americanized version with--gasp--William Shatner) should hie themselves over to the Food Network (http://www.foodtv.com - or UPN, http://www.upn.com - or, failing useful information at either point, http://www.ironchef.com ) and absorb the concept. For those that still don't get it, two chefs each have an hour to produce as many gourmet dishes as they can, each using and highlighting the "theme ingredient," which remains unknown until the show begins. The dishes are then judged by a rag-tag, rotating panel made up of people who really don't have much business critiquing food, such as singers, samurai actors, heads of state, fortune tellers, and Korn. No joke. In this category, entrants will take the Theme Ingredient (to be announced on 30 January 2002 to the Esoteric Languages Mailing List at sange.fi), adapt it to their language of choice, and then create as many interesting programs as they can, which each highlight the Theme Ingredient. The programs making up each entry, as a set, will be judged based on presentation (how creatively the algorithm has been woven into the program), taste (how interesting and well-written the programs are, themselves), and representation of the Theme Ingredient. Bonus points go to any programs that are actually useful in some way (other than what the Theme Ingredient would indicate). Alas, there will be no running commentary or sideline interviews during this competition. Nor, as far as is known at this time, will Korn be participating in the judging. However, the competition will be fierce, and emotions will be high as it is inevitable that there can be only one Iron Programmer! Note #1: In case it needs to be pointed out more explicitly, due to the nature of the Iron Programmer! Category, the deadline is somewhat stricter than it is for the other categories, as the Theme Ingredient will not be announced for two weeks. Anyone wishing to propose a specific Theme Ingredient may do so by contacting the competition organizer. Note #2: You can try to do a "Galloping Programmer," kind of thing, but it's not really recommended. Accidentally igniting multiple pounds of butter while cracking jokes doesn't seem to have any metaphorical equivalent in the world of computer programming.