El 25 de febrero de 1991, durante la Guerra del Golfo, una batería de misiles Patriot estadounidenses en Dharan (Arabia Saudita) no logró interceptar un misil Scud iraquí. Murieron 28 soldados estadounidenses. La causa: un error de 0.000000095. Los Patriot eran (son) misiles tierra–aire de largo alcance y carácter defensivo. Cuando el radar de la batería detectaba un ataque enemigo con misiles, los Patriot eran lanzados con el propósito de destruir el objetivo antes de que llegara a su objetivo. ¿Qué ocurrió?

Comentarios

#12 Eso puede ser el castillo de Stirling, en Escocia?? Se parece mucho.
Impresionante la de vidas que se pierden en las guerras...y ahi se ve un minimo pero claro ejemplo.

D

#14 si, es ese castillo. Eran los
Cameron Highlanders.

#12 Acaban de enseñarme que es el de Edimburgo

casius_clavius

#12 Gracias por la foto, es una ilustración impresionante de lo que supone una guerra.

D

#12 la pila de grandes empresarios, embajadores, políticos, y etc. que tenía que haber entre esos militares no está en los escritos.

Expat_Guinea_Ecuatorial

#12 Brutal demostracion del privilegio masculino.

EdmundoDantes

#34 Ya sabes lo que dijo una sabia mujer "Las mujeres son las principales víctimas de la guerra. Las mujeres pierden a sus maridos, padres e hijos en combate".

Veelicus

Merece la pena leerlo, meneado.

D

#1 La culpa del informatico, como siempre

Veelicus

#4 En este caso del arquitecto de sistemas y del jefe de proyecto.

j

#10 hay dos lecciones sobre esto. Los tanques rusos contra los alemanes y el ak 47 contra el m 16 americano en Vietnam. En ambos casos, una maquina menos "fina" aunque tecnicamente brilante, fue superior a otra arma mas delicada. La cosa es que la guerra y los militares no son territorio para demasiadas finuras, precisamente porque la posibilidad de error y de cagarla es muy grande.

box3d

#4 Nunca, nunca, nunca, nunca se debe incrementar un float dentro de un bucle que no esté perfectamente acotado.

ytuqdizes

#33 Los float y double están malditos. Alabados sean los decimal.

box3d

#42 Eso vosotros de alto nivel. En C vamos a coma fija. Y a apañarse.

ytuqdizes

#44 Iba a proponerte crear un nuevo tipo (¿un struct con parte entera y parte decimal?), pero sin la sobrecarga de operadores de C++ sería un coñazo...
Mis respetos a los programadores de C

ytuqdizes

#13

porque

han

fusilado

un

hilo

de

twitter

(lo pone al principio)

SiempreAContracorriente

#15 No os quedéis sólo con el titular, la historia que cuenta es interesante, y está más relacionada con la informática que con la guerra

D

#16 El relato es irrelevante para evaluar la verdad o falsedad de la proposición "la guerra siempre es el mayor error", la cual es falsa. Y apelando al principio ex falso quodlibet «de la falsedad cualquier libertad», es decir, que de la mentira puede salir cualquier cosa, se debe descartar el contenido del artículo sea cual sea.

b

#22 El recurso de la locución en latín me ha impresionado y he estado a punto de creerme todo lo que decías. Pero hay un error, y es que en este caso "La guerra es siempre el mayor error" no es una proposición en un razonamiento, es el título del artículo, bastante interesante por cierto.

Ah, y el principio que citas trata de una proposición contradictoria, no errónea, así que ojo con utilizarlo indiscriminadamente...

ytuqdizes

#22 Lee el artículo y entenderás el titular.

R

#15 el error en ese caso es la guerra que ha iniciado la fuerza extranjera

D

#19 Error será para la fuerza que pierda el enfrentamiento tras haberlo iniciado o para la fuerza local que no inicie la guerra tras la invasión extranjera (o fuerza interior).

R

#21 la fuerza que gana también paga las consecuencias, de ahí la frase la guerra siempre es un error

D

#23 Si, las consecuencias de llevarse el botín de guerra, de follarse to lo que encuentre en territorio conquistado y de explotar la victoria estratégicamente durante los siguientes 50 años (mínimo)

g

#21 #23 En ninguna guerra hay un bando ganador y otro perdedor.

En todas las guerras, los únicos que pierden son los que pierden su vida por la prepotencia de unos líderes que se dedican a beber cognac y fumar puros mientras unos pobres diablos son mutilados y masacrados en el frente. Pierden los que pierden a sus seres queridos y el sustento de sus familias. Y de esos hay en todos los bandos.

Como mucho, la única forma en la que una fuerza combatiente pierde es en recursos humanos y económicos, porque al final, para un Estado, los ciudadanos no son más que fuerza de trabajo y poder militar, y se tiene que gastar una pasta ingente en sostener una guerra. Aparte de eso, no el Estado no pierde nada. Quienes pierden son los ciudadanos sometidos al poder del Estado que los manda a la guerra.

Jakeukalane

#15 un ejemplo de eso mismo lo tienes en la Guerra contra Siria. O se defendían o los follacabra pasaban a cuchillo a las minorías (de hecho lo hicieron cuando entraron en zonas de Latakia).

soundnessia

Es increíble ver este tipo de noticias en esta página cuando aquí se está fomentando continuamente el odio

javi_ch

#11 te cambio el "es increíble" por un "se agradece".

R

#6 Hitler se expandia con guerras, fue un error previo

D

#6 A Hitler lo derrotó la URSS, no EEUU, en base a 25 millones de rusos muertos. EEUU simplemente le dio el tiro de gracia aprovechando la coyuntura

Hollywood no puede modificar la historia por mucho que lo intente.

D

#32 sin dos frentes tal vez rusia hubiese sucumbido, no es tan asi.

x

Pero el mejor negocio.

HimiTsü

Por supuesto.!
Como lo es, poner una frase Bonita para terminar u relato de dolor y muerte de un puñado de ángeles y casi cien arcángeles que estaban alli.
Aqui dejo [ https://kutt.it/UEcgoE ] un link con el trabajo de estos querubines . Ah.. que casi se me olvida.: Si quieres la paz, no hables con tus amigos, sino con tus enemigos M.Dyan

D

"This does not really explain the tracking errors, however, because the tracking of a missile should depend not on the absolute clock-time but rather on the time that elapsed between two different radar pulses. And because of the consistency of the errors, this time difference should be in error by only 0.0001%, a truly insignificant amount."

Para calcular la posicion de los misiles SCUD el valor absoluto de la hora no deberia ser relevante. Al restar dos posiciones del misil el error acumulado se cancelaria y solo quedaria el error introducido en el momento, que seria de 0.0001%, muy pequeño. Como explican en el articulo de mas abajo, el problema es que se añadio una nueva funcion para calcular el tiempo de forma mas precisa. El problema es que en mucho sitios no se corrigio la nueva funcion, por lo cual se hacian operaciones en las que se restaba el valor no corregido con el valor corregido, de esta forma aparecía el error acumulado.

https://w3.ual.es/~plopez/docencia/itis/patriot.htm

SiempreAContracorriente

#37 También dice que el software era antiguo (se escribió hacía 20 años en ensamblador) y que originalmente no estaba diseñado para misiles de gran velocidad.

"The software used had been written in assembly language 20 years ago. When Patriot systems were brought into the Gulf conflict, the software was modified (several times) to cope with the high speed of ballistic missiles, for which the system was not originally designed."

D

#39 Si, el viejo problema de parchear software para que se adapte a tus necesidades llevado a la guerra. Bravo por los genios que decidieron ahorrarse cuatro duros en vez de refactorizar todo el programa y evitarse lios.

Robus

#37 Gracias!

No entendía nada de nada hasta que he leido en tu enlace:

At least one of these software modifications was the introduction of a subroutine for converting clock-time more accurately into floating-point. This calculation was needed in about half a dozen places in the program, but the call to the subroutine was not inserted at every point where it was needed. Hence, with a less accurate truncated time of one radar pulse being subtracted from a more accurate time of another radar pulse, the error no longer cancelled.

El error se dió al comparar un valor corregido con un valor por corregir.

Estaba flipando entre que más daba restar 234356.5 de 234356.7 que 78.5 de 78.7 en 224 hay más de 16 millones de valores (24h son 86.400 segundos)... luego he pensado que era un error con multiplicar esos números, pero eso habría sido un problema de tamaño del registro (y un 248 no te lo acabas) luego he pensado que la representación variaba con los bits dedicados a la parte decimal según incremantaba la parte entera y eso llevaba a perder precisión... vamos, que no entendia nada de nada...

Gracias otra vez!

D

#48 si, me pasaba lo mismo, por eso tuve que buscar otro enlace donde viniera bien explicado, no entendia donde estaban acumulando el resultado. De todas formas me sigue picando saber porque en vez de convertir la las decimas en el momento acumulan la hora convertida, quizas se le quedaban pequeños los registros con decimas.

Me alegro que te haya molado la explicacion. Estaria bien saber que operacion habian hecho exactamente para hacer mas precisa la medida y en que operaciones se producia el error.

T

#0 Hay un libro de Matt Parker sobre qué pasa cuando "las matemáticas se equivocan" que seguramente te interese. No lo he leído, pero sí visto su presentación en youtube y tiene buena pinta.

T

#9 #0 aquí un video presentación del mismo

Cc@cortocircuito.

D

Claro, porque la guerra la iniciaron los que querían detener a Hitler. Él se expandía pidiendo las cosas por favor

D

No, no lo es para todos.

m

No lo he leido, pero me sé la historia. Esos misiles fueron especificados para ser usados en una guerra en Europa. En Irak los usaron fuera de sus especificaciones. Mal hecho, hay que leerse el puto manual. El resto de detalles son para programadores.

yusavi

Editado por ignorante (yo).