Jeśli spojrzysz na wynik cal 9 1752
, zobaczysz ten dziwny wynik:
September 1752
S M Tu W Th F S
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Poniższa historia zatytułowana „ cal 9 1752 wyjaśnił” została skopiowana z listy newsów na początku lat 90. i zarchiwizowana pod zbiorami śmiesznych rzeczy dla publiczności komputerowej przez Davida G. Wisemana (menedżera sieci na Wydziale Informatyki Uniwersytetu) zachodniego Ontario).
Facet, który pierwotnie napisał polecenie „cal” na jakiejś starej maszynie w wersji 7, miał w swoim kodzie błąd „jeden po drugim”. Okazało się to, że niektóre błędne dane wyjściowe, gdy zmienna malloc'd nadpisała 12 dodatkowych bajtów zerami, prowadząc w ten sposób do dziwnego wyniku kalendarza widocznego powyżej.
Teraz nikt przy zdrowych zmysłach tak naprawdę nie dba o kalendarz na wrzesień 1752. Nawet idea roku 1752 nie istnieje w systemie UNIX, ponieważ czas zaczął się w systemie UNIX dopiero na początku 1970 roku. W rezultacie nikt nawet nie wiedział, że „cal „miał ten błąd dużo później. Do tego czasu krążyły tysiące kopii „cal”, wiele z nich tylko w wersji binarnej. Było za późno, aby je wszystkie naprawić.
W połowie 1975 r. Niektórzy urzędnicy AT&T wysokiego szczebla spotkali się z papieżem i doszli do porozumienia. Kalendarz został retroaktywnie zmieniony, aby dostosować wrzesień 1752 do rzeczywistości UNIX. Ponieważ kalendarz został zmieniony poprzez odliczanie wstecz od 14 września 1752 r., Nie miało to wpływu na żadną późniejszą datę. Wszystkie poprzednie daty zostały przesunięte o 12 dni. Naprawiono także stronę podręcznika dla „cal”, aby udokumentować błąd jako funkcję.
11 dni od 3 września do 13 września po prostu zniknęły z akt. Przeszukali książki historyczne i stwierdzili, że na szczęście nic ważnego nie wydarzyło się w ciągu tych 11 dni.
Ogólnie rzecz biorąc, ten cały incydent był w zasadzie nie wydarzeniem. Pewien autor science fiction dowiedział się później o tym i wysadził tę sprawę w pełnometrażowe dzieło science fiction zatytułowane „The Tokhe of Heaven”, książkę, która moim zdaniem w niewielkim stopniu przypomina to, co się naprawdę wydarzyło.
Jakie jest prawdziwe wyjaśnienie anomalii wyjściowej?
/humor
katalogu w opublikowanym adresie URL? ;)Odpowiedzi:
Aby prześledzić prawdziwą historię, spróbuj uruchomić
man cal
się:Następnie, jeśli twoja historia jest szkicowa, przejdź do Wikipedii, aby uzyskać informacje o zmianach wprowadzonych przez Kalendarz gregoriański i jego historię adopcji w różnych częściach świata:
Zanim pojawił się Unix i zresetował zegary światowe, aby zacząć od 1 stycznia 1970 r., Nie było nic do zrobienia w całym tym bałaganie, oprócz wybrania daty, w której ma być resetowany. Ponieważ świat przyjął obecny system kalendarza gregoriańskiego w różnym czasie w różnych krajach, dokładny czas na dokonanie tej korekty jest nieco arbitralny.
Jeśli kiedykolwiek będziesz miał powód, by liczyć daty sięgające tak daleko w swoim oprogramowaniu, napotkasz o wiele poważniejsze problemy niż tylko jeden reset! Historia kalendarza jest pełna niespodzianek!
źródło
Oto dobry artykuł na temat kalendarzy (PDF), który wyjaśnia, jak powolne przesunięcie Wielkanocy w ciągu roku spowodowało konieczność korekty daty, a także opisuje, kiedy różne kraje dokonały zmiany.
Na stronie 904:
Artykuł nadal zawiera obszerną listę dat adopcji, która została opracowana przez astronomów i wyjaśnia w prosty sposób, jak konwertować różne systemy kalendarza.
źródło