Diskuse

Problém přestupné sekundy a internetový čas společnosti Swatch

Litujeme, ale tato diskuse byla uzavřena a již do ní nelze vkládat nové příspěvky.
Děkujeme za pochopení.

Jožin z planin

7. 7. 2012 13:45
Řešení

Mno, podle mého je lepší s přestupnou sekundou počítat jen ve vědeckých výpočtech, GPS a podobně. Do běžných počítačů a serverů ji netahat. O návrat k reálnému času se postarají synchronizační mechanismy jako NTP právě postupným dotahováním se. Ona se ta přestupná sekunda do unixového časového razítka ani do obdobných systémů ve Windows vůbec nezapočítává - každý den má stejně sekund. Pád serverů pravděpodobně zapříčinila neaktualizovaná knihovní funkce, která nezvládla zobrazit lidský čas 2012-06-30 23:59:60, který existuje pouze při přestupné sekundě a bez toho by se minimálně 99% lidí obešlo.

0 0
možnosti

/dev/null

7. 7. 2012 10:32
Kdo v hodinách nespal...

To je teda silně odvážné tvrzení. Možná to bylo myšlené jako nadsázka, ale v textu, který se tváří alespoň trochu odborně to nemá co dělat, protože to je negativně citově zabarvené (urážka), a ještě k tomu lež. Odvodit z existence Zemské rotace, nerovnoměrného rozložení hmoty, tření a okolních vlivů, že se doba rotace bude zpomalovat, je vysoce netriviální. I myšlenka, že neobíhá Slunce kolem Země, ale že to je naopak, čekala na objevení tisíce let, a to lidé nebyli o nic neinteligentnější než dnes.

V jednom místě píšete, že by nebylo vhodné oprostit se zavedením univerzálního času od vlivů přírody, a hned v dalším odstavci navrhujete přeně to samé, dokonce i bez časových pásem :).

A třetí poznámka k novým časovým systémům: pokud jste někdy programoval s časem, tak vám je jasné, že převádět nějaký systémový čas na lidský je velký opruz. Volit nějakou nesmyslnou jednotku, jako je tisícina dne, je naprostá šílenost. Nejhorší časová jednotka je rok, a hned potom den.

0 0
možnosti

/dev/null

7. 7. 2012 10:36
Re: Kdo v hodinách nespal...

Systém musí počítat v sekundách, protože to je čas, ve kterém uživatel žije, když ovládá program. Všechny časovače byste musel pořád přepočítávat, což by bylo u větších programů zbytečné zpomalení. Pokud bych měl z praxe navrhnout nějaký univerzální čas, tak to bude normální reálné čílo, které bude udávat počet sekund (milisekund) a desetinou část. Převod na dny se bude řešit knihovní funkcí. A tak to vlastně už je, jen tu vkládanou vteřinu nevsouvat do času počítačů, ale dát do převodních funkcí. Sice se tím budou zaprasovat, ale ty jen popisují realitu, jak se čas mění.

0 0
možnosti

BořekŠikula

7. 7. 2012 8:03
Nejde o problém, ale chybu

Ty servery, které zhavarovaly, neměly opravenou chybu v kódu. Podobně jako letos některá zařízení přešla na letní čas o týden později - opět kvůli několik let neopravené chybě v knihovně ulibc.

Pak je ještě možnost vyřešit to jinak, jako Google na svých serverech: místo vložení sekundy předchozí den postupně čas posunoval o milisekundy a žádná sekunda navíc se nikde nemohla projevit.

0 0
možnosti

neznámý pachatel

7. 7. 2012 9:15
Re: Nejde o problém, ale chybu

Ještě bych dodal, že přechod na fungl nový časový systém by znamenal masivní přeprogramovávání všeho možného. Dokážu si představit schůdnější změny.

Když už "počítačový čas", tak budiž, bez přestupných sekund, ale jinak stejný jako UTC, tedy s dělením dne na 86400 dílků, kterým se nadále říká sekundy. Ten by se od UTC postupně začal lišit o několik celých sekund a přepočet by stačilo zahrnout do systémových knihoven. Pro aplikační software, který i dnes pracuje s časovými údaji v UTC, by se nezměnilo nic nebo skoro nic.

0 0
možnosti