News for hackers. Stuff that matters.
Re:Falsehoods programmers believe about Unix time by speleo_engr on Wednesday May 15, 2019 @02:42PM (#19922423)
I read articles like this and come to the conclusion that UTC is flawed, not Unix time. Leap seconds seem mostly useless. People seem to think they are important for astronomy, but for every astronomical calculation I have ever done, your first step is converting from UTC to TAI. Move any jumps in time to once a century (or millennium). Such jumps have occurred in the past (Julian to Gregorian) and are easy to handle programmatically. People think time increases monotonically and it's confusing to push it any other way.

The idea that I don't know how many UTC seconds will pass between now and May 15, 2022 0:00:00 is absurd. The fact that a clock sometimes reads 23:59:60 is also absurd, as is the "possibility" of a 23:59:59 being a forbidden time on a certain date if we ever add a leap second of the opposite sign.

Re:Falsehoods programmers believe about Unix time by endymi0n on Wednesday May 15, 2019 @03:18PM (#19922750)
Well, the problem with this is that every simplistic view at time is... well... too simple. It's not that many people haven't tried, I especially like this article: https://qntm.org/abolish

That being said, why your approach doesn't work is that there are several hard astronomical or cultural definitions that you'd throw off by playing with time.

A day is defined as the rotation of the earth around its axis.

A week is a hard cultural and religious boundary for just about everything in life.

A month is roughly the rotation of the moon around the earth (although that definition is arguably the weakest and ready to go)

A year is defined as the rotation of the earth around the sun.

Changing any of these will make the summer drift into the winter, or the night into the day, or whatever.

Time just isn't simple, and although most of these intervals _almost_ fit within each other, reality is that they don't and we'll always have artifacts.

If you enjoy philosophy on these kinds of imperfections as much as I do, I can heavily recommend this article about musical tuning: https://blogs.scientificamerican.com/roots-of-unity/the-sadd...

Re:Falsehoods programmers believe about Unix time by planteen on Wednesday May 15, 2019 @03:30PM (#19922870)
Your article is about time zones, not leap seconds?

The US has put forth a proposal to abolish leap seconds. It is now supported by China, Australia, Japan, and South Korea. The ITU keeps punting on actually voting on it - it's now scheduled for 2023.

https://en.wikipedia.org/wiki/Leap_second

A day already drifts... every single day in fact. Why is 0.9 sec the magic threshold for maximum drift? Why can't it be 1 minute of drift, or 1 hour of drift? We are putting out problematic corrections for something a minor drift on the scale of years that should be happening on the scale of centuries or millennia in my opinion.

Re:Falsehoods programmers believe about Unix time by endymi0n on Wednesday May 15, 2019 @03:41PM (#19922979)
That's interesting, I stand corrected. TIL that it's actually a heavily disputed topic and much less clear than I painted it, I had quite a different impression before — thanks!
Re:Falsehoods programmers believe about Unix time by reitanqild on Wednesday May 15, 2019 @05:31PM (#19923977)
Happy to see it is not just me that enjoy getting rid of my ignorance : )
Re:Falsehoods programmers believe about Unix time by lutorm on Wednesday May 15, 2019 @04:30PM (#19923437)
It's a lot easier to test and prepare for something that occurs at least semi-regularly than a monumental event far into the future that is "so far into the future we don't have to worry about it"....
Re:Falsehoods programmers believe about Unix time by wmf on Wednesday May 15, 2019 @05:38PM (#19924041)
If we abolish leap seconds (and any other changes to UTC) and let the error accumulate until it hits 30 minutes then a 1-hour time zone change can adjust for it. Time zone changes happen at least semi-regularly so it wouldn't be monumental.
Re:Falsehoods programmers believe about Unix time by tinus_hn on Thursday May 16, 2019 @07:02PM (#19934336)
It would take millennia for such an error to accumulate. Leap seconds are inserted less than once a year and 30 minutes is 1800 seconds.
Re:Falsehoods programmers believe about Unix time by bloak on Friday May 17, 2019 @09:51AM (#19939564)
Falsehoods programmers believe about leap seconds: 1. The rate at which leap seconds are inserted will remain roughly constant. [...]

The Earth's rotation is slowing down (by about 2 ms per day per century), so the difference between TAI and UT1 is increasing quadratically, not linearly.

Re:Falsehoods programmers believe about Unix time by quickthrower2 on Wednesday May 15, 2019 @11:04PM (#19925802)
Wouldn’t that move the international date line?
Re:Falsehoods programmers believe about Unix time by wmf on Thursday May 16, 2019 @12:29AM (#19926125)
I guess so, but I don't know why that matters.
Re:Falsehoods programmers believe about Unix time by beojan on Thursday May 16, 2019 @07:53AM (#19928084)
The international date line isn't straight in order to avoid land. Moving it would be problematic.
Re:Falsehoods programmers believe about Unix time by killjoywashere on Thursday May 16, 2019 @08:19AM (#19928230)
think of it as ordinal: you're shifting left 1 unit, not moving the line, per se.
Re:Falsehoods programmers believe about Unix time by thefringthing on Thursday May 16, 2019 @09:07AM (#19928621)
Still matters because some places want to make sure it's the same day (according to their local reckoning) as it is somewhere else in particular (usually a major trading partner).
Re:Falsehoods programmers believe about Unix time by beojan on Thursday May 16, 2019 @09:53AM (#19929047)
Or the next town over.
Re:Falsehoods programmers believe about Unix time by beojan on Sunday May 19, 2019 @02:23AM (#19951779)
The other boundaries are a lot straighter.

Imagine what would happen when the International Date Line ends up in the middle of the US.

Re:Falsehoods programmers believe about Unix time by nine_k on Wednesday May 15, 2019 @11:35PM (#19925938)
1 minute of drift seems fine. 1 hour of drift is rather noticeable.

If the drift is about 0.5 second per year, about a minute of drift will have to be compensated on a century border.

Re:Falsehoods programmers believe about Unix time by bradknowles on Wednesday May 15, 2019 @04:29PM (#19923430)
The third principle of Continuous Delivery is "If something is difficult or painful, do it more often".

So, if leapseconds are actually painful for you, then maybe we need to contemplate making this kind of adjustment on a finer timescale, like milliseconds.

OTOH, if you think leapseconds are painful now, just you wait until you postpone this pain and do it even less frequently.

Re:Falsehoods programmers believe about Unix time by twic on Wednesday May 15, 2019 @05:39PM (#19924049)
That principle is more of a koan than actual concrete advice.

For example, deleting your entire codebase and firing all your developers is painful, but even the most continuous deliverer wouldn't advise you to do that more often.

Re:Falsehoods programmers believe about Unix time by _jal on Wednesday May 15, 2019 @07:51PM (#19924913)
Do you also pee in front "wet floor" signs?

Getting past pedantry, the advice is obviously about foreseeable, repeating parts of normal business, and it applies to more than devops.

A long time ago (tail end of the "desktop publishing revolution"), I was a production assistant, and then manager at a magazine. We published six times a year. Towards the end of my first year there, I realized we had the same problems, right down to our Advertising Director's emotional meltdown, every. single. issue.

After getting to know folks working at other magazines and people at our press, I noticed that the monthlies seemed to run smoother with less drama, and the weeklies were even better at it. Eventually I realized it was because they had to be. If there was some minimum amount of human drama that had to happen, it was forced into exhibitions that didn't disrupt the (tight) schedules. If last-minute changes from flakey advertisers came in, they didn't cause a firedrill, they just didn't run, because that issue is already on the press and we're talking about the issue after next now. And so on.

The general principle is actually very straightforward, and applicable all over the place, including your personal life. If you have high-friction processes, devoting time and attention to them is the way you make them lower-friction processes. And while it may be possible to do that without doing things over and over until you get there, it probably is not possible for you to get there without repetition, else you'd not have the problem in the first place.

Re:Falsehoods programmers believe about Unix time by saagarjha on Wednesday May 15, 2019 @07:53PM (#19924918)
Doesn't every company do this slowly as they replace code and developers?
Re:Falsehoods programmers believe about Unix time by planteen on Wednesday May 15, 2019 @05:14PM (#19923832)
> So, if leapseconds are actually painful for you, then maybe we need to contemplate making this kind of adjustment on a finer timescale, like milliseconds.

That is what a lot of organizations do, "smearing" the leap second since they know their systems can't handle the discontinuity. I think this shows that software has failed in general at handling leap seconds correctly. As another said, I think leap seconds are unnecessary complexity with the frequency at which they happen.

Re:Falsehoods programmers believe about Unix time by ycombobreaker on Thursday May 16, 2019 @02:21AM (#19926632)
On the contrary, I think that the smearing behavior is an indication that leap seconds poison an otherwise-useful model of reality. The discontinuity is an annoying edge case driven by the fact that "time error" accumulates, so it seems to me that that a 1-day smear is a more natural approximation than an instantaneous discontinuity. That, and tuned for the attention span of human organizations.
Re:Falsehoods programmers believe about Unix time by faho on Wednesday May 15, 2019 @04:43PM (#19923571)
>The third principle of Continuous Delivery is "If something is difficult or painful, do it more often".

That only works assuming you need to do it at all.

If leap seconds are useless (to the majority of users) or insufficient, not doing them is preferable to doing them constantly.

Re:Falsehoods programmers believe about Unix time by taneq on Wednesday May 15, 2019 @07:10PM (#19924678)
That third principle is about facing (and implicitly, automating) your difficult-but-necessary processes. Outside of that narrow scope it's terrible advice. Being in a car crash and converting a country from one system of units to another are both difficult and painful and you should do either as seldom as possible.
Re:Falsehoods programmers believe about Unix time by indigo945 on Wednesday May 15, 2019 @06:22PM (#19924362)
The obvious correction is to change the duration of a second such that a year is exactly $integer seconds long. While this will make the duration of second drift from year to year, that drift is so small that everyday devices like consumer-grade computers could just ignore it, provided they're NTP synced once every five years or so. Physicists can just keep using whatever they're using and call it by a different name. Ideal solution all-around.
Re:Falsehoods programmers believe about Unix time by taneq on Wednesday May 15, 2019 @07:14PM (#19924703)
The core issue is that the number of days per year is messy, so it's not possible to have a 'nice' number of seconds in a day and also in a year.

The best solution is probably just to use a nice number of seconds per day and accept the fact that in 100ish years summer will start in March, not December. It's not like we need to build our entire society around planting and harvest any more.

Re:Falsehoods programmers believe about Unix time by macspoofing on Wednesday May 15, 2019 @07:35PM (#19924813)
That's not anywhere close to "the best solution"
Re:Falsehoods programmers believe about Unix time by taneq on Wednesday May 15, 2019 @07:48PM (#19924892)
This discussion isn't going to be very meaningful unless you wanna tell us what 'best' means to you.
Re:Falsehoods programmers believe about Unix time by not_kurt_godel on Thursday May 16, 2019 @01:04AM (#19926284)
Are we to infer that your lack of criteria for "best" in your own post means that it too is meaningless? You made a breath-taking leap going from {our society isn't as dependent on planting and harvesting anymore} to {therefore it's "probably best" to radically alter universal concepts of temporality to partially solve an obscure technical problem}. Methinks the burden on proof lies firmly in your court on this one.
Re:Falsehoods programmers believe about Unix time by taneq on Thursday May 16, 2019 @01:57AM (#19926520)
I'm not the one arguing with a statement in that post.
Re:Falsehoods programmers believe about Unix time by macspoofing on Wednesday May 15, 2019 @08:34PM (#19925122)
That's fair. I simply can't see the best solution relying on getting rid of deeply ingrained culutural norms that span thousands of years.
Re:Falsehoods programmers believe about Unix time by pure-awesome on Thursday May 16, 2019 @06:14AM (#19927639)
March is already summer here (Southern Hemisphere). We have all sorts of weird eccentricities due to "cultural norms" (we use snowflakes on our Christmas cards in mid-summer, whereas the Steam Summer Sale happens mid-winter).

Not to mention with climate change, we're probably going to have to deal with many other changes in season etc. anyway.

All of us deal with the fact that the day gets shorter and longer every year anyway (and daylight savings didn't seem to be a terribly good solution).

I think having the seasons slowly drift is a non-issue, provided it's just slow enough to not be noticeable from year to year.

Re:Falsehoods programmers believe about Unix time by taneq on Thursday May 16, 2019 @02:06AM (#19926557)
Yeah, I can see that being an issue, at least until a decent proportion of humanity lives off-world. I can't see people living in the asteroid belts adding arbitrary leap-seconds.

Of course, once you start dealing with astronomical distances and speeds, the whole concept of a single universal measure of time kind of goes out the window anyway so it's probably going to get worse, not better. :P

(FWIW my definition of 'best' here is something along the lines of 'simple, no special rules or tinkering, gets translated to a human-readable local time on demand'. Which is pretty much how Unix epoch works, come to think of it.)

Re:Falsehoods programmers believe about Unix time by ycombobreaker on Thursday May 16, 2019 @02:25AM (#19926655)
Yes... let's let future asteroid dwellers solve their own problems, which will be as much cultural as technical. Today's elegant universal solution is sometimes tomorrow's Esperanto: perfectly useless.
Re:Falsehoods programmers believe about Unix time by nicky0 on Thursday May 16, 2019 @01:50AM (#19926490)
But we do build our entire society around sports seasons.
Re:Falsehoods programmers believe about Unix time by m1el on Wednesday May 15, 2019 @03:27PM (#19922839)
> Well, the problem with this is that every simplistic view at time is... well... too simple. It's not that many people haven't tried, I especially like this article: https://qntm.org/abolish

This has nothing to do with leap seconds. Leap seconds are the worst mechanism in keeping time, there's not a single advantage to having leap seconds.

> A day is defined as the rotation of the earth around its axis.

And we can now measure time with precision high enough that tying to Earth's rotation is not acceptable. We can still use timezones to fix the shift.

> Changing any of these will make the summer drift into the winter, or the night into the day, or whatever.

Yeah, and it will take a millennium for Earth rotation to shift enough for people to notice it. On the other hand, you'd have no problem with summer/winter time I presume?

Re:Falsehoods programmers believe about Unix time by endymi0n on Wednesday May 15, 2019 @03:37PM (#19922943)
> Yeah, and it will take a millennium for Earth rotation to shift enough for people to notice it. On the other hand, you'd have no problem with summer/winter time I presume?

No, I don't, as they are just views on a monotonically increasing time scale named UTC that keeps up with Earth's rotation, so that every single thing from climate diagrams to everything else humanity is syncing on keeps working and being comparable.

> We can still use timezones to fix the shift.

Or, we could not do that. Everyone is free to use TAI inside their own projects as they see fit if they have the needs for strictly monotonically increasing time. I would argue that leap second smearing has way less artifacts in practice than bolting time zones onto a shifting UTC time.

Re:Falsehoods programmers believe about Unix time by ClassyJacket on Wednesday May 15, 2019 @06:10PM (#19924280)
"Changing any of these will make the summer drift into the winter, or the night into the day, or whatever."

Leap days, sure.

Leap seconds - as the article points out, there have only been 27 so far since 1970. Less than a minute per century isn't much drift, and could be corrected in a bigger block later.

Re:Falsehoods programmers believe about Unix time by msla on Wednesday May 15, 2019 @04:03PM (#19923168)
> A day is defined as the rotation of the earth around its axis.

When you get into the world of programming for most people, businesses especially, a day is defined as 24 hours. We like to think that our days and months and years are tied to vast astronomical forces, for romantic reasons, but when it comes down to it, everything comes back to the second, and the second is defined to be a single unvarying length of time.

Re:Falsehoods programmers believe about Unix time by FabHK on Wednesday May 15, 2019 @06:19PM (#19924337)
Well, depends.

In TAI: A day is 24 hours (86400 seconds always), and a second is a SI second.

In UTC: A day is a rotation of the earth, and a second is a SI second. (And since these are incompatible, we have to introduce leap seconds).

In UT1: A day is a rotation of the earth, and a second is 1/86400 of a rotation of the earth.

Julia, interestingly, uses the UT1 notion, thus avoiding leap seconds, IIRC.

Re:Falsehoods programmers believe about Unix time by msla on Wednesday May 15, 2019 @07:02PM (#19924634)
My point is this: Most people don't know about UTC/TAI/UT1 or any other standard. They know what's common knowledge, and what's common knowledge is that one day is 24 hours precisely, one hour is sixty minutes precisely, and one minute is sixty seconds precisely. Therefore, when writing software to interface with most people, including businesses with contracts defined in terms of those time definitions, one day is 24 hours or else you end up with problems.
Re:Falsehoods programmers believe about Unix time by FabHK on Friday May 17, 2019 @05:36PM (#19943799)
That's why I advocate using UT1 in programming (like Julia), where all of the above is true. The cost we pay for that is that a UT1 second is not exactly a SI second, but I don't see how that matters except in GPS etc.
Re:Falsehoods programmers believe about Unix time by IggleSniggle on Wednesday May 15, 2019 @06:23PM (#19924374)
Well, just to nitpick, seconds do vary in comparative length from reference frame to reference frame...and that actually does start to matter in global computing.
Re:Falsehoods programmers believe about Unix time by gervu on Wednesday May 15, 2019 @07:46PM (#19924884)
Seconds don't vary, your approximation of a second varies.

If you want to nitpick, you're going to need to start with Cesium-133 oscillation periods as averaged from over nine billion samples.

Re:Falsehoods programmers believe about Unix time by IggleSniggle on Wednesday May 15, 2019 @08:42PM (#19925152)
I like the cut of your jib. But I suppose what I was saying was that, for the purposes of establishing “now”, “now” isn’t really standardizable except with respect to a single inertial frame, and any time-keeping that occurs outside of this inertial frame will not be absolutely in sync, even though it may have a highly accurate measure of time for its own inertial frame.

This matters when computers are bouncing records about time around satellites and across the global.

Edit: I have no idea what I’m talking about so please do not hesitate to correct me on the particulars!

Re:Falsehoods programmers believe about Unix time by astrange on Wednesday May 15, 2019 @11:28PM (#19925904)
Seconds do vary because there are no privileged reference frames in the universe. You'll get a different measurement if your cesium measuring experiment is traveling at a different speed than you are.
Re:Falsehoods programmers believe about Unix time by gervu on Wednesday May 29, 2019 @12:26PM (#20042178)
That's the direction of your mass-energy vector, not seconds.

A bit like complaining that UTC is wrong because it doesn't match your local Solar time.

Re:Falsehoods programmers believe about Unix time by tomrod on Wednesday May 15, 2019 @09:24PM (#19925344)
The earth doesn't travel the same course each year. It's chaotic.

Best to define a second as a certain distance light travels in a vacuum and use that to build minutes, hours, etc. Then, have a fixed geo reference point (like, say, geo 0:0) that holds an atomic clock as a main reference.

We are only really talking about local coordinate changes in the time dimension, really, so might as well simplify.

Re:Falsehoods programmers believe about Unix time by chithanh on Thursday May 16, 2019 @08:53AM (#19928480)
> The earth doesn't travel the same course each year. It's chaotic.

I would prefer to call it quasiperiodic.

Re:Falsehoods programmers believe about Unix time by tomrod on Thursday May 16, 2019 @10:45AM (#19929497)
Re:Falsehoods programmers believe about Unix time by philwelch on Wednesday May 15, 2019 @05:29PM (#19923955)
There have been a net +27 leap seconds since the 1970’s. That’s not enough to turn summer into winter or day into night. That’s roughly a full minute per century.
Re:Falsehoods programmers believe about Unix time by btilly on Wednesday May 15, 2019 @05:57PM (#19924188)
Your statement is both true and misleading.

The speed of the Earth's rotation is slowing over time. Therefore leap seconds are becoming more and more common. In a century, we should be averaging something like 1 a year. In 500 years, we should be averaging one every few months. And so on.

It took over a thousand years for the Julian calendar to fall apart. Our current timekeeping system will also fall apart eventually, and I would be surprised if it lasted as long.

Re:Falsehoods programmers believe about Unix time by philwelch on Wednesday May 15, 2019 @09:17PM (#19925320)
500 years from now, if we're still alive, enough of us will be living in space colonies rather than on the Earth's surface that the Earth's rotation will not necessarily be immediately relevant to everyone's lives.

Regardless, we've had maybe half a minute of drift since the 1970's. If the drift is 1 minute in the 2000's, 1 second per year in the 2100's, 2 seconds per year in the 2200's, 3 seconds per year in the 2300's, etc., then by 2500, the cumulative drift would add up to...60 + 100 + 200 + 300 + 400 + 500 or 1560 seconds of total cumulative drift by 2600. That's less than half an hour. If we didn't bother accounting for leap seconds, UTC midnight would be only half an hour off from astronomical midnight in 600 years, which is roughly the same error inherent in most time zones.

Re:Falsehoods programmers believe about Unix time by quickthrower2 on Wednesday May 15, 2019 @11:08PM (#19925829)
We need a pseudo day still due to our sleeping rhythms but perhaps people could choose that based on personal preference not just stick with 24h
Re:Falsehoods programmers believe about Unix time by philwelch on Thursday May 16, 2019 @02:06AM (#19926556)
The day would shift half an hour in the next 600 years. That’s half as much as it shifts twice a year for DST, except it would happen gradually over a period of time roughly equal to the time between the fall of the Eastern Roman Empire and today.
Re:Falsehoods programmers believe about Unix time by quickthrower2 on Thursday May 16, 2019 @04:49AM (#19927244)
I was sort of nodding to the people who claim they have a 25 hour sleep cycle. Once we are in space and using artificial light, you can choose the sleep cycle that suits you. But predicting things in 500 year is just Sci Fi I guess!
Re:Falsehoods programmers believe about Unix time by adrianN on Thursday May 16, 2019 @04:05AM (#19927054)
I'm reasonably sure that any assumptions about how our anatomy will look like in 500 years are more wrong than right.
Re:Falsehoods programmers believe about Unix time by GordonS on Wednesday May 15, 2019 @06:07PM (#19924263)
Even if there was a leap second every year... does it matter? It would still take several hundred years for the difference to be noticeable, at which point you can just change UTC by +-1h.
Re:Falsehoods programmers believe about Unix time by btilly on Wednesday May 15, 2019 @07:04PM (#19924653)
What it means is that the discrepancy between clocks and time of day is growing quadratically. It won't matter to us in our lifetimes. But eventually it will be a problem.

It will take on the order of a thousand years for the discrepancy to add up to an hour. In 5000 years, it will be around a day. The fact that it is currently growing about a minute per century is true, but not a good predictor of what will happen.

That said, I prefer if we just lose the astronomical basis for time keeping, and let our distant descendants figure out that they should use time zones, and not modify UTC. Hopefully by the time it becomes obvious that clocks are drifting too fast for time zones to change all of the time, we're a multi-planetary species and paying attention to what is happening on the Earth seems quaint.

Re:Falsehoods programmers believe about Unix time by philwelch on Thursday May 16, 2019 @02:07AM (#19926561)
In 5000 years the majority of humanity, assuming we haven’t gone extinct, will live in space and the astronomy will be moot anyway.
Re:Falsehoods programmers believe about Unix time by jondubois on Thursday May 16, 2019 @02:26AM (#19926660)
We should abolish local time too. There should be a single time for every country which is the number of milliseconds since either the beginning of human civilization, the beginning of earth or the universe.
Re:Falsehoods programmers believe about Unix time by teddyh on Thursday May 16, 2019 @05:15AM (#19927370)
So You Want To Abolish Time Zones

https://qntm.org/abolish

Re:Falsehoods programmers believe about Unix time by iainmerrick on Thursday May 16, 2019 @03:38AM (#19926935)
A. Why?

B. If you want to be super strict about it, as I imagine you do, that scheme would hit problems with relativistic effects. Local time is the only real time.

Re:Falsehoods programmers believe about Unix time by lozf on Thursday May 16, 2019 @04:33PM (#19932886)
Mean Julian Days (MJD) are the agreed standard for something like that. Abolishing local time has a number of issues as linked in other comments. The time standards we currently have are all well suited to their purpose, it's just a case of picking the most appropriate one for the task. (Plenty of room for more TAI in modern technology).
Re:Falsehoods programmers believe about Unix time by adrianN on Thursday May 16, 2019 @04:04AM (#19927051)
I like Swatch Internet Time.
Re:Falsehoods programmers believe about Unix time by CameronNemo on Wednesday May 15, 2019 @10:55PM (#19925760)
>A day is defined as the rotation of the earth around its axis.

>A year is defined as the rotation of the earth around the sun.

Sounds like we need a generic geo-solar measurement.

Re:Falsehoods programmers believe about Unix time by shados on Wednesday May 15, 2019 @04:48PM (#19923618)
I know it will never happen because of cultural reasons, but really, we need to separate the time (as in how I describe a point on the time scale, for, let say, a meeting, especially one that involves people in globally distributed locations), and the cultural aspect (at what time people are sleeping or eating lunch).

Right now those two things are intertwined, and that's bad. Not everyone eats lunch around noon or go to bed at 23:00 anyway, so the cultural part is very fuzzy.

I should be able to describe time in an almost metric way. A unit that is the same no matter where I am in the world and doesn't change based on how fast a rock moves around a fireball. "Hey person in Japan, let's have a video meeting at 1,234,99" where that number means the same thing to the as it does to me. Its going to be dark for one of us and bright for another.

Then we can have a different unit, let's call it "day offset". That is the offset from the first number that dictates when a particular area considers to be "the day", when the average people wakes up, have lunch, have dinner, go to bed.

"Let's meet at 1,234,99. I know you're in Japan and your offset is +9,23 while here it's "-5,78" so it's a bit inconvenient, but hopefully you can make it!"

Yes, I realize I'm roughly describing how time and timezone works, with an important difference: with the current system, people live around the adjusted number. The number after the timezone is applied. After the leap seconds and all that crap is applied. Some people argue about daylight saving or no. Computers have to deal with all of it. Let's make the non-adjusted number what people use day to day, and the "offset" is a static number picked by the locals, that include stuff like daylight saving, leap seconds, and various other cultural adjustment. Its only purpose is to communicate the cultural or location difference between 2 people.

Obviously that will never happen, but Ill keep dreaming.

Re:Falsehoods programmers believe about Unix time by gsich on Wednesday May 15, 2019 @05:02PM (#19923736)
It's called UTC. You just want UTC with a different string format and a timezone format appended to it, or maybe seperate from it.
Re:Falsehoods programmers believe about Unix time by shados on Wednesday May 15, 2019 @10:48PM (#19925731)
Pretty much, yes.
Re:Falsehoods programmers believe about Unix time by twic on Wednesday May 15, 2019 @05:41PM (#19924059)
Re:Falsehoods programmers believe about Unix time by kqr on Thursday May 16, 2019 @04:02AM (#19927043)
Re:Falsehoods programmers believe about Unix time by mehrdadn on Wednesday May 15, 2019 @05:27PM (#19923938)
> The idea that I don't know how many UTC seconds will pass between now and May 15, 2022 0:00:00 is absurd.

It's perfectly sensible though? 0:00:00 is a designation of an event. Namely, the event of midnight during a particular rotation of our planet. Every calendar day is one rotation, so May 15, 2022 is also an event -- it's that many rotations of Earth after today. But a second is a duration and it's independent of Earth's rotation. An asteroid could hit the earth and make the rotation shorter or longer (or just shatter the planet...) in the meantime. You obviously can't know how many seconds will pass until that particular midnight. It's inconvenient, but it makes perfect sense when you can't predict the future.

Re:Falsehoods programmers believe about Unix time by jhayward on Wednesday May 15, 2019 @03:11PM (#19922672)
> come to the conclusion that UTC is flawed

The different time definitions exist to support different use cases. UTC isn't flawed, in fact the adjustments that keep it aligned to solar time are very helpful for its defined use cases.

It's just that time is complicated. If you think you will be doing time math where duration is paramount consider using TAI.

PS: for all those who think 'time' is complicated in fascinating ways, you should fall down the geodesy hole some time. Saying 'where' on earth something is located is .. not simple.

Re:Falsehoods programmers believe about Unix time by 013a on Wednesday May 15, 2019 @04:03PM (#19923170)
Well, time is complicated, but not for reasons that really matter to 99.95% of engineers (relativity and such). At its most basic level, Time is really just a monotonically increasing counter of seconds (or ms or ns or whatever). That's it.

The problem is really the cultural and societal layers on top of it. That's not Time's fault, its Our fault. A "Day" has to be 1 rotation of the earth around its axis, a "Year" has to be 1 rotation of the earth around the sun, etc.

Every unit of time at the Second and below is Simple. Every layer above it is Complex, including the counter of seconds from any date in the past, because Humans are Complex, not because Time is Complex. If we stopped caring that it always has to be cold in Winter (in the US) or that 7am is always morning (well, sunrise changes w.r.t both time and location), or that days are always (usually) 86400 seconds long, our interactions with time would be much simpler.

And, really, given that EVERY SINGLE UNIT above the second has not just some but many special case rules that are instantly confusing, maybe we should stop caring so much.

Re:Falsehoods programmers believe about Unix time by masklinn on Thursday May 16, 2019 @04:01AM (#19927039)
Ah yes, the spherical cow of software development: it's much simpler to build software which interacts with nothing and especially nobody.
Re:Falsehoods programmers believe about Unix time by Dylan16807 on Thursday May 16, 2019 @04:37AM (#19927195)
There's definitely something to be said about overengineering though. No human is going to notice if the clocks all drift together by 1 second per year.
Re:Falsehoods programmers believe about Unix time by IggleSniggle on Wednesday May 15, 2019 @06:30PM (#19924419)
Seconds are only Simple if they are defined as such. If they are defined as a subdivision of the day, then they need to be rebound to the slowing rotation of the Earth as the Earth slows and as relativistic differences due to altitude come into play.

If the second uses some other definition, you still need some centralized authority to define its length, for the same reason that it’s measurement will drift depending on your reference frame.

Re:Falsehoods programmers believe about Unix time by dillonmckay on Wednesday May 15, 2019 @06:00PM (#19924223)
> Every unit of time at the Second and below is Simple. Every layer above it is Complex...

This is an excellent insight. Thanks!

Re:Falsehoods programmers believe about Unix time by chessturk on Wednesday May 15, 2019 @03:29PM (#19922860)
A friend of mine was getting a real estate license and talked to me about the insane ways land ownership is measured, because the curvature of the earth. I believe that was just the tip of the iceburg. I'll have to check out geodesy.

I remember an ancient mathmatician described how all of existence must be a single geometric point, I think it was Euclid, but I can't find it. This all reminds me of that.

Re:Falsehoods programmers believe about Unix time by ergothus on Wednesday May 15, 2019 @03:21PM (#19922781)
> The different time definitions exist to support different use cases. UTC isn't flawed, in fact the adjustments that keep it aligned to solar time are very helpful for its defined use cases.

The user above listed several explicit cases that seem needlessly complicated. Can you give examples where the adjustments to UTC are so helpful for its defined use case? Or elaborate what that case is?

I'm not trying to be obstinate - it's just that without examples your response boils down to "No it's not" without further support. I'm open to being convinced...convince me.

Re:Falsehoods programmers believe about Unix time by jhayward on Wednesday May 15, 2019 @03:30PM (#19922880)
We humans almost always want our concept of "what time is it" to correspond to the relative motion of the sun in the sky. We ask "what time is sunrise?", and "when will the days start getting longer?". We like "noon" to be when the sun is highest in the sky. All those things are what UTC is designed for.
Re:Falsehoods programmers believe about Unix time by toast0 on Wednesday May 15, 2019 @04:38PM (#19923517)
Solar noon varies from 11:53 in November to 12:23 in February where I live (it keeps closer to the hour during DST [1]); an adjustment of 37 seconds doesn't seem to be very big compared to the 30 minute swing we observe over the year. It seems more reasonable to wait until the gap gets large enough to coordinate an hour jump in clocks with enough advance notice that there's a good chance of having it happen simultaneously. At the rate of leap seconds in the last 60 years, that should be several thousand years away; hopefully none of my software is running then.

[1] I'll save the rant on DST.

Re:Falsehoods programmers believe about Unix time by twic on Wednesday May 15, 2019 @05:46PM (#19924102)
We humans, without the use of a clock, do not have the faintest idea when midday or midnight is. We can't judge when the sun is highest in the sky, and we certainly can't judge when it's lowest under our feet.

The sun isn't even highest in the sky at noon! Firstly because of timezones (your noon is based on highest-sun in the middle of your timezone, not your current longitude), and secondly because of this whole epicyclic botheration:

https://en.wikipedia.org/wiki/Equation_of_time

Re:Falsehoods programmers believe about Unix time by bacon_waffle on Wednesday May 15, 2019 @07:56PM (#19924947)
I've been surprised at how "in tune" I've become to time, at times, when I've lived outside for substantial periods. Certainly it's not hard to have better than the "faintest idea" when midday or midnight is, if +/- 30 minutes qualifies? Plenty good to decide when to have lunch...

In the higher latitudes, it requires even less acclimation once you've got an idea of your orientation, and maybe what the stars look like. To the point that, at the poles, a clear sky is a direct-reading 24-hour clock.

Re:Falsehoods programmers believe about Unix time by InitialLastName on Wednesday May 15, 2019 @06:33PM (#19924446)
We sure can judge whether it's before or after sunset though.
Re:Falsehoods programmers believe about Unix time by twic on Thursday May 16, 2019 @06:37PM (#19934146)
Nope. Is sunset when the lower limb of the sun touches the horizon? When it's halfway? When it disappears completely? And is that the actual horizon where the sun happens to be today? The treeline above it? The tower block in the way? Where sea level would be if there wasn't land there? Or just when it gets dark? But then is that civil twilight? Nautical twilight? Astronomical twilight? When the light from the sun gets dimmer than the light from the streetlights that happen to be in your area?
Re:Falsehoods programmers believe about Unix time by msla on Wednesday May 15, 2019 @04:25PM (#19923375)
> We ask "what time is sunrise?", and "when will the days start getting longer?". We like "noon" to be when the sun is highest in the sky. All those things are what UTC is designed for.

The first thing is for time zones, inclusive of DST/Summer Time/etc. The second thing is for calendrical reform, which we've basically stopped doing now that the Gregorian calendar is as widespread as it's going to be. Leap seconds are for this:

https://tycho.usno.navy.mil/leapsec.html

> Currently the Earth runs slow at roughly 2 milliseconds per day. After 500 days, the difference between the Earth rotation time and the atomic time would be 1 second. Instead of allowing this to happen, a leap second is inserted to bring the two times closer together.

The "error" induced by the Earth slowing amounts to 12 minutes over the course of one thousand years.

Re:Falsehoods programmers believe about Unix time by ergothus on Wednesday May 15, 2019 @04:20PM (#19923336)
And the leap seconds meaningfully alter that?
Re:Falsehoods programmers believe about Unix time by lutorm on Wednesday May 15, 2019 @04:33PM (#19923471)
Yes. Leap seconds are there to align UTC (an atomic time) with UT1, which is defined based on mean solar time, ie "the day", since UT1 isn't uniform.

Without leap seconds, UTC will slowly drift out of sync with the Earth's rotation.

Re:Falsehoods programmers believe about Unix time by ergothus on Wednesday May 15, 2019 @04:48PM (#19923621)
That's the point though. The above post said leap seconds cause more harm than good - a correction done once a century would fit well enough within the purpose you've defined here. If UTC is out of sync with the sun by less than a minute, no human will notice, and non-humans don't care about the sun and are happier with fewer disruptions.
Re:Falsehoods programmers believe about Unix time by FabHK on Wednesday May 15, 2019 @06:38PM (#19924481)
I think most applications (including computers, except GPS receivers internally) should just switch to UT1. A rotation of the earth takes a day, and a day has 86400 seconds. Done. (Fine, a second is not exactly an SI second, but close enough for most practical purposes, and computers can handle it.)
Re:Falsehoods programmers believe about Unix time by planteen on Wednesday May 15, 2019 @03:23PM (#19922806)
"UTC isn't flawed, in fact the adjustments that keep it aligned to solar time are very helpful for its defined use cases."

What use case in the year 2019 is made easier by UTC getting leap seconds instead of treating it as a monotonically increasing scale (TAI)? I'm genuinely interested. The only suggestion I have ever heard is use of a sextant -- what an anachronism in the modern world...

Re:Falsehoods programmers believe about Unix time by jhayward on Wednesday May 15, 2019 @03:39PM (#19922969)
See my comment on the other reply.

I'll add in; astronomers like to be able to find objects in the sky using calculations based on time. UTC (actually TT, which underlies UTC) is good for that.

Spend a little time on the various wiki pages for time standards, and think about why those things exist.

https://en.wikipedia.org/wiki/Universal_Time

Re:Falsehoods programmers believe about Unix time by planteen on Wednesday May 15, 2019 @04:01PM (#19923154)
I've spent a lot of time finding objects in the sky to high accuracy with astronomical algorithms. The first step is always converting from UTC to TAI. See Astronomical Algorithms by Jean Meeus if you don't believe me.

Your noon example works for a single longitude in a time zone and the time between subsequent noons on two different days will only be exactly 24 hours 4 times a year. It seems unnecessarily complex to push annual leap second updates to preserve something like as obscure as these 4 events for the 24 time zones exactly on the line of longitude to the accuracy of a second.

See the Wikipedia on abolishing leap seconds, "that the drift of about one minute every 60–90 years could be compared to the 16-minute annual variation between true solar time and mean solar time, the one hour offset by use of daylight time, and the several-hours offset in certain geographically extra-large time zones"

https://en.wikipedia.org/wiki/Leap_second

Re:Falsehoods programmers believe about Unix time by jhayward on Wednesday May 15, 2019 @05:13PM (#19923824)
> The first step is always converting from UTC to TAI

I believe you are actually converting to Terrestrial Time. If there is a correction of TAI+32.184 seconds in your calculation, that would indicate TT.

Re:Falsehoods programmers believe about Unix time by planteen on Wednesday May 15, 2019 @05:25PM (#19923918)
Yes, it is ultimately TT. The order goes: UTC -> TAI -> TT

I could argue the TAI to TT is the second step. But let's put the pedantry aside: Is your best answer of something made easier in the modern world by leap seconds ensuring that solar noon happens at exactly 12:00:00 four times a year on an exact line of longitude for the time zone? And 4 times a year would require a time zone that does not honor daylight time, otherwise it is twice.

I'm not some crackpot here talking about the absurdity of leap seconds. US, China, Australia, Japan, S. Korea are on board for discussions about abolishing to happen in 2023.

Re:Falsehoods programmers believe about Unix time by jhayward on Wednesday May 15, 2019 @05:49PM (#19924130)
> I'm not some crackpot here talking about the absurdity of leap seconds

No question about that; leap seconds have been controversial since they were invented. The question is whether "the juice is worth the squeeze" which is of course an opinion rather than a fact.

The nice thing about time standards of course is that there are so many to choose from. All of them have flaws when you try to use them the way we do in civil time applications.

Re:Falsehoods programmers believe about Unix time by Verdex on Wednesday May 15, 2019 @03:16PM (#19922729)
I have a theory that simple sets can become difficult to understand not because of anything in their nature, but because of how they are desired to be consumed.

In other words, if you have a simple to understand thing, then it might become hard to understand if it needs to be fed into something that is itself hard to understand. (Or even if the way in which you feed it into the other thing is hard to understand).

Additionally, if you have something which is easy to understand that is fed into multiple incompatible things (either the things are easy to understand or hard to understand), then the whole system becomes harder to understand.

Finally, if the starting point that is fed into all other things is not actually easy to understand but in fact hard to understand ... things can get pretty bad.

Even if time was easy to understand by itself, then I still think it would be pretty hard to deal with because it is used for multiple incompatible domains (astronomical vs how long a day is on earth for example).

Re:Falsehoods programmers believe about Unix time by fallous on Wednesday May 15, 2019 @03:31PM (#19922889)
Yes, the use-case and domain set the constraints. Using the wrong measurement type or abstraction either increases the complexity of the exceptions necessary to make it fit the constraints or increases the inaccuracy/errors... or both.

With regards to time specifically, I recall many years ago talking with an economics professor I had that was from Zimbabwe and he mentioned the frustration that western industrial nations had when attempting to establish business in Africa. Industrial nations long ago became dependent upon a higher resolution and accuracy of time and so when they say "2PM" they expect accuracy within a minute or two. But the African work force would often show up at 3PM and when confronted by this "lateness" they would reply "3 is the friend of 2." An agrarian or pre-industrial society has no real need for accuracy to the minute, but instead can operate quite well with human observation of the position of the sun. This impedance mismatch caused no end of frustration on both sides, since neither could really fully understand the other's conception of timeliness.

Re:Falsehoods programmers believe about Unix time by throw0101a on Wednesday May 15, 2019 @03:36PM (#19922936)
Some people think one year is one orbit around the sun, and not exactly 365 days. Leap years help to keep that reality.

Some people think that a day is one revolution of Earth's axis, and not exactly 86400 seconds. Leap seconds help to keep that reality.

The fact that axial rotation is less predictable than orbital paths is a quirk of nature.

Re:Falsehoods programmers believe about Unix time by KayEss on Thursday May 16, 2019 @02:09AM (#19926569)
> Some people think that a day is one revolution of Earth's axis, and not exactly 86400 seconds

One day is more than one revolution of the planet. The sidereal day is exactly one rotation of the planet, but that's about four minutes shorter than a civil day.

The reason is that the planet also moves around the sun, so in order to get the sun to the same position in the sky for noon the planet needs to turn a little bit more than 360 degrees, about 360/365 extra.

Re:Falsehoods programmers believe about Unix time by xmprt on Wednesday May 15, 2019 @04:32PM (#19923456)
Leap years have pretty straightforward rules for when they happens. Approximately every 4 years, expect on 100 years, except on 400 years. Leap seconds on the other hand happen at the whim of the IERS
Re:Falsehoods programmers believe about Unix time by scythe on Wednesday May 15, 2019 @09:57PM (#19925514)
Leap years are actually just slightly inaccurate. Leap years estimate an orbital period of 364.2425 days but the actual orbital period is 365.24217 days.

Also, it should be noted that basically nobody actually understands a "year" to mean an orbit of Earth around the Sun relative to the Local Standard of Rest, which is called a sidereal year (ca. 365.256 days). Instead, to most people, a year means a cycle of seasons which recreates the same angle between the Earth-Sun axis and the Earth's axial tilt, which generates seasonal temperatures and is called a tropical year. Because the axial tilt is variable, the tropical year also varies and eventually drifts away from the sidereal year. The tropical year and sidereal year differ by about 20 minutes, so today's year starts about a month "away" from the year Julius Caesar enacted the first true solar calendar.

The difficulty in this case is that spinning rocks in space can float around however they please.

Re:Falsehoods programmers believe about Unix time by insulanus on Thursday May 16, 2019 @02:10PM (#19931327)
A nice hack for a time system for Earth might be to add the leap seconds on the last day of leap years.

That would keep the time and date adjustment code together in one place.

Re:Falsehoods programmers believe about Unix time by dwild on Thursday May 16, 2019 @10:25AM (#19929325)
You chose your units arbitrarily to fit your argument.

Here's my version of it:

Some people think one year is one orbit around the sun, and not exactly 365 days. Leap years help to keep that reality.

Some people think that a day is one revolution of Earth's axis, and not exactly 1440 minutes. Leap minutes help to keep that reality.

And now we are at less than one change every century!

Re:Falsehoods programmers believe about Unix time by jordanpg on Wednesday May 15, 2019 @02:58PM (#19922563)
This made me think of time in science fiction, eg. https://en.wikipedia.org/wiki/A_Deepness_in_the_Sky#Interste....

On a long enough horizon, I take it as a foregone conclusion that simple metric measurements will become standard.

Re:Falsehoods programmers believe about Unix time by skybrian on Wednesday May 15, 2019 @03:50PM (#19923055)
For most practical purposes (like knowing when to show up at a meeting), you need to know local time.

Even if you got rid of leap seconds, you still wouldn't know for sure how many seconds there are between now and some date and time in 2022 because you don't know what the local timezone will do. It's not clear why this is a useful calculation? For scheduling events in the future, you need to store the timezone (or location) and local time anyway.

Unix time is a useful approximation for comparing and converting between local times.

Re:Falsehoods programmers believe about Unix time by mavhc on Wednesday May 15, 2019 @04:44PM (#19923582)
Storing computer time as something related to UTC is flawed, should use TAI. Solves the leap second problem, you're already converting time to display it to humans, and for time zones, so correcting for leap seconds is just one more step.
Re:Falsehoods programmers believe about Unix time by Tepix on Thursday May 16, 2019 @07:08AM (#19927846)
> The idea that I don't know how many UTC seconds will pass between now and May 15, 2022 0:00:00 is absurd.

Not at all.

To quote Feynman: "Nature cannot be fooled".

The earth will rotatate in a (slightly) chaotic fashion. Midnight has a definition which is based on astronomy.

Thus, you need to adjust the length of a second (which is not desirable) or the number of seconds in a day.

Re:Falsehoods programmers believe about Unix time by maxnoe on Wednesday May 15, 2019 @04:12PM (#19923252)
Astronomy has the need for both.

A notion of an instant in time that advances linearly without any ambiguities, which would be TAI, and a notion of the precise orientation of Earth, which would be UTC.

To record events, you will use TAI, to point your telescope to a celestial object, you will use UTC.

Re:Falsehoods programmers believe about Unix time by lutorm on Wednesday May 15, 2019 @04:42PM (#19923564)
Astronomers don't really use UTC for pointing telescopes though, they use sidereal time. A sidereal day is 4 minutes different from a mean solar (UTC) day, so you still have to do a conversion.

You still need something that keeps track of the Earth's rotation, but presumably the ITU will still keep track of the difference between UT1 and UTC. I'm an (ex-) astrophysicist, but I'm not convinced that astronomy would actually be particularly impacted if leap seconds would stop being applied to UTC. You already need to keep a leap second table, it would just shift where you apply it.

Re:Falsehoods programmers believe about Unix time by mikorym on Thursday May 16, 2019 @01:19AM (#19926347)
> The idea that I don't know how many UTC seconds will pass between now and May 15, 2022 0:00:00 is absurd.

Why don't you use TAI then for this purpose?

I think the notion of time in relation to the earth's movements (for timekeeping on earth) is fair.

Re:Falsehoods programmers believe about Unix time by tux1968 on Wednesday May 15, 2019 @07:18PM (#19924722)
> Move any jumps in time to once a century (or millennium).

You hear a lot of people remarking that Let's Encrypt has made things better by requiring certs to be reconfigured more often rather than less. I know they're not exactly the same as time in general, but as a general idea, knowing that you need to do some fiddling often and automating it, might be better than growing complacent because nothing needs to be done for 50 years.

Might be setting things up for a lot of work when that next change comes due.

Re:Falsehoods programmers believe about Unix time by hvidgaard on Thursday May 16, 2019 @02:49AM (#19926743)
It's almost as if we've tried something like that in the past, and the effort to avoid the worst issues was a monumental effort.
Re:Falsehoods programmers believe about Unix time by tux1968 on Thursday May 16, 2019 @10:19AM (#19929277)
Confess I'm not quite clever enough to know what you mean or to what you're referring.
Re:Falsehoods programmers believe about Unix time by hvidgaard on Monday May 20, 2019 @02:59AM (#19958101)
Y2K problem, because someone at some point decided that two digits was enough to represent years. Thus when 99 came to an end, the clock would show 00 for year. It was an undefined behavior how to interpret it.

The event was rather boring, because a huge effort went into making sure that critical infrastructure was "Y2K Ready".

So my point was that pushing the problem in front of us until it becomes too large to ignore, is not a good strategy when we're talking (it) infrastructure. Handling leap seconds every now and then are the lesser evil.

Re:Falsehoods programmers believe about Unix time by petschge on Wednesday May 15, 2019 @03:44PM (#19922999)
Usually the first step is to correct from what ever the local clock at the observatory said to actual UTC.

Then you convert from UTC to TAI.

And then you convert from TAI to the arrival time at the solar barycenter, removing the geometric light travel time to Earth (or more precisely the observatory) as well as the gravitational effects of Sun, Jupiter and Earth.

Re:Falsehoods programmers believe about Unix time by hvidgaard on Thursday May 16, 2019 @02:47AM (#19926738)
> Move any jumps in time to once a century (or millennium)

Instead of building it into all into the protocol and time libraries, it's so far into the future that "We don't have to worry about that". We've had that issue before with Y2K.

> Such jumps have occurred in the past (Julian to Gregorian)

In a very different time. Today it would not be as easy - in fact since time and date are ubiquitous, it's not a simple task at all.

> The idea that I don't know how many UTC seconds will pass between now and May 15, 2022 0:00:00 is absurd.

If it matters for your use case, the don't use UTC time?

Re:Falsehoods programmers believe about Unix time by mikedilger on Wednesday May 15, 2019 @04:31PM (#19923446)
I don't mind having UTC with leap seconds, but I do mind it being the defacto standard. NTP would be more useful if it was synchronizing TAI.
Re:Falsehoods programmers believe about Unix time by labster on Wednesday May 15, 2019 @03:10PM (#19922664)
Leap seconds are useful if you're an astronomer. Astronomers have always determined the current time. Therefore, we all get leap seconds.
Re:Falsehoods programmers believe about Unix time by planteen on Wednesday May 15, 2019 @03:20PM (#19922768)
How are leap seconds useful if you are an astronomer? I am genuinely curious what problem in the year 2019 is easier due to leap seconds.

I have worked on code that needed to do astronomical calculations to do things like:

position of sun, moon, Mars, Earth, and spacecraft

ECI <-> ECEF

All of these depend on a conversion from UTC to TAI. It's covered in books like Astronomical Algorithms in the intro: https://www.willbell.com/math/MC1.HTM

Re:Falsehoods programmers believe about Unix time by someguydave on Wednesday May 15, 2019 @03:34PM (#19922915)
The only one I can think of is: determining the phase of the 24 hour day (as measured by atomic clocks) with respect to the Earth's rotation.

It does seem logical use TAI for civil time. People interested in calculating the Earth's rotation to high precision could consult a regularly-updated publication somewhere. Eventually the Earth's rotation will drift out-of-sync with the atomic clock timebase, but that won't be important until we accumulate several minutes/hours of error from TAI which could be centuries from now.

Re:Falsehoods programmers believe about Unix time by FabHK on Wednesday May 15, 2019 @06:42PM (#19924511)
Why TAI and not UT1? Who/what really cares about SI seconds?
Re:Falsehoods programmers believe about Unix time by someguydave on Wednesday May 15, 2019 @08:44PM (#19925163)
People who want a predictable and monotonic time scale
Re:Falsehoods programmers believe about Unix time by FabHK on Friday May 17, 2019 @05:34PM (#19943778)
SI seconds (in UTC) lead to leap seconds. With UT1, "1/86400 of a day" seconds lead to a predictable and monotonic time scale.
Re:Falsehoods programmers believe about Unix time by someguydave on Saturday May 18, 2019 @08:29PM (#19950562)
Unfortunately, electronic devices come with quartz crystal resonators, or rubidium or cesium resonators. After frequency calibration these will keep stable time relative to the atomic clock timebase.

There is no device available that allow you to derive a clock from the relative motion of the sun about the Earth’s axis, such that the changing definition of days and seconds relative to realizable clocks can be tracked.

Furthermore it’s kind of nice to have a stable and standard definition of seconds and days. For instance, under the “ut1 system” you don’t know how long a present second is until the present day’s final observations are made.