para Buscar en este blog

Ejemplo: Para acceder a las entradas que incluyan las palabras Sadosky y Clementina , basta colocar las mismas en la ventanita superior.

2015.09.20: Ricardo Forno: En aquellas épocas heroicas (cinco anécdotas)

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!!!
El caso es que, curioseando por ahí, encontré una instrucción no documentada, y la usaba en la rutina, porque ahorraba espacio (en aquel entonces, ¡sólo teníamos 8.000 caracteres de RAM!).
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.



Blogger Hugo Scolnik dijo...
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
20 de septiembre de 2015, 18:31

No hay comentarios:

Publicar un comentario

COMENTARIOS SON MÁS QUE BIENVENIDOS. POR FAVOR CON NOMBRE Y APELLIDO. LOS COMENTARIOS AJENOS A LA TEMÁTICA DE ESTE BLOG SERÁN ELIMINADOS.