[LEAPSECS] presentations from AAS Future of Time sessions

Warner Losh imp at bsdimp.com
Fri Jan 10 23:35:25 EST 2014



On Jan 10, 2014, at 8:35 PM, Skip Newhall wrote:


> 'Proscribe’ and 'prescribe' are distinct words:

>

> 'Proscribe' means to forbid, disallow, or prohibit. “School rules proscribe the use of pencils on exams.”

>

> 'Prescribe' means to lay out specifications or rules about something. "In the manner prescribed by law.”

>

> I don’t know the context of the sentence the Magnus refers to.


Prescribe is the word I intended. POSIX mandates, requires, prescribes that time is UTC.


> -----Original Message-----

> From: leapsecs-bounces at leapsecond.com [mailto:leapsecs-bounces at leapsecond.com] On Behalf Of Magnus Danielson

> Sent: Friday, January 10, 2014 6:24 PM

> To: leapsecs at leapsecond.com

> Subject: Re: [LEAPSECS] presentations from AAS Future of Time sessions

>

> On 10/01/14 20:08, Harlan Stenn wrote:

> > Warner Losh writes:

> >> ...

> >>

> >> A TAI realization of time_t isn't POSIX, which specifically

> >> proscribes UTC.

> >

> > I think you mean "prescribes".

>

> Regardless, today the POSIX standard has a mapping (or used to, last time I checked I was unable to find that mapping, they seem to have lost the reference to the motivation chapter) from UTC to time_t.

> Warner should remember that I do know this, so what I wrote was just "this is the way I would hack it".


I missed that part...


> If you want the time_t to be simplified you either do that mapping from TAI or UTC, and doing it from TAI has the benefit of providing a continuous time over leap-second insertions.


Yes, you have to break one of the conditions that are in conflict....


> What I proposed as an concept idea have a number of different concerns in them:

>

> * Most POSIX usages still don't require *real* UTC, but want a simple "linear" scale which kinda looks like normal time.


True. But also most of the time computations are done without knowledge of leap seconds.


> * Breaking the normal interface for apps which doesn't really care fills no purpose.

>

> * That applications that care about proper UTC or proper local-time needs fixing require an additional interface might be feasible to get accepted rather than pulling the rug from underneath everything.


How do you know the applications that are about this?

The vast majority of applications don't care about UTC. If the library routines implement it without hassle, then they are happy. If not, they are happy too.

The problems come from the ambiguity between using time as an interval and using time as an absolute time. The difference between 12:34:45 today, and 24 hours from now. Leap seconds make computing tomorrow at this time a little more complicated. Interfaces could be made to this, but it isn't currently deployed...


> * TAI and UTC has a well understood relationship such that you can convert between them given complete time-stamp and know which time-scale they are in.


The conversion from TAI to UTC is not possible without ambiguity (although there's no unique mapping for the leap second, and many conventions for the non-unique mapping). It is also not possible to convert Jan 10, 2015 12:34:56 UTC to a TAI time, nor could I convert the same time to a UTC time because we don't yet know what time label that second will have. And we won't know until sometime this summer. So looking back you can make the conversion (assuming you have leap second table). It gets complicated from 1958 to 1972 when leap seconds didn't exists, but phase and frequency offsets were introduced into UTC (or the thing that was becoming UTC). time_t is in integral seconds (by tradition, float is possible but not done typically), and may or may not be defined prior to 1970 (it is an arithmetic type, which may or may not be signed).


> * Using TAI from mapping into time_t provides a non-ambigous bidirectional mapping. The issue occurs when mixing TAI and UTC based time_t in a dataset.


If you always use TAI, it can be converted to UTC, but not using a simple counter since the encoding at the leap second wouldn't exist. And since it doesn't exist, strptime couldn't, for example, render 23:59:50. It would have to be fed TAI times to work properly.


> * For most usage, UTC or local time is a presentation issue.


Yes. There are many clever ways to cope. The right time zones come close.


> This is orthogonal to the proposal of having 10 years irrevocable notice of leapseconds, which addresses another problem in the mix. I think it is a good idea.


Yes. That ensures that you have a more meaningful range of times you can convert between UTC and TAI. It does possibly break DUT1 limit of 1s. We have that issue today, but at a much lower probability (after all the earth is only predictable within certain limits).

So a new interface may be possible...

Warner


>

> Cheers,

> Magnus

> _______________________________________________

> LEAPSECS mailing list

> LEAPSECS at leapsecond.com

> http://six.pairlist.net/mailman/listinfo/leapsecs

> _______________________________________________

> LEAPSECS mailing list

> LEAPSECS at leapsecond.com

> http://six.pairlist.net/mailman/listinfo/leapsecs




More information about the LEAPSECS mailing list