Free Web Site - Free Web Space and Site Hosting - Web Hosting - Internet Store and Ecommerce Solution Provider - High Speed Internet
Search the Web
O Canto do Cisne

29 de Fevereiro de 2000, um perigoso primo oculto do Bug do Milênio


Os piores problemas são aqueles que permanecem ocultos na sombra esperando para atacar no momento certo, e conheço um destes problemas espreitando ao usuário desprevenido. É um primo do chamado "Bug do Milênio" (ou Y2K pelas siglas em Inglês), também relacionado com o ano 2000, e que provavelmente atacará a muitas organizações e empresas no dia 29 de Fevereiro do ano 2000.

É conhecido da astronomia que a Terra gira em torno do Sol a cada 365,2422454... dias. Esta parte fracionária de 0,2422.. é a razão pela que existem os anos bissextos (aqueles que tem um dia extra no mês de Fevereiro). Se multiplica este número maluco por 4 notará que a cada 4 anos a Terra avança 1460,9689.. dias, ou QUASE 1461 dias. Se os astrônomos insistem em manter o ano com 365 dias por motivos práticos de arredondamento, obterão 1460 dias a cada 4 anos, e a Terra terá avançado na realidade 1 dia a mais do que o previsto, então, onde colocar aquele dia extra?. Para resolver este problema, Júlio César, imperador Romano, estabeleceu uns 2045 anos atrás o chamado "ano bissexto" (como eram inteligentes estes Romanos!), ou "criar do nada" um dia extra, o dia 29 de Fevereiro. Assim, a cada 4 anos a Terra avançaria 1461 dias. Por causa desta reforma, foi chamado de "Calendário Juliano".

MAS 1 NÃO é igual a 0,9689..., e pelo ano 1582 esta pequena diferença tinha acumulado até ultrapassar em uns 12 dias o que a Terra realmente tinha girado (1 - 0,9689... = 0,031..., multiplique isto por 1600 e divida entre 4 = 12,4 dias).

Esta defasagem foi suficiente para que a gente começara a perceber que es estações climáticas estavam fora de lugar, e naquele mesmo ano (1582), o Papa Gregorio XIII estabeleceu o "Calendário Gregoriano", cortando de raiz 10 dias (sim, depois das 23:59:59 h do 4 de Outubro de 1582 simplesmente apareceu as 0:00:00 h do dia 15 de Outubro de 1582, um verdadeiro ano fatal!).
Esta é a razão pela qual você não achará documentos datados por exemplo como "9 de Outubro de 1582" entre os papeis do Vaticano. Nenhum jornal, páginas Internet ou cheques ao portador tinham este tipo de data, e suspeito que também os cartões de crédito a vencer naqueles dias foram cancelados, assim como as viagens e passeios por Caravelas, Carroças, trens e aeronaves. Alguns países de religião protestante (Inglaterra...), esperaram até 1752 para mudar o calendário, cortando então 11 dias no mês de Setembro de 1752 (em aqueles países a vida ficou congelada desde o 3 de Setembro até o 13 de Setembro de 1752).

Mas o Papa Gregorio também incluiu outra correção, e agora entra a parte do nosso problema fatal. Para evitar futuros deslocamentos malucos na data, estabeleceu que a cada 100 anos, o dia 29 de Fevereiro seria ELIMINADO, ou seja, não existem os dias 29 de Fevereiro de 1900 nem 29 de Fevereiro de 2100, mesmo que estes anos sejam múltiplos de 4 (verifique o comando "cal" do Unix e do MS-DOS, os do Unix estão corretos, alguns do MS-DOS estão errados), e ainda mais, a cada 400 anos o dia 29 de Fevereiro SIM deveria existir, mesmo que estes sejam anos múltiplos de 100.
Se você realizar estas operações, notará que o que Gregorio XIII estava tentando fazer era ajustar de alguma forma a parte fracionária de 0,2422..., já que 1/4 - 1/100 + 1/400 = 0,2425 (e ainda existem outros ajustes a serem feitos que não lembro exatamente quando, mas a cada 4 ou 5 mil anos o dia 29 de Fevereiro também será eliminado, por favor me lembre de colocar esta página de novo no ano 5000 D.C.)

Você deve ter notado que eu disse "alguns comandos 'cal' do MS-DOS estão errados" (sim, alguns deles mostrarão a pesar de tudo o dia 29 de Fevereiro de 2100 como sendo um Sábado). Por que?, porque os programadores usam normalmente uma fórmula matemática aproximada para calcular os dias da semana, ou seja, resolver problemas como "que dia é o 31 de Julho de 1999?, resposta: Sábado" dentro dos seus programas e sistemas informáticos. Os programadores Unix usaram uma fórmula *boa*, alguns programadores sob o MS-DOS usaram uma fórmula *não tão boa* para o comando "cal" (calendary), visto que alguns programadores se deixaram levar pela idéia de que "se 100 anos é uma grande quantidade de anos, então 400 anos é uma verdadeira enormidade, nada que ver com os *meus* sistemas". (note que o MS-DOS não tem o comando 'cal' desenvolvido pela Microsoft, e sim alguns programadores independentes desenvolveram programas shareware - ou de domínio público - para emular o comando 'cal' do Unix.)
Algumas pessoas, no momento de escrever os programas, giravam a cabeça e perguntavam aos colegas de trabalho "..alguém ai sabe qual a fórmula exata para os dias de um ano?", e como as enciclopédias Encarta e outras geringonças eletrónicas só apareceram depois de 1990, pode imaginar que a resposta não era muito fácil de ser conseguida. Então muitos programadores e profissionais da informática ouviam dos colegas "... hei Joca, acho que uma boa aproximação é 365,24, usa essa fórmula que trabalha muito bem com o meu sistema contábil..", e isto era verdade, aquela fórmula tinha funcionado perfeitamente nos sistemas informáticos durante os últimos 300 anos. Desta forma, muitos sistemas contábeis, contas de banco, posições em ações, agencias de viajem, a CIA, agendas da Casa Branca, tem provavelmente dentro de alguns milhões de linhas de código o "bem aproximado" número 365,24 .

Bem, a verdade é que o problema está virando a esquina, por que o ano 2000 é um ano divisível por 400, e para todos aqueles programas errados, o 29 de Fevereiro de 2000 NÃO vai existir por que o número 365,24 é aproximado o suficiente como para cortar os anos bissextos dos múltiplos de 100, e 2000 É um múltiplo de 100, pelo que sem dúvida será afetado. Isto significa que para algumas corporações bancarias, agencias do governo e de viagem, depois da Segunda 28 de Fevereiro de 2000 às 23:59:59, com certeza virá a Terça 1 de Março de 2000 às 0:00:00 h.

Se cortar 10 dias em 1582 em tempos de Gregorio XIII foi um grande problema, imagine o que seria cortar UM dia no ano 2000, quando a maior parte das pessoas no mundo estão reguladas por computadores.
A pior parte é que todas estas organizações e empresas não poderão continuar com as suas operações nos dias seguintes ATÉ que corrijam complemente o problema, por que mesmo que os diretores e gerentes ordenem o atraso dos relógios do computador por um dia a partir do dia seguinte, mesmo assim estes insistirão em informar que o 1 de Março é uma TERÇA FEIRA em vez do dia correto: QUARTA FEIRA. Que pesadelo!

É real esta ameaça?, se voce ainda duvida talvez deva olhar AQUI e imaginar alguma grande instituição financeira descobrindo isto no dia 28 de Fevereiro de 2000.



Na minha novela "O Canto do Cisne" (segunda parte), falo um pouco sobre o Bug do Milênio, e como alguns hackers usam esta falha para entrar nos computadores de agencias do governo e roubar informações sobre uma mensagem de origem alienígena ali guardados.

A sugestão que tenho para empresas e agencias do governo é que testem sistematicamente as datas de 29 de Fevereiro, e não apenas o dia 1 de Janeiro de 2000, por que esta falha pode ser mais perigosa que o bem conhecido "Bug do Milênio".



Se deseja conhecer um pouco mais sobre o BUG do Milênio, tecle aqui.
Si deseja ler o Kit de Primeiros Auxílios para o Bug, tecle aqui.
Si deseja ir à página principal tecle AQUI.

Você é a pessoa número a visitar esta página