Ricardo Forno y Susana Mas, su señora |
1
En aquellas épocas heroicas, el usuario era quien debía controlar los
errores del hardware y, para ser preciso, los errores de lectura y grabación de
cintas magnéticas. Esto da para varias sub-anécdotas:
A) Quien suscribe había desarrollado una rutina al respecto, y los
clientes la usaban. Era más o menos así: si la cinta reportaba error al leerla,
se reintentaba 10 veces, previo retroceso, y si seguía fallando, se abortaba la
lectura. Si lo hacía durante la grabación, también se reintentaba 10 veces, y
si seguía fallando, se mandaba un "erase forward", dejando en blanco
(es un decir) un espacio en la cinta, y se volvía a intentar. Creo que a los
100 reintentos, se desechaba la cinta y el programa abortaba, aunque no estoy
muy seguro de esto último.
HOY, 20 DE SEPTIEMBRE DE 2015 FELIZ CUMPLEAÑOS, RICARDO QUERIDO!!! |
Estas rutinas eran para la IBM 1401. Pero cuando llegó una 1410, las
rutinas dejaron de funcionar ahí, porque esa instrucción no documentada no era
reconocida por la 1410, con los consiguientes problemas.
Moraleja: ¡no usar "undocumented features"! Cuando el manual
dice que el resultado de una operación es indefinido, no usemos tal operación
ni nos pongamos a investigar qué pasa si la usamos.
B) Algunos clientes se habían enganchado con los errores del hardware.
En la Caja de Ahorro, un programador había creado una ¡rutina de error de
multiplicación! Por cada multiplicación, la repetía y comparaba ambos
resultados. Si diferían, reintentaba 10 veces. Demás está decir que los
programas jamás deben de haber entrado en tal rutina.
C) La Franco Argentina usaba mucho el equipo de IBM. Tenía unos
"sorts" monstruosos, que duraban muchas horas. Muchos de ellos
terminaron cuando una unidad de cinta barata fallaba y dejaba como un
fideo un trozo de la cinta en sí. ¡A repetir el proceso con cintas nuevas!
A estas horas, no lo podría asegurar, pero pienso que tal vez el problema se
hubiera podido resolver de manera más eficiente que con un sort.
2
Ésta no me ocurrió a mí, sino a Gladys Rizzo. Un funcionario del
Ejército había desarrollado una estimación de que, en muy poco tiempo, los
caballos desaparecerían del Ejército. Para ello, buscó estadísticas de caballos
en uso en cada año, y la curva era, en efecto, claramente descendente. Le pidió
a Gladys que, como estadística que era ella, generara un gráfico demostrándolo.
Gladys usó, creo, cuadrados mínimos y obtuvo una recta descendente. Pero el
militar quedó insatisfecho: la recta no pasaba por todos los puntos. Le pidió
que dibujara una curva que lo hiciera. Gladys, supongo que usando la fórmula de
Lagrange, calculó un polinomio de grado alto que satisfacía la condición. El
problema fue que, dadas las características de los polinomios, ¡el resultado
para el año que se quería predecir era enorme en vez de cero!
3
Esto también lo vi en la Caja de Ahorro. Podía haber una discrepancia
entre dos listados. Me encontré un día con un programador que comparaba dos
listados al trasluz apoyándolos sobre un vidrio detrás del cual había una luz
potente. Huelgan los comentarios.
4
El desconocimiento de la estadística llevó a un gerente, cuyo nombre
omitiré, a realizar una presentación ante un cliente donde mencionó un par de
veces "la probabilidad del avión".
5
Años después, tuve un breve trabajo en una compañía que ahora no
recuerdo. El hecho es que me enviaron a Córdoba para dar un curso, creo que
sobre Unix. En muchos cursos, algún alumno se aparta del tema con alguna
pregunta o afirmación. Esa vez, alguien trajo el tema del ajedrez por
computadora, y me pidió que lo explicara, porque él había oído decir que la
computadora "pensaba". Le expliqué lo mejor que pude, pero luego dijo
saber cómo la computadora podía jugar tan bien: ¡tenía almacenadas en la
memoria TODAS las jugadas posibles! Decidí que no valía la pena mostrarle que
eso no se podría realizar ni con toda la materia del universo.
Estimado Ricardo:
Ya en esa época se conocía de sobra el comportamiento oscilatorio de los polinomios. De hecho en la Clementina implementé rutinas de aproximación de funciones usando otros enfoques
Cordialmente
Ya en esa época se conocía de sobra el comportamiento oscilatorio de los polinomios. De hecho en la Clementina implementé rutinas de aproximación de funciones usando otros enfoques
Cordialmente