>

[Podcast] 0.2.001 Grandes desastres de la programación

Betabeers  Podcast    20/11/2017

Betabeers podcast

El betapod está de vuelta con una nueva temporada llena de noticias y debates sobre el mundo de la tecnología! El pasado 27 de Septiembre nuestro presentador Daniel Rojo acompañado del ya co-presentador Rodrigo de Frutos, estuvieron en Radio GUL con el primer programa de esta nueva temporada.

En esta ocasión el eje central del programa fue un pequeño repaso a la historia de la informática, concretamente a grandes desastres de la programación y a todo lo que podemos aprender nosotros, como desarrolladores, para evitar que cosas como éstas se puedan volver a producir.

Para comenzar, como es habitual, se comentaron las noticias más relevantes que han tenido lugar a lo largo del verano. Estas noticias vienen cargadas de buenas noticias para los amantes del opensource:

El tema: Grandes desastres de la programación

A continuación, comenzamos con el eje central del programa. Son muchos los desastres relacionados con la programación, y en el podcast se habló sobre los siguientes:

  • Mariner 1 fuera de control (1962): el cohete Mariner 1 que transportaba una sonda a Venus perdió el control y tuvo que ser destruido. La causa fue un error al transcribir una fórmula en el código del programa que controlaba la estabilidad del cohete, ya que faltaba un símbolo de fracción.
  • Colapso del techo de Hartford Coliseum (1978): la cubierta del estadio Hartford Coliseum colapsó por el peso de la nieve acumulada. Después de la investigación se descubrio que el programa CAD que usó el estudio de ingeniería para calcular la resistencia de la cubierta asumía que los soportes sólo soportaban presión vertical, el peso de la nieve también hizo una presión horizontal y se produjo un colapso en cadena de los soportes de la cubierta.
  • El software robado en la guerra fría (1982): en 1981 EEUU descubrió una red de espionaje que, entre otras cosas, robaba software a diversas potencias occidentales para su uso en las industrias soviéticas. Para ponerle fin, hicieron llegar una versión modificada de un software usado para controlar gaseoductos con una bomba lógica. Esta bomba se activó en verano de 1982 causando una gran explosión detectada por los satélites. La URSS nunca reconoció este fallo ya que habría supuesto confesar el robo de software y reconocer la inferioridad frente a EEUU en el desarrollo de este tipo de sistemas.
  • Black Monday de Wall Street (1987): el lunes 19 de Octubre de ese año, las bolsas mundiales se desplomaron con perdidas del 22.6% en el índice Dow Jones, un 20.4% en S&P 500 o un 31% en la bolsa española. Las pérdidas se estiman en torno a los $500,000M. Una de las posibles causas de este desplome es que los programas de trading fueron acumulando ordenes de compra hasta colapsar los sistemas de información de la bolsa de NY, provocando ventas muy por debajo del valor real
  • Fallo del sistema Patriot de misiles (1991): durante la operación Tormenta del Desierto, el sistema de interceptación de misiles Patriot no pudo interceptar un misil lanzado a una base norte americana en Arabia Saudí, causando la muerte de 28 soldados. El fallo, que era conocido, se debía a un error en el redondeo del cálculo temporal, que se iba acumulando según iba pasando el tiempo
  • Explosión del cohete Ariane (1996): el cohete Ariane 5 tuvo que ser destruido en pleno vuelo con la carga útil que transportaba: 4 satélites para medir la interacción del campo magnético de la Tierra con las tormentas solares. Las medidas de velocidad del cohete se tomaban en un formato de 64-bits y al pasarlas a un formato de 16-bits, causaban overflow. Cuando el sistema de guiado falló, el control pasó a un sistema redundante con el mismo fallo.
  • Fallo de aterrizaje del Mars Climate Orbiter (1998): al aproximarse a Marte, la sonda encendió sus motores para entrar en la órbita del planeta, pero entró en la atmósfera y se destruyó. El detonante fue la incompatibilad de las unidades utilizadas para las ecuaciones, ya que la NASA calculaba el impulso necesario para entrar en órbita en en unidades métricas y el software de control de los motores utilizaba el sistema imperial (Newtons vs Libras de fuerza).
  • Efecto 2000: a finales del siglo pasado, multitud de sistemas informáticos tuvieron que ser revisados ante el temor de que confundiesen el cambio de año del 1999 al 2000 como si fuese al año 1900, ya que se utilizaban solamente los dos últimos dígitos para obtener la fecha. Este fallo puede repetirse en el denominado Efecto 2038 causado por la codificación POSIX en sistemas de 32 bits
  • Schiaparelli (2016): el módulo de aterrizaje de la ESA se estrelló contra la superficie de Marte sin desplegar sus paracaídas ni retropropulsores. Un mal funcionamiento del sensor de presión atmosférica daba valores negativos y, ante estas mediciones, el software del módulo interpretó que se encontraba en la superficie de Marte cuando realmente estaba entrando en su atmósfera. El resultado fue un gran cráter en la superficie marciana y unas perdidas aproximadas de €230M.
  • Ausencia de Windows 9: Microsoft sorprendió al mundo cuando anunció la última versión de Windows, ya que paso desde la versión 8 a la 10. Aunque no hay confirmación oficial, hay una teoría que dice que una búsqueda en proyectos opensource para Windows concluyó que muchos de estos utilizaban una validación sobre la versión de Windows basándose en “empieza por el carácter 9” para comprobar si el usuario utilizaba Windows 95 o 98, por lo que decidieron omitir la versión para evitar problemas.

Tras este análisis se destacó la importancia de probar los programas y el testing, y se destacó algunos detalles que muchas veces se pasan por alto y pueden ser desencadenantes de grandes problemas con pérdidas millonarias o incluso vidas humanas.

Agenda del mes

Para terminar, se repasó la agenda del mes de Octubre:

También se habló sobre la publicación de la agenda de Codemotion (¡nos vemos el 24 de Noviembre!) y las últimas novedades de t3chfest, que ha anunciado fechas, call4talks y una campaña de patrocinadores.

Si tienes cualquier comentario, quieres proponer algún tema para el podcast o quieres opinar sobre nuestro tono de voz, no olvides dejarnos tu feedback a continuación. ¡Nos escuchamos en un mes!