soluciono moto marvel consecuencias como bug bike y2k

moto - y2k bug marvel



¿Qué está causando los errores 2010? (10)

Hay muchos informes de sistemas que no entienden el año 2010, pero no tengo idea de por qué. Los sistemas actuales que cuido funcionan bien por lo que puedo decir, pero me gustaría saber cuál es el problema real para buscar mejor.

¿Alguien podría arrojar algo de luz, por favor?

Edit: http://www.rte.ie/business/2010/0105/bug.html - Información sobre las tarjetas de crédito en Alemania



Es que hay un error en un componente que divide el año en dos partes. La segunda parte se usa en una comparación para que el dígito 10 no esté en la base 10, está en la base 16, lo que significa que es 0x10 = 16 (hex).


La que escuché fue sobre soluciones rápidas que la gente hizo para Y2K sin pensarlo. Así que si xx <10 entonces 20xx más 19xx.


Me encargué de un pequeño fracaso del 2010 en un sitio el fin de semana pasado, fue solo el resultado de un descuido en la codificación.

Alguien pensó que sería una buena idea establecer el valor de un elemento de la lista en el dateTime.year.Now () actual cuando la lista solo contenía elementos hasta 2009.

ddlItem.findByText(DateTime.Now.Year.ToString())


Podría ser debido a los jóvenes desarrolladores que comenzaron su carrera después del Y2K y están usando 1 dígito para representar el año.


SpamAssassin tenía una regla para marcar fechas tan lejanas en el futuro como spam:

/20[1-9][0-9]/

La solución llegó unos días demasiado tarde, pero es bastante simple:

/20[2-9][0-9]/

Nos vemos de nuevo en diez años.


Tengo un sistema en el trabajo que utiliza un campo de un dígito año. Sí. Un dígito. Entonces, la razón por la que este sistema está fallando es que "2000" se expresa de la misma manera que "2010".


Una posible explicación está en el siguiente artículo

http://www.theregister.co.uk/2010/01/05/symantec_y2k10_bug/

Me recuerda su artículo reciente sobre correcciones de errores Y2K baratas y sucias donde algunos programadores sin escrúpulos ponen en un simple si <10 = 20xx de lo contrario, la fecha es 19xx


Utilicé Google Code Search para encontrar errores de y2010 en software de código abierto . Busqué un patrón particular que indicara un error (uso de "200% d" como una cadena de formato printf), y encontré varios proyectos con ese error. La aplicación creativa de patrones de búsqueda probablemente podría generar más tipos diferentes de errores.


Varios protocolos utilizados en banca y telecomunicaciones , incluido el protocolo SMS , codifican el año como BCD en un solo byte.

Desde el 2000 hasta el 2009, uno podría fácilmente cometer el error de interpretar el año como un número binario estándar, ya que la codificación sería la misma:

Encoding Binary-interpreted BCD-interpreted 0x01 2001 2001 0x02 2002 2002 ... 0x09 2009 2009 0x10 2016 2010 ...

Esa es probablemente la causa del error de Windows Mobile.