Qué interesante se ha puesto la competencia [**JS1k**](http://js1k.com/home): A lo más un kilobyte de código para demostrar el poder único de **JavaScript** como lenguaje de programación. Son varias las reglas, las cuales tuvo a bien explicarles Federico en [su momento](http://bitelia.com/2010/08/concurso-demo-en-javascript-en-menos-de-1k) (hace casi un mes). Les recuerdo un poco:

1. Debes crear un **fantástico** demo JavaScript.
2. El código no debe rebasar los 1024 bytes y no debe fallar.
3. No importa si el código ha sido ofuscado ni realizado con malas prácticas de la escuela _espagueti_.
4. Debe operar sobre cada uno de estos navegadores: Firefox (3.6.8), Safari (5.0.1), Chrome (5.0.375.99), Opera (10.60).
5. Puntos extra si el código cabe en un _tweet_: 140 caracteres o menos, claro.
6. El 10 de septiembre es el último día para recibir trabajos.

La **JS1k** es un tesoro de conocimientos para los programadores interesados. Son muchos los [demos](http://js1k.com/demos) sometidos hasta ahora. Y es uno de ellos el que motiva este _post_: el **impresionante ajedrez** que el mexicano [Óscar Toledo](http://nanochess.110mb.com/) que programó en la precisa cantidad de [**1014 bytes de código**](http://js1k.com/demos#id435) (a 10 bytes del límite para competir). Admiren el código:


Toledo reporta varios _forks_ de su código. Es importante mencionar que la versión **JavaScript** que arriba les muestro está basada en la versión en lenguaje C que le ha hecho merecedor al nombramiento como «el programa de [ajedrez más pequeño del mundo](http://blogs.howstuffworks.com/2009/08/28/world-record-99-the-worlds-smallest-chess-program/)». Más aún, el código ganó la décima octava edición (2005) del [Concurso Internacional de Código C Ofuscado](http://www.ioccc.org/whowon2005.html) en la categoría de Juegos.

Todo código bien hecho merece ser objeto de estudio, y **si es ofuscado, más**. ¿No lo creen?

Participa en la conversación

13 Comentarios

Participa en la conversación, deja tu comentario

  1. La exereipncia me dice que mis amigos Facebook suelen ser mas generosos que mis contactos en Twitter pero supongo que tiene que ver con el tipo de contenido de mi blog. Tambien supongo que el hecho de seguir y ser seguido por tantos anglotwitters tampoco ayuda. En todo caso, por mi exereipncia en otros blogs que administro, me doy cuenta que si bien Facebook genera mas visitas que Twitter, sus posibilidades virales son mas limitadas (no se RT los updates en Facebook) y sobre todo genera visitas de menor calidad (salvo que admnistres profesionalmente tu perfil en FB). Lo normal, por los datos que tengo, es que una visita del Twitter permanezca mas tiempo en la pagina que la del FB, pero repito, supongo que depende del contenido.

  2. muy buen trabajo a puede tener sus errores, pero hacer que funcione en tan poco «poco por la cantidad de letras, es un gran codigo!» realmente fantástico!!

  3. Me siento un poco bobo tratando de entender un poco el código…no tengo ni idea de programación! Pero es impresionante que en tan pocas líneas de código, se pueda hacer todo un motor de ajedrez.

  4. Definitivamente un aplauso, no se me ocurre pensar que si esto puede hacer con un juego de ajedrez , como podra optimizar el codigo, en proyectos profesionales, muchas felicidades =) ..

  5. muy buen codigo…. hay sintaxis que no conocia, es decir, operaciones que desconocia…. excelente trabajo! felicidades a el señor toledo :D