sábado, octubre 15, 2005

Pantallas de error que son demasiado  

En este artículo de WTF se muestran ejemplos magníficos de increíbles mensajes.

Sin embargo, esos mensajes de error inusitados tienen su explicación y debo decir, no sin algo de vergüenza, que sé de dónde vienen.

Corría el año 1994 y trabajaba en Buenos Aires para un conocido BBS (¿alguien se acuerda de ellos?). La empresa con que colaboraba desarrollaba la interfaz Windows para el BBS (ventanas y multitarea para el maravillado usuario). El instalador que hicieron estaba muy bueno, pero tenía una desventaja: hecho en VB, quedaba incapacitado de instalar la biblioteca de tiempo de ejecución de VB.

Tuvieron que recurrir a mis por entonces escasos conocimientos del lenguaje C para que desarrollase un "pre-instalador" (un programita que copia la biblioteca básica una vez que es llamado por el primer programa). Para asegurarnos que al momento de la copia, el primer programa había cerrado, un parámetro de línea de comando indicaba en handle de la ventana que estaba llamando. Con ese número obtenía la ventana, de la ventana el proceso que la creó y esperaba que el mismo terminara.

Ahora bien, si mis conocimientos de la arquitectura de Windows llegaban a poner eso en práctica sin dificultad, una operación básica como transformar el parámetro de línea de comando desde cadena a entero, me resultaba complejísimo.

Para los fines de depuración (no conocía en detalle el funcionamiento del depurador de MS C), puse un cartel que, si la conversión daba cero, mostraba el mensaje "Cagamos" en una ventanita con el título (redundante) "Shit!".

Finalmente aprendí a transformar los números y el programa fue probado varias veces y en diversas condiciones antes de ser empaquetado e incluido en una revista de importante circulación nacional.

Cuando llegó a las manos de algún avispado lector con mucho tiempo libre, dicho sujeto se entretuvo buscando la seña de ejecutable (el famoso MZ) al incio de archivos que no tendrían la extensión ".exe" y dio con mi preinstalador.

En breve apareció un mensaje en un foro del BBS dando las instrucciones:

  • Renombrar tal archivo a .exe
  • Hacer doble clic
  • (como no se pasaba ningún parámetro y la conversión daba cero) Fijate el hermoso mensaje que dejaron como huevo de pascua

El asunto me valió un reto y aprendí, entre otras cosas, a controlar el lenguaje que uso en los programas, aún cuando estoy seguro que la frase no va a hacerse pública.