4 ms·
Pick Two. A. A day is divided into a fixed number of smaller units. B. Each smaller time unit is of a fixed physical duration. C. The day cycle cor
by billpg 2y ago
Pick Two.
A. A day is divided into a fixed number of smaller units.
B. Each smaller time unit is of a fixed physical duration.
C. The day cycle corresponds to the cycle of the solar day on Earth.
TAI picks A and B, allowing the solar cycle to drift from the time.
UTC picks B and C, adding leap seconds to keep track with Earth's solar day cycle.
UT1 picks A and C, redefining the "second" to the changing rate of earth's solar day cycle.
- FabHK 2y agoGlad to see that this is being understood now. https://news.ycombinator.com/item?id=28047376 https://news.ycombinator.com/item?id=28047376 https://news.ycombinator.com/item?id=29926509 https://news.ycombinator.com/item?id=29926509
- bxparks 2y agoAnd I guess POSIX tries to pick all three, at least most of the time. It follows UTC mostly, except during leap seconds when it changes the duration of a POSIX-second to be 2 SI-seconds (positive leap second) or 0 SI-seconds (negative leap second).
- amiga386 2y agoPOSIX time_t picks A and C. 99.999998% of time_t ticks from 1970 until now have been 1 second long. 27 have been 2 seconds long. Therefore B ("each smaller time unit is of a fixed physical duration") is the variant.
- bloppe 2y agoActually, this sort-of describes "smeared UTC", which is used by some computer systems such as Google's NTP servers: https://developers.google.com/time/smear https://developers.google.com/time/smear POSIX time does not generally work that way. It may seem that way for 1-second resolution timestamps, but at higher resolutions (say millisecond resolution), the clock does not completely stop. It keeps going, jumps backward 1 second, then continues.
- amiga386 2y agoI think you're talking about struct timespec, I'm talking about time_t. I don't think "POSIX time" specifies behavior during leap-seconds for the functions that return timespecs (gettimeofday() [0] and clock_gettime(CLOCK_REALTIME) [1]), so any behaviour would be valid - including smearing or repeating nanoseconds? [0] https://pubs.opengroup.org/onlinepubs/9699919799/functions/gettimeofday.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/g... [1] https://pubs.opengroup.org/onlinepubs/9699919799/functions/clock_gettime.html https://pubs.opengroup.org/onlinepubs/9699919799/functions/c...
- RedNifre 2y agoDoesn't it only pick C? Negative leap seconds make POSIX time skip a second.
- amiga386 2y agoPOSIX time_t still ticked, but the interval between the ticks was 0s, rather than 1s or 2s. It preserves A (exactly 86400 ticks per calendar day) and C (remains in alignment with UTC) by abandoning B (each tick has a fixed duration)
- brewmarche 2y agoOne could also make ticks on such a day last 86400/86401 or 86400/86399 seconds, keeping the tick duration fixed but only for a given day (a relaxed version of B)
- dexwiz 2y agoAnother way to think about it is that UTC is a combination of UT1 and TAI. It’s kept within 1 second of UT1 and is always a fixed integer offset from TAI. TAI is an absolute time based on atomic vibrations. UT1 is a relative time based on astrometric systems.
- bloppe 2y agoIt's not a fixed offset from TAI. The offset changes every time there's a leap second. Also, there is no such thing as absolute time, because of relativity. We take pains to account for this by only measuring TAI on the Earth's geoid, but even so the uncertainty never reaches zero. Two "stationary" atomic clocks on the geoid are expected to drift by about a second every billion years or so. Sure, that's pretty good, but definitely no "absolute". When you really think about it, the cesium atom and the earth's day/night cycle are both equally valid clocks. But the cesium atom measures time more similarly to the way we perceive time on a small scale. But, of course, our lives are scheduled based on the day/night cycle. So they both matter. UTC is the way we reconcile the two.
- deleted 2y ago[deleted]
- StableAlkyne 2y ago> A. A day is divided into a fixed number of smaller units. > B. Each smaller time unit is of a fixed physical duration This just gave me Timecube flashbacks
- bloppe 2y agoYa, and Unix time decided they could fool people into thinking they had all 3, and as a result, every couple of years, time "jumps backward" by one second. It's hands down the worst option to use as the basis for a computing system that needs accurate timestamps, and it's made software developers really resent leap seconds. Now the BIPM decided to "get rid" of leap seconds in UTC a couple years ago. I hope they come to their senses before 2035 when the change takes effect. Here's what will happen: Rather than inserting a leap second every 1-2 years to keep UTC in sync with solar time, they plan to defer the problem to once every 100 or so years, and just insert like 50 leap seconds all at once. Think about that for a second. If leap seconds are so bad, how in the hell is the world going to deal with 50 of them at once after a century of oblivious complacency? They won't. They'll just say "Look, it's not worth it to have leap seconds in UTC anymore". Then, UTC will forever be just a constant offset away from TAI. But we already have TAI. Why not just use TAI as your "source of truth", and let UTC be UTC? We'll have to introduce a new system to take the place of UTC and be in-sync with solar time; like how UTC used to be.
- nemetroid 2y agoIf we wait until UTC and UT1 differ by one hour, dealing with the adjustment will be no more difficult than dealing with time zones.
- moefh 2y agoI thought that was the plan when they decided to give up on leap seconds. I don't get the insistence on keeping nominal seconds-alignment (or even minutes-alignment) between the clock and the sun's position; we already don't experience it in practice. Timezone regions are fudged all over the world[1] for political and practical reasons, but even if they weren't, people living near one timezone edge don't experience the "sun noon" at the same time as people living near the other edge, even though they share the same clock time. [1] just look at the map here: https://en.wikipedia.org/wiki/Time_zone https://en.wikipedia.org/wiki/Time_zone
- bloppe 2y ago
- ripe 2y agoJust came here to say that I like your explanation: succinct and correct. I am stealing it for my blog post. https://robotsinplainenglish.com/e/2022-11-20-stopwatch-time.html https://robotsinplainenglish.com/e/2022-11-20-stopwatch-time...