Twój program może zrobić wszystko, co chcesz. Jedynym warunkiem jest to, by działał zgodnie z oczekiwaniami, jeśli data przypada przed 2000 r. , A potem zawodzi spektakularnie. Zdefiniuj spektakularnie , jak chcesz.
Dla wszystkich tych, którzy przegapili pierwszy Y2K, masz szansę!
Odpowiedź z najwyższym wynikiem wygrywa.
Odpowiedzi:
Pyton
Rzeczywiste błędy Y2K przedstawiają około roku jako dwucyfrową liczbę. I robienie czegoś złego, gdy liczba ta przepełni się do 0. Na przykład ten organ nadzorujący pociski nuklearne, uruchamiający wszystkie ICBM, jeśli nie otrzymamy wiadomości pulsu od kwatery głównej w ciągu 60 sekund.
źródło
Java i cmd
Gdzie jest disaster.bat
źródło
Ruby, kod golfowy (31 znaków)
To nie powinno nic zrobić. Awaria jest dość „spektakularna” (na starych systemach uniksowych bez flagi rootowania) :-)
źródło
Ruby (962 znaków)
Szczerze mówiąc, katastrofy tutaj nie wyglądają autentycznie. Postanowiłem zrobić coś, co wydaje się bardziej ... hmm ... legalne. Kod jest warty Daily WTF, ale poza tym jest wiarygodny (to znaczy, jeśli pracujesz w strasznie złej firmie programistycznej).
Ostrzeżenie: ten kod jest niebezpieczny i zniszczy Twój komputer (jeśli nie masz
--no-preserve-root
ochrony). Nie biegać.źródło
SH
Kłamstwo jest bardzo okropną rzeczą :)
źródło
JavaScript
źródło
Działa to zgodnie z przeznaczeniem w systemie Slackware Linux 4.0 (wydanym w maju 1999 r.) - do czasu ostatniej modyfikacji plików w 2000 r., Które zostaną zastąpione starymi wersjami z 1999 r.!
źródło
SQL
Niestety, ta tabela odziedziczyła pewne „cechy” z poprzedniego systemu. Jednym z nich było dwucyfrowe pole na rok wypowiedzenia.
źródło
Java + SQL
Myślę, że to lepiej pasuje do celu pytania - tj. Niezamierzonego złamania.
Powiedzmy, że jest to aplikacja do rejestru urodzeń, w którym rejestrują noworodki w bazie danych i wydają akty urodzenia. Niektórzy „geniusze” zaprojektowali stół w taki sposób:
Aplikacja Java do rejestrowania urodzeń zawiera kod podobny do:
Wówczas INSERT zacząłby zawodzić w 2000 roku i nikt już nie mógłby uzyskać aktu urodzenia. Powód - java.util.Date # getYear () zwraca rok minus 1900, który ma 3 cyfry począwszy od 2000 roku.
źródło
Nie jestem programistą, ale lubię czytać te posty, aby zobaczyć, co wymyślą inni utalentowani ludzie (i dla śmiechu). Sporadyczny skrypt powłoki jest tak blisko, jak tylko dochodzę do prawdziwego kodowania. Oto jeden z miksu:
Grzmotnąć
źródło
DO#
Co się dzieje:
Hej, generator liczb losowych! Chłodny! Mogę go użyć do ... ehm ... cóż, to nie ma znaczenia.
Ten program używa wartości time_t plus
całkowicie losowastała do wygenerowania ziarna. Niestety, wartość z 2000/01/01 staje się wyższa niż 2 147 483 647, co stanowiint
limit. Konwersjatime_t
generujeinteger overflow
. Nie byłby to problem, gdyby nieMath.Log
funkcja, która próbuje teraz obliczyć logarytm ujemnej wielkości, co jest niemożliwe. Ziarno staje sięNaN
i następująca instrukcja nie działa.EDYCJA: Usunąłem niepotrzebną linię kodu, dziedzictwo poprzedniego rozwiązania, które porzuciłem przed napisaniem tego.
źródło
sh
powinien drukować
sh: \: command not found
, strasznie się psuje po 2000 rokuźródło
do
Ten program się psuje z powodu dwucyfrowych lat. Dosłownie
Uwaga: upewnij się, że zapisałeś wszystkie dane przed uruchomieniem tego lub egzekwuj limit procesu. To uruchomi bombę widelcową,
źródło
Python 343 znaków
947 znaków z komentarzami, 343 znaków bez komentarzy
Jestem raczej pewien, że ten spowodował rzeczywiste problemy (i to po 2000 roku).
źródło
C ++ - 194 znaków
W 2000 roku wyświetli komunikat, że twój komputer nie jest zgodny z Y2K i zamknął się.
źródło
SH
Jest to nieszkodliwe, ponieważ jesteśmy w 2013 roku. Spróbuj sam;).
UWAGA: Powyższy komentarz był żartem , powyższy skrypt SH jest wyjątkowo niebezpieczny i prawdopodobnie zrujnuje twój system.
źródło
;
wcześniejthen
, czy naprawdę miałeś na myśli to do wydrukowaniash: rm -rf ~: command not found
Oracle SQL
ORDERS
zawiera informacje dotyczące przetwarzania zamówień z katalogu wysyłkowego. Każdaorder_id
może mieć wiele transakcji (utworzonych, przetwarzanych, zrealizowanych, anulowanych)Zachowaj tylko najnowszą transakcję dla zamówienia:
źródło