
Parte 1
El ambiente festivo se desvaneció. Los astrónomos entraron en el trabajo normal.
El 13 de enero de 2020, un enorme cuerpo cósmico del tamaño de Neptuno vuela más allá de la Tierra. Que esto era así, nadie lo entendió, porque el cuerpo cósmico apareció y desapareció exactamente de la nada. Los ufólogos, físicos y astrónomos discutieron durante mucho tiempo sobre la naturaleza del fenómeno. Los ufólogos plantearon la idea de que cierta nave espacial alienígena hizo un hiper salto al espacio cerca de la Tierra, se dio cuenta de que había fallado y que era necesario volar más lejos y realizó un hiper salto nuevamente. A favor de esta teoría, dijeron grabaciones de algunos dispositivos que graban transmisiones de radio. Físicos y astrónomos intentaron desafiar la opinión, indicando fuertes pulsaciones registradas por los instrumentos. Además, construir barcos de este tamaño es simplemente impensable. No era visible desde la Tierra. Fotos del espacio, nadie podría hacer. Sí, y apenas tendría tiempo. Un cuerpo cerca de la Tierra apareció por solo 10 minutos. Por supuesto, los instrumentos funcionaron instantáneamente, pero la gente no se dio cuenta de inmediato de lo que estaba sucediendo y dónde mirar. Llamaron al extraño cuerpo "Gato de Cheshire".
Parte 2
Dos hombres sin afeitar estaban sentados en un café. Camisetas lisas, jeans. Delante de las gafas. Los informes sobre la ocurrencia del fenómeno fueron transmitidos por televisión. Los científicos fueron entrevistados. Las ideas en su mayor parte se redujeron a la especulación.
Adrey y Sergey bebieron cerveza después de un exitoso proyecto cerrado para presentar un nuevo SCADA. Andrew señaló con el dedo al monitor más cercano.
- Mikhalych, ¿qué te parece? Extraterrestres?
- No, Andryukha. No asi. Películas de Disney revisadas. Creo que esto es una especie de brecha en el espacio-tiempo. Un agujero negro apareció cerca de la Tierra y comenzó a atraer.
- Bueno, Duc Earth se apretaría, ¿no?
- Y luego la brecha se cerró. El diablo sabe por qué. Sin embargo, ¿por qué no los extraterrestres? Crearon un dispositivo, abrieron un agujero de gusano y hubo suficientes recursos durante 10 minutos. El agujero de gusano se ha cerrado.
- si. El día sigue siendo tan estúpido. 13
"¿Crees en la magia de los números?" Hubieras pedido opiniones a los astrólogos.
- Oh vamos.
Parte 3
Bajo la influencia de la gravedad del gato de Cheshire, la órbita de la Tierra se movió un poco más y se hizo exactamente 24 horas más.
El Servicio Internacional de Rotación de la Tierra comenzó a discutir cómo agregar el tiempo extra de un año al calendario. Después de un par de horas de acaloradas discusiones, a los expertos se les ocurrieron algunas soluciones.
La primera propuesta fue aprobar oficialmente el 29 de febrero como un día normal. Resulta que cada 4 años deberá agregar otro día, y el 30 de febrero agregar a los años bisiestos. Pero esto es mala suerte. 2020 ya es un año bisiesto. ¿Tiene que agregar luego el 30 y 31 de febrero?
La segunda propuesta fue presentada por el representante australiano. Una vez que ocurrió el incidente en enero, se debe agregar el tiempo en enero. Agregue el día 32 y no toque los meses restantes. La idea encontró fanáticos.
Recordaron ideas olvidadas sobre la introducción de calendarios permanentes para Comte y Armelin, un calendario de 13 meses.
Los entusiastas no encontraron los calendarios más atrevidos, porque hay que hacer muchos cambios en todas las áreas de la vida, volver a capacitar a los ancianos. Los expertos esperaban que el nuevo liderazgo no tuviera el deseo de agregar el día lo más cerca posible del incidente. Desafortunadamente, el nuevo liderazgo no fue demasiado visionario y eligió la segunda opción votando.
Se decidió agregarlo el 32 de enero.
Parte 4
Los medios de comunicación difundieron instantáneamente las noticias. Los programadores de indignación no conocían límites. La decisión fue duramente criticada. Los gobiernos de los países grandes intentaron proponer otros formatos para resolver el problema.
Bajo la presión de la sociedad y los grandes inversores, logramos defender la primera solución al problema. Pero para el año en curso, ya se ha tomado una decisión, y la nueva entrará en vigencia solo en 2021.
Los servicios de NTP no se tensaron. La cuenta regresiva ha sido en segundos desde 1970, por lo que la sincronización pasará. La experiencia de ingresar un segundo extra ya ha sido probada. La pregunta sigue siendo mostrar e ingresar fechas en el nivel de aplicación.
Los directores técnicos de los grandes proveedores de software se dieron cuenta de que tenían que implementar parches para sus bibliotecas. Hay muy poco tiempo Es necesario actualizar las versiones de la base de datos. Deberá actualizar las versiones de la biblioteca. No habrá actualizaciones para todas las versiones del software anterior.
Parte 5
De las noticias de CTO de la compañía de software intermedia ProfurTech, Mikhail Andreev se enteró de las noticias.
- "Voy a cambiar el calendario una y otra vez el 32 de enero" - se rió por lo bajo.
No hubo ideas a la vez.
Proyectos con mucho legado. Parte funciona en servidores internos a los que hay acceso. Bien, pensaremos en algo en nuestros servidores. Estirar los parches, de ida y vuelta.
Programada una reunión con los directores.
- Buenas tardes, colegas. Probablemente haya escuchado las noticias sobre la introducción de una nueva fecha este año. Creo que las noticias no te entusiasmaron mucho, pero hay un par de factores desagradables.
- que?
- La introducción de una nueva fecha significa que nuestro software no funcionará correctamente. Comenzando desde los sistemas operativos, terminando con todo el software que ahora opera en las fábricas.
- Por un lado, los procesos deben ir sin problemas. Cuando llegue el 32 de enero, los sistemas operativos comenzarán a pensar que hoy es el 1 de febrero. Los datos, respectivamente, también se escribirán para el 1 de febrero. Los usuarios no podrán seleccionar correctamente la fecha actual. Algunos registros se ingresarán el 31 de enero o el 1 de febrero.
Cuando llegue el 1 de febrero, deberá "omitir" manualmente la fecha del 1 de febrero. En algunos lugares, debe realizarse una sincronización automática con el reloj mundial a través de Internet. Pero aquí no tengo confianza hasta ahora.
Los datos del 1 de febrero real comenzarán a complementar o sobrescribir los datos del 1 de febrero "irreal". Es decir, las tablas tendrán entradas del futuro.
Puede haber lógica en el código que está vinculada al hecho de que no hay datos del futuro. Y si algo sale mal estos dos días, será muy difícil encontrar un error.
La actualización de los programas llevará mucho tiempo. Primero tenemos que esperar los parches de los proveedores, luego implementarlo todo en el servidor, verificar la regresión. Y todo esto no nos garantiza la ausencia de errores.
No enumeré todos los posibles problemas, una parte está en mi cabeza y estas son solo ideas que solo se pueden probar en la práctica. Propongo apagar los servidores el 32 de enero y comenzarlos el 1 de febrero.
El silencio reinaba en el pasillo. Después de un minuto, el director rompió el silencio: "Entonces, ustedes son programadores, obtienen dinero, pero no pueden resolver el problema".
"Yo uhh ... no es mi culpa". Esto nunca ha sucedido en la historia.
"Entonces, ¿cómo quieres que detengamos la producción en las fábricas?" Al principio se implementó el software, ¡pero ahora nada funcionará sin él! Ahora me estás diciendo que un maldito día en un año, las plantas tienen un mal funcionamiento garantizado. Suministramos controladores en energía y medicina. ¿La gente se congelará y morirá? Las empresas perderán varios millones.
Michael entendió lo que estaba pasando, inclinó la cabeza y exhaló.
- Intentaremos hacer todo lo que podamos.
Parte 6
Los pensamientos posteriores a los pensamientos de Misha comenzaron a rodar en oleadas. Tan pronto como encuentre una solución a un problema, una nueva ola de conclusiones intuitivas llega de inmediato.
- Soooo, que en algunos proyectos usan .Net Framework 3.5. Esto significa que Microsoft no lanzará actualizaciones. De acuerdo, los servicios no parecen ser tan críticos, entonces probablemente podamos persuadir a la gerencia para que los apague por un día.
- Tenemos scripts en Python 2.7. Desde 2020, la versión 2. * ha dejado de ser compatible.
- Los proyectos antiguos y nuevos utilizan el antiguo servidor MS SQL. Las bases de datos simplemente no se actualizan.
- ¿Cómo se actualizarán nuestros clientes? Todavía puede parchear nuestro ASODA con un golpe. Pero los programas de Schneider Electric y ABB no se actualizarán. Además, están rotos.
- La contabilidad probablemente se volverá loca, porque no podrá ingresar datos correctamente y preparar informes. 1C volviendo loco?
- Queríamos presentar nuestra abstracción de trabajar con fechas en 2015. Eeeh, la experiencia no enseña nada. Aunque, esto solo ayudaría a nuestros programas escritos por nosotros mismos. El resto del software todavía no funcionaría como debería.
Parte 7
Misha se dio cuenta de que no podía hacer nada con los problemas, el liderazgo no pudo convencer, recolectó cosas y compró boletos para el 29 de enero a las Maldivas. Un poco por adelantado, de modo que el avión simplemente voló.
Del autor:
Honestamente intenté llegar a una continuación de la historia. Cuán trágicamente caen las aplicaciones, y los programadores ceden sobre la marcha. Pero no fue posible llegar a tener suficientes ideas interesantes sobre cómo resolver tal situación y cuán bellamente presentar en forma de historia. Leí tus ideas con interés en los comentarios.