|
|
|
|
Mi relato se dirige
otra vez hacia el pasado,
mas lo que será contado
no fui yo quien lo sufrió;
una amiga fue quien vio
otra burla del Malvado.
La "Droguería del Sur",
compró una "Burroughs" monstruosa.
Esa bestia aparatosa,
allá en el 70 y pico,
era símbolo de ricos
y de gente poderosa.
Mi amiga tenía a su cargo,
además de su embarazo,
preparar a corto plazo
toda el área de sistemas.
Muy experta en estos temas,
todo fue con firme paso.
Desarrollado en COBOL,
el sistema permitía
dar una rápida vía
a consultas y pedidos.
Los llamados recibidos
a cualquier hora del día...
... se resolvían on-line
respondiendo en un instante
la información importante
que el cliente requería:
si es que tal producto había;
o los precios de un calmante.
Todo andaba de perillas,
funcando cual relojito.
Todo marchaba limpito,
sin dramas ni inconvenientes;
contenta estaba la gente
con el sistema bendito.
Pero debo dar detalles
para que puedan captar
lo que les voy a explicar
en las estrofas siguientes.
Atenta entonces la mente
que ya les paso a contar:
cuando el monto de la compra
SUPERABA un tope dado,
según estaba pautado
se calculaba un descuento,
restando un tanto por ciento
del importe facturado.
Y aquí viene Lucifer
con su maldito tridente,
riéndose entre los dientes
por lo que les preparó.
Vean la joda que armó,
si no es digna de Su mente,...
... pues un día, de repente,
los cagó de lo mejor:
el descuento, sí señor,
se aplicaba a la factura
cuando el total (qué locura !)
resultaba ser MENOR ...
... que lo que marcaba el tope,
generando un disparate
digno de un escaparate
de feria de cosas raras:
a las facturas más caras,
descuento 0, y cagate.
Se chequearon los programas,
y todo bien, por supuesto.
"Pero qué carajo es esto !?!?",
pensaba mi amiga encinta.
Y mandó traer las cintas
para revisar el resto.
IF TOTAL GREATER THAN TOPE
el fuente claro rezaba.
Mientras se recompilaba,
todos pensaban igual:
por qué ahora andaba mal
si hasta entonces funcionaba ?.
Se instaló todo de nuevo
y se volvió a trabajar,
para al punto comprobar,
con espanto y amargura,
que el descuento en la factura
seguía sin funcionar.
Pusieron varios DISPLAY's
en algunos cuantos lados,
para ver lo realizado
en cada punto crucial,
a ver dónde daban mal
los valores calculados.
Al ejecutar de nuevo,
se agarraron la cabeza.
Cuál no era la sorpresa
al ver que se había arreglado:
el descuento estipulado
funcionaba con certeza.
Viendo que no había problemas,
con el rostro ensombrecido
retiraron lo añadido
y otra vez recompilaron.
Algunos se persignaron
ante el error revivido,...
...pues de nuevo el mismo drama:
salía mal el descuento.
Mi amiga en ese momento
dudó del computador.
Y lo llamó al proveedor
para relatarle el cuento.
Y otra vez presento al service,
del cual siempre hablamos mucho.
Vino un tipo paliducho,
con regia cara de nabo,
con andar como el de un pavo
y con el cuerpo flacucho.
Reinstala el compilador
como medida primera;
mas fue poco valedera,
porque al final fue al huevo;
cuando compila de nuevo,
el sistema ni se entera.
El mismo error persistía
sin motivos ni razón.
Un ataque al corazón
y de veras no les miento,
casi le da al esperpento
al fallar su solución.
Corrió un test en la memoria,
y todo al pelo le daba.
Los cabellos se arrancaba
el cofla desesperado.
Todo en perfecto estado;
ningún problema saltaba.
El flaco tiró la toalla
al encontrar todo bien.
Y por supuesto, también,
muy pancho el error seguía.
El service nada entendía,
ni quién era cada quien.
Mi amiga, su panza enhiesta,
se lo quería morfar.
Ahí se puso a protestar
por su burda inoperancia;
en ninguna circunstancia
él podía claudicar.
El ñato se fue al joraca,
mientras de nuevo llamaba
al proveedor que ya odiaba.
Zorra vieja en estas lides,
la panzona se decide
a hacer laburo de esclava.
Con el programa en memoria,
desde otra terminal
hizo un dump fenomenal
de cientos de hojas impresas.
Y encaró entonces la empresa:
buscar lo que andaba mal.
Con el hexa a la derecha,
y con el fuente a la izquierda,
sin que el hilo se le pierda,
e instrucción por instrucción,
dio por fin con la razón
de ese problema de mierda.
Mirando en el punto clave,
allí donde el "IF" estaba,
había un bit que no cuajaba
con lo que debía ser.
No había mucho más que ver:
la falla había sido hallada.
Debía decir "branch if greater",
pero había un "branch if less",
haciendo que toda vez
que eso se ejecutara,
el camino equivocara
al bifurcar al revés.
Un anillo de memoria,
esta vez se había quebrado.
Ese bit, siempre apagado,
alteraba la instrucción,
cambiando la condición
produciendo el salto errado.
Toda vez que a la mañana
el sistema se arrancaba,
tooodo igual siempre cargaba,
byte a byte, la misma cosa.
Y por eso la curiosa
repetición que se daba.
Al agregar los DISPLAY's,
la corrompida instrucción
iba a otra dirección
donde no tenía problema.
Lo que falta en este tema,
para cerrar la cuestión...
... es por qué el test de memoria
no lo pudo detectar.
Al test que hizo ejecutar,
para que acabara pronto,
le había inhibido el tonto
la opción "auto-relocar".
Eso hizo que el programa
se quedara en su lugar,
al decirle "No cambiar"
su puesto de observación
Fue así entonces que su acción
se limitaba a observar...
... la selva negra de anillos
que ante sus pies se extendía,
pero esta vez ocurría
que anillo reventado
estaba en él albergado
y sus tripas le roía.
Tal vez en alguna letra,
o en algún dato huevón,
o en cualquier otra instrucción
que poco o nada jodiera,
permitiendo que corriera
a la total perfección.
Finalmente, y ya termino,
te digo qué fue del flaco:
con una patada al taco,
lo despidieron cagando.
Aún debe estar volando
el boludo pajarraco.
Vikiing