miércoles, 1 de diciembre de 2010

La paradoja

Eran las dos de la mañana un lunes en la gran ciudad. Las luces de los rascacielos y la iluminación pública creaban un destello que se expandía más allá del cielo, apartando a las estrellas de la vista, como compitiendo por la conquista de la noche. Sin luna, la ciudad dormía tranquila y el sonido de algunos carros en las calles y camiones en las autopistas era lo único que se podía escuchar, pues el viento no entraba tan profundo en la ciudad ni si quiera de noche. El aire acondicionado de los edificios y los departamentos sonaba al unísono en un monótono e hipnótico tono grave que arrullaba a sus dueños.
En muchos de los edificios se podían ver algunas ventanas iluminadas. Una de estas ventanas, era propiedad de una empresa de desarrollo de software exitosa. Uno de sus programadores se encontraba despierto en su escritorio frente a la computadora trabajando en un proyecto que debía terminar con urgencia. Sus ojeras destacaban por debajo de sus lentes y pasaba su mano por su cabello con la cabeza baja suspirando. No tardaba mucho en dar un vistazo rápido alrededor y volver al teclado.
Debía terminar el software en el que estaba trabajando para ese día y su suerte no le ayudaba en nada. Había llegado la tarde del domingo y planeaba terminarlo temprano en la noche. Pero conforme cayó la tarde se topó con una desagradable sorpresa. Al momento de probar su software, encontró un error grave y potencialmente peligroso que debía ser corregido con apuro. Habló a su casa para disculparse pues sabía que esa sería una larga velada.
El programador había aflojado su corbata horas atrás y reposaba su cuerpo en la silla de oficina mientras miraba la pantalla del monitor con el mensaje de “error grave y potencialmente peligroso” en la pantalla. Había repasado de inicio a fin todas las líneas del código. Recurrió a los manuales varias veces para asegurarse que todo estuviera en orden, pero aun así el programa le seguía marcando error.
La lámpara, que colgaba sobre su cabeza, se movió de repente y se balanceó levemente cuando una polilla se había golpeado en el foco, atraída por la luz de la lámpara que creaba imágenes extrañas con las sombras al moverse. El zumbido del regulador de corriente se había perdido ya con el ruido de fondo del aire acondicionado, la computadora y el goteo de la cafetera.
El programador prendió un cigarro y después de ponerlo en su boca regresó a su trabajo. Cerró el error y volvió al código. Pensaba que una de sus líneas debía estar mal, pero no sabía cuál. Había revisado todas con el manual en mano y todo parecía estar en orden, pero el error seguía apareciendo. Volvió a leer el programa desde el inicio, sin pasar ninguna letra o símbolo y todo parecía estar en orden, sin embargo el error seguía apareciendo. El programador comenzaba a enloquecer de rabia. No entendía que estaba pasando y cada minuto que pasaba preguntándose era como un ladrillo más que le pesaba sobre su pecho.
Se levantó con dificultad de su silla, la cual se deslizó un poco con sus ruedas, como si también se tomara un descanso, y se dirigió a la cafetera. Respirando profundo, miró el vapor que salía de su taza de café caliente. El olor lo despertaba y animaba. Sin ponerle azúcar, crema o leche, le dio un sorbo grande a la bebida hirviendo y el ardor del líquido pasando por su boca y su garganta lo despertó al instante. El efecto del café vino poco después, sus ojos cansados se abrieron y su espalda encorvada se enderezó. Tenía energía para continuar, por el momento.
Se acercó a su escritorio y jaló su silla de oficina para sentarse, dio otro sorbo de café y continuó. Pensando que el sistema nuevo podría tener algún error con el manual viejo que tenía, se dispuso a investigar y consiguió un manual más moderno del sistema que estaba usando. Quizá con esto encontraría el error que le seguía apareciendo. Le tomó media hora hacer algunas anotaciones y regresó a su código, lo modificó un poco y corrió la prueba.
El software trabajaba a la perfección. El error que le seguía apareciendo ya se había ido y todo marchaba de maravilla. Se sentía orgulloso de su trabajo y pensaba que cómo había sido tan tonto de no revisar el manual actualizado primero. Después de otro sorbo de café, prendió otro cigarrillo como premio y comenzó a fumar tranquilamente frente al monitor, el error se había ido y era hora de partir a casa. Apagó su cigarrillo en el cenicero y cuando se volteó al monitor una alertaba estaba parpadeando en una esquina de la pantalla. Al abrirla, vio que había un error grave en el programa que había terminado y que el sistema lo había eliminado por considerarlo potencialmente peligroso.
Se quedó boquiabierto al ver el mensaje, el error había sido eliminado junto con su programa. Por fortuna tenía un respaldo, pero era previo a las modificaciones del manual nuevo. De cualquier forma, el error no estaba solucionado. De un último sorbo acabó con todo el café de la taza y golpeó el escritorio con fuerza al aporrear su taza. Después de un suspiro, volvió a revisar el manual nuevo. Aún no sabía de qué se trataba el error y averiguando su origen encontraría su solución. Empezó a intentar cosas nuevas, agregando unas líneas erróneas a propósito para ver si le marcaba más errores y, efectivamente, todos los errores que provoca a propósito como prueba eran detectados y al corregirlos se solucionaban sin problema alguno. Revisó una vez más todo su código y no encontró ningún otro error, el programa era perfecto y había sido diseñado con maestría, pero seguía marcando error.
La tensión aumentaba. Apretaba su puño, sus ojos y sus dientes con coraje en silencio. Sólo el zumbido del regulador de corriente y los demás de la oficina que se mezclaban se escucharon por unos instantes. Mirando la cafetera ya casi agotada y su último cigarro acabado, dio un suspiro largo y continuó. Tomando un poco de riesgo, decidió rehacer parte del programa, modificarlo para que funcionara con una lógica diferente, quizá no era la óptima pero aunque sea hubiera sido funcional y empezó a trabajar en las nuevas líneas. Quitó algunas que nunca le gustaron e incluso usó algunas ideas suyas que no habían sido probadas. Cuando terminó y todo parecía estar en orden puso a prueba el software y la pantalla de inicio apareció sin ningún problema. El programador empezó a revisarlo y entonces un error apareció. Uno de los textos de información que traía el programa tenía una palabra escrita dos veces, nada grave, borró la palabra duplicada y continuó revisando que todo estuviera bien.
Contento de que todos los aspectos del programa estuvieran funcionando como deberían, guardó sus avances y lo cerró, pero del CPU salió un pitido y la pantalla se congeló en menos de un parpadeo. Mirando el monitor con los ojos bien abiertos, probó diferentes combinaciones de teclas hasta que presionó el botón de apagar de su computadora por unos segundos hasta que se cortó la energía por completo. Miró el monitor, estaba completamente negro excepto por una pequeña luz que parpadeaba de un costado indicando que estaba aún prendido. Contó hasta 10 y, después de otro suspiro, volvió a encender la computadora, que arrancó sin ningún problema.
Buscó su programa y sólo encontró el respaldo viejo con el error grave. Pensaba que alguien debía estarle jugando una broma, no podía ser que fallara tan repentinamente cuando ya todo estaba revisado y probado. Debe haber algo mal con la computadora o quizá algún virus o un hacker jugando con la red. —No puede ser, mi programa está bien hecho y no debería marcar ningún error—susurraba, mirando el CPU— Alguien debe estar jugando conmigo—. Pero por más que el programador volteaba a ver a su alrededor, no podía ver a nadie. Su computadora, conectada directamente al modem por un cable, no tenía acceso inalámbrico de ningún tipo. Revisó que no hubiera ningún disco o tarjeta metida, alterando el sistema, pero no encontró nada.
Hizo un escaneo del sistema en búsqueda de virus. Sus ojos le ardían, sus ojeras seguían aumentando y su cabello se alborotaba de tantas veces que había pasado su mano por su cabeza. Mientras la computadora escaneaba, encontrando unos errores menores, los ojos del programador se cerraron y su cuerpo se hundió en la silla de oficina. Su mente empezaba a divagar en el insomnio. Volteaba a la computadora y el software había pasado todas las pruebas, no tenía ya más errores. Pero abría los ojos y el escaneo continuaba, todo fue un sueño, su mente le jugaba bromas.
Veía la luz del día llenando la habitación y sus compañeros de oficina que llegaban —Llevo toda la noche trabajando en esto— decía sin abrir los ojos, hasta que un sonido repentino, cerca de la puerta, lo despertó. Un vistazo rápido en la oscuridad, pero no había nada ahí, nadie había ahí tampoco. Volvió a pasar su mano por su cabeza y dio otro suspiro. El escaneo de virus había terminado, ningún virus encontrado. Los resultados de otros análisis del sistema mostraron una computadora sana, que ha sido usada en condiciones óptimas, con un mantenimiento de primera, tal cual se esperaría encontrar en una oficina de programación de software. El sistema estaba sano, el software estaba bien programado, pero seguía marcando el mismo error.
La luz del día comenzaba a asomarse y el programador estaba hecho un desastre, sus ojeras caían por su rostro pálido y sus labios estaban resecos por el aire acondicionado que seguía zumbando en el fondo, pero ya nadie le prestaba atención. Ya no tenía más cigarrillos y sus manos temblaban, su mente divagaba sobre el error, estaba seguro de que no había ningún problema, pero aun así le marcaba la misma advertencia de siempre. Estaba enojado, frustrado, confundido, desvelado y amargado. El destino le jugaba una cruel broma, como un niño divirtiéndose torturando una hormiga. Tenía que haber algo que no había visto, nuevamente regresó a su código de respaldo y lo leyó todo. Empezó a comparar otros códigos que había hecho, usaba las mismas indicaciones en todos que las que decía el manual viejo y estas eran compatibles con el nuevo. Según el texto no había ningún error. Pero este seguía apareciendo cada vez que hacía la prueba.
El programador estaba a punto de cruzar el límite de la frustración a la desesperación, comenzaba a imaginar todo tipo de posibilidades absurdas. Que los astros se alinearon ese día para hacerle pasar un mal rato, que era una víctima más de la providencia, quizá su alma le pertenecía a satán y estaba pagando su deuda con sufrimiento o está siendo probado por la empresa, monitoreado por cámaras escondidas en alguna parte para observar su comportamiento, quizá de su desempeño en este momento dependa su trabajo. Golpeaba su escritorio con su puño, y derramando una lágrima en cada ojo, lo intentaría una vez más.
Probando una nueva forma de programar jamás antes vista, empezó a rediseñar el programa desde cero. La lámpara seguía prendida, pero su luz se opacaba por la del sol que salía de entre los edificios más altos que ensombrecían algunas partes de la habitación. El teclear del programador se escuchaba por toda la oficina, azotaba el teclado levantando sus manos para arremeter con sus dedos contra él. No dejó de teclear hasta que terminó y al poner el programa a prueba la máquina empezó a trabajar. Todo parecía en orden, hasta que un pitido anunció un error.
—“Error grave y potencialmente peligroso.”— Decía la pantalla. Pasaron dos o tres segundos y el programador gritó “¡No puede ser!” Miró el monitor con la advertencia en primer plano y entonces volvió a gritar “¡No puede ser!”. Cerró el programa e hizo la prueba de nuevo. Pero apareció el mismo error. “¡No puede ser!” gritó por tercera vez. Corrió la prueba y volvía a marcar el error, entonces gritó “¡No puede ser!” una vez más.
Así, siguió pasando la prueba y gritando. No podía creer lo que veía, todo estaba en orden pero había un error que seguía apareciendo. Golpeaba con su puño el escritorio mientras seguía gritando “¡No puede ser, no puede ser, no puede ser…!” Corría la prueba y volvía a salir el error. Una y otra vez.
Cuando la primera persona llegó a la oficina, encontró al programador en su silla gritando y golpeando su escritorio “¡No puede ser, no puede ser…!” sin parar. Pero de ese estado no lo pudieron sacar nunca, había algo que su mente no pudo entender y la paradoja lo enloqueció. Aún hoy sigue gritando, desde su habitación en el hospital psiquiátrico: ¡No puede ser, no puede ser…!

FIN

No hay comentarios:

Publicar un comentario