{"id":19,"date":"2021-09-30T22:57:05","date_gmt":"2021-09-30T22:57:05","guid":{"rendered":"https:\/\/blogs.oregonstate.edu\/pollock\/?p=19"},"modified":"2021-10-02T04:34:43","modified_gmt":"2021-10-02T04:34:43","slug":"whered-all-the-time-go-the-unix-time-epochalypse-of-2038","status":"publish","type":"post","link":"https:\/\/blogs.oregonstate.edu\/pollock\/2021\/09\/30\/whered-all-the-time-go-the-unix-time-epochalypse-of-2038\/","title":{"rendered":"Where&#8217;d all the time go?: the Unix time Epochalypse of 2038."},"content":{"rendered":"\n<div class=\"wp-block-image is-style-default\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/clock-1024x1024.png\" alt=\"\" class=\"wp-image-21\" width=\"477\" height=\"477\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/clock-1024x1024.png 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/clock-300x300.png 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/clock-150x150.png 150w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/clock-768x768.png 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/clock.png 1356w\" sizes=\"auto, (max-width: 477px) 100vw, 477px\" \/><figcaption><em><sup>Photo by <a href=\"https:\/\/unsplash.com\/@kiranck123?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Kiran CK<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/clock?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/sup><\/em><\/figcaption><\/figure><\/div>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p><em>Where&#8217;d all the time go?<\/em><\/p><p><em>It&#8217;s starting to fly.<\/em><\/p><p><em>See how the hands go<\/em><\/p><p><em>Waving goodbye!<\/em><\/p><cite>Dr. Dog<\/cite><\/blockquote><\/figure>\n\n\n\n<p>Here we are: the fall of 2021 and my final quarter at Oregon State University. Since I&#8217;d rather not write a boring retrospective on how much I&#8217;ve learned &amp; grown (<em>yawn<\/em> &#8212; call me when somebody learns how to <em>un-<\/em>grow), and since the class this blog is named for is still in the process of kicking off, I&#8217;m going to use my first post as an opportunity to talk about a topic that interests me: time. <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>To be specific, I&#8217;m going to make this post about <strong>Unix time<\/strong>, the coolest, most intuitive, and easiest-to-read form of timekeeping. To be<em> even more specific,<\/em> this post is about how Unix time will ruin everything and leave us sifting through sand on a barren Earth after it launches the technological apocalypse.<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>(&#8230;Maybe.)<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/tusik-only-NZIYEN5FZmk-unsplash-1024x576.jpg\" alt=\"\" class=\"wp-image-50\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/tusik-only-NZIYEN5FZmk-unsplash-1024x576.jpg 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/tusik-only-NZIYEN5FZmk-unsplash-300x169.jpg 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/tusik-only-NZIYEN5FZmk-unsplash-768x432.jpg 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/tusik-only-NZIYEN5FZmk-unsplash-1536x864.jpg 1536w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/tusik-only-NZIYEN5FZmk-unsplash-2048x1152.jpg 2048w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/tusik-only-NZIYEN5FZmk-unsplash-1568x882.jpg 1568w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Okay, I was exaggerating. It was clickbait. Please come out of the tiny bunker, you know there&#8217;s no food in there.<br><em><sup>Photo by <a href=\"https:\/\/unsplash.com\/@tusik?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Tusik Only<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/bunker?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/sup><\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Unix time<\/h2>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>The time right now is <em>1,633,029,524<\/em>. And by the time I typed that, it already isn&#8217;t. So what is Unix time? That part&#8217;s simple: it&#8217;s the number of seconds since January 1<sup>st<\/sup>, 1970 UTC (also referred to as <em>seconds since the Epoch<\/em> <sup><a href=\"https:\/\/pubs.opengroup.org\/onlinepubs\/9699919799\/basedefs\/V1_chap04.html#tag_04_16\" target=\"_blank\" rel=\"noreferrer noopener\">1<\/a><\/sup>). Why do we use it? Well, that part&#8217;s pretty intuitive, too: it&#8217;s a nice, discrete whole number that&#8217;s easy to store on a computer as a 32-bit integer. <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p style=\"line-height:1.5\">Every day we move 86,400 seconds further into the Unix epoch (<em>tick, tock<\/em>), and the number in our computers grows ever larger. But what happens when that number gets <em>too <\/em>large for our computers &#8212; at least, too large for our 32-bit integers? Will it ever get that big? The answer is Yes, and sooner than you might expect. Enter:<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The <em>Year 2038 Problem<\/em><\/h2>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image is-style-rounded\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"771\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/the-blowup-vdomYpoEHBU-unsplash-2-1024x771.jpg\" alt=\"\" class=\"wp-image-25\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/the-blowup-vdomYpoEHBU-unsplash-2-1024x771.jpg 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/the-blowup-vdomYpoEHBU-unsplash-2-300x226.jpg 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/the-blowup-vdomYpoEHBU-unsplash-2-768x578.jpg 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/the-blowup-vdomYpoEHBU-unsplash-2-1536x1156.jpg 1536w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/the-blowup-vdomYpoEHBU-unsplash-2-2048x1541.jpg 2048w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/the-blowup-vdomYpoEHBU-unsplash-2-1568x1180.jpg 1568w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Despite how it looks, the year 2038 is actually a lot of fun.<br><em><sup>Photo by <a href=\"https:\/\/unsplash.com\/@theblowup?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">the blowup<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/sci-fi?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/sup><\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p>As you&#8217;ve probably already guessed, the Year 2038 Problem, also known by the significantly more punk rock name <em>the Epochalypse<sup> <a href=\"https:\/\/theyear2038problem.com\/\" target=\"_blank\" rel=\"noreferrer noopener\">2<\/a><\/sup>, <\/em>is Unix&#8217;s Y2K problem. At exactly 03:14:07 UTC on January 19<sup>th<\/sup>,  2038, Unix timestamps which are stored as signed 32-bit integers will overflow, going all the way back to the maximum negative value,<em> -2,147,483,648<\/em>. It&#8217;ll look something like this:<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"400\" height=\"130\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/Year_2038_problem.gif\" alt=\"\" class=\"wp-image-26\" \/><figcaption><sup><em>Image by WIkimedia contributor <a href=\"https:\/\/commons.wikimedia.org\/wiki\/User:Monaneko\">Monaneko<\/a><\/em><\/sup><\/figcaption><\/figure><\/div>\n\n\n\n<p>Applied to the epoch&#8217;s start date of January 1<sup>st<\/sup>, 1970, a Unix timestamp of <em>-2,147,483,648<\/em> would throw us all the way back to Friday, December 13<sup>th<\/sup>, 1901 (and if that isn&#8217;t bad enough, you&#8217;d still have work tomorrow.<em> <\/em>People didn&#8217;t start getting Saturdays off until <em>at least<\/em> 1908 <sup><a href=\"https:\/\/www.theatlantic.com\/business\/archive\/2014\/08\/where-the-five-day-workweek-came-from\/378870\/\" target=\"_blank\" rel=\"noreferrer noopener\">3<\/a><\/sup>). <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>While this clearly can&#8217;t be a <em>good <\/em>thing, is it something we ought to worry about? Are we headed for a dark day of planes tumbling from the skies (to cooperate with not having existing in 1901, obviously), or will this simply be a long, boring slog where the Peter Gibbons of the world go around updating lines of code in dated applications? <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"592\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/10\/zoltan-tasi-j3_t57R6TZ4-unsplash-1024x592.jpg\" alt=\"\" class=\"wp-image-52\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/10\/zoltan-tasi-j3_t57R6TZ4-unsplash-1024x592.jpg 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/10\/zoltan-tasi-j3_t57R6TZ4-unsplash-300x174.jpg 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/10\/zoltan-tasi-j3_t57R6TZ4-unsplash-768x444.jpg 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/10\/zoltan-tasi-j3_t57R6TZ4-unsplash-1536x889.jpg 1536w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/10\/zoltan-tasi-j3_t57R6TZ4-unsplash-2048x1185.jpg 2048w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/10\/zoltan-tasi-j3_t57R6TZ4-unsplash-1568x907.jpg 1568w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>Pictured: A man on January 20<sup>th<\/sup>, 2038. Alternatively, a man in 2021 who just learned he has to update all the legacy software at work. <br><em><sup>Photo by <a href=\"https:\/\/unsplash.com\/@zoltantasi?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Zoltan Tasi<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/alone?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/sup><\/em><\/figcaption><\/figure>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The fallout &amp; the solution<\/h2>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>First things first, what systems are actually going to be affected by this? As The Guardian puts it,<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>The computers that have the potential to cause the biggest issues are those embedded systems that cannot be upgraded. They are used in many transportation systems and other long-living devices, equipment such as stability control systems in cars or other isolated computer-based systems.<\/p><p>[. . .]<\/p><p>Those embedded systems that are effected are likely to have to be completely replaced as the software can\u2019t simply be upgraded.<\/p><cite><em><a href=\"https:\/\/www.theguardian.com\/technology\/2014\/dec\/17\/is-the-year-2038-problem-the-new-y2k-bug\" target=\"_blank\" rel=\"noreferrer noopener\">Samuel Gibbs<\/a>. &#8220;Is the Year 2038 problem the new Y2K bug?&#8221;<\/em> <br><sup><em>for<\/em> <em>The Guardian, December 17th, 2014.<\/em><\/sup><\/cite><\/blockquote>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>This isn&#8217;t an ideal turn of events, but it seems manageable when accepting occasional losses as a matter of course. Besides, in some cases the problem will take care of itself: take the Opportunity rover, for example. For a while, there was major concern over its 32-bit Unix ground control system having the clock roll over at the end of the epoch, causing Opportunity to spaz out. Opportunity was only programmed to understand time as a positive number <sup><a href=\"https:\/\/www.supercluster.com\/editorial\/can-we-rescue-the-opportunity-rover\" target=\"_blank\" rel=\"noreferrer noopener\">4<\/a><\/sup>. Now Opportunity is dead <sup><a href=\"https:\/\/www.npr.org\/2019\/02\/16\/695488100\/remembering-mars-rover-opportunity\" target=\"_blank\" rel=\"noreferrer noopener\">5<\/a><\/sup>. Problem solved.<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image is-style-rounded\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/nicolas-lobos-NR_tXTuyTak-unsplash-1024x576.jpg\" alt=\"\" class=\"wp-image-33\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/nicolas-lobos-NR_tXTuyTak-unsplash-1024x576.jpg 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/nicolas-lobos-NR_tXTuyTak-unsplash-300x169.jpg 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/nicolas-lobos-NR_tXTuyTak-unsplash-768x432.jpg 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/nicolas-lobos-NR_tXTuyTak-unsplash-1536x864.jpg 1536w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/nicolas-lobos-NR_tXTuyTak-unsplash-2048x1152.jpg 2048w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/nicolas-lobos-NR_tXTuyTak-unsplash-1568x882.jpg 1568w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption>&#8220;Must&#8230; update&#8230; system clock.&#8221;<br><em><sup>Photo by <a href=\"https:\/\/unsplash.com\/@lobosnico?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Nicolas Lobos<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/mars?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/sup><\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p>While that may sound like a joke, a large part of our mitigation strategy is, in fact, to stay the course and accept that by 2038 most systems will be obsoleted in favor of ones that avoid the issue entirely. The existence of 64-bit processors, now the norm for computers, allows for storage of Unix timestamps large enough to handle &#8220;20 times the current age of the universe, which comes to around 292 billion years&#8221; <sup><a href=\"https:\/\/www.scienceabc.com\/innovation\/what-is-the-2038-problem.html\" target=\"_blank\" rel=\"noreferrer noopener\">6<\/a><\/sup>. <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">The work ahead<\/h2>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>While the 64-bit news is comforting, it remains true that there are instances of software and programming languages which have yet to bridge the gap and will have to be updated or rebuilt in order to accommodate 64-bit architecture, and for that problem there exists no straightforward solution. <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>One of the bigger problem areas is with C, which is used in much of Linux&#8217;s kernel programming as well as many of those embedded systems mentioned earlier.  The signed 32-bit <code>time_t<\/code> type, present in some implementations of C, will have to be either be:<\/p>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>a.)<\/strong> abandoned in favor of a new, sufficiently large type, <\/p>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>b.)<\/strong> have its <em>signed<\/em> 32-bit integer storage replaced with an <em><strong>un<\/strong>signed<\/em> 32-bit integer or a signed 64-bit integer (an <em><strong>un<\/strong>signed<\/em> 32-bit integer, which has a larger positive range due to not having to count negative numbers, would only buy us until the year 2106), <\/p>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>OR <\/p>\n\n\n\n<div style=\"height:24px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>c.)<\/strong> the differences in older programs will just have to be wrangled with compatibility functions (such as <code>_time32()<\/code> and <code>_time64()<\/code>) <sup><a href=\"https:\/\/lwn.net\/Articles\/776435\/\" target=\"_blank\" rel=\"noreferrer noopener\">7<\/a><\/sup>. <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>In the end, it will likely be some combination of all those things as developers come up with solutions that make the most sense for them.<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div class=\"wp-block-image is-style-rounded\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"2560\" height=\"2560\" src=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-scaled.jpg\" alt=\"\" class=\"wp-image-37\" srcset=\"https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-scaled.jpg 2560w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-300x300.jpg 300w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-1024x1024.jpg 1024w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-150x150.jpg 150w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-768x768.jpg 768w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-1536x1536.jpg 1536w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-2048x2048.jpg 2048w, https:\/\/osu-wams-blogs-uploads.s3.amazonaws.com\/blogs.dir\/4773\/files\/2021\/09\/noah-buscher-7j8Ls1EVImA-unsplash-1-1568x1568.jpg 1568w\" sizes=\"auto, (max-width: 2560px) 100vw, 2560px\" \/><figcaption>This could be us, but only if we fix our software for 2038.<br><em><sup>Photo by <a href=\"https:\/\/unsplash.com\/@noahbuscher?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Noah Buscher<\/a> on <a href=\"https:\/\/unsplash.com\/s\/photos\/sci-fi?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText\">Unsplash<\/a><\/sup><\/em><\/figcaption><\/figure><\/div>\n\n\n\n<p>While there are myriad more examples of the individual problems that will have to be grappled with in order to prepare for 2038, it stands to reason that we will cope with the bulk of them uneventfully as we did with Y2K. In the end, the problems share many similarities, and the solutions employed the first time around provide a foundation from which we can draw insight as we continue to handle the situation. <\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>One parting thought comes to mind: as we pay yet again for the consequences borne from the limitations of the past, an important lesson repeats itself, which is to build your software for the future, because you never know how long it&#8217;ll be around.<\/p>\n\n\n\n<div style=\"height:32px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<div class=\"has-text-align-center wp-block-post-date\"><time datetime=\"2021-09-30T22:57:05+00:00\">September 30, 2021<\/time><\/div>\n\n<div class=\"taxonomy-post_tag has-text-align-center wp-block-post-terms\"><a href=\"https:\/\/blogs.oregonstate.edu\/pollock\/tag\/2038\/\" rel=\"tag\">2038<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/blogs.oregonstate.edu\/pollock\/tag\/epochalypse\/\" rel=\"tag\">Epochalypse<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/blogs.oregonstate.edu\/pollock\/tag\/future\/\" rel=\"tag\">Future<\/a><span class=\"wp-block-post-terms__separator\">, <\/span><a href=\"https:\/\/blogs.oregonstate.edu\/pollock\/tag\/unix\/\" rel=\"tag\">Unix<\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Here we are: the fall of 2021 and my final quarter at Oregon State University. Since I&#8217;d rather not write a boring retrospective on how much I&#8217;ve learned &amp; grown (yawn &#8212; call me when somebody learns how to un-grow), and since the class this blog is named for is still in the process of kicking off, I&#8217;m going to use my first post as an opportunity to talk about a topic that interests me: time. <\/p>\n<p>To be specific, I&#8217;m going to make this post about Unix time, the coolest, most intuitive, and easiest-to-read form of timekeeping. To be even more specific, this post is about how Unix time will ruin everything and leave us sifting through sand on a barren Earth after it launches the technological apocalypse.<\/p>\n","protected":false},"author":11649,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[2,5,3,4],"class_list":["post-19","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-2","tag-epochalypse","tag-future","tag-unix","entry"],"_links":{"self":[{"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/posts\/19","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/users\/11649"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":25,"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/posts\/19\/revisions"}],"predecessor-version":[{"id":68,"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/posts\/19\/revisions\/68"}],"wp:attachment":[{"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/media?parent=19"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/categories?post=19"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.oregonstate.edu\/pollock\/wp-json\/wp\/v2\/tags?post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}