2009/02/13

Unix Time Stamp 1234567890

Hoje é uma data algo especial ou, no mínimo, curiosa para milhares de programadores por todo o mundo.

Nos sistemas Unix, o tempo é contabilizado contando o número de segundos desde o início da Época Unix, a 1 de Janeiro de 1970. Esta forma de guardar datas e horas permite efectuar cálculos sobre as mesmas de forma simples e eficiente.

E esse número tem vindo constantemente a aumentar, segundo a segundo...

Ora, a curiosidade é que hoje, 13 de Fevereiro de 2009, esse número vai passar pelo: 1234567890

Como poderão verificar no seguinte site:
UNIX TIME STAMP: 1234567890
DATE: 02 / 13 / 09 @ 5:31pm
(Com as devidas variações dependendo do fuso horário onde se encontrarem)

Em Portugal, este momento acontecerá às 23:31:30.

Como disse, é apenas uma curiosidade geek. :)


Mais problemático será quando chegarmos a 19 de Janeiro de 2038, altura em que o contador de 32 bits será insuficiente para contar os segundos que se seguem, provavelmente causando novo pânico à moda do bug do ano 2000.
(Se bem que, por essa altura, é mais que provável que se usem sistemas de 64, 128, ou 256 bits... ;)

7 comentários:

  1. Penso que a hora correcta em Portugal será 23:31:30, e talvez um site mais interessante para colocar será o
    "http://coolepochcountdown.com/"
    que usa a data local do sistema

    Cumprimentos.

    ResponderEliminar
  2. Actualizei o post para indicar a hora portuguesa. Obrigado. :)

    ResponderEliminar
  3. Quem quiser confirmar a hora exacta no seu fuso, e seja utilizador de Unix/Linux obviamente, basta abrir o terminal e digitar:

    perl -e 'print scalar localtime(1234567890),"\n";'

    Abraço

    ResponderEliminar
  4. O estouro dos 32 bits é na verdade em 19 de janeiro de 2038, 3h14min07sUTC
    esse é o timestamp 2147483647, precisamente 1 antes dos 31 bits.
    temos 10 anos a mais...

    ResponderEliminar
  5. @Eugênio

    Sim, foi bug meu, está o ano corrigido. :)
    Os 31 bits, devem-se a que a 1 bit esteja reservado para sinalizar o sinal positivo/negativo, restando os 31 bits para o valor.

    ResponderEliminar
  6. Carlos lembras-te que computador usavas há 20 anos, nem vou perguntar há 30 anos. 8 bits não? E hoje usas ou 32 ou 64. Achas que vai haver assim tanta gente a usar ainda este tipo de arquitectura 128 não será um valor pouco ambicioso? Será que ainda estaremos a usar memória binária?

    ResponderEliminar
  7. @Cafonso

    Há 20 anos? Ui... 1989... já me podia dar ao luxo de ter um 32bits, um Motorola 68000 no Amiga. :)

    128 e 256 bits, não me parece demasiado ambicioso, já que temos já vários GPUs que funcionam nessa gama; e com a tendência para a paralelização de tarefas com os multi-cores, acho que se vai caminha nesse sentido.

    Claro que hoje, imaginar que um dia se tenha 4TB de RAM deve parecer tão inverosímil como imaginar há 20 anos que se pudesse vir a ter 4GB de Ram... mas... a evolução da informática tem destas coisas. :)

    Agora, duvido que nessa altura um "CPU" seja algo como o conhecemos hoje. Será provavelmente uma "rede" que se reconfigurará automaticamente para processar as instruções que lhe são atribuídas da forma mais eficiente possível. Quer necessite de usar 4, 64 ou 512bits...

    ResponderEliminar