Tom svým divákům na konci roku 2019 prozradil, jak se dá ošálit kalendář a začít 20. léta 21. století o pár dní dřív. Zároveň vysvětloval, proč to občas dělá problémy programátorům.
Až vydám tohle video, bude už první den roku 2020. A zároveň bude 30. prosince 2019, ohňostroje tu ještě neodpálili. Ale můžu říct, že je rok 2020, ze stejného důvodu, proč před pár lety chvíli vypadl Twitter. Na světě je hodně kalendářů, standardem je sice ten gregoriánský od ledna do prosince, ale v pár kontextech se používají jiné. Podle islámského kalendáře je rok 1441, podle hebrejského 5780. Podle týdenního systému ISO definovaného Mezinárodní organizací pro normalizaci, který se využívá v oblasti financí a obchodu, už je rok 2020. Někdy se hodí, hlavně při nakládání s penězi, mít v roce vždycky jen celé týdny. Jenže se 7 dny v týdnu to nevychází, když máme v roce 365 dní, nebo 366 při přestupním roce. Takže v 70. letech definovala ISO týdenní systém, kde rok vždycky začíná v pondělí a má pouze celé týdny. Většinou je to 52 týdnů, to dává 364 dní, ale občas potřebují přestupní týden, aby to dohnali. Většinou je tedy rok podle ISO stejný jako ten, co používáme my. Ale kolem Nového roku se to někdy může lišit. Třeba teď, když to publikuju. V gregoriánském kalendáři je 30. 12. 2019, ale podle týdenního systému ISO je rok 2020, 1. týden, 1. den. Je to legitimní kalendář, ale může to být matoucí, protože se velmi podobá našemu gregoriánskému. Neexistují v něm měsíce, jenom týdny. Má se to používat jen pro vyúčtování nebo výplaty mezd. Jenže na konci roku 2014 aplikace i web Twitteru záhadně na pár hodin spadly, velmi pravděpodobně proto, že někdo ty dva kalendáře zaměnil. Většina programovacích jazyků má funkci pro vytažení aktuálního data a zformátování do podoby čitelné pro lidi. Takže když chcete celé datum vypsat čitelně pro lidi, napíšete něco takového, necháte to proběhnout a proměnné označené procentem jsou nahrazeny konkrétním datem. Jenže není těžké si ta písmena v kódu splést. „%m“ značí měsíc jako číslo, ale „%B“ značí vypsané jméno měsíce. Takže to nejsou vždycky logická písmena. Navíc to programátoři nepoužívají moc často, takže si to většinou vyhledáme v nápovědě. A když v nápovědě vyhledáte „rok“, narazíte jako první na „%G“. A protože nevíte, co znamená ISO týden, použijete tuhle proměnnou a vypadá to správně, takže vám to nedojde třeba až do dneška, kdy zjistíte, že to hledá v jiném kalendáři. A jsem si skoro jistý, že proto v roce 2014 na pár hodin na Twitteru svítil špatný rok. Omylem použili den a měsíc z gregoriánského, ale rok z ISO kalendáře. Takovou chybu bývá i při testování složité odhalit, dokud se něco nerozbije. Takže pokud pro vás byl rok 2019 náročný a už ho chcete opustit, změňte na chvíli kalendář. Vítejte ve 20. letech. Překlad: jesterka www.videacesky.cz
Související videa
94%
4:45
Jak zpráva s černým puntíkem rozbíjela aplikace na Androidu
No, dalo by se říct že druhá polovina listopadu 2019 byla docela náročná, no.. ˇˇ
Ale ne kvůli tomu že by někdo failnul NNN, nýbrž kvůli covidu...
A jinak 2020 jakožto přestupnej je asi jasný xD