<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-857</id>
	<title>Nabble - cr.yp.to - libtai</title>
	<updated>2009-05-14T14:12:27Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/cr.yp.to---libtai-f857.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/cr.yp.to---libtai-f857.html" />
	<subtitle type="html">The libtai package. Also covers the clockspeed package, the TAI64 time format, and related time-measurement issues.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-23549178</id>
	<title>Shared Library?</title>
	<published>2009-05-14T14:12:27Z</published>
	<updated>2009-05-14T14:12:27Z</updated>
	<author>
		<name>Mark Johnson-21</name>
	</author>
	<content type="html">Anybody ever build libtai as a shared library?
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Shared-Library--tp23549178p23549178.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19544186</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T17:21:15Z</published>
	<updated>2008-09-17T17:21:15Z</updated>
	<author>
		<name>Michael G Schwern</name>
	</author>
	<content type="html">Thorsten Glaser wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Michael G Schwern dixit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Maybe you can shed some light on this problem, what to do about year 0?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I actually haven’t thought about year 0, since localtime/mktime do that,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; and mjd2tm and tm2mjd from DJB code. I think it’s illegal, isn’t it?
&lt;br&gt;&amp;gt;&amp;gt; Illegal according to who?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; C99 and POSIX 1003.1 define tm.tm_year as a signed int with a range of &amp;quot;years
&lt;br&gt;&amp;gt;&amp;gt; since 1900&amp;quot; which makes a negative year perfectly &amp;quot;legal&amp;quot;.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 0 is not negative, and there has been no year 0, only 1 ante christo (-1)
&lt;br&gt;&amp;gt; followed directly by 1 post christo. (Ironically, he was probably not born
&lt;br&gt;&amp;gt; by then.)
&lt;/div&gt;&lt;br&gt;Oh, wasn't thinking about that. &amp;nbsp;I was thinking about negative years. &amp;nbsp;But
&lt;br&gt;you're right, year 0 is sticky. &amp;nbsp;Let's look at what ISO 8601 does...
&lt;br&gt;&lt;br&gt;Wikipedia claims ISO 8601-2004 treats year 0 as 1 BC, but I can't find an
&lt;br&gt;explicit reference. &amp;nbsp;They also claim that ISO 8601-2004 uses &amp;quot;Astronomical
&lt;br&gt;year numbering&amp;quot; but again, I can't find that in the standard. &amp;nbsp;It just says a
&lt;br&gt;&amp;quot;calendar year&amp;quot; is &amp;quot;in the Gregorian calendar&amp;quot; (2.2.13). &amp;nbsp;However, it seems
&lt;br&gt;perfectly sensible and I think I'll go with that.
&lt;br&gt;&lt;br&gt;Here's the language in 3.2.1 &amp;quot;The Gregorian calendar&amp;quot; which uses their usual
&lt;br&gt;&amp;quot;mutual agreement of the partners in information interchange&amp;quot; cop out
&lt;br&gt;&lt;br&gt;&amp;nbsp; The use of this calendar for dates preceding the introduction of the
&lt;br&gt;&amp;nbsp; Gregorian calendar [1582] (also called the proleptic Gregorian calendar)
&lt;br&gt;&amp;nbsp; should only be by agreement of the partners in information interchange.
&lt;br&gt;&lt;br&gt;And in 4.1.2.1...
&lt;br&gt;&lt;br&gt;&amp;nbsp; calendar year is, unless specified otherwise, represented by four digits.
&lt;br&gt;&amp;nbsp; Calendar years are numbered in ascending order according to the Gregorian
&lt;br&gt;&amp;nbsp; calendar by values in the range [0000] to [9999]. Values in the range [0000]
&lt;br&gt;&amp;nbsp; through [1582] shall only be used by mutual agreement of the partners in
&lt;br&gt;&amp;nbsp; information interchange.
&lt;br&gt;&lt;br&gt;They also define an expanded year format which, &amp;quot;by mutual agreement&amp;quot; allows
&lt;br&gt;for negative years. &amp;nbsp;(4.4.3.3)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; I wonder how a Chinese locale deals with this. &amp;nbsp;They switched from Julian to
&lt;br&gt;&amp;gt;&amp;gt; Gregorian after 1901, so it should show up in any Chinese localtime()
&lt;br&gt;&amp;gt;&amp;gt; implementation. &amp;nbsp;Also Russia and much of Eastern Europe.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I think a “struct tm” is just always gregorian, since other calendars
&lt;br&gt;&amp;gt; do not neccessarily have the same day/month/year concept (example:
&lt;br&gt;&amp;gt; Japanese).
&lt;br&gt;&lt;br&gt;I've got a call out for someone to test what a properly localized Unix dist
&lt;br&gt;does, just to get a data point.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&amp;quot;I went to college, which is a lot like being in the Army, except when
&lt;br&gt;&amp;nbsp;stupid people yell at me for stupid things, I can hit them.&amp;quot;
&lt;br&gt;&amp;nbsp; &amp;nbsp; -- Jonathan Schwarz
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19544186.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19547465</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T16:15:01Z</published>
	<updated>2008-09-17T16:15:01Z</updated>
	<author>
		<name>Thorsten Glaser-3</name>
	</author>
	<content type="html">Michael G Schwern dixit:
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Maybe you can shed some light on this problem, what to do about year 0?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I actually haven’t thought about year 0, since localtime/mktime do that,
&lt;br&gt;&amp;gt;&amp;gt; and mjd2tm and tm2mjd from DJB code. I think it’s illegal, isn’t it?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Illegal according to who?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;C99 and POSIX 1003.1 define tm.tm_year as a signed int with a range of &amp;quot;years
&lt;br&gt;&amp;gt;since 1900&amp;quot; which makes a negative year perfectly &amp;quot;legal&amp;quot;.
&lt;br&gt;&lt;br&gt;0 is not negative, and there has been no year 0, only 1 ante christo (-1)
&lt;br&gt;followed directly by 1 post christo. (Ironically, he was probably not born
&lt;br&gt;by then.)
&lt;br&gt;&lt;br&gt;&amp;gt;I'm a little lost. &amp;nbsp;Could you give an example?
&lt;br&gt;&lt;br&gt;Yup. Convert -2⁶³ from time_t to TAI (while honouring leap seconds), and
&lt;br&gt;it will wrap, because the result would be -2⁶³-10 (plus the BIAS), which
&lt;br&gt;is actually positive. But that doesn’t matter, as it wraps back on the
&lt;br&gt;way back. So don’t introduce any arbitrary limits.
&lt;br&gt;&lt;br&gt;&amp;gt;I wonder how a Chinese locale deals with this. &amp;nbsp;They switched from Julian to
&lt;br&gt;&amp;gt;Gregorian after 1901, so it should show up in any Chinese localtime()
&lt;br&gt;&amp;gt;implementation. &amp;nbsp;Also Russia and much of Eastern Europe.
&lt;br&gt;&lt;br&gt;I think a “struct tm” is just always gregorian, since other calendars
&lt;br&gt;do not neccessarily have the same day/month/year concept (example:
&lt;br&gt;Japanese).
&lt;br&gt;&lt;br&gt;&amp;gt;PPS &amp;nbsp;How does one get the damn qsecretary program to stop making you confirm
&lt;br&gt;&amp;gt;every email to this list? &amp;nbsp;I'm already subscribed.
&lt;br&gt;&lt;br&gt;Same problem here. I think it uses the envelope address, not the header
&lt;br&gt;address, to check, which is, IMO, a bug in DJB’s mailing list software ☺
&lt;br&gt;&lt;br&gt;bye,
&lt;br&gt;//mirabilos
&lt;br&gt;-- 
&lt;br&gt;Sometimes they [people] care too much: pretty printers [and syntax highligh-
&lt;br&gt;ting, d.A.] mechanically produce pretty output that accentuates irrelevant
&lt;br&gt;detail in the program, which is as sensible as putting all the prepositions
&lt;br&gt;in English text in bold font.	-- Rob Pike in &amp;quot;Notes on Programming in C&amp;quot;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19547465.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19543087</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T16:00:03Z</published>
	<updated>2008-09-17T16:00:03Z</updated>
	<author>
		<name>Michael G Schwern</name>
	</author>
	<content type="html">It's very nice to have someone else to bounce this all off of.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Thorsten Glaser wrote:
&lt;br&gt;&amp;gt;&amp;gt; Maybe you can shed some light on this problem, what to do about year 0?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I actually haven’t thought about year 0, since localtime/mktime do that,
&lt;br&gt;&amp;gt; and mjd2tm and tm2mjd from DJB code. I think it’s illegal, isn’t it?
&lt;br&gt;&lt;br&gt;Illegal according to who?
&lt;br&gt;&lt;br&gt;C99 and POSIX 1003.1 define tm.tm_year as a signed int with a range of &amp;quot;years
&lt;br&gt;since 1900&amp;quot; which makes a negative year perfectly &amp;quot;legal&amp;quot;.
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt; Right now the only limit I have on dates is the limit of what Time64_T
&lt;br&gt;&amp;gt;&amp;gt; can store. Does it make sense to stop at 0?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; No, it makes sense to not stop. The thing is, mktime() and gmtime()
&lt;br&gt;&amp;gt; *must* have full round-trip capabilities (GNU autoconf checks for that
&lt;br&gt;&amp;gt; before it uses it), which is why, for example, my tai64_t data type does
&lt;br&gt;&amp;gt; not exactly store what DJB calls a TAI timestamp. There is a small wrap-
&lt;br&gt;&amp;gt; around at about 0x8000000000000000 (time_t) / 0xC000000000000000 (tai64_t)
&lt;br&gt;&amp;gt; of 10 (I think, due to the leap seconds) seconds. So, for whatever value
&lt;br&gt;&amp;gt; you have in whatever representation (time_t, tai64_t, struct tm), all of
&lt;br&gt;&amp;gt; these must have full round-trip capabilities (with the possible exception
&lt;br&gt;&amp;gt; that struct tm with a 64-bit year can go beyond the 64-bit time_t value
&lt;br&gt;&amp;gt; scale, but then, a 32-bit year does the same for a 32-bit time_t, so this
&lt;br&gt;&amp;gt; is no change).
&lt;/div&gt;&lt;br&gt;I'm a little lost. &amp;nbsp;Could you give an example?
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; localtime()... well, localtime() gets absurd real fast. &amp;nbsp;Gregorian/Julian
&lt;br&gt;&amp;gt;&amp;gt; calendar shifts.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Mh. Maybe a struct tm.tm_year is always Gregorian? Have a look, while at
&lt;br&gt;&amp;gt; it, at the &amp;quot;%J&amp;quot; strftime modifier (and, especially, my implementation of
&lt;br&gt;&amp;gt; it, using the tm2mjd function). This will get you Julian days, but nothing
&lt;br&gt;&amp;gt; in Unix has them split off into a calendar time kind of structure.
&lt;br&gt;&lt;br&gt;C99 says &amp;quot;Many functions [in time.h] deal with a calendar time that represents
&lt;br&gt;the current date (according to the Gregorian calendar) and time.&amp;quot;
&lt;br&gt;&lt;br&gt;But then goes on to say:
&lt;br&gt;&lt;br&gt;&amp;quot;Some functions deal with local time, which is the calendar time expressed for
&lt;br&gt;some specific time zone, and with Daylight Saving Time, which is a temporary
&lt;br&gt;change in the algorithm for determining local time. The local time zone and
&lt;br&gt;Daylight Saving Time are implementation-defined.&amp;quot;
&lt;br&gt;&lt;br&gt;POSIX 1003.1 does not appear to discuss the matter.
&lt;br&gt;&lt;br&gt;It seems clear to me that gmt is always Gregorian but not so clear what
&lt;br&gt;happens with localtime().
&lt;br&gt;&lt;br&gt;I wonder how a Chinese locale deals with this. &amp;nbsp;They switched from Julian to
&lt;br&gt;Gregorian after 1901, so it should show up in any Chinese localtime()
&lt;br&gt;implementation. &amp;nbsp;Also Russia and much of Eastern Europe.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; So I think you don’t need to worry about THAT. That’s application layer
&lt;br&gt;&amp;gt; to do, similar to hebrew, muslim, asian etc. calendars. And at that, it
&lt;br&gt;&amp;gt; REALLY gets absurd (cf. &lt;a href=&quot;http://blogs.msdn.com/michkap/default.aspx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.msdn.com/michkap/default.aspx&lt;/a&gt;), but
&lt;br&gt;&amp;gt; that’s not the (our) OS’ job to worry about.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; However, for “absurd” years, the OS’ own functions might go crazy. Too
&lt;br&gt;&amp;gt; bad we can’t access the OS’ own time zone table (I need to get the info
&lt;br&gt;&amp;gt; for leap seconds out of it, for example).
&lt;br&gt;&lt;br&gt;I'm just glad that ctime() isn't locale sensitive. &amp;nbsp;Oi, what a mess that would be.
&lt;br&gt;&lt;br&gt;&lt;br&gt;PS &amp;nbsp;I just found this gem in the mktime() standard:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; the original values [in the tm struct] of the other components are not
&lt;br&gt;&amp;nbsp; &amp;nbsp; restricted to the ranges described in &amp;lt;time.h&amp;gt;.
&lt;br&gt;&lt;br&gt;which the BSD time.h man page expands out to:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;The original values of the tm_wday and tm_yday components of the struc-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ture are ignored, and the original values of the other components are not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;restricted to their normal ranges, and will be normalized if needed. &amp;nbsp;For
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;example, October 40 is changed into November 9, a tm_hour of -1 means 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;hour before midnight, tm_mday of 0 means the day preceding the current
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;month, and tm_mon of -2 means 2 months before January of tm_year. &amp;nbsp;(A
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;positive or zero value for tm_isdst causes mktime() to presume initially
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;that summer time (for example, Daylight Saving Time) is or is not in
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;effect for the specified time, respectively. &amp;nbsp;A negative value for
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;tm_isdst causes the mktime() function to attempt to divine whether summer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;time is in effect for the specified time. &amp;nbsp;The tm_isdst and tm_gmtoff
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;members are forced to zero by timegm().)
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;On successful completion, the values of the tm_wday and tm_yday compo-
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;nents of the structure are set appropriately, and the other components
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;are set to represent the specified calendar time, but with their values
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;forced to their normal ranges; the final value of tm_mday is not set
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;until tm_mon and tm_year are determined. &amp;nbsp;The mktime() function returns
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;the specified calendar time; if the calendar time cannot be represented,
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;it returns -1;
&lt;br&gt;&lt;br&gt;This is something I haven't tested for yet.
&lt;br&gt;&lt;br&gt;&lt;br&gt;PPS &amp;nbsp;How does one get the damn qsecretary program to stop making you confirm
&lt;br&gt;every email to this list? &amp;nbsp;I'm already subscribed.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;The interface should be as clean as newly fallen snow and its behavior
&lt;br&gt;as explicit as Japanese eel porn.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19543087.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19542440</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T15:21:18Z</published>
	<updated>2008-09-17T15:21:18Z</updated>
	<author>
		<name>Thorsten Glaser-3</name>
	</author>
	<content type="html">Michael G Schwern dixit:
&lt;br&gt;&lt;br&gt;&amp;gt;Odds are, it
&lt;br&gt;&amp;gt;won't get updated.
&lt;br&gt;&lt;br&gt;True…
&lt;br&gt;&lt;br&gt;&amp;gt;Maybe you can shed some light on this problem, what to do about year 0?
&lt;br&gt;&lt;br&gt;I actually haven’t thought about year 0, since localtime/mktime do that,
&lt;br&gt;and mjd2tm and tm2mjd from DJB code. I think it’s illegal, isn’t it?
&lt;br&gt;&lt;br&gt;&amp;gt;Right now the only limit I have on dates is the limit of what Time64_T
&lt;br&gt;&amp;gt;can store. Does it make sense to stop at 0?
&lt;br&gt;&lt;br&gt;No, it makes sense to not stop. The thing is, mktime() and gmtime()
&lt;br&gt;*must* have full round-trip capabilities (GNU autoconf checks for that
&lt;br&gt;before it uses it), which is why, for example, my tai64_t data type does
&lt;br&gt;not exactly store what DJB calls a TAI timestamp. There is a small wrap-
&lt;br&gt;around at about 0x8000000000000000 (time_t) / 0xC000000000000000 (tai64_t)
&lt;br&gt;of 10 (I think, due to the leap seconds) seconds. So, for whatever value
&lt;br&gt;you have in whatever representation (time_t, tai64_t, struct tm), all of
&lt;br&gt;these must have full round-trip capabilities (with the possible exception
&lt;br&gt;that struct tm with a 64-bit year can go beyond the 64-bit time_t value
&lt;br&gt;scale, but then, a 32-bit year does the same for a 32-bit time_t, so this
&lt;br&gt;is no change).
&lt;br&gt;&lt;br&gt;&amp;gt;localtime()... well, localtime() gets absurd real fast. &amp;nbsp;Gregorian/Julian
&lt;br&gt;&amp;gt;calendar shifts.
&lt;br&gt;&lt;br&gt;Mh. Maybe a struct tm.tm_year is always Gregorian? Have a look, while at
&lt;br&gt;it, at the &amp;quot;%J&amp;quot; strftime modifier (and, especially, my implementation of
&lt;br&gt;it, using the tm2mjd function). This will get you Julian days, but nothing
&lt;br&gt;in Unix has them split off into a calendar time kind of structure.
&lt;br&gt;&lt;br&gt;So I think you don’t need to worry about THAT. That’s application layer
&lt;br&gt;to do, similar to hebrew, muslim, asian etc. calendars. And at that, it
&lt;br&gt;REALLY gets absurd (cf. &lt;a href=&quot;http://blogs.msdn.com/michkap/default.aspx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.msdn.com/michkap/default.aspx&lt;/a&gt;), but
&lt;br&gt;that’s not the (our) OS’ job to worry about.
&lt;br&gt;&lt;br&gt;However, for “absurd” years, the OS’ own functions might go crazy. Too
&lt;br&gt;bad we can’t access the OS’ own time zone table (I need to get the info
&lt;br&gt;for leap seconds out of it, for example).
&lt;br&gt;&lt;br&gt;bye,
&lt;br&gt;//mirabilos
&lt;br&gt;-- 
&lt;br&gt;Sometimes they [people] care too much: pretty printers [and syntax highligh-
&lt;br&gt;ting, d.A.] mechanically produce pretty output that accentuates irrelevant
&lt;br&gt;detail in the program, which is as sensible as putting all the prepositions
&lt;br&gt;in English text in bold font.	-- Rob Pike in &amp;quot;Notes on Programming in C&amp;quot;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19542440.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19541794</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T14:03:19Z</published>
	<updated>2008-09-17T14:03:19Z</updated>
	<author>
		<name>Michael G Schwern</name>
	</author>
	<content type="html">Thorsten Glaser wrote:
&lt;br&gt;&amp;gt;&amp;gt; My main targets are Perl, Python and Ruby which have to be absurdly portable.
&lt;br&gt;&amp;gt;&amp;gt; As I understand it, almost nothing about the time zone database is portable.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Oh, okay. This is a step further away from Unix.
&lt;br&gt;&lt;br&gt;It's about nine. :) &amp;nbsp;If you're morbidly curious, take a look at the supported
&lt;br&gt;platform list for Perl.
&lt;br&gt;&lt;a href=&quot;http://perldoc.perl.org/perlport.html#Supported-Platforms&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://perldoc.perl.org/perlport.html#Supported-Platforms&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; For example, I could not expect tzload() to work on all operating systems. &amp;nbsp;I
&lt;br&gt;&amp;gt;&amp;gt; would have to ship my own, which I do not want to do, or write time zone code
&lt;br&gt;&amp;gt;&amp;gt; for each operating system, which I also do not want to do.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; You probably could just take the entire Olson time library in its original,
&lt;br&gt;&amp;gt; portable state, and change that. (This would have the beneficial side effect
&lt;br&gt;&amp;gt; to replace vendors’ probably buggier time libraries and time zone databases
&lt;br&gt;&amp;gt; with something known to work.)
&lt;br&gt;&lt;br&gt;I've considered that, yes system libraries are often suspect, but I don't want
&lt;br&gt;to now have each application with its own independent time zone library that
&lt;br&gt;has to be updated by the user independent of the system's own. &amp;nbsp;Odds are, it
&lt;br&gt;won't get updated.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; But I like your “wrapping” approach.
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;Maybe you can shed some light on this problem, what to do about year 0? &amp;nbsp;Right
&lt;br&gt;now the only limit I have on dates is the limit of what Time64_T can store.
&lt;br&gt;Does it make sense to stop at 0? &amp;nbsp;I've seen a number of implementations that
&lt;br&gt;do. &amp;nbsp;My thinking for gmtime() is that a negative year is just BC, so let it go!
&lt;br&gt;&lt;br&gt;localtime()... well, localtime() gets absurd real fast. &amp;nbsp;Gregorian/Julian
&lt;br&gt;calendar shifts. &amp;nbsp;The time zone simply not having existed in the past. &amp;nbsp;It's
&lt;br&gt;really hard to say what the locals would have thought the datetime was X
&lt;br&gt;seconds ago.
&lt;br&gt;&lt;br&gt;Any insights?
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;You are wicked and wrong to have broken inside and peeked at the
&lt;br&gt;implementation and then relied upon it.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -- tchrist in &amp;lt;31832.969261130@chthon&amp;gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19541794.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19542471</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T13:01:11Z</published>
	<updated>2008-09-17T13:01:11Z</updated>
	<author>
		<name>Thorsten Glaser-3</name>
	</author>
	<content type="html">Michael G Schwern dixit:
&lt;br&gt;&lt;br&gt;&amp;gt;That said, I do recognize that a lot of my work will boil down to just doing a
&lt;br&gt;&amp;gt;search and replace for &amp;quot;time_t&amp;quot; with &amp;quot;Time64_T&amp;quot; and &amp;quot;int&amp;quot; with &amp;quot;Int64_T&amp;quot;.
&lt;br&gt;&lt;br&gt;Ah. The trick with my implementation is, to change “int” and “long” to
&lt;br&gt;“time_t” instead *ONLY* where it is neccessary, and leave the remaining
&lt;br&gt;narrow integer types alone. In some places, I use int64_t or uint64_t
&lt;br&gt;for casts, for either clarity, simplicity or portability, but mostly,
&lt;br&gt;I stuck with time_t, as it’s 32-bit on the sparc platform, 64-bit on
&lt;br&gt;the i386 platform with MirBSD.
&lt;br&gt;&lt;br&gt;I wanted to avoid switching EVERY integer type to 64 bit even where not
&lt;br&gt;needed, as that can be much slower and is much bigger.
&lt;br&gt;&lt;br&gt;bye,
&lt;br&gt;//mirabilos
&lt;br&gt;-- 
&lt;br&gt;Sometimes they [people] care too much: pretty printers [and syntax highligh-
&lt;br&gt;ting, d.A.] mechanically produce pretty output that accentuates irrelevant
&lt;br&gt;detail in the program, which is as sensible as putting all the prepositions
&lt;br&gt;in English text in bold font.	-- Rob Pike in &amp;quot;Notes on Programming in C&amp;quot;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19542471.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19542277</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T12:55:45Z</published>
	<updated>2008-09-17T12:55:45Z</updated>
	<author>
		<name>Thorsten Glaser-3</name>
	</author>
	<content type="html">Michael G Schwern dixit:
&lt;br&gt;&lt;br&gt;&amp;gt;Speaking of asctime(), I think this is a y2**31 bug in asctime3:
&lt;br&gt;&lt;br&gt;Two of them even, please look at asctime.c in cvsweb, I fixed it ☺
&lt;br&gt;(The allbsd.org mirror will not update before 04:10 UTC though you
&lt;br&gt;can use &lt;a href=&quot;http://www.mirbsd.org/cvs.cgi/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.mirbsd.org/cvs.cgi/&lt;/a&gt;)
&lt;br&gt;&lt;br&gt;//mirabilos
&lt;br&gt;-- 
&lt;br&gt;Sometimes they [people] care too much: pretty printers [and syntax highligh-
&lt;br&gt;ting, d.A.] mechanically produce pretty output that accentuates irrelevant
&lt;br&gt;detail in the program, which is as sensible as putting all the prepositions
&lt;br&gt;in English text in bold font.	-- Rob Pike in &amp;quot;Notes on Programming in C&amp;quot;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19542277.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19528649</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-17T02:28:02Z</published>
	<updated>2008-09-17T02:28:02Z</updated>
	<author>
		<name>Thorsten Glaser-3</name>
	</author>
	<content type="html">Michael G Schwern dixit:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; If I understand correctly, that's an entire operating system.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Yes, but the gist is, that there is code which uses a certain 64-bit type,
&lt;br&gt;&amp;gt;&amp;gt; called time_t, but you could of course just use int64_t instead, which does
&lt;br&gt;&amp;gt;&amp;gt; the job quite fine. (Not even a binary change in the time zone data format.)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Is this approach portable outside BSD?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;My main targets are Perl, Python and Ruby which have to be absurdly portable.
&lt;br&gt;&amp;gt; As I understand it, almost nothing about the time zone database is portable.
&lt;/div&gt;&lt;br&gt;Oh, okay. This is a step further away from Unix.
&lt;br&gt;&lt;br&gt;&amp;gt; For example, I could not expect tzload() to work on all operating systems. &amp;nbsp;I
&lt;br&gt;&amp;gt;would have to ship my own, which I do not want to do, or write time zone code
&lt;br&gt;&amp;gt;for each operating system, which I also do not want to do.
&lt;br&gt;&lt;br&gt;You probably could just take the entire Olson time library in its original,
&lt;br&gt;portable state, and change that. (This would have the beneficial side effect
&lt;br&gt;to replace vendors’ probably buggier time libraries and time zone databases
&lt;br&gt;with something known to work.) But I like your “wrapping” approach.
&lt;br&gt;&lt;br&gt;&amp;gt;In fact, I'm considering changing from
&lt;br&gt;&amp;gt;MIT to BSD license to make that even easier.
&lt;br&gt;&lt;br&gt;There is not a single BSD licence. MIT is just fine… OpenBSD uses ISC for
&lt;br&gt;new code, and, being European, MirBSD has to have its own only slightly
&lt;br&gt;different one too ;)
&lt;br&gt;&lt;br&gt;&amp;gt;Speaking of asctime(), I think this is a y2**31 bug in asctime3:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;	char			year[INT_STRLEN_MAXIMUM(int) + 2];
&lt;br&gt;&lt;br&gt;Yup, probably.
&lt;br&gt;&lt;br&gt;&amp;gt;Oh, don't forget to make tm.tm_year 64 bit!
&lt;br&gt;&lt;br&gt;Yeah, that bites us great time. For example, look here:
&lt;br&gt;&lt;a href=&quot;http://cvs.mirbsd.de/ports/lang/python/2.5/patches/patch-Modules_datetimemodule_c&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cvs.mirbsd.de/ports/lang/python/2.5/patches/patch-Modules_datetimemodule_c&lt;/a&gt;&lt;br&gt;When you have only one of the two chunks, it dumps core.
&lt;br&gt;Takes a while to find it, since -Wformat did not, obviously,
&lt;br&gt;catch this case. It usually spots all occurrences though.
&lt;br&gt;&lt;br&gt;&amp;gt;Anyhow, if you're interested in the Test Anything Protocol, a really simple
&lt;br&gt;&lt;br&gt;I implemented it in Python for the day-job project I'm currently
&lt;br&gt;working on, since my colleague is a Perl fan… but thanks ;)
&lt;br&gt;&lt;br&gt;bye,
&lt;br&gt;//mirabilos
&lt;br&gt;-- 
&lt;br&gt;Sometimes they [people] care too much: pretty printers [and syntax highligh-
&lt;br&gt;ting, d.A.] mechanically produce pretty output that accentuates irrelevant
&lt;br&gt;detail in the program, which is as sensible as putting all the prepositions
&lt;br&gt;in English text in bold font.	-- Rob Pike in &amp;quot;Notes on Programming in C&amp;quot;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19528649.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19524722</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-16T18:34:34Z</published>
	<updated>2008-09-16T18:34:34Z</updated>
	<author>
		<name>Michael G Schwern</name>
	</author>
	<content type="html">Thorsten Glaser wrote:
&lt;br&gt;&amp;gt; Michael G Schwern dixit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; You: &amp;quot;Your shit is boring.&amp;quot;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; More like &amp;quot;has been done already&amp;quot;. Sorry.
&lt;br&gt;&lt;br&gt;Apology accepted. &amp;nbsp;Sorry things got off to a bad start.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; If I understand correctly, that's an entire operating system.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes, but the gist is, that there is code which uses a certain 64-bit type,
&lt;br&gt;&amp;gt; called time_t, but you could of course just use int64_t instead, which does
&lt;br&gt;&amp;gt; the job quite fine. (Not even a binary change in the time zone data format.)
&lt;br&gt;&lt;br&gt;Is this approach portable outside BSD?
&lt;br&gt;&lt;br&gt;My main targets are Perl, Python and Ruby which have to be absurdly portable.
&lt;br&gt;&amp;nbsp;As I understand it, almost nothing about the time zone database is portable.
&lt;br&gt;&amp;nbsp;For example, I could not expect tzload() to work on all operating systems. &amp;nbsp;I
&lt;br&gt;would have to ship my own, which I do not want to do, or write time zone code
&lt;br&gt;for each operating system, which I also do not want to do.
&lt;br&gt;&lt;br&gt;I could be wrong, I'm really a Perl programmer who plays a C programmer on TV.
&lt;br&gt;&lt;br&gt;That said, I do recognize that a lot of my work will boil down to just doing a
&lt;br&gt;search and replace for &amp;quot;time_t&amp;quot; with &amp;quot;Time64_T&amp;quot; and &amp;quot;int&amp;quot; with &amp;quot;Int64_T&amp;quot;. &amp;nbsp;For
&lt;br&gt;example, asctime(). &amp;nbsp;It's really the trick to get localtime() working that's
&lt;br&gt;important. &amp;nbsp;I intend to loot BSD code for everything I can, right now I'm
&lt;br&gt;mostly using it mostly as a reference. &amp;nbsp;In fact, I'm considering changing from
&lt;br&gt;MIT to BSD license to make that even easier.
&lt;br&gt;&lt;br&gt;Speaking of asctime(), I think this is a y2**31 bug in asctime3:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; char			year[INT_STRLEN_MAXIMUM(int) + 2];
&lt;br&gt;&lt;br&gt;Since 64 bit time can go well above the year 2 billion, years must be stored
&lt;br&gt;as 64 bit ints. &amp;nbsp;If int is 32 bits, the code above is only allocating enough
&lt;br&gt;room for 2**31 years.
&lt;br&gt;&lt;br&gt;I've been testing a lot of 64 bit system's time handling lately and that's a
&lt;br&gt;common mistake, 32 bit years. &amp;nbsp;Though not as bad as HP/UX's Y10k bug.
&lt;br&gt;&lt;br&gt;Oh, don't forget to make tm.tm_year 64 bit!
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Also you might want to have a look at the tests in y2038.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is actually a good idea. Compiling (I think it was) CVS with the
&lt;br&gt;&amp;gt; changes was a good test too, as the configure script “checks whether
&lt;br&gt;&amp;gt; mktime() works”. To get that right (over all of the 64 bit) was hard.
&lt;br&gt;&amp;gt; You have to think about very many border cases… in the end, I just
&lt;br&gt;&amp;gt; ensured the round-trip via tai64_t was right, not neccessarily the
&lt;br&gt;&amp;gt; tai64_t representation itself.
&lt;br&gt;&lt;br&gt;To test timegm() I just round tripped it through gmtime() at various
&lt;br&gt;interesting times.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; time = 60*60*16;
&lt;br&gt;&amp;nbsp; &amp;nbsp; gmtime64_r(&amp;time, &amp;date);
&lt;br&gt;&amp;nbsp; &amp;nbsp; is_Int64( timegm64(&amp;date), time, &amp;quot;timegm64(60*60*16)&amp;quot; );
&lt;br&gt;&lt;br&gt;An mktime() test should work the same way, round trip through localtime(), no?
&lt;br&gt;You can see the test here (and I really should put all that repeated code into
&lt;br&gt;its own test function).
&lt;br&gt;&lt;a href=&quot;http://code.google.com/p/y2038/source/browse/trunk/t/timegm.c&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/y2038/source/browse/trunk/t/timegm.c&lt;/a&gt;&lt;br&gt;&lt;br&gt;Anyhow, if you're interested in the Test Anything Protocol, a really simple
&lt;br&gt;implementation is here:
&lt;br&gt;&lt;a href=&quot;http://code.google.com/p/y2038/source/browse/trunk/tap.c&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/y2038/source/browse/trunk/tap.c&lt;/a&gt;&lt;br&gt;&lt;br&gt;And the code to run them is here in the &amp;quot;tap_tests&amp;quot; target.
&lt;br&gt;&lt;a href=&quot;http://code.google.com/p/y2038/source/browse/trunk/Makefile&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/y2038/source/browse/trunk/Makefile&lt;/a&gt;&lt;br&gt;&lt;br&gt;More info about TAP can be found here:
&lt;br&gt;&lt;a href=&quot;http://testanything.org/wiki/index.php/Main_Page&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://testanything.org/wiki/index.php/Main_Page&lt;/a&gt;&lt;br&gt;&lt;br&gt;The MyTAP library used by MySQL might be relevant (and cleaner than mine)
&lt;br&gt;&lt;a href=&quot;http://www.kindahl.net/mytap/doc/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.kindahl.net/mytap/doc/&lt;/a&gt;&lt;br&gt;&lt;br&gt;And MySQL's documentation on that.
&lt;br&gt;&lt;a href=&quot;http://dev.mysql.com/doc/mysqltest/en/unit-test.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://dev.mysql.com/doc/mysqltest/en/unit-test.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;The mind is a terrible thing,
&lt;br&gt;and it must be stopped.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19524722.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19521220</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-16T14:07:49Z</published>
	<updated>2008-09-16T14:07:49Z</updated>
	<author>
		<name>Thorsten Glaser-3</name>
	</author>
	<content type="html">Michael G Schwern dixit:
&lt;br&gt;&lt;br&gt;&amp;gt;You: &amp;quot;Your shit is boring.&amp;quot;
&lt;br&gt;&lt;br&gt;More like &amp;quot;has been done already&amp;quot;. Sorry.
&lt;br&gt;&lt;br&gt;&amp;gt;If I understand correctly, that's an entire operating system.
&lt;br&gt;&lt;br&gt;Yes, but the gist is, that there is code which uses a certain 64-bit type,
&lt;br&gt;called time_t, but you could of course just use int64_t instead, which does
&lt;br&gt;the job quite fine. (Not even a binary change in the time zone data format.)
&lt;br&gt;&lt;br&gt;&amp;gt;Also you might want to have a look at the tests in y2038.
&lt;br&gt;&lt;br&gt;This is actually a good idea. Compiling (I think it was) CVS with the
&lt;br&gt;changes was a good test too, as the configure script “checks whether
&lt;br&gt;mktime() works”. To get that right (over all of the 64 bit) was hard.
&lt;br&gt;You have to think about very many border cases… in the end, I just
&lt;br&gt;ensured the round-trip via tai64_t was right, not neccessarily the
&lt;br&gt;tai64_t representation itself.
&lt;br&gt;&lt;br&gt;bye,
&lt;br&gt;//mirabilos
&lt;br&gt;-- 
&lt;br&gt;Sometimes they [people] care too much: pretty printers [and syntax highligh-
&lt;br&gt;ting, d.A.] mechanically produce pretty output that accentuates irrelevant
&lt;br&gt;detail in the program, which is as sensible as putting all the prepositions
&lt;br&gt;in English text in bold font.	-- Rob Pike in &amp;quot;Notes on Programming in C&amp;quot;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19521220.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19520359</id>
	<title>Re: Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-16T13:09:52Z</published>
	<updated>2008-09-16T13:09:52Z</updated>
	<author>
		<name>Michael G Schwern</name>
	</author>
	<content type="html">Thorsten Glaser wrote:
&lt;br&gt;&amp;gt; Michael G Schwern dixit:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Instead, I am rewriting the time.h library functions to be 2038-clean. &amp;nbsp;The
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; *yawn*
&lt;br&gt;&lt;br&gt;Me: &amp;nbsp;&amp;quot;Hey, I have this great idea that might help out!&amp;quot;
&lt;br&gt;You: &amp;quot;Your shit is boring.&amp;quot;
&lt;br&gt;&lt;br&gt;This is the sort of reply one gets when offering help? &amp;nbsp;What a jackass.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; MirBSD uses a 64-bit time_t type on i386 (ILP32), with the aid
&lt;br&gt;&amp;gt; of tm2mjd and mjd2tm functions from DJB libtai code. The rest of the
&lt;br&gt;&amp;gt; functions from the time library work just fine…
&lt;br&gt;&lt;br&gt;If I understand correctly, that's an entire operating system.
&lt;br&gt;&lt;br&gt;The target for y2038 is people writing portable applications which don't have
&lt;br&gt;the luxury of waiting for every OS to upgrade to a 64 bit time_t. &amp;nbsp;It works
&lt;br&gt;with a 32 bit time_t and it handles time zones.
&lt;br&gt;&lt;br&gt;This is something, as I understand it, that libtai does not do (this is the
&lt;br&gt;impression I get, please correct me if I'm wrong) and I'm offering a way that
&lt;br&gt;it could.
&lt;br&gt;&lt;br&gt;Also you might want to have a look at the tests in y2038. &amp;nbsp;libtai's INSTALL
&lt;br&gt;says it's not very well tested and what it has appears to be manual. &amp;nbsp;y2038
&lt;br&gt;has automated tests with extensive testing data files for expected gmtime()
&lt;br&gt;and localtime() results. &amp;nbsp;You might be able to adapt that data and also the
&lt;br&gt;tap.c test library to make writing tests easy.
&lt;br&gt;&lt;br&gt;Or is that too boring?
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;If at first you don't succeed--you fail.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; -- &amp;quot;Portal&amp;quot; demo
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19520359.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19505977</id>
	<title>Algorithm to exploit 32 bit time functions to do time zone calculations</title>
	<published>2008-09-15T20:57:50Z</published>
	<updated>2008-09-15T20:57:50Z</updated>
	<author>
		<name>Michael G Schwern</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;I'm writing to you in reference to your libtai library whose TODO file states
&lt;br&gt;that &amp;quot;support time zones&amp;quot; is still todo. &amp;nbsp;I had originally considered using
&lt;br&gt;libtai in Perl to avoid the Unix 2038 bug, but Perl requires time zone support.
&lt;br&gt;&lt;br&gt;Instead, I am rewriting the time.h library functions to be 2038-clean. &amp;nbsp;The
&lt;br&gt;effort is located here.
&lt;br&gt;&lt;a href=&quot;http://code.google.com/p/y2038/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/y2038/&lt;/a&gt;&lt;br&gt;&lt;br&gt;The piece which is of interest to libtai is this:
&lt;br&gt;&lt;a href=&quot;http://code.google.com/p/y2038/wiki/HowItWorks&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://code.google.com/p/y2038/wiki/HowItWorks&lt;/a&gt;&lt;br&gt;&lt;br&gt;I have figured out a way to make use of 32 bit system functions to do 64 bit
&lt;br&gt;time zone and daylight savings calculations. &amp;nbsp;I thought you might be able to
&lt;br&gt;apply this to libtai.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Schwern
&lt;br&gt;&lt;br&gt;&lt;br&gt;PS &amp;nbsp;Any potential license issues I'm happy to work out.
&lt;br&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Stabbing you in the face so you don't have to.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Algorithm-to-exploit-32-bit-time-functions-to-do-time-zone-calculations-tp19505977p19505977.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18976343</id>
	<title>subject :)</title>
	<published>2008-08-13T21:41:35Z</published>
	<updated>2008-08-13T21:41:35Z</updated>
	<author>
		<name>alon kuo</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-1&quot;&gt;

&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;html&gt;&lt;body bgcolor=&quot;#ffffff&quot;&gt;
&lt;div style=&quot;border-color: #00FFFF; border-right-width: 0px; border-bottom-width: 0px; margin-bottom: 0px;&quot; align=&quot;center&quot;&gt;
&lt;table style=&quot;border: 0px; font-family: Tahoma; font-weight: bold;&quot; cellpadding=&quot;15&quot; cellspacing=&quot;0&quot; bgcolor=&quot;#0CFF00&quot;&gt;
&lt;tr&gt;&lt;td&gt;&lt;center&gt;
&lt;span&gt;S&lt;/span&gt;e&lt;span&gt;x&lt;/span&gt; became stressful due to your inability to perform at the level???&lt;br&gt;
Take &lt;a href='http://creaserub.com' target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;span&gt;V&lt;/span&gt;&lt;span&gt;ia&lt;span&gt;&lt;/span&gt;gr&lt;span&gt;a&lt;/span&gt;&lt;/a&gt; and feel the difference.

&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;
&lt;td bgcolor=#FFFF33&gt;
&lt;center&gt;The results rock-Instead of having &lt;span&gt;s&lt;/span&gt;e&lt;font&gt;x&lt;/font&gt; once maybe twice&lt;br&gt; 
a month-you'll be back in the honeymoon form of 2x three or four times a week.&lt;/center&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;&lt;/body&gt;&lt;/html&gt;&lt;/BODY&gt;&lt;/HTML&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/subject-%3A%29-tp18976343p18976343.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18871506</id>
	<title>fatal: unable to init leapsecs</title>
	<published>2008-08-07T07:15:32Z</published>
	<updated>2008-08-07T07:15:32Z</updated>
	<author>
		<name>Amitai Schlair</name>
	</author>
	<content type="html">[[ This message never made it to the list. For the archives, here's &amp;nbsp;
&lt;br&gt;the fix: #include &amp;lt;unistd.h&amp;gt; in leapsecs_read.c. ]]
&lt;br&gt;&lt;br&gt;I've got a weird problem with libtai on my NetBSD/macppc 4.0 system, &amp;nbsp;
&lt;br&gt;which I ran into while trying to use some mess822 programs. Here's a &amp;nbsp;
&lt;br&gt;simple illustration of the problem without mess822:
&lt;br&gt;&lt;br&gt;$ nowutc
&lt;br&gt;utcnow: fatal: unable to init leapsecs
&lt;br&gt;$ sudo gzip /etc/leapsecs.dat
&lt;br&gt;$ nowutc
&lt;br&gt;2008-07-30 09:15:21.510625500000000000
&lt;br&gt;$
&lt;br&gt;&lt;br&gt;Looking at leapsecs_read(), I understand why nowutc proceeds in the &amp;nbsp;
&lt;br&gt;absence of /etc/leapsecs.dat. However, I'm not understanding why it &amp;nbsp;
&lt;br&gt;fails when the file does exist. I added some incredulously redundant &amp;nbsp;
&lt;br&gt;debug output as follows:
&lt;br&gt;&lt;br&gt;--- leapsecs_read.c.orig &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1998-09-04 22:33:37.000000000 -0400
&lt;br&gt;+++ leapsecs_read.c &amp;nbsp; &amp;nbsp; 2008-07-30 05:27:25.000000000 -0400
&lt;br&gt;@@ -32,10 +32,15 @@
&lt;br&gt;&amp;nbsp; t = (struct tai *) malloc(st.st_size);
&lt;br&gt;&amp;nbsp; if (!t) { close(fd); return -1; }
&lt;br&gt;&lt;br&gt;+ &amp;nbsp;printf(&amp;quot;malloc succeeded, can we read?\n&amp;quot;);
&lt;br&gt;&amp;nbsp; n = read(fd,(char *) t,st.st_size);
&lt;br&gt;&amp;nbsp; close(fd);
&lt;br&gt;+ &amp;nbsp;printf(&amp;quot;n is %zd, st.st_size is %zd\n&amp;quot;, n, st.st_size);
&lt;br&gt;+ &amp;nbsp;printf(&amp;quot;n == st.st_size: %d\n&amp;quot;, n == st.st_size);
&lt;br&gt;+ &amp;nbsp;printf(&amp;quot;n != st.st_size: %d\n&amp;quot;, n != st.st_size);
&lt;br&gt;&amp;nbsp; if (n != st.st_size) { free(t); return -1; }
&lt;br&gt;&lt;br&gt;+ &amp;nbsp;/* we never get this far */
&lt;br&gt;&amp;nbsp; n /= sizeof(struct tai);
&lt;br&gt;&lt;br&gt;&amp;nbsp; for (i = 0;i &amp;lt; n;++i) {
&lt;br&gt;&lt;br&gt;And here's what happens when I run nowutc again:
&lt;br&gt;&lt;br&gt;$ nowutc
&lt;br&gt;malloc succeeded, can we read?
&lt;br&gt;n is 0, st.st_size is 0
&lt;br&gt;n == st.st_size: 0
&lt;br&gt;n != st.st_size: 1
&lt;br&gt;utcnow: fatal: unable to init leapsecs
&lt;br&gt;$
&lt;br&gt;&lt;br&gt;Can anyone help me figure out what's going on here? I've included the &amp;nbsp;
&lt;br&gt;ktrace output below.
&lt;br&gt;&lt;br&gt;FWIW, I can survive without precise leap-second adjustments, I'm just &amp;nbsp;
&lt;br&gt;really really curious what the problem is. :-)
&lt;br&gt;&lt;br&gt;- Amitai
&lt;br&gt;&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; EMUL &amp;nbsp;&amp;quot;netbsd&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; CALL &amp;nbsp;execve(0xffffd8f8,0xffffddd8,0xffffdde0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/home/schmonz/bin/nowutc&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; RET &amp;nbsp; execve -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; CALL &amp;nbsp;execve(0xffffd8f8,0xffffddd8,0xffffdde0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/bin/nowutc&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; RET &amp;nbsp; execve -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; CALL &amp;nbsp;execve(0xffffd8f8,0xffffddd8,0xffffdde0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/sbin/nowutc&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; RET &amp;nbsp; execve -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; CALL &amp;nbsp;execve(0xffffd8f8,0xffffddd8,0xffffdde0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/usr/bin/nowutc&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; RET &amp;nbsp; execve -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; CALL &amp;nbsp;execve(0xffffd8f8,0xffffddd8,0xffffdde0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/usr/sbin/nowutc&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; RET &amp;nbsp; execve -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; CALL &amp;nbsp;execve(0xffffd8f8,0xffffddd8,0xffffdde0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/usr/X11R6/bin/nowutc&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; RET &amp;nbsp; execve -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; CALL &amp;nbsp;execve(0xffffd8f8,0xffffddd8,0xffffdde0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/usr/pkg/bin/nowutc&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 ktrace &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/usr/libexec/ld.elf_so&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; EMUL &amp;nbsp;&amp;quot;netbsd&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; execve JUSTRETURN
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;mmap(0,0x8000,3,0x1002,0xffffffff,0,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; mmap -268533760/0xeffe8000
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;open(0xefffb980,0,0xefffb980)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/etc/ld.so.conf&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; open -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp; 
&lt;br&gt;__sysctl(0xffffdcb8,2,0xefffcee8,0xffffdcc0,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; __sysctl 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;open(0xffffd678,0,0xffffd698)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/usr/pkg-20080723/lib/libc.so.12&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; open -1 errno 2 No such file or directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;open(0xffffd678,0,0xffffd688)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/usr/lib/libc.so.12&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; open 3
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;__fstat30(3,0xffffd5d8)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; __fstat30 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;mmap(0,0x1000,1,1,3,0,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; mmap -268537856/0xeffe7000
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;munmap(0xeffe7000,0x1000)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; munmap 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;mmap(0,0x11d000,5,0x10000002,3,0,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; mmap -269746176/0xefec0000
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;mmap(0xeffc1000,0x9000,7,0x12,3,0,0,0xf1000)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; mmap -268693504/0xeffc1000
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp; 
&lt;br&gt;mmap(0xeffca000,0x13000,7,0x1012,0xffffffff,0,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; mmap -268656640/0xeffca000
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;mprotect(0xeffb1000,0x10000,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; mprotect 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;close(3)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; close 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp; 
&lt;br&gt;__sysctl(0xefffce98,2,0xefffe0f0,0xffffdca8,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; __sysctl 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;__sysctl(0xffffdcec, 
&lt;br&gt;2,0xeffd1500,0xffffdce8,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; __sysctl 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;open(0x180203c,4,0xffffdde4)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/etc/leapsecs.dat&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; open 3
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;__fstat30(3,0xffffdcc0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; __fstat30 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;__sysctl(0xffffdb90,2,0xffffdb8c, 
&lt;br&gt;0xffffdb88,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; __sysctl 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;readlink(0xeffb0670,0xffffdbf4,0x3f)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; NAMI &amp;nbsp;&amp;quot;/etc/malloc.conf&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; readlink -1 errno 2 No such file or &amp;nbsp;
&lt;br&gt;directory
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;mmap(0,0x1000,3,0x1002,0xffffffff,0,0,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; mmap -268537856/0xeffe7000
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;break(0x18124ec)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; break 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;break(0x18134ec)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; break 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;break(0x1814000)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; break 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;break(0x1815000)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; break 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;__fstat30(1,0xffffdb58)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; __fstat30 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;break(0x1825000)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; break 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;ioctl(1,TIOCGETA,0xffffdb98)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; GIO &amp;nbsp; fd 1 read 44 bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;\0\0+\^B\0\0\0\a\0\0K\0 \0\^E\M-K\^D\M^?\M^?\^?\^W\^U\^R\M^?\^C 
&lt;br&gt;\^\\^Z\
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; \^Y\^Q\^S\^V\^O\^A\0\^T\M^?\0\0%\M^@\0\0%\M^@&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; ioctl 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;write(1,0x1815000,0x1f)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; GIO &amp;nbsp; fd 1 wrote 31 bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;malloc succeeded, can we read?
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; write 31/0x1f
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;read(3,0x1814000,0)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; GIO &amp;nbsp; fd 3 read 0 bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;&amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; read 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;close(3)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; close 0
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;write(1,0x1815000,0x18)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; GIO &amp;nbsp; fd 1 wrote 24 bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;n is 0, st.st_size is 0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; write 24/0x18
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;write(1,0x1815000,0x13)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; GIO &amp;nbsp; fd 1 wrote 19 bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;n == st.st_size: 0
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; write 19/0x13
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;write(1,0x1815000,0x13)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; GIO &amp;nbsp; fd 1 wrote 19 bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;n != st.st_size: 1
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; write 19/0x13
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;write(2,0x1801ff4,0x27)
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; GIO &amp;nbsp; fd 2 wrote 39 bytes
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;utcnow: fatal: unable to init leapsecs
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;quot;
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; RET &amp;nbsp; write 39/0x27
&lt;br&gt;22189 &amp;nbsp; &amp;nbsp; &amp;nbsp;1 nowutc &amp;nbsp; CALL &amp;nbsp;exit(0x6f)
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/fatal%3A-unable-to-init-leapsecs-tp18871506p18871506.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18288325</id>
	<title>Re: Updated leapsecs.dat</title>
	<published>2008-07-04T18:37:36Z</published>
	<updated>2008-07-04T18:37:36Z</updated>
	<author>
		<name>Toby Betts</name>
	</author>
	<content type="html">Alex Pennace wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; The International Earth Rotation Service has scheduled the next leap
&lt;br&gt;&amp;gt; second for December 31, 2008. Attached is the announcement and an
&lt;br&gt;&amp;gt; updated leapsecs.dat.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Here is how I generated the new leapsecs.dat, using
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://cr.yp.to/libtai/libtai-0.60.tar.gz:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cr.yp.to/libtai/libtai-0.60.tar.gz:&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; echo +2005-12-31 &amp;gt;&amp;gt; leapsecs.txt
&lt;br&gt;&amp;gt; echo +2008-12-31 &amp;gt;&amp;gt; leapsecs.txt
&lt;br&gt;&amp;gt; make leapsecs
&lt;br&gt;&amp;gt; ./leapsecs &amp;lt; leapsecs.txt &amp;gt; leapsecs.dat
&lt;/div&gt;&lt;br&gt;Another option would be to use my leapsunpack package:
&lt;br&gt;&lt;br&gt;&amp;lt;URL:&lt;a href=&quot;http://su.bze.ro/software/leapsunpack-0.05.tar.gz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://su.bze.ro/software/leapsunpack-0.05.tar.gz&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;I wrote it during the long and unprecedented gap in new leapseconds,
&lt;br&gt;so I'm not entirely sure it was useful until recently.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Toby
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Updated-leapsecs.dat-tp18287835p18288325.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-18287835</id>
	<title>Updated leapsecs.dat</title>
	<published>2008-07-04T17:18:14Z</published>
	<updated>2008-07-04T17:18:14Z</updated>
	<author>
		<name>Alex Pennace</name>
	</author>
	<content type="html">The International Earth Rotation Service has scheduled the next leap
&lt;br&gt;second for December 31, 2008. Attached is the announcement and an
&lt;br&gt;updated leapsecs.dat.
&lt;br&gt;&lt;br&gt;Here is how I generated the new leapsecs.dat, using
&lt;br&gt;&lt;a href=&quot;http://cr.yp.to/libtai/libtai-0.60.tar.gz:&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cr.yp.to/libtai/libtai-0.60.tar.gz:&lt;/a&gt;&lt;br&gt;&lt;br&gt;echo +2005-12-31 &amp;gt;&amp;gt; leapsecs.txt
&lt;br&gt;echo +2008-12-31 &amp;gt;&amp;gt; leapsecs.txt
&lt;br&gt;make leapsecs
&lt;br&gt;./leapsecs &amp;lt; leapsecs.txt &amp;gt; leapsecs.dat
&lt;br&gt;&lt;br /&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS) 
&lt;br&gt;&lt;br&gt;SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE
&lt;br&gt;&lt;br&gt;SERVICE DE LA ROTATION TERRESTRE
&lt;br&gt;OBSERVATOIRE DE PARIS &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;61, Av. de l'Observatoire 75014 PARIS (France)
&lt;br&gt;Tel. &amp;nbsp; &amp;nbsp; &amp;nbsp;: 33 (0) 1 40 51 22 26
&lt;br&gt;FAX &amp;nbsp; &amp;nbsp; &amp;nbsp; : 33 (0) 1 40 51 22 91
&lt;br&gt;e-mail &amp;nbsp; &amp;nbsp;: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=18287835&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;services.iers@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;http://hpiers.obspm.fr/eop-pc&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://hpiers.obspm.fr/eop-pc&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Paris, 4 July 2008
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Bulletin C 36
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; To authorities responsible 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for the measurement and 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; distribution of time &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UTC TIME STEP
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; on the 1st of January 2009
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&amp;nbsp;A positive leap second will be introduced at the end of December 2008.
&lt;br&gt;&amp;nbsp;The sequence of dates of the UTC second markers will be:		
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2008 December 31, &amp;nbsp; &amp;nbsp; 23h 59m 59s
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2008 December 31, &amp;nbsp; &amp;nbsp; 23h 59m 60s
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 2009 January &amp;nbsp; 1, &amp;nbsp; &amp;nbsp; &amp;nbsp;0h &amp;nbsp;0m &amp;nbsp;0s
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp;The difference between UTC and the International Atomic Time TAI is:
&lt;br&gt;&lt;br&gt;&amp;nbsp; from 2006 January 1, 0h UTC, to 2009 January 1 &amp;nbsp;0h UTC &amp;nbsp;: UTC-TAI = - 33s
&lt;br&gt;&amp;nbsp; from 2009 January 1, 0h UTC, until further notice &amp;nbsp; &amp;nbsp; &amp;nbsp; : UTC-TAI = - 34s 
&lt;br&gt;&amp;nbsp; 
&lt;br&gt;&amp;nbsp;Leap seconds can be introduced in UTC at the end of the months of December 
&lt;br&gt;&amp;nbsp;or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every 
&lt;br&gt;&amp;nbsp;six months, either to announce a time step in UTC or to confirm that there 
&lt;br&gt;&amp;nbsp;will be no time step at the next possible date.
&lt;br&gt;&amp;nbsp;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Daniel GAMBIS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Head		
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Earth Orientation Center of IERS
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Observatoire de Paris, France
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;leapsecs.dat&lt;/strong&gt; (264 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/18287835/0/leapsecs.dat&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Updated-leapsecs.dat-tp18287835p18287835.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-17329865</id>
	<title>Try once and you'll always buy your meds form us.</title>
	<published>2008-05-19T13:59:38Z</published>
	<updated>2008-05-19T13:59:38Z</updated>
	<author>
		<name>augie hai</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;META content=&quot;MSHTML 6.00.2900.3199&quot; name=GENERATOR&gt;

&lt;/HEAD&gt;
&lt;BODY bgColor=#ffffff&gt;
&lt;a href=&quot;http://ad.doubleclick.net/click;h=lHRLniPAeHFJvWwlQFFtnKIljcfAlHRLniPA;~sscs=%3fhttp://mejaviaggi.it/redir.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Save huge money on your meds. Crasy discounts and special offers.&lt;/a&gt;&lt;/BODY&gt;&lt;/HTML&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Try-once-and-you%27ll-always-buy-your-meds-form-us.-tp17329865p17329865.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-16800278</id>
	<title>Satisfy your addiction with these</title>
	<published>2008-04-20T16:23:06Z</published>
	<updated>2008-04-20T16:23:06Z</updated>
	<author>
		<name>NARRI-3</name>
	</author>
	<content type="html">&lt;HTML&gt;
&lt;HEAD&gt;
&lt;TITLE&gt;Satisfy your addiction with these&lt;/TITLE&gt;
&lt;/HEAD&gt;
&lt;BODY&gt;
&lt;FONT COLOR=&quot;#CC0080&quot;&gt;&lt;FONT SIZE=&quot;3&quot;&gt;&lt;center&gt;&lt;B&gt;&lt;FONT FACE=&quot;Tahoma&quot;&gt;&lt;SPAN STYLE='font-size:14pt'&gt;Get your refills today and save yourself a hole in your pocket in the long run. &lt;a href=&quot;http://www.rikalpose.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.rikalpose.com/&lt;/a&gt;&lt;/B&gt;&lt;/CENTER&gt;&lt;BR&gt;
&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;/BODY&gt;
&lt;/HTML&gt;

</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Satisfy-your-addiction-with-these-tp16800278p16800278.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-15569150</id>
	<title>Report</title>
	<published>2008-02-19T07:29:03Z</published>
	<updated>2008-02-19T07:29:03Z</updated>
	<author>
		<name>listproc</name>
	</author>
	<content type="html">The original message was received at Tue, 19 Feb 2008 16:29:03 +0100
&lt;br&gt;from [52.127.60.108]
&lt;br&gt;&lt;br&gt;----- The following addresses had permanent fatal errors -----
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=15569150&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;libtai@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;ikog.zip&lt;/strong&gt; (38K) &lt;a href=&quot;http://old.nabble.com/attachment/15569150/0/ikog.zip&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Report-tp15569150p15569150.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-13180952</id>
	<title>syensid</title>
	<published>2007-10-12T12:44:55Z</published>
	<updated>2007-10-12T12:44:55Z</updated>
	<author>
		<name>teresa Brunell</name>
	</author>
	<content type="html">&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-9&quot;&gt;
&lt;META content=&quot;MSHTML 6.00.2900.3059&quot; name=GENERATOR&gt;

&lt;/HEAD&gt;
&lt;BODY bgColor=#ffffff&gt;
&lt;DIV&gt;&lt;FONT Arial size=2&gt;howdy partner libtai&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT Arial size=2&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT Arial size=2&gt;CAUTION! she might be tight when you reach your new 
size, stretching may be required&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT Arial size=2&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT Arial size=2&gt;teresa Brunell&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;
&lt;DIV&gt;&lt;FONT Arial size=2&gt;&lt;A HREF=&quot;http://amentar.com/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://amentar.com/&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/syensid-tp13180952p13180952.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12860342</id>
	<title>September 78% OFF</title>
	<published>2007-09-24T07:49:58Z</published>
	<updated>2007-09-24T07:49:58Z</updated>
	<author>
		<name>cr.yp.to - libtai mailing list</name>
	</author>
	<content type="html">
&lt;center&gt;
&lt;a href=&quot;http://www.tradepay.cn&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://www.decimalsolution.cn/1.gif&quot;&gt;


</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/September-78--OFF-tp12860342p12860342.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12291215</id>
	<title>Re: Licensing of libtai</title>
	<published>2007-08-23T04:42:14Z</published>
	<updated>2007-08-23T04:42:14Z</updated>
	<author>
		<name>Randy Adamczyk</name>
	</author>
	<content type="html">hi,
&lt;br&gt;&lt;br&gt;On 8/23/07, Prabin Dahal &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12291215&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;pdahal@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; I want to know what is the licensing of this library, as i
&lt;br&gt;&amp;gt; did not find anywhere in the site of libtai.
&lt;br&gt;&lt;br&gt;&amp;quot;The libtai source code is in the public domain.&amp;quot;
&lt;br&gt;&lt;a href=&quot;http://cr.yp.to/libtai.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cr.yp.to/libtai.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;see also:
&lt;br&gt;&lt;a href=&quot;http://cr.yp.to/publicdomain.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cr.yp.to/publicdomain.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;so long,
&lt;br&gt;randy
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Licensing-of-libtai-tp12291050p12291215.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12291050</id>
	<title>Licensing of libtai</title>
	<published>2007-08-23T03:48:15Z</published>
	<updated>2007-08-23T03:48:15Z</updated>
	<author>
		<name>Prabin Dahal</name>
	</author>
	<content type="html">hi,
&lt;br&gt;I am using libtai for escaping y2038 problem. i am developing a sort of
&lt;br&gt;software that records the video from the IP camera and stores to the
&lt;br&gt;hard disk. I want to know what is the licensing of this library, as i
&lt;br&gt;did not find anywhere in the site of libtai.
&lt;br&gt;&lt;br&gt;Thanks in Advance.
&lt;br&gt;&lt;br&gt;PS: My software will not be based on any of the free license like GPL &amp;nbsp;
&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Prabin Dahal.
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Licensing-of-libtai-tp12291050p12291050.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11516825</id>
	<title>clockspeed on notebook - clockspeed make clock worse instead (CPU speed changes?)</title>
	<published>2007-07-10T01:09:27Z</published>
	<updated>2007-07-10T01:09:27Z</updated>
	<author>
		<name>Bugzilla from jiri@navratil.cz</name>
	</author>
	<content type="html">All,
&lt;br&gt;&lt;br&gt;Clockspeed is helping me keep good time on my servers with OpenBSD and Debian 
&lt;br&gt;systems just fine and I'm very satisfied with this SW.
&lt;br&gt;&lt;br&gt;Unfortunately on my x86 notebook with Ubuntu, it's not working well. I'm 
&lt;br&gt;curious, if this can be related to changed speed of CPU or if I have to try 
&lt;br&gt;to find other reason? 
&lt;br&gt;&lt;br&gt;2007-07-04 05:29:50.982939500 before: 2007-07-04 05:29:50.981900000000000000
&lt;br&gt;2007-07-04 05:29:50.983097500 after: &amp;nbsp;2007-07-04 05:30:21.390469158671602606
&lt;br&gt;2007-07-04 05:29:51.003186500 Viewing current attoseconds in hardware tick:
&lt;br&gt;2007-07-04 05:29:51.003201500 before: 2007-07-04 05:29:50.999138000000000000
&lt;br&gt;2007-07-04 05:29:51.003204500 after: &amp;nbsp;2007-07-04 05:29:50.999138001739677441
&lt;br&gt;2007-07-04 05:29:51.003538500 ===
&lt;br&gt;2007-07-04 05:29:51.009467500 Waiting 131463 seconds until next adjustment...
&lt;br&gt;2007-07-05 18:00:54.089553500 Obtaining new calibration mark from master XXX 
&lt;br&gt;2007-07-05 18:00:54.208362500 before: 2007-07-05 18:00:54.183446000000000000
&lt;br&gt;2007-07-05 18:00:54.208374500 after: &amp;nbsp;2007-07-05 18:00:38.698290880940362811
&lt;br&gt;2007-07-05 18:00:54.208378500 Viewing current attoseconds in hardware tick:
&lt;br&gt;2007-07-05 18:00:54.241866500 before: 2007-07-05 18:00:54.240936000000000000
&lt;br&gt;2007-07-05 18:00:54.242059500 after: &amp;nbsp;2007-07-05 18:00:54.240936002818392471
&lt;br&gt;2007-07-05 18:00:54.247136500 ===
&lt;br&gt;2007-07-05 18:00:54.342261500 Waiting 394389 seconds until next adjustment...
&lt;br&gt;2007-07-10 07:34:03.501491500 Obtaining new calibration mark from master XXX
&lt;br&gt;2007-07-10 07:34:03.607152500 before: 2007-07-10 07:34:03.569519000000000000
&lt;br&gt;2007-07-10 07:34:03.607321500 after: &amp;nbsp;2007-07-10 07:37:11.282705745577268301
&lt;br&gt;2007-07-10 07:34:03.625104500 Viewing current attoseconds in hardware tick:
&lt;br&gt;2007-07-10 07:34:03.625119500 before: 2007-07-10 07:34:03.619570000000000000
&lt;br&gt;2007-07-10 07:34:03.625122500 after: &amp;nbsp;2007-07-10 07:34:03.619570002609362403
&lt;br&gt;2007-07-10 07:34:03.625125500 ===
&lt;br&gt;2007-07-10 07:34:03.691988500 Waiting 1183167 seconds until next adjustment...
&lt;br&gt;&lt;br&gt;Any help is appreciated.
&lt;br&gt;&lt;br&gt;Thank you,
&lt;br&gt;Jiri
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Jiri Navratil, &lt;a href=&quot;http://www.navratil.cz&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.navratil.cz&lt;/a&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/clockspeed-on-notebook---clockspeed-make-clock-worse-instead-%28CPU-speed-changes-%29-tp11516825p11516825.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11004533</id>
	<title>Re: sntpclock = ntpdate + 22s</title>
	<published>2007-06-07T02:52:57Z</published>
	<updated>2007-06-07T02:52:57Z</updated>
	<author>
		<name>johnea</name>
	</author>
	<content type="html">&lt;br&gt;Thank you so much for the helpful replies!
&lt;br&gt;&lt;br&gt;Dang, somehow I overlooked that right/ timezone bit while going through the install.
&lt;br&gt;&lt;br&gt;I downloaded the source and followed the instructions in INSTALL.
&lt;br&gt;&lt;br&gt;The reading at both: &lt;a href=&quot;http://cr.yp.to/time.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cr.yp.to/time.html&lt;/a&gt;&amp;nbsp;and &lt;a href=&quot;http://www.thedjbway.org/clockspeed.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.thedjbway.org/clockspeed.html&lt;/a&gt;&lt;br&gt;was interesting and illuminating.
&lt;br&gt;&lt;br&gt;Thanks Again for the friendly replies!
&lt;br&gt;&lt;br&gt;johnea
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/sntpclock-%3D-ntpdate-%2B-22s-tp10996515p11004533.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10997476</id>
	<title>Re: sntpclock = ntpdate + 22s</title>
	<published>2007-06-06T15:00:04Z</published>
	<updated>2007-06-06T15:00:04Z</updated>
	<author>
		<name>Bennett Todd</name>
	</author>
	<content type="html">Sounds like you made half the changes necessary.
&lt;br&gt;&lt;br&gt;You've got a choice. You can run your system on TAI, so your system
&lt;br&gt;clock doesn't skip backward for leap seconds; in that case install
&lt;br&gt;/etc/leapsecs.dat from the clockspeed package, and set your TZ to
&lt;br&gt;one of the &amp;quot;right&amp;quot; zones in the zoneinfo database.
&lt;br&gt;&lt;br&gt;Or you can run your system according to the POSIX clock, with the
&lt;br&gt;clock having to reset when there are leap seconds[1], in which case
&lt;br&gt;you can use the normal timezone but need to remove
&lt;br&gt;/etc/leapsecs.dat.
&lt;br&gt;&lt;br&gt;djb has a nice description at
&lt;br&gt;&amp;lt;URL:&lt;a href=&quot;http://cr.yp.to/proto/utctai.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://cr.yp.to/proto/utctai.html&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;-Bennett
&lt;br&gt;&lt;br /&gt; &lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;attachment0&lt;/strong&gt; (196 bytes) &lt;a href=&quot;http://old.nabble.com/attachment/10997476/0/attachment0&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/sntpclock-%3D-ntpdate-%2B-22s-tp10996515p10997476.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10997092</id>
	<title>Re: sntpclock = ntpdate + 22s</title>
	<published>2007-06-06T14:46:48Z</published>
	<updated>2007-06-06T14:46:48Z</updated>
	<author>
		<name>Paul Jarc</name>
	</author>
	<content type="html">johnea &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10997092&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;me@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 22 seconds.
&lt;br&gt;&lt;br&gt;That's the current difference (almost - it's actually 23 now) between
&lt;br&gt;a system clock keeping TAI time (a count of seconds since the
&lt;br&gt;beginning of 1970) and a clock keeping POSIX time (a count of only
&lt;br&gt;non-leap seconds since the beginning of 1970). &amp;nbsp;A TAI clock increases
&lt;br&gt;smoothly; a POSIX clock jumps back a second when a leap second occurs.
&lt;br&gt;POSIX is more common overall, but clockspeed users tend to use TAI.
&lt;br&gt;&lt;br&gt;Doubts about whether your clock is synchronized usually stem from a
&lt;br&gt;misconfiguration, where you clock is interpreted as TAI by some
&lt;br&gt;programs and as POSIX by other. &amp;nbsp;To use a TAI clock, you should have
&lt;br&gt;the /etc/leapsecs.dat file installed by clockspeed, and you should use
&lt;br&gt;a right/ time zone (e.g., right/America/Los_Angeles instead of
&lt;br&gt;America/Los_Angeles). &amp;nbsp;To use a POSIX clock, you should delete
&lt;br&gt;/etc/leapsecs.dat and use a non-right/ time zone. &amp;nbsp;If you use a POSIX
&lt;br&gt;clock, then when a leap second occurs, you'll have to restart
&lt;br&gt;clockspeed, and either use clockadd to make the one-second jump while
&lt;br&gt;clockspeed isn't running, or let clockspeed bring your clock back into
&lt;br&gt;sync slowly.
&lt;br&gt;&lt;br&gt;&lt;br&gt;paul
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/sntpclock-%3D-ntpdate-%2B-22s-tp10996515p10997092.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10996515</id>
	<title>sntpclock = ntpdate + 22s</title>
	<published>2007-06-06T14:11:32Z</published>
	<updated>2007-06-06T14:11:32Z</updated>
	<author>
		<name>johnea</name>
	</author>
	<content type="html">&lt;br&gt;Hi,
&lt;br&gt;&lt;br&gt;I recently started running clockspeed 0.62.
&lt;br&gt;&lt;br&gt;Results from ntp servers around the net were consistent for several days, and I thought I had good timekeeping.
&lt;br&gt;&lt;br&gt;Then I noticed that the time displayed at:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://time.gov/timezone.cgi?Pacific/d/-8/java&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://time.gov/timezone.cgi?Pacific/d/-8/java&lt;/a&gt;&lt;br&gt;&lt;br&gt;was different from my computer's time by &amp;gt; 22 seconds.
&lt;br&gt;&lt;br&gt;I set the computer's time with ntpdate and now I find that the time agrees with time.gov to within a second.
&lt;br&gt;&lt;br&gt;Have I misconfigured clockspeed? Why are ntpdate times and sntpclock times different?
&lt;br&gt;&lt;br&gt;Below are a variety of outputs from sntpclock.
&lt;br&gt;&lt;br&gt;Thank You for any advice!!!
&lt;br&gt;&lt;br&gt;johnea
&lt;br&gt;&lt;br&gt;========================================================================================
&lt;br&gt;&lt;br&gt;[root@cube clockspeed-0.62]# sntpclock 132.239.1.6 | clockview
&lt;br&gt;before: 2007-06-03 11:01:10.388216000000000000
&lt;br&gt;after: &amp;nbsp;2007-06-03 11:01:10.407884999935477971
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]# sntpclock 198.82.1.201 | clockview
&lt;br&gt;before: 2007-06-03 11:01:21.120580000000000000
&lt;br&gt;after: &amp;nbsp;2007-06-03 11:01:21.137528742388680577
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]# clockview &amp;lt; /usr/local/clockspeed/etc/atto
&lt;br&gt;before: 2007-06-03 11:01:58.689057000000000000
&lt;br&gt;after: &amp;nbsp;2007-06-03 11:01:58.689057000586880272
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]# sntpclock 132.239.1.6 &amp;gt; /usr/local/clockspeed/adjust
&lt;br&gt;sntpclock: warning: unable to read clock: timed out
&lt;br&gt;sntpclock: warning: unable to read clock: timed out
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]# clockview &amp;lt; /usr/local/clockspeed/etc/atto
&lt;br&gt;before: 2007-06-03 11:02:21.280021000000000000
&lt;br&gt;after: &amp;nbsp;2007-06-03 11:02:21.280021000586880292
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;[root@cube clockspeed-0.62]# sntpclock 132.239.1.6 | clockview
&lt;br&gt;before: 2007-06-03 11:02:40.344967000000000000
&lt;br&gt;after: &amp;nbsp;2007-06-03 11:02:40.345191499883428215
&lt;br&gt;[root@cube clockspeed-0.62]# sntpclock 198.82.1.201 | clockview
&lt;br&gt;before: 2007-06-03 11:02:49.789360000000000000
&lt;br&gt;after: &amp;nbsp;2007-06-03 11:02:49.787162760729104280
&lt;br&gt;[root@cube clockspeed-0.62]#
&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/sntpclock-%3D-ntpdate-%2B-22s-tp10996515p10996515.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-9578984</id>
	<title>Chappelle Mayer</title>
	<published>2007-03-20T12:32:12Z</published>
	<updated>2007-03-20T12:32:12Z</updated>
	<author>
		<name>Tips-6</name>
	</author>
	<content type="html">
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0 Transitional//EN&quot;&gt;
&lt;HTML&gt;&lt;HEAD&gt;
&lt;META http-equiv=Content-Type content=&quot;text/html; charset=iso-8859-1&quot;&gt;
&lt;META content=&quot;MSHTML 6.00.2900.2180&quot; name=GENERATOR&gt;

&lt;/HEAD&gt;
&lt;BODY bgColor=#ffffff&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;&lt;A HREF=http://nissp.hk target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;&lt;IMG alt=&quot;&quot; hspace=0 src=&quot;http://old.nabble.com/attachment/9578984/0/Argentin%20tak.gif&quot; align=baseline border=0&gt;&lt;/A&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;National gardens parliament quotroyal. Whales 
teeth, glass relief. Staircase onyx silver handrail. Beachmusic showsshow 
dvdsmtv ridereal norriskurt, loderliz.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Candles fade needle bottle wine searching situation 
castles sand.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Smile elvis wonder womanthe went.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Dad handover miners mourn comrades search options 
alerts? Who extensive permanent earlier dive to, their victims usa.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Lachey, wasnt expecting, early leash pulling?&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Struck romance royalty soul ross teenage evanat.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Jedna psnika rusk jednu rockovou.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Catamaran sailboat corporate rewards business 
incentives links, toll.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Signature details stateroom boasts cd surround!&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Pitchon bebe winans watters, nancy, art jive 
sharlotte. Opening cbs csi ny wednesdays pmet ins rascal. Basic instinct spill secrets?&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Carrier, police catalogs chaplains cultural req 
driving directions.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Presente anuncie con, nosotros modifique.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Violence none awayrobert browne jailed.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Whores echo above readers respect hits kp.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Ruled teens homicide blunt.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Lynn letojason pivenjesse marshjoe maddenjoey 
mayerjohn stamosjohn stonejude lawjudith.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Soo sean, bradley brainsalad evan, brown bubba. 
Marzo sony productor sharon.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Itula namany hahad buank cekikikkan. Kel skinny 
websitethe scoopy doopthe huffington blogthe socialites.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Ancient delphi temple apollo oracle explore hydra cars.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Holmes holzer homann axel.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Micelotta getty scarlett moremike studioth sungplay 
backstage cozyplay videorick. Montage divas pregrammy aretha, power mingle. 
Filmin, movies videothe dimegames showthe.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Undergone most maritime is first bear!&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Mystery telling hundred hah broken fairy tale tore. 
Mourn comrades search options alerts signup breaking showbuzz cbscom?&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Night, and quotei, think. Houstonwho itwill 
ryderword weekyou yummy screwzac efronzach braffzooey view. Caldera greecequot 
akrotiri villages oia.&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT face=Arial size=2&gt;Login ratings log favorites section viewsjoin 
spotlight idol? Records listings localize vcr.&lt;/FONT&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;
&lt;br /&gt; </content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Chappelle-Mayer-tp9578984p9578984.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-9486077</id>
	<title>questions on clockspeed</title>
	<published>2007-03-14T17:50:06Z</published>
	<updated>2007-03-14T17:50:06Z</updated>
	<author>
		<name>Otavio Exel</name>
	</author>
	<content type="html">Hello All,
&lt;br&gt;&lt;br&gt;this time I don't NEED help! :-))
&lt;br&gt;the clockspeed install I just did went like a charm!
&lt;br&gt;&lt;br&gt;just out or curiosity:
&lt;br&gt;&lt;br&gt;- I remember reading about djb's reasoning for placing the qmail
&lt;br&gt;&amp;nbsp; binaries in such a non-standard location, that's ok! &amp;nbsp;now what about
&lt;br&gt;&amp;nbsp; clockspeed? why /usr/local/clockspeed/bin instead of /usr/local/bin?
&lt;br&gt;&lt;br&gt;- I'd bet a &amp;quot;modular man&amp;quot; like djb would write sntpclock and taiclock as
&lt;br&gt;&amp;nbsp; ucspi clients; why didn't he?
&lt;br&gt;&lt;br&gt;&amp;nbsp; same goes for Luca Morettoni's handy zonenotify (I wonder if Luca
&lt;br&gt;&amp;nbsp; reads &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9486077&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;libtai@...&lt;/a&gt;...)
&lt;br&gt;&lt;br&gt;[]s,
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Otavio Exel /&amp;lt;\oo/&amp;gt;\ &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=9486077&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;oexel@...&lt;/a&gt;
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/questions-on-clockspeed-tp9486077p9486077.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8456325</id>
	<title>Re: clockspeed do not run continuosly (just finish after start/it's  not started/intended for background)</title>
	<published>2007-01-19T09:50:07Z</published>
	<updated>2007-01-19T09:50:07Z</updated>
	<author>
		<name>Bugzilla from jiri@navratil.cz</name>
	</author>
	<content type="html">Paul,
&lt;br&gt;&lt;br&gt;Thank you very much for the fast response and finding out the reason for my 
&lt;br&gt;troubles.
&lt;br&gt;&lt;br&gt;&amp;nbsp;rm /usr/local/clockspeed/adjust
&lt;br&gt;&lt;br&gt;solved it and clockspeed is working fine now.
&lt;br&gt;&lt;br&gt;Once again Thank you!
&lt;br&gt;&lt;br&gt;Jiri Navratil
&lt;br&gt;&lt;br&gt;Dne pátek 19 leden 2007 07:53 Paul Jarc napsal(a):
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=8456325&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jiri@...&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt; My problem is, that clocspeed is exiting without any message immediatelly
&lt;br&gt;&amp;gt; &amp;gt; after start (during testing I run clockspeed NOT for background)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Random guess: you ran &amp;quot;sntpclock &amp;gt; /usr/local/clockspeed/adjust&amp;quot;
&lt;br&gt;&amp;gt; before ever running clockspeed, so &amp;quot;adjust&amp;quot; was created as a regular
&lt;br&gt;&amp;gt; file. &amp;nbsp;In that case, delete the file and start clockspeed first, to
&lt;br&gt;&amp;gt; ensure &amp;quot;adjust&amp;quot; gets created as a named pipe.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; If that's not the problem, run &amp;quot;strace clockspeed&amp;quot; to see what fails.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; paul
&lt;br&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/clockspeed-do-not-run-continuosly-%28just-finish-after-start-it%27s--not-started-intended-for-background%29-tp8441189p8456325.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8444946</id>
	<title>Re: clockspeed do not run continuosly (just finish after start/it's  not started/intended for background)</title>
	<published>2007-01-18T22:53:53Z</published>
	<updated>2007-01-18T22:53:53Z</updated>
	<author>
		<name>Paul Jarc</name>
	</author>
	<content type="html">&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=8444946&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jiri@...&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt; My problem is, that clocspeed is exiting without any message immediatelly
&lt;br&gt;&amp;gt; after start (during testing I run clockspeed NOT for background)
&lt;br&gt;&lt;br&gt;Random guess: you ran &amp;quot;sntpclock &amp;gt; /usr/local/clockspeed/adjust&amp;quot;
&lt;br&gt;before ever running clockspeed, so &amp;quot;adjust&amp;quot; was created as a regular
&lt;br&gt;file. &amp;nbsp;In that case, delete the file and start clockspeed first, to
&lt;br&gt;ensure &amp;quot;adjust&amp;quot; gets created as a named pipe.
&lt;br&gt;&lt;br&gt;If that's not the problem, run &amp;quot;strace clockspeed&amp;quot; to see what fails.
&lt;br&gt;&lt;br&gt;&lt;br&gt;paul
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/clockspeed-do-not-run-continuosly-%28just-finish-after-start-it%27s--not-started-intended-for-background%29-tp8441189p8444946.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-8441189</id>
	<title>clockspeed do not run continuosly (just finish after start/it's  not started/intended for background)</title>
	<published>2007-01-18T15:01:27Z</published>
	<updated>2007-01-18T15:01:27Z</updated>
	<author>
		<name>Bugzilla from jiri@navratil.cz</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I have a problem with clockspeed &amp;nbsp;binary from clockspeed-0.62 package
&lt;br&gt;(sntpclock is working just fine).
&lt;br&gt;&lt;br&gt;I adjusted conf-cc with to
&lt;br&gt;cc -O2 -include /usr/include/errno.h
&lt;br&gt;&lt;br&gt;I adjusted clockview.c:
&lt;br&gt;#include &amp;lt;sys/time.h&amp;gt;
&lt;br&gt;to
&lt;br&gt;#include &amp;lt;time.h&amp;gt;
&lt;br&gt;&lt;br&gt;I'm using
&lt;br&gt;&lt;br&gt;Ubuntu Edgy
&lt;br&gt;&lt;br&gt;gcc --version
&lt;br&gt;gcc (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)
&lt;br&gt;&lt;br&gt;uname -a
&lt;br&gt;Linux gimli 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686
&lt;br&gt;GNU/Linux
&lt;br&gt;&lt;br&gt;My problem is, that clocspeed is exiting without any message immediatelly
&lt;br&gt;after start (during testing I run clockspeed NOT for background)
&lt;br&gt;&lt;br&gt;On other machines is working fine. It's not my first installation.
&lt;br&gt;&lt;br&gt;Could somebody help me, what I shall try?
&lt;br&gt;&lt;br&gt;Thank you in advance,
&lt;br&gt;Jiri
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/clockspeed-do-not-run-continuosly-%28just-finish-after-start-it%27s--not-started-intended-for-background%29-tp8441189p8441189.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-7512487</id>
	<title>Re: Does anyone know where to find clocksd?</title>
	<published>2006-11-23T10:14:35Z</published>
	<updated>2006-11-23T10:14:35Z</updated>
	<author>
		<name>Paul Theodoropoulos</name>
	</author>
	<content type="html">Lloyd Zusman &amp;lt;ljz &amp;lt;at&amp;gt; asfast.com&amp;gt; writes:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Lloyd Zusman &amp;lt;ljz &amp;lt;at&amp;gt; asfast.com&amp;gt; writes:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I've been looking for Wayne Marshall's clocksd utility on the net, but
&lt;br&gt;&amp;gt; &amp;gt; every site that shows up on my searches for it is down. &amp;nbsp;This is a
&lt;br&gt;&amp;gt; &amp;gt; supervise/runit-based wrapper around the clockspeed/taiclock utilites,
&lt;br&gt;&amp;gt; &amp;gt; and it seems to be quite well done.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Does anyone happen to have a copy of clocksd that they would be willing
&lt;br&gt;&amp;gt; &amp;gt; to share with me? ... or perhaps could one of you point me to a working
&lt;br&gt;&amp;gt; &amp;gt; site where I can download it?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks to everyone who has replied, both here and privately, and I
&lt;br&gt;&amp;gt; especially thank those of you who sent me copies of the software.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Some of you referred me to this page:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &lt;a href=&quot;http://www.guinix.com/software/clocksd.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.guinix.com/software/clocksd.html&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is the main clocksd page. &amp;nbsp;It was down for a long time, up until
&lt;br&gt;&amp;gt; the last time I checked before posting my message here, but apparently,
&lt;br&gt;&amp;gt; that was a temporary problem, and it's up again.
&lt;/div&gt;&lt;br&gt;The clocksd page has disappeared from guinix.com again. in my opinion, clocksd 
&lt;br&gt;is unquestionably the nicest utility for managing clockspeed, so rather than 
&lt;br&gt;having it appear and disappear at random, i've made it available on my 
&lt;br&gt;website, which &amp;nbsp;should be around as long as i'm alive (it's been up 
&lt;br&gt;continuously since about 1995).
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.anastrophe.com/clocksd&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.anastrophe.com/clocksd&lt;/a&gt;&lt;br&gt;&lt;br&gt;it's the unmodified tarball of clocksd. since the package was distributed with 
&lt;br&gt;no warranty, i can see no objection to my redistribution of it.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Does-anyone-know-where-to-find-clocksd--tp1434101p7512487.html" />
</entry>

</feed>
