Happy 50th Birthday To All You Epoch Birthers

Good morning everyone, and what a lovely start to the new year it is, because it’s your birthday! Happy birthday, it’s your 50th! What’s that you say, you aren’t 50 today? (Looks…) That’s what all these internet databases say, because you’ve spent the last decade or so putting 1970-01-01 as your birth date into every online form that doesn’t really need to know it!

It’s been a staple for a subset of our community for years, to put the UNIX epoch, January 1st 1970, into web forms as a birth date. There are even rumours that some sites now won’t accept that date as a birthday, such is the volume of false entries they have with that date. It’s worth taking a minute though to consider UNIX time, some of its history and how its storage has changed over the years.

Don’t Use Up That 32 Bit Int Too Quickly

How doyou turn a 1960s minicomputer into a clock? Digital pdp8f.jpg: Simon Claessen from The Netherlandsderivative work: User:Clusternote [CC BY-SA 3.0]
How do you turn a 1960s minicomputer into a clock? Digital pdp8f.jpg: Simon Claessen [CC BY-SA 3.0]
Most readers will be familiar with the UNIX timestamp that the date command will return on UNIX-like operating systems. It’s an integer value representing the number of whole seconds that have elapsed since January 1st 1970, and it’s easy enough to write a little script that scrolls it up the screen so you can watch it increment second by second. But the interesting things about it are that the epoch date preceded its inception by several years, and the earliest UNIX versions used a rather different timing system.

We’re used to generating any clock signal we please using any of a huge number of available clock chips. If we need an odd frequency, there will be a PLL chip somewhere that can do it. In the early 1970s though the designers of the DEC minicomputers used by those primordial UNIX developers did not have that luxury, as complex clock generation would have required costly extra logic chips. The earliest UNIX time was thus measured in terms of the American mains power frequency,  60ths of a second with an epoch at the start of 1971. Since a 32 bit number at that rate would have meant a very short time before roll-over it was decided to use seconds instead with an epoch at the start of the decade. The latest distributions might have switched to using a 64-bit integer because the original 32-bit one would roll over in 2038, but otherwise the timing scheme remains unchanged.

Face It, We’re All Growing Older One Second At A Time

The 50-year anniversary, whether real or assumed, hides another impact of that early UNIX. For our youngest readers it’s possible that the start of the 1970s now represents as remote a date as possible, but for many adults it has still been possible to cling to the notion that it’s not too long ago even if we weren’t personally around to see it. The five-decade mark is a definitive point that puts it firmly in the historical, and should remind us that UNIX is no longer the relative new kid it might have been when we first used it.

You can still get away with claiming it for a fake birthday (at least for a a few more decades) perhaps it’s time to reflect that much of the technology we like to think of as cutting-edge and exciting is in fact now mature  and middle-aged. It’s likely we’ll be still measuring time in some way from the same UNIX epoch in a century’s time, and by then how shall we express a fake birthday?

19 thoughts on “Happy 50th Birthday To All You Epoch Birthers

  1. I llike Unix and Unix-like systems because when I use them it feels like sitting on an old toilet seat. It’s full of holes, some are filled with pieces of fecal matter. There’s urine splash everywhere but in the end you get that warm charming feeling when the job gets done.

    1. Mark, I’m sorry, but I have to respectfully disagree. Just as in counting, the number 1 is 1 beyond the start of a sequence. Jan 1, 2001 is 1 year into the current year, decade, millenia, etc. On any one, two, three or multidimensional graph, though few can grasp the concept of anything in four or more dimensions, 1 is a single point from the origin. Using your logic, 0 would HAVE TO BE a negative number, and I think we can all agree that it isn’t. Imagine the consequences if your rationale was correct. If you’re right in just the comparatively recent past, Columbus would have never run into America, the earth really would be flat and Borman, Lovell, Jr. and Anders we would have never been able to send anything to the moon because it wouldn’t be where math and trigonometry says it was! Please review your thoughts and respond to this comment with both your rationale behind your assertion and an explanation of why I’m wrong. I’m usually right, but I’ll FREELY admit it if I’m wrong and post an apology for not believing you. Thank you very much, Mark, and I hope your team wins the Super Bowl…Unless it’s not MY team!

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.