Y2K nás dohnalo v podobě Y2020. Datum zmátlo pokladny i WhatsApp

Y2K Y2020

Když jsme tuto zprávu původně zaznamenali před pár dny na internetu, přišla nám humorná a moc jsme nevěřili tomu, že by se mohla nějak výrazněji dotknout našich životů v České republice. Jak se ale ukazuje, problémy mají i mobilní aplikace, které používáme denně i tady. A možná i hromada dalších systémů kolem nás, ale nikdo to veřejně nepřiznal. Řeč je o dávno zapomenutém problému, který je známý pod označením Y2K a který nás, jak se zdá, ve světě technologií po dvaceti letech dohnal. Jestli netušíte, co pojem znamená, mrkněte do zelené informativní bubliny. No a co se tedy kolem Y2K v roce 2020, neboli Y2020, děje? Je to vlastně vtipné a stupidní zároveň.

Y2K aneb Problém roku 2000

Problém roku 2000 (anglicky Year 2000 problem, zkráceně Y2K) byl výsledkem programování základních funkcí software i hardware, kdy programátoři zapisovali rok pouze pomocí dvou číslic. V důsledku toho mnohé programy přelom roků 1999/2000 interpretovaly chybně. Některé prostě přecházely z čísla „99“ na číslo „00“, čímž pro ně bylo nemožné rozlišit roky 1900 a 2000, jiné roky nadcházející po roce 1999 interpretovaly jako 19100. Obavy o funkčnost systémů přinesly i teoretické katastrofické scénáře s poruchami či haváriemi elektráren nebo pozemního i leteckého provozu.

Současný problém mají v podstatě na svědomí programátoři, kteří seděli u počítačů před dvaceti lety. Tedy v době, kdy se lámalo století a vyvstalo několik problému se systémy, v nichž mohla data s nulou na třetí pozici nadělat problémy. Tehdejší technicky zádrhel tkvěl v tom, že se pro menší paměťovou a výpočetní náročnost používaly pro označení roku pouze dvě číslovky. Pro rok 1991 to bylo tedy 91, pro rok 1992 zase 92 a tak dále. Nikdo asi nepředpokládal, že by se systémy dožily dalších dekád, takže se přistoupilo k jednoduchému řešení zvanému „windowing“. Jak název napovídá, šlo o jakési okno. Okno, které propojuje Y2K a Y2020.

Skok o sto let zpátky

Namísto toho, aby programátoři systémy přepracovali (stálo by to hromady peněz a času), posunuli původní stoletou periodu (od 00 do 00) o dvacet let dopředu (od 20 do 20) . Dosáhli svého cíle, třeba zápis 03 byl správně považován za letopočet 2003 a nikoli 1903. Současně nám ale firmy, které chtěly ušetřit stamiliony za přepracování svých systémů, zadělaly na budoucí problém. Asi už tušíte, kam tím míříme. Teď, v roce 2020, se stroje a systémy potýkají s tím, že v nich naskakuje datum 1920, což logicky způsobuje kolaps.

server

Světová média informovala o následcích hned na začátku roku. Lidé například dostávali faktury se sto let starým datem od operátorů či poskytovatelů kabelové televize. V New Yorku kvůli Y2020 nefungovaly karetní platby v desítkách tisíc parkovacích automatů. Polská firma Novitus musela ručně opravit tisíce registračních pokladen, které kvůli časové díře odmítly tisknout účtenky. Hodně vtipné a ironické je, že prvního ledna se zasekla i wrestlingová počítačová hra s názvem WWE 2K20 od vývojářského týmu s názvem 2K. Čtyřiadvacet hodin vytvářeli stáhnutelnou záplatu, aby hra dál fungovala. Stejně ironické, ale potenciálně mnohem nebezpečnější, bylo zjištění u aplikace Splunk. Ta má paradoxně na starosti odhalování problémů v počítačových systémech a její citlivost na Y2020 se odhalila až vloni v listopadu. Službu, kterou prý využívá 92 amerických firem z prémiového žebříčku Fortune 100, opravili do týdne. Těžko říct, co by se jinak stalo.

WhatsApp versus Unix čas

Teď k tomu, co nás nakonec motivovalo tento článek o Y2020, alias následku po Y2K, napsat pro čtenáře magazínu Svět Androida. Po restartu jednoho z redakčních telefonů nám oznámil velmi podivnou zprávu komunikátor WhatsApp. Prý je systémové datum nesprávné a máme ho přenastavit. Po prvním údivu jsme se podívali na čas a datum, vše ale bylo v pořádku. Pak jsme si všimli data u notifikace a bylo nám to jasné. WhatsApp k nám promlouval ze dne 1. ledna 1970. Teď si asi říkáte, že to s předchozím popisem Y2020 nějak nesedí. Máte pravdu, ale jen částečně. Tehdejší posun okna právě o dvacet let nebyl jen nahodilý výmysl. Programátoři se řídili takzvaným Unix časem, který má počátek 1. ledna 1970 a nachází se tedy uprostřed nově nastavené stoleté periody. Ošálený WhatsApp byl asi vtažen do minulosti právě sem.

WhatsApp Y2020

Má smysl spílat tehdejším programátorům nebo jejich laxním šéfům? Možná. Ale stejně jako se třeba v roce 1980 nepředpokládalo, že tehdejší systémy poběží ještě i o dvacet let později, to samé si možná říkali vývojáři v době Y2K o dalších dvou dekádách. Zatím jsme nezaznamenali zprávy o problému Y2020 od českých technologických firem. Určitě je nějak postihl taky, má jít přece jen až o 80 % systémů na světě. Takové potíže ale nejsou něco, čím by se chtěly společnosti chlubit.

Perlička na závěr

Zmíněný Unix čas nám ještě může pěkně zavařit, pokud nedojde k další změně. Hodnota času se od 1. ledna 1970 zapisuje ve formě 32bitového čísla. To se „naplní“ ve 3:14 ráno 19. ledna 2038. Máme skoro dvacet let na opravu, takže to asi můžeme klidně nechat na další generaci. Jen se na to nesmí zapomenout, ať tu nemáme po Y2K a Y2020 ještě i problém Y2038.

Setkali jste se už někde s následky problému Y2020?

Marek Houser
O Autorovi - Marek Houser

Fanoušek technologií už od chvíle, kdy jako malý kluk zadával příkazy Lemíkům na "dvaosmšestce". V záloze stále uchovává starý a podle všeho nezničitelný OnePlus2, ale… více o autorovi

Mohlo by vás zajímat

Komentáře (4)