
Code Golf se presenta como una página de pasatiempos de programación. En ella se plantean una serie de retos, los cuáles podemos resolver en uno de los lenguajes permitidos: Ruby, PHP, Perl y Python.
De cada reto se nos da la salida que debe de producir nuestro programa, y se valora el tamaño del programa (cuanto más pequeño mejor, evidentemente). De ahí a que la programación se convierta en una pequeña locura.
El mecanismo es muy sencillo: nos registramos y elegimos un reto. Entonces programos un script y lo subimos, seleccionando el lenguaje, para que se ejecute y se compare la salida deseada con la de nuestro programa. Si ha ido bien se nos introducirá en el ránking de dicho reto y si no, tenemos que esperar 2 minutos hasta poder volver a subir un fichero.
Yo ayer estuve pasando el rato por la noche con un reto de los "sencillos": 99 Bottles of Beer, que requiere una salida tal que así:
99 bottles of beer on the wall, 99 bottles of beer.
Take one down and pass it around, 98 bottles of beer on the wall.98 bottles of beer on the wall, 98 bottles of beer.
Take one down and pass it around, 97 bottles of beer on the wall.
...
2 bottles of beer on the wall, 2 bottles of beer.
Take one down and pass it around, 1 bottle of beer on the wall.1 bottle of beer on the wall, 1 bottle of beer.
Go to the store and buy some more, 99 bottles of beer on the wall.
En realidad es bastante sencillo, teniendo en cuenta el singular y plural de beers y que la última línea cambia y en lugar de coger una cerveza te dice que vayas a la tienda.
Así que tras algunas horas de rehacer código y comprimirlo quedó algo así:
$a=" on the wall"
def k(l) "#{l} bottle#{l<1?'s':''} of beer"end
def l(m) a=k(m);puts a+$a+", #{a}.\n"+(m<1?"Take one down and pass it around, #{k(m-1)+$a}.\n\n":"Go to the store and buy some more, #{k(99)+$a}.")end
99.downto(1){|m| l(m)}
Total, 239 caracteres de código que ahora mismo no soy capaz de entender, y que me han dado la posición 22ª, posición que espero mejorar en breve.
Actualización: tras una tarde más que friki he reducido el código a 211 caracteres, alcanzando la 8ª posición.
¿Alguien se anima a intentarlo? Si conseguís reducir el tamaño me gustaría saber cómo lo habéis hecho, que ahora sí que ya no soy capaz de mejorarlo.

Jeje, curioso :D
PD: Solo por curiosidad, los maquetadores de La Coctelera no han probado sus diseños en Opera, ¿no? Porque la letra de los posts es minuuuuuscula :D
Bueno, la verdad es que la CSS de esta plantilla es personalizada, y la estoy tocando yo, vaya. Así que puede que me haya cargado algo, porque yo sólo la compruebo en Firefox.