sábado, septiembre 05, 2009

Si tocas este código, te mueres.

Dentro de los programas hay algo llamado comentarios, que son guías para cuando alguien lea nuestro código pueda entender lo que quisimos hacer, y lo que se hizo realmente.

Y realmente a más de alguno le nace el Nicanor Parra que lleva dentro y por diversas razones, odio a sus jefes o restricciones de tiempo o simples magias que se usan, se terminan agregando comentarios que destacan por sobre otros.

Hace un tiempo salió a la luz un archivo que decía tener el código fuente de windows 2000, y si bien podemos dudar de la veracidad del código que hay dentro, no se puede dudar que son reales programadores los que escribieron los comentarios.

Uno de mis favoritos se puede encontrar en private\windows\media\avi\verinfo.16\verinfo.h:

* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!IF YOU CHANGE TABS TO SPACES, YOU WILL BE KILLED!!!!!!!
* !!!!!!!!!!!!!!DOING SO FUCKS THE BUILD PROCESS!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Dice: "Si cambias las tabulaciones a espacios, te mueres. Hacerlo "caga" el proceso de construcción.

Representa una de las guerras santas en términos de programación. Usar espacios o tabulaciones para indentar el código. Que cuando hablamos de lenguaje castellano, es como ponerse a pelear si hacer sangría con espacios o tabulaciones.

Otra de mis selecciones es cuando trata de idiotas no se si a la aplicación o al equipo que lo hace, pero aún así:

// The specific idiot in this case is Office95, which likes
// to free a random pointer when you start Word95 from a desktop
// shortcut.

Dice: El idiota específico en este caso es Office95, que disfruta de liberar un puntero aleatorio cuando inicias word95 desde un acceso directo del escritorio.

Y para finalizar con windows 2000, una de las cosas que le pasan a todo programador, arreglos ultra chanta para puro hacer funcionar el programa. Soluciones poco elegantes, y que avergonzarían al más ordinario de los programadores.

private\inet\mshtml\src\site\layout\flowlyt.cxx:
// God, I hate this hack ...

Dice: Dios, odio este hack

private\ntos\w32\ntuser\client\nt6\user.h:
* The magnitude of this hack compares favorably with that of the national debt.

Dice: La magnitud de este hack se compara con la deuda nacional.

Otro de los comentarios que me parecen dignos de mostrar son aquellos que están seguros de que otra persona modificará el código, e inclusive advierte no hacerlo:

// Dear maintainer:
//
// Once you are done trying to 'optimize' this routine,
// and have realized what a terrible mistake that was,
// please increment the following counter as a warning
// to the next guy:
//
// total_hours_wasted_here = 16

Dice: Querido mantenedor:

Una vez que hayas terminado de optimizar esta rutina(código),
y te hayas dado cuenta del terrible error que fue,
por favor incremente el siguiente contador como una advertencia
al siguiente sujeto:

total_horas_desperdiciadas_aca = 16;

Finalmente quisiera destacar un comentario encontrado dentro de un juego llamado Erika to Satoru no Yumebōken. Un autor que se dedica a traducir de japonés a inglés posteó lo que pudiera ser el máximo exponente de mensajes escondidos en código(ir al post original para la versión en inglés):

Esta es una canción nostálgica. Esos eran buenos tiempos. Mientras tanto, ¿quién diablos son las personas de este proyecto? Por fin se acabo, cualquiera pensaría que son puros buenos recuerdos. Usemos este espacio para dar agradecimientos.

Primero que nada, Kaoru Ogura, que te corriste del proyecto con un tipo. Si, tu bastarda. Ni se te ocurra venir a la oficina sin bañarte despues de tener sexo 6 veces la nocha anterior. Siguiente, Tatsuya Ōhashi. Si tu bastardo, no me vengas con esa mierda frívola, llegando tarde el día que entregamos el ROM como si nada pasase. Puedes darme todo el porno que quieras, pero jamás olvidaré esa. Todo el peso que subiste, con razón pagaste 18.000 yenes y a lo más te dieron un beso. Kenji Takano, depurador de Namco. Eres part-time, no andis "webeando" con el jefe de proyecto. Y finalmente, Kiyoharu Gotō, la mayor espina en este proyecto. Si tu bastardo, apenas obtenga mi maquina del tiempo, te mando a la era Edo. Andate allá a hacer tus puzzles.

Pensándolo bien, algunas personas fueron útiles. Sr Okada, quien se llevó todas las cosas buenas. Se todo sobre tus tendencias anormales. Yamagishi, que juraste de alejarte de los prostíbulos hasta terminar el proyecto. Anda a saciarte ahora


En cualquier caso, la anterior fue una versión recortada a la cual le puse una traducción bastante libre de lo que decía originalmente.

Lo mejor en todo caso de este último comentario, es que existía la posibilidad de desbloquear dicho mensaje con una combinación estilo mortal combat y hacerlo aparecer en el final del juego.

A estas alturas no puedo evitar preguntarme ¿Cuántos de nosotros habremos querido colocar comentarios así?. Por lo menos yo me he sentido tentado.