Archive for the ‘Curiosidades’ Category

The Big Bang Theory

El otro día, descubrí The Big Bang Theory. Es una serie en un tono similar a IT Crowd (de la que no sé si he llegado a comentar algo en blog). Los protagonistas son dos físicos teóricos que conviven en el mismo apartamento. La serie se centra básicamente en el conjunto de estupideces y tonterías que aparecen en un piso con esos habitantes y con la vecina que vive al otro lado del pasillo.

Puede que el humor este en un nivel un poco fuera de lo común, pero de momento, la parte de la primera temporada que he visto, esta bastante bien. Para dar una idea del contenido, dejo unas quotes y unos pantallazos.

Sobre la teoría de cuerdas…
Leonard: At least I didn’t have to invent 26 dimensions to get the math to work
Sheldon: I didn’t invent them, They are there.
Leonard: Yeah? In what universe?
Sheldon: In all of them, that’s the point!

Pantallazos varios

Para más info, esta la página oficial y un canal en youtube.

Tags: ,

Anuncios

Curiosidades – Warning: no new line at end of file

Quizá la gran mayoría de personas que hayan programado alguna vez en C/C++ hayan encontrado este curioso warning. ¿Por qué hace falta un salto de línea al final de un fichero?

Aunque parezca un warning inofensivo realmente tiene sentido. Si miramos el standard de C, en el punto 5.1.1.2 encontramos entre otras cosas.

A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character before anysuch splicing takes place.

La explicación de porqué hay que poner un salto de línea al final de un fichero se basa en el funcionamiento del compilador. Suponiendo un caso habitual de programa en C/C++, hacen falta dos ficheros para compilar el programa. Un fichero .h con las firmas de los métodos, las definición de las clases, etc. Y un fichero .c/.cc/.cpp con el código correspondiente. Cuando el compilador se pone a procesar el fichero .c, entre otras cosas sustituye todos los #include por el contenido del correspondiente .h. A modo de ejemplo, podemos pensar en dos ficheros:

Fichero example.h

#define EXAMPLE 1<sin salto de línea>

Fichero example.c

#include "example.h"
int y; ...

Si ahora pensamos en lo que verá el compilador

#define EXAMPLE 1int y; ...

Lo que sí que es claramente un error.

PHD Student Life

Puff, demasiado tiempo sin poder escribir ningún post. Pero la verdad es que no he tenido tiempo en absoluto para poder organizarme adecuadamente. Trabajos del Master que entregar, peleas con JNI-C++ y trabajos pendientes por hacer.

Mientras me intento poner al día, dejo una par de viñetas de un nuevo comic que he añadido a la lista de feeds PHD Comics. El comic en sí, es un poco dilbert, pero con una muestra directa de muchas situaciones que un becario de doctorado, Phd student, estudiante con PFC en proceso y muchas más tipologías de personas se encuentran en su día a día 🙂

Tags: , ,

GTD – Getting Things Done

Hace tiempo que descubrí esto del GTD y la verdad, quería esperar un tiempo antes de escribir nada por aquí.

¿Que es GTD?

GTD (Gettings Things Done) es una idea originaria (en cuanto a lo de ponerle nombre) de David Allen. La idea principal detrás de todo esto es la de conseguir organizarse. Realmente soy de la opinión de que esto del GTD es algo que hay que tomarlo como una metodología. Es decir, una recopilación de métodos que ayudan a estar más organizado. Creo que es importante ver en este punto, que la idea de organizarse está muy ligada con la idea de la productividad. Se podría decir a modo dilbert, que lo que se pretende es trabajar menos y producir más.

¿Cómo se hace?

Hay que tener en cuenta que si bien fue David Allen quién le puso nombre a esto de aumentar la productivadad mediante la organización, en realidad hoy en día el término GTD es mucho más amplio. Como decía antes, yo lo veo como una metodología para un problema y como suele ocurrir en el mundo de las metodologías, no hay ninguna 100% cierta 🙂

Generalmente se parte de la idea original de GTD que se basa en los siguientes puntos:

  1. Recopilar tareas: Este punto consiste básicamente en hacer un core dump de lo que tenemos en la cabeza a algún soporte de nuestra elección. La idea es que el cerebro vale para mucho más que para ser una agenda.
  2. Procesar las tareas: Una vez se ha efectuado el proceso de descubrir qué cosas hay que hacer, el siguiente proceso es ver qué impacto tienen. Una tarea puede significar tener que hacer otras antes, o puede ser parte de un proyecto, o puede no ser realizable, o puede ser delegable, etc. El objetivo de esta fase es definir claramente qué hay que hacer.
  3. Organizar el tiempo: Una vez que sabemos qué tenemos que hacer, este punto trata de asignar recursos a las tareas. Típicamente es una cuestión de planificación de cuando vamos a llevar a cabo las tareas.
  4. Evaluación periódica: El objetivo de este punto es el de evaluar realmente qué hemos hecho (en términos de tareas finalizadas). Realmente no hay que morirse por haber planificado algo y no haber sido capaz de realizarlo por cualquier motivo; simplemente hay que ver qué ha pasado y seguir adelante.
  5. Hacer: Quizá uno de los puntos más costosos. No sirve de nada pensar, planificar, etc si luego no hacemos lo que hemos dicho.

Como se puede ver, los puntos son bastante genéricos, por lo que realmente existen multitud de adaptaciones de como se traducen esos puntos en el mundo personal de cada uno. A partir de aquí, dependiendo de la metodología concreta, cada punto se efectua de una manera u otra.

¿Cómo se implementa?

La respuesta básica es simplemente hacerlo, es decir, detrás de esto no hay magia ninguna (aunque a veces se venda esto), la efectividad del método reside en lo que cada uno quiera implementar o no. Puesto que lo que hace falta es un soporte en este punto hay que elegir qué tipo de soporte queremos utilizar. Algunas formas de implementación ya sea en papel o mediante algún programa de ordenador son:

  • GTD: El libro original de David Allen, por si alguien quiere leerse la metodología completa.
  • iGTD: Programa bastante potente basado en la metodología original. Ofrece una muy buena integración con otras aplicaciones y en mi opinión uno de los mejores. Disponible únicamente para Mac
  • ThinkingRock: Programa también basado en la idea original. Esta escrito en Java por lo que es multiplataforma. A destacar su forma de mostrar las opciones que facilita el seguimiento de la metodología (se muestra un árbol de posibles cosas que hacer).
  • Tracks: Es una aplicación web escrita en ruby on rails. La aplicación web se mantiene de forma local por lo que requiere la instalación de servidor web, para poder utilizar la aplicación.
  • D*I*Y* Planner: Siguiendo la idea tradicional de una agenda física, lo que se nos ofrece en esta web es una serie de plantillas ya predefinidas que permiten crearnos nuestra propia agenda personalizada. También se ofrecen plantillas para que cada uno se pueda diseñar su hoja personalizada. Se ofrecen en casi todos los formatos posibles: A4, folio, A5, tarjetas, etc.
  • GTD Tiddly Wiki: Quizá uno de los soportes más curiosos. Se trata de un wiki completo implementado en un único archivo mediante toneladas de JavaScript. Es bastante práctico y tiene toda la flexibilidad de un wiki habitual. Ocupa muy poco < 1MB y se puede llevar en cualquier soporte.
  • Internet 🙂 Lo mejor en muchos casos es buscar en general qué soporte es mejor para cada persona. Habrá personas que prefieran métodos electrónicos y otras físicos, pero eso ya es trabajo de cada uno.

Un momento, ¿esto no era GTD? ¿dónde esta @work, @home, etc?

Sí, este post trata de GTD, pero como ya he dicho antes, tampoco creo que sea necesario "adoctrinar" en alguna de las distintas metodologías. @work, @home, etc. existen en la metodología propuesta por David Allen, pero no en otras y realmente creo que una de las cosas más importantes que he aprendido durante los intentos de implementación de GTD es que lo mejor es que cada uno busque lo que más se adapte a su situación. Una vez que se tiene algún tipo de organización, los detalles concretos no creo que sean importantes.

Referencias a.k.a algunas web famosas que tratan temas de GTD

Tags:

Eternity II – Hasta 2 millones de razones para resolverlo

Un post sobre un puzzle, pero no un puzzle de los que habitualmente reciben este nombre; en este caso, el resultado final no es un paisaje, o una fotografía… son hasta 2 millones de dólares. Eternity II es un puzzle que consta de 256 piezas. La finalidad del juego, como en todos los puzzles, es conseguir poner las 256 piezas en el tablero siguiendo las reglas del puzzle.

Cada pieza es un cuadrado dividido en 4 cuadrantes diagonales y cada cuadrante corresponde con un cuarto de una figura predeterminada. Así que lo que hay que hacer es conseguir formar figuras, no encajar una pieza con otra.

Lo más curioso de este juego es el posible premio. Las bases del concurso dicen que hay hasta el 31 de diciembre del 2008 para enviar la solución y la primera persona que responda correctamente recibirá 2 millones de dólares ( supongo que habrá que descontar impuestos 🙂 )

Hay que decir, que esta es la segunda versión de Eternity, ya que anteriormente ya se realizó otro concurso con la versión 1 de eternity obteniéndose un ganador (1 millón de libras).

La cuestión es ¿dos millones por hacer un puzzle? Como ya he dicho el puzzle, es de lógica, por lo que la complejidad del mismo no se asemeja a lo que podría ser la complejidad de hacer un puzzle "de fotografía". Si hacemos cuentas tenemos:

  • 256 piezas, de las cuales 1 ya esta correctamente posicionada
  • 60 piezas que van en el borde del puzzle
  • 4 piezas dentro de las anteriores que estan en las esquinas del puzzle

Con lo que tenemos que el espacio a explorar son 4(255-60)*60! = 2.09832695 × 10199, suponiendo que no me haya confundido… (algo tremendamente posible)

Obviamente es un espacio bastante grande, pero bueno; en un principio he comenzado con una aproximación "humana" más que nada, por ver cómo funciona el puzzle y ver qué tipo de heurísticas se podrían aplicar.

Eso sí, no descarto el abordar el problema de forma computacional, porque aunque parezca un problema bastante complejo, creo que hay algunas heurísticas o metodologías que podrían reducir ampliamente el espacio de búsqueda efectivo.

En fin, veremos si hay suerte 🙂

Actualizo: olvidaba las referencias

Referencias:

Google Knol vs Wikipedia

Hace unos días, apareció la noticia sobre un nuevo proyecto de Google que a primera vista puede parecer algo JAWC (Just Another Wikipedia Clone), por lo que me he puesto a investigar un poco más en profundidad hasta qué punto puede llegar a ser útil. Puesto que el proyecto no se encuentra abierto al público, me he basado en la única página-pantallazo que hay disponible desde google. Para comparar ambos sistemas, compararé el artículo sobre Insomnia que encontramos en la wikipedia y el que encontramos en modo knol.

Para el que se pregunte qué significa knol, en un alarde de originalidad 🙂 significa unit of knowledge. Y ahora ya si, a ver diferencias. La primera parte en ambas páginas es la parte de introducción.

Wikipedia

Knol

Y podemos ver como hay bastantes cambios sustanciales en forma de metadatos. Para los que no esten familiarizados con esta terminología, un metadato es información acerca de la información. A modo de ejemplo, en un mp3, el artista de la canción es un metadato, ya que nos aporta información acerca del mp3.

Lo primero que se puede ver es un sistema de rating y unas estadísticas de acceso al artículo. Creo que este es un punto bastante importante, ya que uno de los problemas más grandes que encontramos a veces buscando en Wikipedia es el intentar conocer como de real y no interpretada es la información que vemos. Además de esto, se nos muestra información sobre el autor (supongo que el inicial o el responsable del artículo) y también se nos dan unos términos de búsqueda tipo a los keywords que aparecen en papers y artículos.

La siguiente parte de la página es el propio contenido del artículo, en el que no voy a entrar a comentar puesto que sería una valoración de la información que contiene. En este punto por tanto, los dos sistemas se parecen cambiando únicamente el formato de presentación.

Pero aquí no acaban las diferencias, hay unos cuantos detalles más que merece la pena destacar. Si nos fijamos en la barra derecha de la pantalla, a parte de publicidad, nos encontramos con:

De esta forma podemos ver por un lado el qué opina la gente del artículo y además nos deja abierta la puerta a pensar a qué se refieren con peer review. Además se nos muestra los demás artículos de esta persona, por lo que podemos ver si realmente hay una relación y por último se nos muestran artículos que pueden estar relacionados con el actual. Supongo que parte de esta información será inferida por el motor de búsqueda y no únicamente leyendo enlaces.

La verdad es que creo que si bien no se puede negar que han partido de la idea de la wikipedia como punto de partida, sí puede ser interesante tener todas estas funcionalidades extras. Por último, creo que hay otra característica que puede ser de utilidad y es que han añadido la opción de poner comentarios a un artículo

Ahora sólo queda una pregunta ¿cuál es tu opinión? 🙂

Referencias:

  • Página de Wikipedia sobre Insomnia
  • Página-screenshot de Google sobre Knol
  • Anuncio sobre el proyecto Knol

Tags: , ,

Aeromodelismo – Simulador gratuito

Si bien no hay nada como volar un modelo en la realidad, en ocasiones el tener que hacer el primer desembolso de dinero para adquirir el modelo, emisora, etc. puede ser un factor bloqueante para muchas personas, sobre todo por los típicos pensamientos de ¿de verdad me va a gustar esto? ¿merecerá la pena gastarse X € si luego por lo que sea no me gusta?

Para resolver todas estas dudas, siempre podemos utilizar primero un simulador y ver en qué consiste realmente volar un modelo. De esta forma podemos probar primero si nos gusta y una vez que sepamos que verdaderamente nos gusta, podemos usar el simulador para evitar gastar dinero en reparaciones 🙂

Hay bastantes simuladores de aeromodelismo disponibles en el mercado, por ejemplo RealFlight o ClearView, pero puesto tienen el inconveniente de que son de pago. Para empezar o al menos probar, podemos utilizar Flying-Model-Simulator (FMS). El programa se puede descargar de la página anterior, teniendo la única pega de que esta sólo para windows 😦 . Afortunadamente, tengo un portatil con este artefacto y lo he instalado ahí.

Una vez instalado, aparecerá un escenario con un modelo cargado y aquí suele aparecer la pregunta de ¿cómo manejo esto? En un principio, los modelos se caracterizan entre otras muchas cosas por el número de canales que usan. El número de canales hace referencia al número de canales de transmisión de la emisora, lo que equivale al número de servos que podemos controlar. Normalmente, los modelos básicos tienen 4 canales, que nos permitirán realizar funciones básicas.

El tema del control se puede realizar con el teclado (poco recomendado, pero posible), con un joystick o con una emisora real conectada por puerto serie o usb. Yo en este caso he utilizado un gamepad (el más barato que encontré 10€), por tener los cuatro ejes que me hacían falta. Para intentar aclarar un poco esto, el mapping esquemático de cada eje (al menos el que yo utilizo) es:

Y con esto, ya estamos listos para empreder el vuelo, solo queda arrancar y fuera. Sobre los modelos disponibles, hay que decir que hay infinidad por Internet de descarga gratuita y los comportamientos son aceptables. Y para terminar, pantallazos varios.

Tags: , ,

¿Cuanto cuesta estudiar una carrera?

Bonita pregunta ciertamente, después de haber cursado las asignaturas de Ingeniería Informática creo que es un buen momento para obtener conclusiones. En este caso, ver cual ha sido el coste de estudiar la carrera.

En cuanto a tiempo tomemos 5 años, que se supone es el tiempo en el que es posible sacarse la carrera, pero ¿cuál es el precio? Quizá se piense que al estudiar una carrera en una universidad pública, el coste sea bajo, pero quizá la realidad es un poco distinta. Si comparamos el coste de la carrera con el coste de estudiar por ejemplo un módulo o bachillerato en un instituto es fácil ver que hay una diferencia abismal.

Para el que no este familiarizado con el mundo de la universidad, las carreras se miden por créditos. Un crédito es una unidad que representa teóricamente 10 horas de clase y es la unidad que se utiliza para ver el coste de una asignatura. Así si una asignatura son 6 créditos, se pagaría por 60 horas de clase.

Tomando por ejemplo Ingeniería Informática, la carrera consta teóricamente de 375 créditos en total. El precio del crédito suponiendo que no se repita ninguna vez una asignatura es de 14,55 €, por lo que 375·14,55 = 5456,25 €. A esto hay que sumarle: apertura del expediente (23,44 €), proyecto fin de carrera (121,82 €) y la obtención del título (131,33 €). Con lo que al final: 5.456,25 + 23,44 + 121,82 + 131,33 = 5732,84 €

Y hay que recalcar que esto sería en el mejor de los casos, sin repetir ninguna asignatura, sin contabilizar compra de posibles libros, fotocopias, transporte, etc. En fin, creo que es una cifra altamente respetable.

Lo curioso es comparar el coste de esta carrera con otras. Telecomunicaciones e Industriales tienen el mismo precio por crédito y carga lectiva; pero por ejemplo, Ingeniería Técnica en Informática de Gestión (3.483,15 €),  Administración y Dirección de Empresas (3.517,16 €), Periodismo (3.908,75 €), etc.

Tengo que recalcar que siempre se pueden obtener bonificaciones si por ejemplo se obtiene alguna matrícula, se tiene un buen expediente, etc. Pero exceptuando casos particulares, no creo que el coste baje de 5.000 €. Invito desde aquí a compartir precios o costes derivados de estudiar a todos los lectores. Me pregunto cuanto costará estudiar en una univeridad tipo Standford, Hardvard, …

Referencias:

Aeromodelismo: Falcon Pro

La verdad es que desde siempre me ha gustado el tema del modelismo en general, pero en lo referente al radiocontrol, por una razón o por otra, nunca he tenido ocasión de disfrutarlo del todo.

Sin embargo, el otro día me paré en el escaparete de la juguetería Poly y tenían unas cuantas ofertas, en concreto tenían un modelo de avión de pequeño tamaño y a un precio bastante competitivo de 79€, después de investigar un poco a ver exactamente de que se trataba, decidí comprarlo y aquí esta:

El kit viene bastante bien con repuestos para alas, cola y herramientas para montaje.

En cuanto al montaje es bastante sencillo, aunque las instrucciones de montaje difieren mucho de la realidad, ni los componentes vienen en ese formato, ni se sigue un orden lógico de montaje.

En lo que a funcionamiento del aparato se refiere, la verdad es que no he tenido mucha suerte, el primer vuelo debido a un mal ajuste del timon de profundidad digamos que el avión como tal intentó volar, pero no lo consiguió, después de esto, un error en el lanzamiento provocó una entrada en perdida y al suelo de nuevo. Eso sí al final de la batería el modelo empezó a volar de forma más o menos controlada, pero como sólo llevaba una batería no pude seguir con mas pruebas. El resultado por tanto del primer día se saldó con:

  • Timón de profundidad fracturado
  • Ala con una fractura cerca de la parte central
  • Fracturas en el fuselaje (piñazo en picado)

Pero bueno, lo bueno de estas cosas no es sólo volarlas, también tiene un aliciente en cuanto a reparaciones. Así por tanto, decidí aprovechar el tener que hacer reparaciones para introducir los primeros cambios, que se resumen en:

  • Refuerzos con tubo de carbono de 4mm y varilla de fibra de vidrio de 2mm en las alas y cola.

  • Ampliación del timón de cola para aprovechar completamente la cola (antes sólo había profundidad en un semiala.
  • Aplicación de cinta en los bordes del ala, ya que comprobé que sufren bastantes sino estan protegidas, debido más que nada al sitio de pruebas.
  • Creación de una nueva cúpula, ya que la antigua se ha fracturado con el uso 🙂

Con todo esto me dirigí a efectuar la segunda prueba de vuelo: carga de batería, conexión de la batería, todo listo y fuera. El avión empezó a subir, comienzo a girar, profundidad respondiendo mucho mejor y de repente, pum, motores que se paran, por lo que me toco planear hacía el lugar más cercano y efectuar un crash-landing.

Y bueno, me encuentro ahora mismo buscando el origen del fallo eléctrico a ver si este fin de semana puede volver a volar. Ya pondré mejores fotos el próximo día y espero que alguna volando realmente.

Se que para muchos amantes del aeromodelismo, esto no se consideraría ni un modelo, simplemente un juguete, pero por el momento cumple su función bastante bien y siempre habrá tiempo de ir mejorando 🙂 Además, creo que muchas veces se aprenden más cosas empezando por métodos sencillos que empezando con algo totalmente realista.

Actualización (10/01/2008):

A petición de los comentarios, he subido unas cuantas fotos para que se vean mejor las modificaciones e intentaré explicar un poco mejor el proceso.

  • Modificación de la cola

Con el objetivo de tener más control de profundidad del avión, básicamente he duplicado la parte izquierda de la cola en la parte derecha. Lo único que hay que hacer es efectuar dos cortes, el primero, siguiendo la línea para separar la nueva parte del timon de profundidad. Luego hay que efectuar un corte en ángulo, para que se pueda hacer el movimiento de bisagra. Todo esto con un cutter o similar se puede cortar. El tema de la bisagra, al igual que la parte izquierda, pero con celo. Primero se pone cinta en la parte superior, luego se pliega y se pone cinta por la parte inferior.

El siguiente paso es unir las dos partes, de tal forma que cuando se accione el servo, se muevan las dos. Para realizar esto, simplemente un U de algún alambre insertado según la forma que se ve en la foto.

  • Refuerzo del ala

Con el objetivo de hacer un poco más resistente el modelo a los "aterrizajes", he añadido refuerzos a las estructuras del ala. Para hacer esto, he utilizado, tubo de fibra de carbono y varilla de fibra de vidrio. Se pueden encontrar en Decathlon o similares en la sección de cometas y cuestan creo recordar 3 o 4 euros. La varilla de fibra de vidrio es de 2 milímetros y el tubo de 4 milímetros, por lo que es posible introducir la varilla en el tubo. La elección de los materiales viene porque la varilla es flexible y el tubo es rígido.

Para el refuerzo, he cortado el tubo desde un extremo del semiala sin diédrico hasta el otro extremo, por lo que habrá que hacer un rebaje en el fuselaje para que pase el tubo. Luego he cortado la varilla con la longitud del semiala del diédrico más un centímetro (que introduciremos en el tubo).

Para ponerlo, lo único que queda es eliminar el cableado de las luces de posición y así poder aprovechar ese espacio para el tubo, teniendo en cuenta eso sí, que algo sobresale.

Además, podemos aprovechar la varilla para reforzar también la parte de la cola, el proceso en este caso sí requiere hacer un hueco a lo largo del ala para poder poner la varilla.

El refuerzo esta tapado con cinta aislante y a mi parecer es suficiente con esa longitud para que aporte algo de estructura.

Por último, decir que en general no me gusta poner mal las cosas, pero a la vista de que es un avión que lamentablemente dada mi experiencia tendrá todavía muchas más reparaciones por delante, hay cintas que no estan colocadas de una forma óptima 🙂

PS. ¿Alguien conoce alguna tienda donde vendan hélices de repuestos en Madrid? Preferiblemente zona Móstoles, Alcorcón, Leganés… (Sin tener en cuenta Poly)

Referencias:

Tags: , , ,

Cuando los Bugs Terminan en Explosiones

Quizá un título un poco Simpsons, pero cualquiera que haya programado alguna vez sabrá que hacer un programa sin ningún tipo de bug (partes del programa que no funcionan adecuadamente); pero lo que quizá no tengamos en mente muchas veces es que hay veces que los bugs pueden acabar en explosiones.

Un poco de historia de explosiones causadas por bugs.

1962: El Mariner 1 tenía como misión el viaje hasta Venus, pero el lanzamiento no salió como se esperaba. Primero se produjo un fallo en las comunicaciones con los sistemas de tierra, por lo que el cochete entró en modo automático. El problema era que el sistema de guiado tenía un bug. Parece ser que se vuelve a cumplir esta frase célebre de "me llevaba una". En este caso, había un fallo en la transcripción de las ecuaciones de guiado de la pizarra al programa (toma especificaciones!) y alguién se olvidó de meter la media.

El programa por tanto, actuaba con las variaciones de los valores, no con la media de estas variaciones lo que hizo que una pequeña desviación fuera considerada un gran problema y por tanto era necesario introducir grandes correcciones en el vuelo. La aventura terminó con la orden desde el centro de control de destruir el cohete como media de seguridad.

1991: Una batería de misiles Patriot no consigue adquirir como blanco un misíl Scud resultando en la muerte de 28 personas. El culpable, otra vez un bug en el programa. Básicamente, el error en la posición de un objeto en el radar tenía un error acumulativo. A las 100 horas de operación del sistema el error era tan grande que aunque se detectaba un objeto en el radar, no se sabía dónde tenía que ser interceptado.

1996: El Ariane 5, quizá uno de los fallos informáticos más conocidos de la historia se dispone a despegar. Pero poco después de la ignición, dentro del sistema de guiado se quiso utilizar una variable de 64 bits como parámetro de un método que operaba con variables de 16 bits procedente de una misión anterior. El resultado buffer overflow, halt del programa y explosión.

1998: El Mars Climate Orbiter es lanzado con la misión de llegar a Marte, desintegrándose en la entrada en la atmósfera. El problema, parte del software realizado en un sitio esperaba unidades métricas y el componente software que las sumistraba lo hacía en unidades imperiales. Por tanto, la velocidad y órbita de entrada en la atmósfera eran erróneas.

Supongo que al menos, a partir de ahora quizá pensemos distinto sobre las consecuencias de un bug en un programa 🙂 Tampoco hay que ser alarmante, ya que depende mucho del dominio del programa (no todos hacemos programas para cohetes), pero tampoco bien mal pensar sobre ello.

Referencias:

  1. Mariner 1 en Wikipedia
  2. Lanzamiento Ariane 5 en Youtube
  3. Mars Climate Orbiter en Wikipedia
  4. Incidente Misiles Patriot