<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Aptos;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
{font-family:"Tomson Talks";
panose-1:0 0 0 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
font-size:12.0pt;
font-family:"Aptos",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
font-size:10.0pt;
font-family:"Courier New";}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Aptos",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
mso-ligatures:none;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt'>This made me think of my annoyance at logs for some apps that did epoch timestamps. More than once I wrote a script to calculate human readable time as it displayed lines from such logs. I’m sure there are some who can eyeball epoch and convert it mentally to star date and other clock/calendar systems but I wasn’t one of them. <br><br>Which also made me think of the fact that some logs are in UTC rather than local time zone time. At least I could do that conversion in my head. <br><br>Back when we tested for Y2K bugs many of us who were UNIX admins also tested for future dates against the 32 bit limit and other factors. I often thought it odd that most UNIX platforms already did 64 bit whereas many Linux distros didn’t even if they were on a 64 bit processor. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> Ale <ale-bounces@ale.org> <b>On Behalf Of </b>Ron via Ale<br><b>Sent:</b> Saturday, April 25, 2026 1:29 PM<br><b>To:</b> ale@ale.org<br><b>Cc:</b> Ron <ron@bclug.ca><br><b>Subject:</b> Re: [ale] End of Time, *nix Time<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal><span style='font-family:"Tomson Talks",serif'>Bob Toxen via Ale wrote on 2026-04-24 19:43:</span><o:p></o:p></p></div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><pre><span style='font-family:"Tomson Talks",serif'> # Download this program:<o:p></o:p></span></pre><pre><span style='font-family:"Tomson Talks",serif'> wget <a href="http://verysecurelinux.com/xtime.c">http://verysecurelinux.com/xtime.c</a><o:p></o:p></span></pre><pre><span style='font-family:"Tomson Talks",serif'> # Compile:<o:p></o:p></span></pre><pre><span style='font-family:"Tomson Talks",serif'> make xtime<o:p></o:p></span></pre><pre><span style='font-family:"Tomson Talks",serif'> # Run:<o:p></o:p></span></pre><pre><span style='font-family:"Tomson Talks",serif'> ./xtime -q</span><o:p></o:p></pre></blockquote><p><span style='font-family:"Tomson Talks",serif'>I downloaded an compiled this.</span><o:p></o:p></p><p><span style='font-family:"Tomson Talks",serif'>Lots of warnings when running `make`, but it compiled.</span><o:p></o:p></p><p><span style='font-family:"Tomson Talks",serif'>What am I to make of the output? I can make no sense of it.</span><o:p></o:p></p><p><o:p> </o:p></p><p><span style='font-family:"Courier New"'>$ ./xtime -q<br>Copyright (c) Bob Toxen 2026. All rights reserved.<br><br>This program will analyze your *nix for the well-known bug if the<br>seconds since 01/01/1970 exceeds a signed 32 bit (4-byte) integer.<br>If it outputs abnormal output for years beyond 2038 then your computer<br>will fail at that time, about 12 years from now.<br><br>Many *nix systems were fixed decades ago so that this variable became<br>an unsigned 32-bit int, which can keep time until 2106.<br>More recently most systems went to a signed 64-bit int.<br><br>Note that most Unix and Linux distributions corrected the time<br>problem by approximately 2014 to work until 2106 (using an unsigned<br>32-bit number) or well beyond if using a 64-bit number but maybe the code<br>will fail before the largest 64-bit signed (292,271,022,989 years)<br>or unsigned number is exceeded.</span><o:p></o:p></p><p><span style='font-family:"Courier New"'><br>If it is not fixed in your version, well, good luck.<br><br>sizeof char=1, sizeof short=2, sizeof int=4, sizeof long=8, sizeof long long=8, sizeof time_t=8<br><br>Current years and seconds since the epoch: 56 1777137911<br> seconds/year:31536000, seconds/year including leap year:31557600, delta seconds:21600, delta hours:6<br><br>Biggest signed 4-byte long: years inc= 0, years in the future= 11, Mon Jan 18 19:14:07 2038<br>Biggest unsigned 4-byte long: years inc= 0, years in the future= 79, Sat Feb 6 22:28:15 2106<br><br>Time: years inc= 1, years in the future= 2147437525, Wed Jun 12 15:25:11 2147483647<br><br>Welcome to the Restaurant at the end of the universe. Hello, your Majesty.<br><br>Biggest signed 8-byte long: years inc= 0, years in the future= 292271022988,<br>ERROR: Invalid seconds since Epoch in localtime<br>Error code: Value too large for defined data type<br><br>Biggest unsigned 8-byte long: years inc= 0, years in the future= -56, Wed Dec 31 15:59:59 1969</span><o:p></o:p></p><p><o:p> </o:p></p></div></body></html>