El IBM 1401

Source: http://www.columbia.edu/cu/computinghistory/1401.html

Foto: Manual de referencia del sistema de procesamiento de datos IBM 1401 A24-1403- x .

El sistema de procesamiento de datos IBM 1401 , una computadora con lógica de transistores de programa almacenado, anunciada en octubre de 1959. A $2500 por mes con una configuración mínima, esta fue la primera computadora asequible de propósito general de IBM, y estaba destinada a tomar el lugar de todas las máquinas de contabilidad y calculadoras que todavía proporcionaban una alternativa más barata a las computadoras 650 y 70 x de IBM . Se vendieron o alquilaron miles de 1401; de hecho, fue la primera computadora en implementar 10.000 unidades. El 1401 era un ordenador decimal (no binario), con palabras de longitud variable compuestas por bytes de 8 bits que contenían BCD de 6 bits ( decimal codificado en binario).) caracteres (más bits de paridad y marcas denominativas) y estaba destinado principalmente a aplicaciones comerciales (su contraparte científica era el 1620 ). El 1401 fue el primero de la serie 1400 de computadoras de IBM, que más tarde incluyó el 1410 , el 1440 y el 1460. Originalmente programado sólo en lenguaje de máquina o ensamblador o (un poco más tarde) en Autocoder , lo que resultó difícil para muchas personas, el 1401 pronto fue alberga uno de los primeros lenguajes de programación orientados a los negocios de alto nivel, RPG (Report Program Generator), que aumentó su usabilidad y popularidad [ 4 ]. Posteriormente se añadió FORTRAN para programación científica.

Según Hugh T. Hoskins, había un ensamblador llamado SOPAT, entregado por IBM, antes de la aparición de Autocoder. Esto fue en la Escuela de Negocios de la Universidad del Sur de California en 1962. Véanse también los comentarios posteriores de Keith Williams a continuación .

El 1401 era tan popular que (según la leyenda) 1401 aplicaciones todavía se ejecutaban en el año 2000 en simuladores 1401 (que a su vez podrían ser aplicaciones 70x0 y, por lo tanto, se ejecutaban en sus propios simuladores), y esto presentó un desafío especial en la conversión del año 2000. . ¡Puede apostar que los programadores de la era de 1960 con sólo unos pocos miles de bytes de memoria a su disposición no "desperdiciaron núcleo" en años de 4 dígitos!

En la foto (de izquierda a derecha; siga los enlaces para ver imágenes más grandes):

La impresora 1403 podía imprimir hasta 1400 líneas de 132 columnas por minuto, a veces más. El lector/perforador 1402 podía acomodar 1000 tarjetas (media caja) en su tolva, leer 800 tarjetas por minuto y perforar 250 tarjetas por minuto. Loren Wilton (de Burroughs/Unisys, que trabajó con el 1401 mientras estaba en la universidad) señaló (31 de diciembre de 2003) que:

... si deja caer un puñado de tarjetas en el alimentador de lectura (lo que normalmente se hacía al cargar la bandeja, y de todos modos sucedería tan pronto como encendiera el lector), la bandeja más el alimentador de lectura contendrían una caja entera de tarjetas fácilmente, o más de 2000 tarjetas.

Esto era bastante útil, ya que reducía la cantidad de tiempo que tenía que pasar cargando las tarjetas en el lector, y podía dedicar su tiempo a gestionar la perforadora, que tenía una tolva mucho más pequeña, y los apiladores de lectura/perforación, que solo Tenía entre 800 y 1000 tarjetas como máximo en cada apilador. Por lo general, solo se usaba el apilador derecho para el lector y el apilador izquierdo para el perforador, por lo que varios apiladores no ayudaban mucho.

Si estuviera ejecutando un trabajo que imprimiera datos en formularios preimpresos (especialmente con papel de varias copias o papel rígido), también tendría que dedicar una buena cantidad de tiempo a monitorear el apilador 1403 para asegurarse de no terminar con formularios. derramándose por todo el suelo en lugar de apilarse ordenadamente en el apilador. Los formularios gruesos tendían a no apilarse bien, especialmente si la impresora realizaba muchos movimientos a alta velocidad, como era típico en los trabajos de formularios.

No se muestra: la unidad de almacenamiento 1406 que contiene la memoria central . El 1401 estaba equipado con hasta 4K caracteres de 8 bits de memoria central; el 1406 aumentó su capacidad de memoria a 8K, 12K o 16K (por lo tanto, el 1401 que se muestra arriba tiene 4K).

La Unidad de almacenamiento en disco 1405 Modelo 1 tenía una capacidad de "10 millones de caracteres alfanuméricos almacenados en 25 discos" (platos). El Modelo 2 tenía 20 millones de caracteres en 50 platos. Se accede a cada plato mediante su propio brazo de acceso (cabezal de lectura/escritura). Esta es una de las primeras unidades de disco de producción, descendiente directa del IBM 305 Disk File original presentado con su computadora RAMAC (RAndoM ACcess) en 1956. "El método en línea de procesamiento de datos mantiene continuamente los registros de una empresa en hasta -Estado actualizado. Cualquier transacción que afecte a un negocio puede procesarse cuando ocurre, y todos los registros y cuentas afectados se actualizan inmediatamente. Los ejecutivos de una organización tienen disponible, en cualquier momento, información que representa el estado de cualquier cuenta en ese momento. momento."

Departamento de Anécdotas

De Bob Resnikoff, quizás la única persona en el personal aquí por más tiempo que yo*:

Creo recordar (aunque no puedo estar seguro) que utilizamos el 1401 para procesar cintas de impresión del 7090 (o 7094). Dado que el 7090 era "tan rápido", se consideró un desperdicio de recursos usarlo para imprimir. Así que la salida de impresión y perforación se escribía en cinta (paridad par para texto, impar para binario) que luego se procesaba en el 1401. Siempre me gustó el 1401; Lo recuerdo como algo elegante y económico en su uso de almacenamiento (las palabras eran tan largas como las necesitabas).

Este es mío ...

Cuando estaba en el ejército en Alemania a mediados de la década de 1960 , en el Cuartel General del Séptimo Ejército en Stuttgart, Patch Barracks, teníamos un 1401 móvil . Estaba en un remolque de camión GRANDE. Cuando salíamos a maniobras, venía con nosotros. El remolque estaba enganchado a un dos y medio , y un gigantesco generador de gas estaba enganchado al remolque. Una vez que estuvimos desplegados en el bosque o donde fuera, los lados del remolque se abrieron telescópicamente y teníamos una sala de máquinas bastante grande llena de perforadoras, verificadores , el 1401, unidades de cinta, escritorios, etc. Tal vez las perforadoras y verificadores estaban en Un tráiler separado, ahora está todo nublado. No era lo suficientemente exaltado como para tener algo que ver directamente con la computadora, hacía las pulsaciones de teclas y los EAM ( 407 ,clasificador , etc.). No tenía idea de para qué se usaba, excepto que se llamaba Sistema de información de comando y control (CCIS). De todos modos, hizo su trabajo, fuera lo que fuera, durante semanas enteras en las profundidades de la Selva Negra, sin importar cuánto barro encontráramos.

En julio de 2006 escuché de Wade Harper, que estaba en CCIS al mismo tiempo, quien reflexionó:

Cuesta creer que tuviéramos 12 E6's y 12 E7's, 3 Lt's y 2 o 3 WO para programar una computadora con SÓLO 8K de memoria.

Sí. Por cierto, E6 y E7 son grados salariales para alistados. LT es teniente. WO es Suboficial, que se encuentra entre Alistado y Oficial. Los suboficiales suelen ser pilotos de helicópteros. Los soldados (de hecho, eran todos hombres), con una excepción, eran especialistas, no suboficiales (es decir, suboficiales, es decir, sargentos), lo que significaba que tenían la misma paga que los sargentos sin tener que mandar a la gente. Creo que es una buena idea: promocionar a las personas en función de sus habilidades y desempeño, permitiéndoles seguir haciendo lo que se les da bien sin obligarlos a asumir la dirección. (Aparentemente, el Ejército abandonó esta práctica hace algunos años). Más tarde, Wade explicó lo que realmente estaba haciendo el 1401 en CCIS:

El 1041 fue programado para MRS (Sistema de informes militares) en el campo. Que era una simple base de datos secuencial grabada en cinta. 1 bloque para cada informe. Cada oficina central enviaba información en formato de tarjeta que se grababa como entrada a MRS. Difícilmente podríamos programar nada con solo 8K de RAM. Cada informe tenía que tener el mismo formato. Sin cálculos individuales. Un día estábamos discutiendo y Jodie Powers se preguntó si de alguna manera podríamos poner 1 o 2 K de código en la cinta con cada bloque de datos. Entonces podríamos individualizar cada informe. Finalmente lo programé y funciona muy bien. También programamos material para el trabajo de guarnición. Tenía toda la munición convencional en Europa. Spurling (porque hablaba alemán) y creo que Jerry Cook tenían el programa de órdenes de marcha (en caso de guerra). No recuerdo los otros proyectos. Fuimos a muchos cuarteles generales del batallón pidiendo trabajo. Permanecí en el ejército durante 20 años. Luego trabajé como programador de sistemas en IBM 360/370 y otros hasta que me jubilé definitivamente en 1996. Tuve la suerte de aprender programación informática en el ejército.

_____________________________

*

Escrito antes de 2011, cuando me despidieron. Al cabo de un par de años más, Bob también, después de unos 50 años. ¡Fuera lo viejo y dentro lo nuevo!

Lecciones de la jungla

por Gary H. Anthes

Gary Anthes contribuyó con lo siguiente el 30 de marzo de 2005: "Mi pequeña contribución a la 1401 Appreciation Society y a la Autocoder Programmers Alumni Association es el archivo adjunto, una columna que escribí para Computerworld hace unos años. Disfrute". [ Computerworld , 20 de agosto de 1990, Manager's Journal, p.60. Firma: Por Gary H. Anthes. Anthes, corresponsal de Computerworld en Washington, DC, es un ex teniente militar de la Marina de los EE. UU. y fue subdirector de procesamiento de datos en el Depósito de Suministros de la Marina en Da Nang, Vietnam.]

Los cohetes enemigos siempre llegaban de noche, pero no estaban bien apuntados y rara vez causaban mucho daño. Y cuando un amigo fue mordido por una serpiente venenosa mientras se refugiaba en un búnker durante una alerta roja, decidí quedarme en la cama cada vez que llegaban los cohetes.

Pero justo antes del amanecer del 24 de febrero de 1970, el Viet Cong tuvo suerte y aprendí sobre la recuperación ante desastres.

Un cohete lanzado desde algún lugar de la jungla vietnamita impactó en el depósito de suministros de la Armada estadounidense cerca de Da Nang y aterrizó milagrosamente sobre una pila de 6.000 minas antitanque. La explosión de las minas envió ondas de choque a lo largo del depósito, aplastando el centro de procesamiento de datos donde trabajaba. Las explosiones secundarias continuaron durante 13 horas.

Cuando escuché la gigantesca explosión en mi campamento a varios kilómetros de distancia, inmediatamente pensé en el estuche gris que contenía las cinco cintas que se actualizaban cada día y se llevaban fuera del sitio en caso de que alguna vez fuera necesario trasladar el procesamiento informático a las instalaciones de emergencia de la Marina en el Filipinas. Pero el estuche que contenía los archivos de datos de respaldo no estaba en su lugar familiar junto a mi cama; Me había olvidado de llevármelo la noche anterior. Con visiones de tribunales marciales danzando en mi cabeza, conduje hasta el Depósito de Suministros para ayudar en los esfuerzos de limpieza y recuperación.

Aunque el edificio que albergaba el centro de computación se había derrumbado, la computadora IBM 1401 y su círculo de máquinas electromecánicas de tarjetas perforadas parecían más o menos intactas, aunque cubiertas de toneladas de polvo y escombros. Y el estuche que contenía las cintas magnéticas estaba donde lo había dejado, aparentemente ileso.

Dos ingenieros civiles de IBM pronto llegaron al lugar y, si durmieron algo durante los días siguientes, no fue evidente. La computadora fue trasladada a un almacén intacto cercano, donde Navy Sea Bees trabajó las veinticuatro horas del día para instalar un piso elevado y aire acondicionado. Gracias a estos heroicos esfuerzos y a las potentes aspiradoras industriales de IBM, el equipo se limpió y volvió a funcionar en una semana.

El IBM 1401, un predecesor del System 360, tenía toda la potencia de procesamiento y la memoria de los juegos de arcade actuales, pero funcionaba en tres turnos al día, siete días a la semana, realizando un seguimiento de un inventario de 105.000 artículos que respaldaban solicitudes por valor de 32 millones de dólares. un mes. Aunque la computadora y sus aplicaciones de control de inventario fueron fundamentales para la misión de la Marina de suministrar tropas de combate, la recuperación del desastre se ejecutó tan rápidamente que los altos mandos de la Marina decidieron no enviarme a Filipinas con las cintas de respaldo. Así, escapé de un consejo de guerra y nunca supe si las explosiones habían convertido los fragmentos de las cintas en sopa de letras.

Hay algunas lecciones en todo esto para el administrador de centros de datos de hoy, ninguna de ellas tiene que ver con los cohetes del Viet Cong, las minas antitanques o las serpientes venenosas. Primero, espere lo inesperado. En segundo lugar, tenga un contrato de servicio respaldado por personas dedicadas y competentes. Por último, si es usted a quien se le ha confiado el caso de las cintas de respaldo, no deje el trabajo sin ellas.

Departamento de Correcciones

En marzo de 2005 se recibió lo siguiente de Bill Nugent:

Cuando se habla de capacidad de memoria, la mayoría de la gente entiende que 4K, 12K, 16K significa 4096, 12288 y 16384. El IBM 1401 tenía capacidades de memoria de 4000, 8000, 12000 y 16000 palabras. Quizás quiera explicar la diferencia. Además, cada ubicación de memoria era una palabra, no caracteres de 8 bits. Uno de los bits no era accesible porque era un bit de paridad y otro bit era la marca denominativa (WM) que marcaba el comienzo de la instrucción (lectura ascendente) y el final de un campo de datos (lectura descendente a través de la memoria).

Las cinco tolvas de salida (apiladores) del 1402 fueron una característica muy útil. De forma predeterminada, el perforador dejaría la tarjeta en el apilador izquierdo y, opcionalmente, en el segundo apilador desde la izquierda o en el apilador central. De forma predeterminada, el lector se colocaba en el apilador derecho y, opcionalmente, en el segundo apilador de la derecha o en el del medio. Utilicé muchos programas y escribí uno o dos que leerían tarjetas de datos en el apilador central de forma predeterminada, a menos que la tarjeta fuera a ser reemplazada, en cuyo caso caería en el segundo desde el apilador derecho y el perforador de tarjetas perforaría un reemplazo. y colóquelo en el apilador central.

Lo único extraño del 1401 era que el lector de tarjetas leía las direcciones 001 a 080. Cuando se presionaba el botón Cargar, el lector de tarjetas leía la primera tarjeta, el registro I-Addr estaba configurado en 001, por lo que la ejecución comenzó en la dirección 001. y así comenzaría el gestor de arranque (avíseme si desea una explicación más detallada sobre el gestor de arranque). La perforadora de tarjetas perforaría desde la dirección 101 a la 180 y la impresora imprimiría desde la 201 a la 132, siendo la dirección 200 la utilizada para el control del canal (frase correcta).

Debido a que la computadora tenía una longitud de palabra variable, era fácil escribir un programa usando aritmética de longitud variable. Un 1401 con la opción de instrucción opcional multiplicar/dividir podría multiplicar dos números de 80 decimales en aproximadamente 15 minutos con una sola instrucción.

De Keith Williams, 1 de mayo de 2006:

Acabo de encontrar sus páginas sobre el 1401 en http://www.columbia.edu/cu/computinghistory/1401.html

Fue un gran placer para mí porque me uní a IBM en octubre de 1959, justo en el momento en que se anunció esa máquina. El 1401 fue el primer ordenador que conocí y probablemente el único que entendí en profundidad. Aprendí a programar la máquina en 1960 y en 1961 se la estaba enseñando a otro personal de IBM y a programadores de clientes.

Me siento obligado a corregir un pequeño dato contenido en su página. Autocoder no fue el primer lenguaje de programación para el 1401. El repertorio de instrucciones y el sistema de direccionamiento de memoria eran lo suficientemente simples como para permitirle codificar rutinas simples en lenguaje de máquina, pero el primer programa ensamblador se conoció como SPS (Sistema de programación simbólica). Este sistema de programación fue anunciado por IBM con la máquina.

Muchos de los primeros 1401 (que reemplazaron los sistemas de contabilidad con tarjetas perforadas) consistían simplemente en la unidad de procesamiento 1401, un lector/perforador de tarjetas 1402 y una impresora 1403. No tenían unidades de cintas ni de discos, y de hecho estas unidades no figuraban en el primer anuncio. Autocoder requería una unidad de cinta o disco para procesar su programa simbólico y producir el código objeto. Autocoder estuvo disponible por primera vez en el 1410, y una versión 1401 no apareció hasta finales de 1961.

Hasta ese momento programábamos el 1401 en SPS (Sistema de Programación Simbólica). El programa de ensamblador de SPS se llevó a cabo en una pila de tarjetas perforadas. El programa simbólico del programador también se grabó en tarjetas y se colocó detrás del ensamblador SPS en la pila de lectura del 1402. Al presionar el botón "Cargar", el ensamblador SPS se cargó en la memoria central del 1401 e inmediatamente leyó y procesó el programa simbólico del usuario. programa. La traducción fue un proceso de dos pasos: primero se perforó una plataforma parcialmente traducida en el lado perforado del 1402. Este programa parcialmente traducido luego se retroalimentó al lado de lectura del 1402 y, durante esta segunda pasada, un programa objeto completamente traducido. Fue perforado en el lado del punzón.

El 1401 se suministró con una selección de 5 tamaños de memoria central diferentes. Para una informática práctica "independiente", el tamaño mínimo de la memoria era de 4K caracteres, pero se podían tener configuraciones de memoria de 8, 12 o 16K. También se suministró con una configuración de memoria mínima de 1,4K para sistemas que se iban a utilizar como sistema de impresión fuera de línea para la serie IBM 700/7000, mucho más potente.

Para aclarar un punto planteado por Bill Nugent, la unidad de memoria direccionable más pequeña de la serie 1400 se conocía como "carácter" y constaba de ocho bits binarios (físicamente, ocho núcleos de ferrita). Era el equivalente a lo que ahora llamamos "byte", pero ese término no se empezó a utilizar hasta el anuncio de las máquinas de tercera generación (System /360). Como explica Bill, seis de los bits se utilizaron para la codificación de caracteres, utilizando un sistema conocido como BCD basado en el código utilizado en las tarjetas perforadas de IBM. El séptimo bit se utilizó como bit de paridad y el octavo como "marca denominativa". Una "Palabra" en la serie 1400 consistía en un número variable de posiciones de caracteres consecutivas, la última de las cuales tenía activado el bit "Marca de palabra". Por lo tanto, se la conocía como una máquina de longitud de palabras variable, en contraste con la longitud fija de palabras de los 709 y 650 que lo precedieron. Cada instrucción en lenguaje de máquina constituía una "palabra" y podía variar en longitud entre 1, 4, 7 y 8 caracteres, el último de los cuales llevaba una marca denominativa. Las palabras de datos, por supuesto, tenían una longitud totalmente variable y se procesaban carácter por carácter en secuencia hasta encontrar la marca denominativa.

Más historias...

De Karen B. McLaughlin, 24 de agosto de 2006:

Fui uno de los primeros programadores de SPS, comencé en el Laboratorio de Radiación Lawrence (LRL) en 1961, recién salido de UC Berkeley. Keith Williams aclaró muchos detalles que no pude reconocer en las otras reminiscencias que precedieron a su aportación. Sus descripciones me trajeron recuerdos de lo que los programadores tuvimos que pasar para probar y depurar, incluida la carga/descarga de tarjetas perforadas y asegurarnos de que el papel se apilara correctamente. Nadie mencionó la perforación de teclas, pero esa era otra habilidad que todos teníamos que adquirir porque el personal de perforación de teclas se mantenía ocupado perforando tarjetas de datos ya que no teníamos unidades de cinta. Una característica importante del 1401 (y otros de su época) era que, debido a que no había un sistema operativo, cualquier error podía atribuirse al programa en el núcleo, lo que hacía que la depuración fuera un caso relativamente simple de resolución de problemas.

Otro punto sobre el 1401: la consola tenía interruptores de bits que permitían al programador cambiar el núcleo dinámicamente, lo que permitía la depuración sobre la marcha, siempre que conocieras a Hollerith. Dado que el personal de programación sólo realizaba pruebas prácticas una hora al día, esa era una característica útil.

El diseño del programa tenía que ser elegante y frugal, utilizando superposiciones y estructura antes de que se inventara el término. Hoy en día, muchas personas llevan una PDA y un teléfono móvil, cada uno con más memoria que la primera computadora que utilizamos para crear el procesamiento de nóminas para más de 5.000 empleados en LRL Berkeley y Livermore en 1968.

Me quedé en el campo de la informática, encontrando muchas máquinas, lenguajes, proyectos y puestos de trabajo diferentes, y finalmente me jubilé en 1999 después de 25 años en el Jet Propulsion Laboratory. Con una alegre sensación de exceso, posiblemente engendrada por mi primera experiencia con el 1401, acabo de terminar de construir una computadora personal que contiene casi 500 GB de almacenamiento, mucho más de lo que jamás podré usar.

Tuve un viaje maravilloso y desafiante a lo largo de los años, pero siempre pensé que programar y operar el 1401 era lo más divertido.

Robert N. Sammer, 21 de mayo de 2007:

Después de leer los artículos en su sitio web, me gustaría agregar lo siguiente.

En 1962, me uní al departamento de operaciones informáticas del edificio New York Time/Life de IBM como operador de ordenadores 1401.

Mis responsabilidades incluían poner en cinta todos los trabajos de computadora entrantes que los programadores enviaban al centro usando el satélite 1401. Esto permitió que los sistemas principales actuales (7090, 7040/44) procesaran trabajos sin las funciones de entrada/salida que consumen mucho tiempo.

El centro de computación de Nueva York era un satélite del centro de computación principal en Poughkeepsie NY, por lo que el segundo turno, en NY, enviaría a Poughkeepsie, a través de líneas telefónicas llamadas teleprocesamiento, el exceso de trabajos que no podían procesarse en NY.

Como teníamos una fecha límite que cumplir y había muchos trabajos que teleprocesar a Poughkeepsie, apilé la multitud de trabajos en la bandeja de alimentación de lectura de tarjetas que podía contener hasta 3000 tarjetas, presioné Inicio en la computadora y comenzó el proceso de tarjeta a cinta. . Cuando había una verificación del lector (el lector detectó un error entre los cepillos de lectura y verificación), el operador tuvo que retirar con cuidado las tarjetas en la tolva de lectura de tarjetas para preservar la integridad de la secuencia de tarjetas; Retire las tarjetas de la parte superior de la bandeja de alimentación de lectura para que las tarjetas restantes en la bandeja puedan empujarse hacia arriba para que el operador pueda vaciar las tarjetas dentro del lector. Ahora el operador verificaría la tarjeta por error para ver si había una razón válida para la verificación del lector. Si no se veía ninguna, el operador reemplazaba todas las tarjetas en el orden correcto y encendía el lector. Si no ocurría nada, el procesamiento de tarjeta a cinta continuaría. Si la misma tarjeta tuviera otro lector verificado, el trabajo se eliminaría del flujo de trabajos y se notificaría al programador.

Una noche, el lector asignado a esta tarea seguía dando controles de lectura falsos. Leería cinco o seis tarjetas y el lector comprobaría la siguiente. Después de realizar el procedimiento descrito anteriormente, el lector leería nueve o diez tarjetas y comprobaría la siguiente tarjeta.

Le pedí a mi supervisor que los CE (ingenieros de clientes) revisaran el lector. Me dijeron que los CE habían verificado durante el primer turno varias veces, pero no pudieron encontrar ningún motivo para las verificaciones del lector. Después de la vigésima verificación del lector, cuando el tiempo se acababa, hice lo que haría cualquier buen reparador estadounidense de bricolaje.

(Para aliviar el estrés de un turno de ocho horas en mis pies, compré un par de zapatos con suela de goma. El diseño de la suela me recordó un campo recién arado con pequeños valles y picos afilados que iban de lado a lado en cada zapato.)

Si no funciona después de comprobarlo y no encontrar nada malo, ¡patéelo! Eso es exactamente lo que hice. La huella de mi zapato quedó en la puerta del 1401 debido al polvo normal que se encuentra en los pisos elevados de baldosas blancas en la sala de operaciones.

El lector no falló durante el resto de mi turno y leyó perfectamente. Trabajó el tercer turno, el primer turno y cuando regresé a trabajar la huella de mi zapato todavía estaba allí y recibí muchas gracias de mis compañeros operadores por arreglar el lector.

Los CE incluso se sorprendieron de mi solución. La impresión permaneció durante unos días, pero se eliminó antes de que el gerente de CE y los invitados realizaran un recorrido por el departamento de operaciones. Debido a los artículos de su sitio web y preguntándome qué se hará, si es que se hará algo, para el 50 aniversario de la llegada del 1401, me volví a capacitar para programar el 1401 y escribí un pequeño programa de utilidad para él y estoy 95% seguro de que lo hará. funciona si se ingresa en el 1401. Sí, jugué en la computadora 1401 para probar el programa, y ​​sí, fue difícil traducir la codificación SPS a una plataforma de objetos como la llamábamos en 1962, pero me divertí. Y esto después de una carrera de 38 años en el diseño de sistemas informáticos Main Frame de IBM, redacción de especificaciones, codificación, depuración, pruebas, etc.

Comentario...

4 de julio de 2007:

Edward G. Nilges

13A 6F 1F Pueblo Wang Long

Yung Shue Wan

Isla Lamma

HONG KONG

Querido franco:

Como ex programador de IBM 1401, que depuró un compilador de código objeto únicamente para Fortran después de que IBM eliminara el soporte para 1401 en enero de 1971, y que descubrió matemáticas de precisión extra y nuevas formas de aritmética de "direcciones modificadas" por mi cuenta, en realidad soy bastante Me enojo al leer cómo el ejército tenía los recursos para establecer de manera despilfarradora un "centro de datos 1401" en los bosques de Alemania, mientras mi universidad rogaba por recursos para enseñar a sus estudiantes.

Esto se debe a que el centro de datos 1401 probablemente no hizo mucho y fue un despilfarro.

Admiro el arduo trabajo y el heroísmo de los técnicos de procesamiento de datos que recuperaron el 1401 en Da Nang después de un ataque con cohetes del Viet Cong. Sin embargo, al mismo tiempo que aprendía la 1401, marchaba contra esa guerra loca, tan loca como la guerra actual en Irak, donde, sin duda, el heroísmo, el autosacrificio y el trabajo duro de los humildes y poco glamorosos militares. Se están desperdiciando especificaciones para que los oficiales con rango de bandera puedan ser ascendidos y el peor presidente de la historia de Estados Unidos pueda fingir que es un hombre.

Mi experiencia directa como profesional del procesamiento de datos durante los siguientes treinta años fue que en Estados Unidos, el sector civil carecía sistemáticamente de tiempo y recursos para desarrollar sistemas efectivos y confiables para las necesidades humanas, de modo que nuestro establecimiento militar-industrial pudiera desperdiciar dinero en empresas idiotas. desde transportar una computadora central en un camión hasta "Star Wars".

En enero de 1972 descubrí las consecuencias de la charla machista de los ingenieros clientes de IBM que habían aprendido como reclutas su charla machista, porque uno de ellos había acusado a mi universidad, una universidad privada de fondos porque la Universidad Roosevelt tenía el mal gusto de educar a los trabajadores. gente de clase social y gente de color, por "arreglar" el compilador IBM 1401 Fortran para que funcione en la configuración de memoria mínima de Roosevelt... mediante el uso de memoria no disponible para pasar a una subrutina que superponía el intérprete de tiempo de ejecución.

Esta "solución" nunca había sido probada, pero fue lanzada con desdén a mi profesor de matemáticas, quien simplemente estaba tratando de darles a los estudiantes de clase trabajadora y de color su primera educación en ciencias de la computación para que pudieran competir con los niños ricos de la Universidad de Chicago.

El ingeniero del cliente ni siquiera sabía, y aparentemente no tenía curiosidad por descubrir, que la Universidad Roosevelt estaba pagando y tenía hardware adicional para realizar operaciones de multiplicación y división en memoria. Eliminé su "solución" e inserté la instrucción de multiplicación correcta, y el compilador funcionó y posteriormente se usó en las clases.

La falta de curiosidad intelectual y el discurso sexista de los ingenieros del cliente (a quienes les gustaba trabajar en Roosevelt, decían, porque ya entonces era anticuado, con una ventana de vidrio en Michigan Avenue adecuada para observar a las chicas) era parte y parcial de una cuasi militar y corporativa. -élite que entonces y ahora insiste en "conducir" a Estados Unidos a una guerra permanente en Irak (que resultó de una falta de curiosidad intelectual sobre si Saddam Husayn tenía armas de destrucción masiva) y un número cada vez mayor de estadounidenses atormentados en el trabajo y fuera de él por sistemas de datos construidos por hombres ignorantes, que no les brindan seguro médico, que no brindan a los veteranos los beneficios que obtuvieron y que no registran su historial crediticio con precisión y lo convierten en presa de la clase criminal.

La "Gran Sociedad" de Lyndon Baines Johnson y su rayo de esperanza ya habían desaparecido en 1972, y como resultado, la Universidad Roosevelt y sus estudiantes eran cada vez más incapaces de acceder a fondos para la educación o para cualquier verdadera necesidad humana, porque en 1972, el loco bombardeo de Nixon La campaña y la desestabilización del gobierno de Chile tuvieron prioridad.

Por esta razón, contribuí, trabajando 12 horas al día, manteniendo vivo el sistema IBM 1401 de la Universidad Roosevelt hasta que pudiera actualizarse. Desarrollé un conjunto de software y procedimientos para computación confiable que permitieron al registrador calificar con precisión a los estudiantes y al tesorero pagar a los empleados, en una era en la que esto significaba codificar en lenguaje ensamblador SPS en su mayor parte, con el compilador Fortran disponible para informes.

Por esta razón, me horroriza ver que el complejo industrial militar y los ancianos rechazados por este complejo celebran el uso del 1401 para matar a cuatro millones de personas en Vietnam. También tengo constancia (en riesgos comp.) de que cuestiono la toma del Museo de la Computación en Mountain View por parte de tipos de hardware (y conservadores políticos que, de manera inapropiada, insertan diatribas a favor de Bush en las comunicaciones técnicas) que están reconstruyendo el 1401 en hardware. desperdiciando así recursos escasos y, posiblemente, reconstruyendo tecnologías tóxicas, cuando el Museo de la Computación podría presentar mucho más de la tecnología "profunda" del pasado en simulación de software.

Puedes leer más detalles de mis primeras aventuras con la recopilación del 1401 en mi libro sobre tecnología moderna. Se trata de " Construya su propio compilador y lenguaje de red " (Apress 2004). Sigo convencido de que la MAYORÍA de los esfuerzos de software y hardware en Estados Unidos entonces y ahora no son empresas técnicas e intelectuales serias, sino despilfarros públicos y privados destinados a mostrar que "todo está bajo control"... cuando se produjeron los incidentes en Manhattan en septiembre de 2001, y en Glasgow la semana pasada, muestran que este no es el caso en absoluto, y que la perversión de la tecnología para demostraciones de fuerza (si no el asesinato, como cuando se utilizan sistemas de datos para rastrear nuestra destrucción de objetivos desde el aire) ha creado la lucha contra -Americanismo que hoy es norma en otros países.

Sinceramente

Edward G. Nilges

Su editor responde, tardíamente (2015):

El ejército estadounidense en Alemania en la década de 1960 era relativamente inofensivo. Sin duda, un gran desperdicio de dinero y recursos, como lo fue la propia Guerra Fría, pero no hizo mucho más daño que atropellar a algún pollo ocasional. Como le respondí a Edward en 2007 (mantuvimos una larga correspondencia), en 1965 “la invasión estadounidense de la República Dominicana fue una verdadera revelación para mí (todavía un adolescente pero ya en el ejército), y ocurrió justo cuando Johnson estaba empezando a llamar a 50.000 niños al mes para Vietnam. Me preguntaba, ¿en qué ejército estoy? Solicité la baja como objetor de conciencia y pasé mi último año en el ejército esperando que decidieran qué hacer con la solicitud.

Hoy vemos el resultado de las prioridades de posguerra de Estados Unidos: gran parte del Medio Oriente en pleno colapso, México y Centroamérica convertidos en campos de exterminio; la economía estadounidense en ruinas, excepto para los que están en lo más alto; nuestro sistema político empeñado en deshacer todo lo bueno que se logró desde que FDR asumió el cargo; el propio planeta se está convirtiendo rápidamente en un vertedero de desechos tóxicos que se hunde en un mar muerto. Y esa es la lista corta. Así que estoy del lado de Edward, pero este es un sitio de nostalgia informática :-) Sin embargo, siempre es bueno poner las cosas en perspectiva. (Adición de 2021: si quieres saber todo lo que hay que saber sobre mi gloriosa carrera en el ejército, puedes leerlo aquí ).

Aún más historias...

De Dave Brown, 6 de agosto de 2015:

Disfruté leyendo su página sobre la computadora IBM 1401. Me trajo recuerdos. Una cosa que recuerdo es que la instrucción del Autocoder "Store B-register", codificada como "SBR", provocó que la CPU emitiera una ráfaga de radio muy corta que podía ser captada por una radio de transistores FM colocada en la parte superior del gabinete de la CPU. Entonces había programas que tocaban villancicos emitiendo SBR a una frecuencia por segundo para cada nota. La impresora 1403 tenía sus letras en una transmisión por cadena similar a una bicicleta con 132 martillos que golpeaban a los caracteres mientras pasaban volando. Un programa para probar la integridad de la cadena se llamó "Chain Breaker". Imprimiría una línea de cartas que provocaría que los 132 martillos se dispararan al mismo tiempo, lo que ejercía una tensión considerable en la cadena. Recuerdo que había una perilla en la impresora para avanzar o retrasar el tiempo del martillo, dependiendo del número de copias al carbón que se imprimieran, de lo contrario faltaría el lado izquierdo o derecho de cada letra. Y al igual que la instrucción SBR, había programas que utilizaban el disparo de los martillos para tomar notas para tocar villancicos. Mi favorito era el "Pequeño baterista".