» »

Desetletja, stletja, tisocletja...oz. kdaj je zacela 1. dekada

Desetletja, stletja, tisocletja...oz. kdaj je zacela 1. dekada

1 2 3
4
»

nevone ::

Zakaj se pol ne zaklene tema?


Kaj pa te je zdej obsedlo? :)

o+ nevone
Either we will eat the Space or Space will eat us.

.:joco:. ::

Eh, picajzlanje okoli ene besede.
Zmede.
Če je ni, zakaj se rabi debatirat? :)

Obsolete in offtopic tale najina spotika z dj cottom.
"Is science true?"
You don't get it.
Science is the process of trying to find out what's true.

nevone ::

Tako poveš, ane.

Ni pa zato treba teme zaklepat.

:)

o+ nevone

Holy freaking crap, tale forum je res eno picajzlanje okol enih detajlov.


A si kdaj programiral? Pol bi šele vidu, kolk je računalnik picajzlast.

Drugače pa je prav da se razjasni kako in kaj. Že tako veliko čežnamo eden mimo drugega, ker se samo na pol zastopmo.

o+ nevone
Either we will eat the Space or Space will eat us.

Zgodovina sprememb…

  • spremenila: nevone ()

Lion29 ::

najbolje, da se uporabi php strtotime funkcija in flikne notri te vase "umotvore" in bo php razjasnu vse dvome enkrat za vselej :d
Founder and CTO @ Article-Factory.ai

.:joco:. ::

Pri programiranju maš prevajalnike/compilerje, debuggerje in cel kup drugih toolov, ki držijo delo programerjev na pravem tiru do cilja. Moderatorje, če češ.
Pri debatah pa po tem ko se razjasni kako in kaj, je tema ponavadi že way off topic, ključna vprašanja pa neodgovorjena. Pol pa ostanejo v debati še samo čustva, egoti, in piclajziranje.

Se pa strinjam, da too much agreement kills the debate.
"Is science true?"
You don't get it.
Science is the process of trying to find out what's true.

energetik ::

BlueRunner je izjavil:

Po analogiji digitalne ure, ki po 23:59 pokaže 24:00 namesto 00:00. Če 4.1.2011 ob pol enih zjutraj pogledaš na takšno uro, potem lahko rečeš, da je 4.1.2011 ob 24:30 in bo to še vedno 4.1.2011 ob pol enih zjutraj. Konec koncev si samo prepisal to, kar je pisalo na številčnici... Potem pa jaz poberem ta listek in si "logično" mislim, da je to bilo mišljeno 5.1.2011 ob 00:30. Bingo. Pa imamo dvoumnost, ker konteksti ni bil jasen.
Se strinjam, torej je zapis z 00:xx ustreznejši, ker ne dopušča dvoumnosti.
V pogovoru se pa itak reče toliko in toliko čez polnoč.
Sicer pa je lahko tudi izraz 15 čez 3h lahko dvoumen za polarne kraje - tam je ponoči in "podnevi" lahko tema, in obratno. Vojaška izgovorjava je pa tudi v tem primeru natančna.

BlueRunner ::

Ne glede na višino sonca nad obzorjem ljudje tam še vedno živimo po sončevem ciklu, ki ga v takšnih okoljih tudi umetno vzdržujemo. Kar pomeni, da je tam (časovno območje je tam seveda dogovorno) tudi definiran "dan" in "noč" oziroma stanji tipične budnosti in tipičnega spanja. Na ti dve stanji pa se potem vežejo naši običajni izrazi - dan, noč, jutro, popopoldne, večer, ...

So pa poli definitivno roben primer. Dobesedno roben. :))

T-h-o-r ::

praktično gledano, se drugi dan začne ob sončnem vzhodu in ne ob 00:00:01
Why have a civilization anymore
if we no longer are interested in being civilized?

imagodei ::

V bistvu je to dost nepraktično. Ker pol lahko blebetamo naprej, pa ugotavljamo, da se dan začne, ko je dost svetlo, ampak še preden vzide sonce.

Al pa mogoče trenutek po tem, ko je bilo najtemneje in se začne daniti (glej ga, še besedna zveza je takšna: "Dani se").

Pa pozimi se drug dan začne kasneje, kot poleti.

Pol pa, z za današnji čas mal sprevržene logike lahko rečemo še, da če se nov (drug) dan začne šele ob sončnem vzhodu, potem se konča s sončnim zahodom. Kar seveda velja (in je veljalo v starih cajtih), če dan deliš na svetli del dneva (dan, podnevi) in temni del dneva (noč, ponoči).

Praktično je bilo to mogoče pred nekaj stoletji, zdaj pa že dolgo časa ne več. Sploh pa ne v zadnjem času.
- Hoc est qui sumus -

Lion29 ::

kaj pol nekje na tecaju, ki se dan zacne vsakih 6 mesecev? :d
Founder and CTO @ Article-Factory.ai

ThinkPad ::

praktično gledano, se drugi dan začne ob sončnem vzhodu in ne ob 00:00:01


Ja kateri drugi dan ljuba duša?
- koledarski?
- dan kot nasprotje noči?
- drugi dan v karateju?

imagodei ::

BTW,

dan v karateju je japonska beseda za stopnjo in nima z dnevom kot takim nobene zveze.

Zatorej karatist s črnim pasom 3. stopnje v angleščini ne bo rekel, "I have third day", ampak bo rekel "I have third dan".

;)

//offtopic
- Hoc est qui sumus -

T-h-o-r ::

ThinkPad je izjavil:

praktično gledano, se drugi dan začne ob sončnem vzhodu in ne ob 00:00:01


Ja kateri drugi dan ljuba duša?
- koledarski?
- dan kot nasprotje noči?
- drugi dan v karateju?



naslednji dan, vsakič, ko vzide sonce ne nov dan :D
Why have a civilization anymore
if we no longer are interested in being civilized?

nevone ::

praktično gledano, se drugi dan začne ob sončnem vzhodu in ne ob 00:00:01


Izkaže se lahko tudi za nepraktično.

Praktično je tisto, s čemer imaš kratkoročno in dolgoročno najmanj težav pri uporabi.

V resnici imamo zaradi tega, da se svetli dan in temni dan dneva bolj pokrivata z uro že sedaj časovne pasove.

Ampak z digitalizacijo in zaradi lažje manipulacije s podatki se pojavlja vedno večja potreba po tem, da bi imeli univerzalen čas povsod na Zemlji.

Kaj bi bilo tako narobe, če bi Novo leto praznovali ob istem času? Vsem bi se ob istem času datum premaknil za en dan naprej.

Univerzalna ura in datum ni nekaj kar mora biti vezano na neke navade lokalcev. Lahko se zmenimo in ga naredimo univerzalnega.

Da pa vežeš začetek dneva na vzhajanje sonca, pa samo pomeni, da informacijsko nisi zelo pismen.

o+ nevone
Either we will eat the Space or Space will eat us.

egonk ::

nevone je izjavil:

Da pa vežeš začetek dneva na vzhajanje sonca, pa samo pomeni, da informacijsko nisi zelo pismen.


Trenuten v praksi uporabljan sistem itak ni nič boljši od tega, vsaj s stališča programiranja kode, ki manipulira s časom. Npr.: se dogovoriš z nekom za sestanek čez en mesec ob 15:00. Trenutek začetka sestanka dejansko ni točno definiran (astronomsko gledano). Kaj se lahko zalomi:

imagodei ::

Ti problemi so čisto drugega tipa, kot definiranje začetka dneva na 00:00:00 vs vsakodnevni sončni vzhod.

Vezati začetek dneva na sončni vzhod je bilo smiselno v času pred iznajdbo ure, saj je bil to eden izmed markantnih, opaznih dogodkov, ki je vsaj za ožje geografsko področje določal neko skupno časovno točko. Že na širšem geografskem področju je to lahko problem, ker npr. neka vas leži pod visoko vzpetino in se ji sončni vzhod zamakne za uro, dve, glede na druge kraje v okolici.

Drug tak opazen dogodek je sončni zahod, ki označuje konec dneva. Zato v bistvu sploh ne čudi, da je termin "dan" uporabljan tako za svetli del dneva, kot za obdobje 24 ur - zgodovinsko gledano se je dan pač končal, ko je nastopila noč in se o dnevu ni razmišljalo kot o obdobju 24 ur.

Tretji, a bistveno manj opazen dogodek, je daljšanje/krajšanje ter premikanje sence, kar pa že zahteva določeni miselni preskok. Ko ga opraviš, pa itak dobiš zametek ure ter koledarja.

Takoj ko uvedemo koledar in uro, postane ideja, da vežemo začetek dneva (v smislu obdobja 24 ur) na sončni vzhod, popolna oslarija.


Če v to razmišljanje vpeljemo še pomisleke egonk-ja, vidimo, da gre tam za čisto druge aspekte. Problem začetka sestanka in prestopne sekunde je v kontekstu sestanka privlečen za lase. Takoj, ko imaš v enačbi ljudi, je velik uspeh, če se uspejo zbrati na sestanku do 15:05. Gre za čisto koledarske probleme in probleme informiranosti.

Če je sestanek dogovorjen za 15:00 čez en mesec na znanem kraju in privzamemo, da od udeležencev lahko pričakujemo tolikšno informiranost, da bodo prestavili svoje ure, in če vsi informacijski sistemi to pravilno upoštevajo (kar se v dosedanji zgodovini premikanja ure ni pokazalo izjemen kot problem), potem je ura 15:00 čisto dovolj točno definirana. Gre za koledarske probleme, probleme informiranosti in probleme informacijskega sistema

Kar se tiče računalniških težav, so to pač - računalniški problemi. Problemi informacijskih sistemov.

V vseh takih primerih gre za probleme znotraj dogovorjenega sistema, ki nastajajo zaradi neupoštevanja pravil. Mogoče ima sistem res preveč pravil (časovni pasovi), preveč izjem (premikanje ure) in to lahko predstavlja teren za napake, a vseeno je vsaj nek sistem, na podlagi katerega lahko operiramo.

Vezati začetek dneva na sončni vzhod je pa čisto nesistemski pristop. Na tej podlagi sploh ne moreš uvesti ure, ki bi veljala na nekem geografskem področju, še manj po svetu. Kako pa dve sosednji vasi primerjata uro, če imata zaradi različne razgibanosti terena vzhod zamaknjen za 1:23 poleti, ter za 1:47 pozimi? Na katero uro pravzaprav vežeš začetek dneva? Je ob sončnem vzhodu ura 00:00:00 ali 07:00:00 ali 05:00:00? Koliko je ura v istem trenutku v sosednji vasi? V sosednji občini? V sosednji državi?

Ne ne - gre za čisto dve različni magnitudi problemov in nikakor ne velja, kot je napisal egonk, da:
Trenuten v praksi uporabljan sistem itak ni nič boljši od tega, vsaj s stališča programiranja kode, ki manipulira s časom.

Enostavno ni res. Obstoječ sistem ni brez napak, je pa vsaj sistem. Vezati start dneva na sončni vzhod ni noben sistem.
- Hoc est qui sumus -

nevone ::

Trenuten v praksi uporabljan sistem itak ni nič boljši od tega,


Že, da je še vedno slab, ampak it še korak v napačno smer je popolnoma nesmiselno.

Sicer pa mislim, da je bil tisto itak predlog bolj za šalo, kot zares. :)

o+ nevone
Either we will eat the Space or Space will eat us.

Pyr0Beast ::

Jaz ne vidim problema


Definira se cajt GMT in mir. Kake ure dol gor. Bah.

Pa greš potem v službo ob kaj pa vem 10h pa prideš domov ob 5h.

Eni na drugem koncu sveta bodo pa hodili na šiht ob polnoči. Pa kaj pol.

Ker to z GMT je taka jeba ko kakšne seminarje loviš, da ti slabo rata.
Some nanoparticles are more equal than others

Good work: Any notion of sanity and critical thought is off-topic in this place

T-h-o-r ::

nevone je izjavil:

praktično gledano, se drugi dan začne ob sončnem vzhodu in ne ob 00:00:01


Izkaže se lahko tudi za nepraktično.

Praktično je tisto, s čemer imaš kratkoročno in dolgoročno najmanj težav pri uporabi.

V resnici imamo zaradi tega, da se svetli dan in temni dan dneva bolj pokrivata z uro že sedaj časovne pasove.

Ampak z digitalizacijo in zaradi lažje manipulacije s podatki se pojavlja vedno večja potreba po tem, da bi imeli univerzalen čas povsod na Zemlji.

Kaj bi bilo tako narobe, če bi Novo leto praznovali ob istem času? Vsem bi se ob istem času datum premaknil za en dan naprej.

Univerzalna ura in datum ni nekaj kar mora biti vezano na neke navade lokalcev. Lahko se zmenimo in ga naredimo univerzalnega.

Da pa vežeš začetek dneva na vzhajanje sonca, pa samo pomeni, da informacijsko nisi zelo pismen.

o+ nevone

stvar pa je tudi takšna, da stalno, ko se ponočuje in popiva do 3., 4. ure zjutraj, se potem naslednji dan reče, "kaj si pa tej delal včeraj ponoči", nikoli pa "kaj si delal danes zjutraj" :P

Pyr0Beast je izjavil:

Jaz ne vidim problema


Definira se cajt GMT in mir. Kake ure dol gor. Bah.

Pa greš potem v službo ob kaj pa vem 10h pa prideš domov ob 5h.

Eni na drugem koncu sveta bodo pa hodili na šiht ob polnoči. Pa kaj pol.

Ker to z GMT je taka jeba ko kakšne seminarje loviš, da ti slabo rata.



zakaj pa gmt, kaj pa je narobe s katerim drugim časovnim pasom? :D
Why have a civilization anymore
if we no longer are interested in being civilized?

Zgodovina sprememb…

  • spremenilo: T-h-o-r ()

egonk ::

imagodei je izjavil:

Ne ne - gre za čisto dve različni magnitudi problemov in nikakor ne velja, kot je napisal egonk, da:
Trenuten v praksi uporabljan sistem itak ni nič boljši od tega, vsaj s stališča programiranja kode, ki manipulira s časom.

Enostavno ni res. Obstoječ sistem ni brez napak, je pa vsaj sistem. Vezati start dneva na sončni vzhod ni noben sistem.


Jaz sem dobesedno mislil glede programiranja, moje trditve veljajo s stališča programiranja kode, ki manipulira s časom. Čas ti v obeh sistemih lahko "naključno" skače gor in dol, ker ga sproti spreminjajo ljudje. Če dodaš položaj sonca na nebu, se dejansko nič ne spremeni, ker se položaj lahko izračuna vnaprej. Odstopanja se pokrijejo s prestopnimi sekundami tako kot zdaj, časovne cone bi pa tudi pokrile vse potrebe tako kot zdaj. Sistema sta... dejansko ekvivalentna. :D

egonk ::

imagodei je izjavil:

Če je sestanek dogovorjen za 15:00 čez en mesec na znanem kraju in privzamemo, da od udeležencev lahko pričakujemo tolikšno informiranost, da bodo prestavili svoje ure, in če vsi informacijski sistemi to pravilno upoštevajo (kar se v dosedanji zgodovini premikanja ure ni pokazalo izjemen kot problem), potem je ura 15:00 čisto dovolj točno definirana. Gre za koledarske probleme, probleme informiranosti in probleme informacijskega sistema


Bom dal samo en link, lahko bi jih pa dal n+1
http://www.techspot.com/news/40946-ipho...

Tisto s prestopnimi sekundami in sestanki je res nerealen primer. Sem pa ziher, da je kje že kak strežnik krešnil zaradi sekunde 60, pa niso nikoli ugotovili kaj je bilo res narobe >:D

nevone ::

časovne cone bi pa tudi pokrile vse potrebe tako kot zdaj


Ampak vezava ure vzhajanje sonca naj bi potegnila za sabo ukinitev časovnih con, kot jih imamo zdaj. Namesto tega bi bila Zemlja razdeljena na recimo metrske cone, pri čemer bi moral upoštevati še nagnjenost Zemlje. V resnici pasovi odpadejo. Uvesti moraš časovne kvadratne metre, in v vsakem od teh "con" je ura drugačna. Poleg tega ima pa še "cona" sama toliko različnih časov, kolikor jih narekuje "potovanje" sonca. Res ne razumem, čemu je to ekvivalentno.

o+ nevone
Either we will eat the Space or Space will eat us.

imagodei ::

> "Bom dal samo en link, lahko bi jih pa dal n+1"

Ja no, po eni strani je tako, da vse bolj zaupamo tehnologiji. Včasih si uro prestavil zvečer, ko si šel spat in ti je Terček pri Dnevniku povedal, da se bo premaknila ura, danes pa zaupaš mašini, da bo to naredila sama. Po drugi strani se pa to dogaja na vseh področjih - včasih so kretnice premikali ljudje, danes za to skrbi računalnik. Včasih zaradi tega pride do hudega zajeba in do tragedije z (več) sto mrtvimi, ker je pač ščurek v programu; večinoma pa ne. Večinoma funkcionira v najlepšem redu, vlak pride na cilj hitreje in učinkoviteje kot s človeško intervencijo ter brez nesreče. Načeloma tehnologija izboljšuje zanesljivost procedur, dost ziher moramo biti samo v tehnologijo.

Smo pa ljudje toleratni do zamud, ki se dogajajo v času po zamenjavi ure. It happens. Gotovo je kdo kdaj že zamudil pomemben sestanek zaradi spremembe ure, ampak konec koncev za takšen zajeb ne rabimo ravno zamenjave ure. Zgodijo se tudi že brez. In k sreči se do danes še ni zgodilo, da bi vsi ljudje na Zemlji pozabili spremeniti uro.


> "Sem pa ziher, da je kje že kak strežnik krešnil zaradi sekunde 60, pa niso nikoli ugotovili kaj je bilo res narobe"

Ne verjamem. Prestopno sekundo beležimo virtualno, vsaj kar se računalnikov tiče. V praksi se verjetno na nobeni uri (definitivno ne na računalniški uri, ki je sinhronizirana prek NTP protokola) ne pokaže 60. sekunda, ker pač nimajo take številčnice. Ura na PC-ju je sinhronizirana z NTP časom in če PC ne gre sinhronizirati ure ravno na 30.6. ali 31.12. točno ob 23:59:59, sploh ni problema. NTP čas je sicer sinhroniziran z UTC, ampak za razliko od UTC je premičen. Ko se v UTC vstavi prestopna sekunda, se NTP čas na novo sinhronizira z UTC. Ko s stališča NTP časa pogledaš v preteklost, vidiš stvari pred dodano sekundo pač eno sekundo bližje, kot so bile v resnici. IOW, Prvega januarja ob 00:00:05 se ti zdi časovni žig 31.12. ob 23:59:55 oddaljen 10 sekund. V resnici je razlika zaradi dodane prestopne sekunde 11 sekund.

Računalniki (npr. UNIX time) ne štejejo neke 60. sekunde, ampak štejejo sekunde po 1.1.1970, ob 00:00:00.000. Ko pride do prestopne sekunde, jo UNIX time sicer upošteva, ampak tako, da pač ponovi neko n-to sekundo v času. S tem celotno svojo skalo v primerjavi z UTC od te točke NAZAJ premakne za eno sekundo naprej. IOW, Unixov čas 0 (nič, Unix epoch), torej 00:00:00 na 1.1.1970 v resnici zaradi vseh dodanih prestopnih sekund po UTC-ju danes pomeni 00:00:24 na prvega januarja 1970. Ko bo dodana naslednja prestopna sekunda, bo trenutni UNIX time spet sinhroniziran z UTC, vendar bo zgodovinski Unix time zadriftal še za eno sekundo in bo njegov čas 0 zamaknjen na 00:00:25 1.1.1970.

Skratka računalniki ne obračunajo 60. sekunde kot take, ampak 2x štejejo neko n-to sekundo. Zaradi tega lahko prihaja do zmede pri kakih logih, saj se ne sinhronizirajo vse naprave po svetu hkrati. V bistvu, če se ti računalnik sinhronizira z NTP časom 1x mesečno in se je zadnjič npr. nekaj ur pred dodano prestopno sekundo, zanjo pač tvoj računalnik ne bo vedel skoraj cel mesec. (Ampak itak ti bo ura zdriftala zaradi drugih razlogov za dost večjo številko, tako da je tista prestopna sekundica še najmanjši problem).
- Hoc est qui sumus -

Zgodovina sprememb…

  • spremenil: imagodei ()

egonk ::

nevone je izjavil:

časovne cone bi pa tudi pokrile vse potrebe tako kot zdaj


Ampak vezava ure vzhajanje sonca naj bi potegnila za sabo ukinitev časovnih con, kot jih imamo zdaj. Namesto tega bi bila Zemlja razdeljena na recimo metrske cone, pri čemer bi moral upoštevati še nagnjenost Zemlje. V resnici pasovi odpadejo. Uvesti moraš časovne kvadratne metre, in v vsakem od teh "con" je ura drugačna. Poleg tega ima pa še "cona" sama toliko različnih časov, kolikor jih narekuje "potovanje" sonca. Res ne razumem, čemu je to ekvivalentno.


Odvisno je od natančnosti, ki jo hočeš. Če hočeš podobno kot jo imaš sedaj (poenostavljeno 24 pasov SJ), potem ne bo res toliko več con kot je že. "Na uč" ne bi smelo biti več od kvadrata števila SJ pasov, verjetno je pa razmerje bistveno šibkejše. Malo se zaplete proti poloma, ampak tam tudi običajne časovne cone ne delujejo ravno dobro. Kdor hoče računati pa naj :D

nevone ::

Odvisno je od natančnosti, ki jo hočeš. Če hočeš podobno kot jo imaš sedaj (poenostavljeno 24 pasov SJ), potem ne bo res toliko več con kot je že. "Na uč" ne bi smelo biti več od kvadrata števila SJ pasov, verjetno je pa razmerje bistveno šibkejše. Malo se zaplete proti poloma, ampak tam tudi običajne časovne cone ne delujejo ravno dobro.


Časovne cone kot jih imamo zdaj, pač povezuje med sabo področja na katerih naj bi vsak trenutek vsakemu ura kazala enako. Tudi ko sonce preko leta spreminja čas vzhajanja, imamo ure nastavljene enako, da sploh lahko komuniciramo glede časa med sabo. Tudi če tistemu na zahodu cone sonce vzide kasneje, kot tistemu na vzhodu, imata uri naravnani enako.

Če pa vežeš na dejansko vzhajanje sonca pa imaš, če že drugega ne, nagnjenost Zemlje, ki ti v vsaki coni, ki jo definiraš, povzroči dinamičen čas, ki ga moraš prilagajat glede na vzhajanje sonca.

Bi se to seveda dalo avtomatizirati, ampak vprašanje kakšne koristi sploh imaš od tega, razen en zanimiv aspekt, ki ga pa vedno lahko izpelješ tudi če imaš univerzalen čas po vsej zemeljski obli.

o+ nevone
Either we will eat the Space or Space will eat us.

egonk ::

nevone: boma raje nehala, itak se oba strinjava, da je stvar v praksi neumnost

imagodei je izjavil:

>"Sem pa ziher, da je kje že kak strežnik krešnil zaradi sekunde 60, pa niso nikoli ugotovili kaj je bilo res narobe"

Ne verjamem. Prestopno sekundo beležimo virtualno, vsaj kar se računalnikov tiče. V praksi se verjetno na nobeni uri (definitivno ne na računalniški uri, ki je sinhronizirana prek NTP protokola) ne pokaže 60. sekunda, ker pač nimajo take številčnice. Ura na PC-ju je sinhronizirana z NTP časom in če PC ne gre sinhronizirati ure ravno na 30.6. ali 31.12. točno ob 23:59:59, sploh ni problema. NTP čas je sicer sinhroniziran z UTC, ampak za razliko od UTC je premičen. Ko se v UTC vstavi prestopna sekunda, se NTP čas na novo sinhronizira z UTC. Ko s stališča NTP časa pogledaš v preteklost, vidiš stvari pred dodano sekundo pač eno sekundo bližje, kot so bile v resnici. IOW, Prvega januarja ob 00:00:05 se ti zdi časovni žig 31.12. ob 23:59:55 oddaljen 10 sekund. V resnici je razlika zaradi dodane prestopne sekunde 11 sekund.

...

Skratka računalniki ne obračunajo 60. sekunde kot take, ampak 2x štejejo neko n-to sekundo.

...


Oba verjetno veva, da je ponovitev sekunde lahko problem v slabih okoliščinah. Sem dol potegnil Olson TZ 2008e in kaj je v leapseconds:
Leap 2008 Dec 31 23:59:60 + S

Torej prestopna sekunda v prihodnosti. Če imaš nesrečo in uporabljaš časovno knjižnico, ki zna uporabiti Olson TZ in ne uporabljaš npr. glajenje prehoda, lahko komot narediš bum s kakimi timerji ipd. Priznam pa, da nisem šel dejansko testirati kako se obnaša Olson tzcode, primerjat z glibc itd.

Mogoče še ena opomba, prestopna sekunda se zgodi samo enkrat po UTCju, kar je sredi dneva kje drugje:

imagodei ::

egonk,

moj point je, da nek unix/linux server ali tudi microsoft server ne naleti na 60. sekundo. Interni timer nima pojma, da se nekje zunaj dogaja prestopna sekunda. Dodajanje prestopne sekunde je programsko, s tem da timer v nekem trenutku resetiraš nazaj za eno sekundo. IOW, ko je na timerju neka n-ta sekunda in šteje milisekunde do 999, namesto da bi timer pokazal sekundo (n+1).000, ga nastaviš nazaj na trenutek (n).000.

S tem seveda dobiš v različnih logih čudne zapise, ki odražajo to ponastavitev ure. Ker vsi serverji (in ostale omrežne naprave) verjetno ne sinhronizirajo ure v istem trenutku, dobiš odstopanja tudi tu - če bi analiziral nek omrežni dogodek, bi videl neujemanje v logih med različnimi napravami.

Hudo pa dvomim, da je katera koli resna aplikacija tako zelo vezana na spremembo ure, da bi vsula celoten strežnik. Sinhronizacije ure (npr. v Windows domenskem okolju, ali preko NTP protokola) so nekaj povsem običajnega in s stališča internega timerja ni nič drugače, če sinhroniziraš uro zaradi prestopne sekunde, ali pa enostavno zato, ker imaš v crontabu schedulano NTP sinhronizacijo 1x dnevno, ker pač tvoj server brez sinhronizacije vsak dan zadrifta za +/-3 sekunde.
- Hoc est qui sumus -

Zgodovina sprememb…

  • spremenil: imagodei ()

egonk ::

imagodei je izjavil:

moj point je, da nek unix/linux server ali tudi microsoft server ne naleti na 60. sekundo. Interni timer nima pojma, da se nekje zunaj dogaja prestopna sekunda. Dodajanje prestopne sekunde je programsko, s tem da timer v nekem trenutku resetiraš nazaj za eno sekundo. IOW, ko je na timerju neka n-ta sekunda in šteje milisekunde do 999, namesto da bi timer pokazal sekundo (n+1).000, ga nastaviš nazaj na trenutek (n).000.


Nisem mislil explicitno OS/kernel, bolj na glavno aplikacijo gor. Vprašaš tega prijaznega možaka kako narediš relativen wait:
http://cygwin.ru/ml/libc-alpha/2002-02/...

Ko implementiraš timer, imaš lahko nesrečo, da nekje vmes motoviliš s časovnimi razlikami. Če imaš preskok časa nazaj in unsigned int spremenljivko, se ti recimo zgodi, da potem čakaš na nekaj malo pod UINT_MAX. Na srečo se je master glibc-ja malo umiril in danes lahko uporabljaš CLOCK_MONOTONIC, ki nič ne skače.

imagodei je izjavil:

Hudo pa dvomim, da je katera koli resna aplikacija tako zelo vezana na spremembo ure, da bi vsula celoten strežnik. Sinhronizacije ure (npr. v Windows domenskem okolju, ali preko NTP protokola) so nekaj povsem običajnega in s stališča internega timerja ni nič drugače, če sinhroniziraš uro zaradi prestopne sekunde, ali pa enostavno zato, ker imaš v crontabu schedulano NTP sinhronizacijo 1x dnevno, ker pač tvoj server brez sinhronizacije vsak dan zadrifta za +/-3 sekunde.


“Leap Second” Hits Oracle

Zgodovina sprememb…

  • spremenil: egonk ()

imagodei ::

> "Ko implementiraš timer, imaš lahko nesrečo, da nekje vmes motoviliš s časovnimi razlikami. Če imaš preskok časa nazaj in unsigned int spremenljivko, se ti recimo zgodi, da potem čakaš na nekaj malo pod UINT_MAX. Na srečo se je master glibc-ja malo umiril in danes lahko uporabljaš CLOCK_MONOTONIC, ki nič ne skače."

Prestopna sekunda se zgodi najverjetneje (vsaj do sedaj se je vedno dodajala) na 30.junija in 31.decembra ob 23:59:59 UTC. Ni 100% zanesljivo, da se kdaj v prihodnosti ne bo dodala na kak drug datum, se pa problema rešiš, če okoli polnoči ne "motoviliš s časovnimi razlikami".

Bistveno pogostejši dogodek je običajna sinhronizacija ure z NTP strežnikom. Običajno na serverjih sinhroniziraš vsaj 1x tedensko, če ne pogosteje. Na kakih res pomembnih serverjih se sinhronizira čas tudi večkrat dnevno.

Vztrajam, da interni timer na plati, posledično pa tudi OS/kernel timer nikoli ne izve za neko 60. sekundo kot tako. Timer se za eno sekundo zacikla in to je to - pa še to le v primeru, da sinhroniziraš ob polnoči na tisti dan, ko dejansko pride do prestopne sekunde. Če ne sinhroniziraš točno v tistem trenutku, se kasnejša razlika med lokalnim časom na računalniku ter NTP (UTC) korigira kot čisto običajen drift.

Pri običajni NTP sinhronizaciji, kjer je ura na računalniku npr. 13:33:45, prava ura pa je 13:33:44, se ura po sinhronizaciji prav tako prestavi za eno sekundo nazaj, kot pri vstavljanju prestopne sekunde. Windows ne v primeru prestopne sekunde, ne v primeru normalnega popravka drifta ure zaradi netočnosti kvarca na mamaplati, ne dojame dodatne sekunde kot neko 60. sekundo. Enostavno sprejme popravek ure zdravo za gotovo in se ne obremenjuje.

Se strinjam s tabo, da v nekaterih primerih iz tega naslova lahko pride do težav zaradi timerjev v aplikacijah, ampak še enkrat, prestopne sekunde so najmanjši problem in se dogajajo programirano, napovedano in ob točno znanih terminih. Leap sekunde niso noben bavbav. V skrajni sili okoli polnoči izklopiš timerje, če so zadeve toliko občutljive.

Če se ukine prestopne sekunde, je treba najti en ustrezen mehanizem za reševanje razlik med solarnim časom in UTC. Če bi se na cca stoletje vstavljalo 1 minuto, bi tudi to predstavljalo svoje težave, ki bi bile že tudi bolj opazne, pa še vedno bi imeli odstopanje od solarnega časa.
- Hoc est qui sumus -

ahac ::

T-h-o-r je izjavil:

stvar pa je tudi takšna, da stalno, ko se ponočuje in popiva do 3., 4. ure zjutraj, se potem naslednji dan reče, "kaj si pa tej delal včeraj ponoči", nikoli pa "kaj si delal danes zjutraj" :P


Ampak stvar je tudi takšna:
Če si lani rekel: "Letos bom veliko smučal" in s tem mislil na celo zimsko sezono 2010/2011, to še ne pomeni, da se novo leto začne šele spomladi.
Oz. če zdaj bi rekel: "Letos pa malo smučam, ker je zanič vreme" in bi s tem spet mislil na celo zimsko sezono 2010/2011, ampak to ne pomeni, da se je novo leto začelo že na začetku zime. ;)
Slo-Tech Discord - https://discord.gg/ppCtzMW

nevone ::

Seveda, tukaj obravnavamo koledarsko leto in njegov začetek.

Imaš pa še druga leta, ki se začenjajo v različnih obdobjih. Šolsko leto se začne 1.9., recimo.

Ampak vse to mora biti vezano na nek univerzalen čas/koledar, potem pa v okviru tega lahko delaš poljubne začetke in konce intervalov časa.

o+ nevone
Either we will eat the Space or Space will eat us.

egonk ::

imagodei je izjavil:

Vztrajam, da interni timer na plati, posledično pa tudi OS/kernel timer nikoli ne izve za neko 60. sekundo kot tako. Timer se za eno sekundo zacikla in to je to - pa še to le v primeru, da sinhroniziraš ob polnoči na tisti dan, ko dejansko pride do prestopne sekunde. Če ne sinhroniziraš točno v tistem trenutku, se kasnejša razlika med lokalnim časom na računalniku ter NTP (UTC) korigira kot čisto običajen drift.


Če imaš multi-threaded program iz recimo leta 2005 na linuxu, ne smeš poganjat NTP, da dela skoke (nazaj). Moraš pustiti, da ntpd počasi popravlja čas. To je zaradi tega, ker si bil prisiljen uporabljati CLOCK_REALTIME v takratni implementaciji POSIX threadov. Če nisi imel problemov, si imel preprosto srečo. Jaz sem videl v živo kreše in obese. CLOCK_MONOTONIC pa mislim da uporabi interni števec ciklov od trenutnega jedra.
1 2 3
4
»


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Slovenija imela 2,6 % gospodarsko rast - najvišjo v EU (strani: 1 2 )

Oddelek: Problemi človeštva
6918268 (15601) ohnowhy
»

Usoda narodov in bitka za preživetje

Oddelek: Problemi človeštva
335418 (4127) vostok_1
»

Odkrita namembnost mehanizma iz Antikythere (strani: 1 2 )

Oddelek: Novice / Znanost in tehnologija
5712472 (6947) MrStein
»

Za silvestrovo modra luna in mrk

Oddelek: Novice / Znanost in tehnologija
314634 (3258) Matev
»

So našli ATLANTIDO ali ne? (strani: 1 2 3 4 5 6 )

Oddelek: Loža
26618051 (15011) GaPe

Več podobnih tem