Por @Wicho

Portada del libro con fotos de las seis programadoras originales del ENIAC, el título, el subtítulo, el nombre de la autora y un fragmento de una de las hojas en las que escribían los programas antes de implementarlos en el ordenadorProving Ground: The Untold Story of the Six Women Who Programmed the World’s First Modern Computer. Por Kathy Kleiman. Grand Central Publishing (22 de julio de 2022). 274 páginas.

En el verano de 1942 el Ejército de los Estados Unidos aceptó la propuesta de John Mauchly y J. Presper Eckert para diseñar y construir un ordenador que fuera capaz de calcular las tablas de tiro de artillería. La idea era no sólo acelerar el proceso, que llevado a cabo por calculadoras humanas tardaba semanas en estar listo, sino de paso eliminar los errores que cada paso dado por una persona podía introducir.

El ordenador sería conocido como ENIAC, de Electronic Numerical Integrator And Computer, Computador e Integrador Numérico Electrónico. Y, según cómo lo mires, se puede argumentar que fue el primer ordenador de la historia. O al menos el primer ordenador moderno.

Pero como hoy sabemos, diseñar y construir el ordenador, algo en absoluto trivial, y mucho menos en aquella época en la que tan siquiera estaba claro que el concepto pudiera funcionar, es sólo la mitad del problema. Y es que sin el programa que le permitiera calcular las tablas en cuestión el ENIAC no iba a servir para eso. Ni para nada.

Esa tarea recayó en Betty Holberton, Kay McNulty, Marlyn Wescoff, Ruth Lichterman, Betty Jean Jennings, y Fran Bilas, seis licenciadas en matemáticas que formaban parte de los cientos de calculadoras que elaboraban las tablas en cuestión. Aunque no lo tuvieron nada fácil porque, por una parte, al principio no tenían acceso físico al ordenador. Y, por otra, porque cuando les encomendaron la tarea aún no existía ningún tipo de manual de programación para el ENIAC.

Así que armadas con los esquemas de cada una de las unidades que formaban el ordenador y la información de cómo se podían conectar entre ellas se pusieron a ello. Y no sólo consiguieron entender cómo funcionaba todo aquello sino que para el 14 de febrero tenían listo el programa de cálculo de tablas de tiro que en unos veinte segundos completaba el trabajo que antes llevaba semanas y cuyo funcionamiento fue demostrado en una presentación pública. Lo que las convierte en las primeras programadoras de la historia, con el permiso de Ada Lovelace. Aunque a diferencia de ella, las seis del ENIAC sí dispusieron de un ordenador en el que ver en acción su trabajo.

Sólo que el mérito del programa fue atribuido a Herman H. Goldstine, responsable del ENIAC por parte del Ejército de los Estados Unidos, y a su mujer Adele, que estaba escribiendo un manual de programación para el ordenador. Y aunque las seis programadoras reales aparecían en unas cuantas fotos publicadas en la prensa, sus nombres nunca aparecieron publicados. Al fin y al cabo en aquella época aún no se le daba la importancia que tiene al software, con lo que mucho menos a quienes se habían encargado de crearlo.

Y de hecho con el tiempo se fue olvidando el papel fundamental de estas seis mujeres en la historia del ENIAC en particular y de la informática en general. Hasta el punto de cuando la autora se presentó en el despacho de la Dra. Gwen Bell, en aquel momento directora del Museo de Ordenadores de Boston, para intentar averiguar quienes eran le contestó que simplemente se trataba de unas modelos.

Afortunadamente esa respuesta no la convenció y siguió indagando hasta sacar a la luz su verdadero y muy relevante papel. Este libro es el resultado de su empeño. No es una biografía al uso de cada una de ellas, aunque sí incluye una breve biografía de todas hasta que las reclutaron para programar el ENIAC y de lo que hicieron después. Pero también cuenta cómo, armadas sólo con sus intelectos –brillantes– y unas enormes ganas de saber, las seis consiguieron no sólo que el ENIAC calculara aquellas tablas sino que, durante años, sirviera para resolver numerosos programas.

Un más que muy recomendable libro. La única pena es que, hasta dónde sé, no está disponible en español.

Además de la autora de este libro Kathy Kleiman es también la fundadora de The ENIAC Programmers Project y co directora de la serie documental Great Unsung Women of Computing.

Relacionado,

_____
El enlace a Amazon lleva nuestro código de asociado, así que si compras el libro o alguna cosa más tras haberlo seguido es posible que obtengamos algo en forma de comisión.

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Wicho

Vista desde arriba de la sonda con la superficie de Marte al fondo
Impresión artística de la Mars Express en órbita sobre Marte – ESA

La Mars Express de la Agencia Espacial Europea (ESA), que lleva en órbita alrededor de Marte desde el 25 de diciembre de 2003, acaba de recibir una actualización de software que, si todo va según lo previsto, debería añadir unos diez años a su vida útil.

Lo que hace esta actualización es minimizar el uso de los giroscopios de a bordo para así aumentar su duración. El desgaste estimado en el nuevo modo de funcionamiento, junto con las estimaciones acerca del uso de combustible, son los que permiten pensar que la misión estará activa hasta 2034.

La sonda monta seis giroscopios que tienen como objetivo mantener la orientación de la nave con la precisión necesaria para que sus instrumentos y antenas apunten a dónde deben. Pero allá por 2017 el equipo de la misión vio que cuatro de los giroscopios se iban desgastando más rápido de lo previsto. Y que si no hacían nada al respecto supondría el fin de la misión en un par de años.

Lo que no hubiera estado nada mal porque el criterio de éxito de la Mars Express era mantenerse en funcionamiento dos años. Y para entonces llevaba catorce años dándolo todo a la hora de obtener imágenes en alta resolución de la superficie de Marte, de analizar su composición mineral, de estudiar su subsuelo mediante radar hasta la profundidad del permafrost, y de estudiar su atmósfera y la relación de esta con el espacio interplanetario, para lo que monta siete instrumentos.

La descripción
Imagen real de Deuteronilus Cavus visto por la High Resolution Stereo Camera (HRSC) de la Mars Express el 25 de octubre de 2024 – ESA/DLR/FU Berlin, CC BY-SA 3.0 IGO

Pero se les ocurrió una idea, que era utilizar los seguidores de estrellas de la sonda para orientarla, lo que permitía minimizar el uso de los giroscopios. Para ello hubo que reescribir de forma bastante profunda el software de a bordo, que fue subido a principios de 2018 –con la sonda a unos 144 millones de kilómetros de la Tierra– y activado con éxito. Los cambios eran tales que la ESA se refería a ellos como la Mars Express 2.0.

Los seguidores de estrellas son básicamente dos cámaras que hacen fotos del cielo y que mediante el procesado adecuado de estas permiten a la Mars Express determinar qué estrellas se ven en las imágenes y a partir de la orientación de éstas calcular su posición por triangulación. Hacen esas fotos cada pocos segundos, aunque también puede ocurrir que en un momento dado no estén en su campo de visión el número suficiente de estrellas que conoce como para determinar la posición. Y es entonces cuando se usan los giroscopios.

Antes de la actualización los giroscopios estaban permanentemente en funcionamiento. Después de ella sólo se activan cuando el software detecta que los seguidores de estrellas han perdido de vista demasiadas estrellas.

La mayor parte del tiempo en el que están encendidos es durante la descarga de las ruedas de reacción que se ejecutan a diario. Las ruedas de reacción permiten orientar la nave sin utilizar combustible. Pero por encima de una cierta velocidad de giro dejan de ser efectivas. Por eso es necesario «descargarlas». Esa descarga hace que la Mars Express cambie de orientación y entonces son los motores de maniobra los que vuelven a orientarla correctamente.

Lo que sucede es que aproximadamente en un cuarto de los casos la actitud de la sonda ciega uno o ambos seguidores de estrellas, lo que hace necesario el uso de los giroscopios. Por eso al principio de cada maniobra de descarga se activaban.

Pero la versión nueva del software permite detectar si uno de los seguidores de estrellas deja de rastrear durante la maniobra de descarga y sólo entonces encender los giroscopios. Así, los giroscopios están apagados durante la mayoría de las descargas de ruedas de tal forma que se ha reducido el uso de los giroscopios en un 97 %.

Por supuesto escribir el parche de software no ha sido trivial, ya que estamos hablando de una sonda diseñada en los 90 con software de la época. Pero ahí está. Y en esta ocasión hecha a unos 240 millones de kilómetros. Sin fibra ni banda ancha ni nada que se le parezca.

Casi igualito que las actualizaciones del sistema operativo de nuestros ordenadores, móviles y tablets.

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

Tabla de Unicode / Las aventuras de Unicode en el país de los caracteres imposibles

Siempre me ha fascinado el reto que supone para Unicode intentar unificar en un solo estándar de codificación todas las lenguas, vivas o muertas, junto con los símbolos de diversas disciplinas técnicas y, como guinda, los emojis. En la Tabla Unicode que encontré hay una buena representación bien organizada y también visual de muchos de ellos.

Para quien quiera investigar un poco más, The Absolute Minimum Every Software Developer Must Know About Unicode in 2023 (Still No Excuses!) «El mínimo absoluto que todo desarrollador debería conocer en 2023 (¡no hay excusas!) sigue siendo una espléndida referencia.

Tabla de Unicode, las aventuras en el país de los caracteres imposibles

Allí se propugna que a día de hoy lo que solía conocerse como «texto plano» apenas se usa, si es que acaso existe. Casi todo lo que se maneja está codificado en UTF-8, pero la mayoría de desarrolladores aún no comprende cómo funciona Unicode en profundidad. El artículo ya tiene un par de años, pero explica:

  • Qué son los punto de código (code points).
  • Los peligros de contar mal los caracteres de una cadena de texto.
  • Las limitaciones del UTF-16.
  • Por qué los emojis ocupan cuatro bytes.
  • Cómo una simple letra como “Å” puede tener varias representaciones distintas… pero visualmente idénticas.
  • La diferencia entre codificación y normalización.

La conclusión es clara: trabajar con texto no es «trabajar con texto». Más bien es navegar por un mar minado de bytes, acentos invisibles, emojis camuflados tras matorrales y caracteres que se comportan erráticamente. Unicode no es el enemigo, pero tampoco es tu amigo. Ánimo y a disfrutarlo.

Compartir en Flipboard Publicar
PUBLICIDAD


Por @Alvy

Un algoritmo QuickSort representado en Mystical: un lenguaje de programación donde el código son círculos mágicos

Tremenda la idea que hay detrás de Mystical, un cruce entre lenguaje de programación y forma fantástica y alquímica de representación del código que funciona en PostScript, el «lenguaje de las impresoras y los PDFs». Aquí, cuando algo no compila, es porque los astros no estaban alineados.

En Mystical el código PostScript se representa como si fueran círculos mágicos, con una estética basada en anillos concéntricos, sigilos y símbolos propios de la alquimia. Digamos que podría encajar con las «interfaces» imaginarias que se pueden ver en películas de fantasía en forma y ciencia ficción, en forma de visiones y hologramas… solo que aquí la cosa funciona.

Un algoritmo QuickSort representado en Mystical: un lenguaje de programación donde el código son círculos mágicos

En los programas los anillos representan una estructura del lenguaje —como arrays ejecutables o diccionarios— y hay reglas visuales que indican el flujo del código, siempre en sentido antihorario, comenzando desde el «punto de las 3» en un reloj imaginario. Los operadores, nombres y cadenas se representan mediante sigilos específicos, a menudo inspirados en ilustraciones, o con sus iniciales, y también hay ligaduras para enlazarlos. En Mystical los bugs no se corrigen… se exorcizan.

Aunque no es un lenguaje ejecutable como tal, Mystical permite dibujar programas PostScript de forma altamente simbólica y estética, ideal para quienes ven en la programación un arte visual. Como ejemplos se va más allá del «¡Hola, mundo!» y se incluyen un QuickSort para ordenar arrays y un algoritmo de Euclides para hallar el máximo común divisor. Para quien le gusten estas artes oscuras, está disponible en Github: Mystical.

Compartir en Flipboard Publicar
PUBLICIDAD