32 de janeiro


Parte 1


O clima festivo desapareceu. Os astrônomos entraram no trabalho normal.


Em 13 de janeiro de 2020, um enorme corpo cósmico do tamanho de Netuno voa além da Terra. Que isso era para que ninguém entendesse, porque o corpo cósmico apareceu e desapareceu exatamente do nada. Ufólogos, físicos e astrônomos discutiram por um longo tempo sobre a natureza do fenômeno. Os ufologistas propuseram a idéia de que uma certa nave alienígena deu um hiper pulo no espaço perto da Terra, percebeu que havia perdido e que era necessário voar mais longe e realizou um hiper pulo novamente. A favor dessa teoria, eles disseram que gravações de alguns dispositivos gravavam transmissões de rádio. Físicos e astrônomos tentaram contestar a opinião, indicando fortes pulsações registradas pelos instrumentos. Além disso, construir navios desse tamanho é simplesmente impensável. Ele não era visível da Terra. Fotos do espaço, ninguém poderia fazer. Sim, e dificilmente teria tempo. Um corpo perto da Terra apareceu por apenas 10 minutos. Obviamente, os instrumentos funcionaram instantaneamente, mas as pessoas não perceberam imediatamente o que estava acontecendo e para onde olhar. Eles chamaram o corpo estranho de "gato de Cheshire".


Parte 2


Dois homens com a barba por fazer estavam sentados em um café. Camisetas simples, jeans. Na frente dos óculos. Relatórios sobre a ocorrência do fenômeno foram transmitidos na televisão. Os cientistas foram entrevistados. A maioria das idéias se resumia a especulações.


Adrey e Sergey tomaram um gole de cerveja após um projeto fechado com sucesso para introduzir um novo SCADA. Andrew apontou o dedo para o monitor mais próximo.


- Mikhalych, o que você acha? Aliens?

- Não, Andryukha. Não é assim. Filmes da Disney revisados. Eu acho que isso é algum tipo de lacuna no espaço-tempo. Um buraco negro apareceu perto da Terra e começou a se aproximar.

- Bem, Duc Earth iria apertar, não?

- E então a lacuna se fechou. O diabo sabe o porquê. No entanto, por que não alienígenas. Eles criaram um dispositivo, abriram um buraco de minhoca e havia recursos suficientes por 10 minutos. O buraco de minhoca fechou.

Sim. O dia ainda é tão estúpido. 13º.

"Você acredita em magia numérica?" Você teria perguntado opiniões de astrólogos.

Oh, vamos lá.

Parte 3


Sob a influência da gravidade do gato de Cheshire, a órbita da Terra mudou um pouco mais e se tornou exatamente 24 horas mais longa.


O Serviço Internacional de Rotação da Terra começou a discutir como adicionar o tempo extra de um ano ao calendário. Depois de algumas horas de discussões acaloradas, os especialistas chegaram a algumas soluções.


A primeira proposta era aprovar oficialmente o dia 29 de fevereiro como um dia normal. Acontece que a cada 4 anos você precisará adicionar outro dia e, em 30 de fevereiro, adicionar aos anos bissextos. Mas isso é má sorte. 2020 já é um ano bissexto. Tem que adicionar em 30 e 31 de fevereiro?


A segunda proposta foi apresentada pelo representante australiano. Depois que o incidente ocorreu em janeiro, o tempo deve ser adicionado em janeiro. Adicione o 32º dia e não toque nos meses restantes. A ideia encontrou fãs.


Lembraram-se de idéias esquecidas sobre a introdução de calendários permanentes para Comte e Armelin, um calendário de 13 meses.


Os calendários mais ousados ​​não foram encontrados pelos entusiastas, porque você precisa fazer muitas mudanças em todas as áreas da vida, treinar os idosos. Os especialistas esperavam que a nova liderança não desejasse adicionar o dia o mais próximo possível do incidente. Infelizmente, a nova liderança não teve muita visão e escolheu a segunda opção ao votar.


Foi decidido adicioná-lo em 32 de janeiro.


Parte 4


A mídia instantaneamente espalhou a notícia. Os programadores de indignação não tinham limites. A decisão foi duramente criticada. Os governos dos grandes países tentaram propor outros formatos para resolver o problema.


Sob a pressão da sociedade e dos grandes investidores, conseguimos defender a primeira solução para o problema. Mas para o ano atual, uma decisão já foi tomada, e a nova entrará em vigor apenas em 2021.


Os serviços NTP não se esforçaram. A contagem regressiva ocorre em segundos desde 1970, portanto a sincronização será aprovada. A experiência de inserir um segundo extra já foi testada. A questão permanece na exibição e inserção de datas no nível do aplicativo.


Os diretores técnicos de grandes fornecedores de software perceberam que precisavam lançar patches para suas bibliotecas. Há muito pouco tempo. É necessário atualizar as versões do banco de dados. Você precisará atualizar as versões da biblioteca. Não haverá atualizações para todas as versões do software antigo.


Parte 5


Nas notícias de CTO da empresa de software ProfurTech, Mikhail Andreev ficou sabendo das notícias.


- "Vou mudar o calendário repetidamente em 32 de janeiro" - ele riu baixinho.

Não houve idéias de uma só vez.
Projetos com um monte de legado. Parte trabalha em servidores internos aos quais há acesso. Ok, vamos pensar em algo em nossos servidores. Estenda os remendos, para frente e para trás.


Agendou uma reunião com os diretores.


Boa tarde, colegas. Você provavelmente já ouviu as notícias sobre a introdução de uma nova data este ano. Penso que as notícias não o entusiasmaram muito, mas existem alguns fatores desagradáveis.

- o que?

- A introdução de uma nova data significa que nosso software não funcionará corretamente. Começando pelos sistemas operacionais, terminando com todo o software que agora opera nas fábricas.

- Por um lado, os processos devem ocorrer sem problemas. Quando o dia 32 de janeiro chegar, os sistemas operacionais começarão a pensar que hoje é 1º de fevereiro. Os dados, respectivamente, também serão gravados para 1º de fevereiro. Os usuários não poderão selecionar corretamente a data atual. Alguns registros serão inseridos em 31 de janeiro ou em 1º de fevereiro.

Quando 1º de fevereiro chegar, você terá que "pular" manualmente a data de 1º de fevereiro. Em alguns lugares, a sincronização automática com o relógio mundial via Internet deve ocorrer. Mas aqui não tenho confiança até agora.

Os dados do dia 1 de fevereiro real começarão a complementar ou substituir os dados do dia 1 de fevereiro "irreal". Ou seja, as tabelas terão entradas do futuro.

Pode haver lógica no código associado ao fato de que não há dados do futuro. E se algo der errado nesses dois dias, será muito difícil encontrar um erro.

A atualização de programas levará muito tempo. Primeiro, precisamos aguardar os patches dos fornecedores, depois implantar tudo no servidor, verificar a regressão. E tudo isso não garante a ausência de erros.

Não listei todos os problemas possíveis, uma parte está na minha cabeça e essas são apenas idéias que só podem ser testadas na prática. Proponho desligar os servidores em 32 de janeiro e iniciá-los em 1º de fevereiro.

O silêncio reinou no corredor. Depois de um minuto, o diretor quebrou o silêncio: "Então, você é programador, ganha dinheiro, mas não consegue resolver o problema?"


"Eu uhh ... não é minha culpa." Isso nunca aconteceu na história.

"Então, como você quer que paremos a produção nas fábricas?" No início, o software foi implementado, mas agora nada funcionará sem ele! Agora você está me dizendo que um dia maldito em um ano, as plantas estão garantidas para funcionar mal. Fornecemos controladores em energia e medicina. As pessoas vão congelar e morrer? Os negócios perderão vários milhões.

Michael entendeu o que estava acontecendo, inclinou a cabeça e expirou.


- Vamos tentar fazer tudo o que pudermos.

Parte 6


Os pensamentos após os pensamentos de Misha começaram a rolar em ondas. Assim que você encontra uma solução para um problema, uma nova onda de conclusões intuitivas chega imediatamente.


- Então, em alguns projetos eles usam .Net Framework 3.5. Isso significa que a Microsoft não lançará atualizações. Ok, os serviços não parecem ser tão críticos, então provavelmente podemos convencer a gerência a desativá-lo por um dia.

- Temos scripts em Python 2.7. Desde 2020, a versão 2. * deixou de ser suportada.

- Projetos antigos e novos usam o MS SQL Server antigo. Os bancos de dados simplesmente não são atualizados.

- Como nossos clientes serão atualizados? Você ainda pode consertar nosso ASODA com uma investida. Mas os programas da Schneider Electric e da ABB não serão atualizados. Além disso, eles estão quebrados.

- A contabilidade provavelmente ficará louca, porque não será capaz de inserir dados e preparar relatórios corretamente. 1C enlouquecendo?

- Queríamos apresentar nossa abstração de trabalhar com datas em 2015. Eeeh, a experiência não ensina nada. No entanto, isso apenas ajudaria nossos programas auto-escritos. O restante do software ainda não funcionaria como deveria.

Parte 7


Misha percebeu que ele não podia fazer nada com os problemas, a liderança não conseguia convencer, ele colecionou coisas e comprou ingressos para o dia 29 de janeiro nas Maldivas. Um pouco adiantado, para que o avião simplesmente voasse.




Do autor:


Sinceramente, tentei criar uma continuação da história. Quão tragicamente os aplicativos caem e os programadores cedem em tempo real. Mas não foi possível ter idéias interessantes o suficiente sobre como resolver uma situação dessas e como apresentar de maneira bonita na forma da história. Eu li suas idéias com interesse nos comentários.

Source: https://habr.com/ru/post/pt484118/


All Articles