Discover more from hrbrmstr's Daily Drop
Drop #372 (2023-11-15): What's Old Is New
Epoch Times; Netsurfer Digest (via π); Modernized MOTD ASCII Art
Fear not! The first section is most assuredly not about the Nazi site.
The other day, I read two articles that got me all nostalgic, and that — combined with Tuesday's tick to 1.7 billion (see said non-Nazi site section) — means you get today's “modern retro” edition of the Drop.
All subscribers should have received/will soon receive the weekend’s Bonus Drop, today. Lemme know if I failed to machinate Substack properly.
This is an AI-generated summary of today's Drop.
Some days, the stochastic nature of these generative content retrieval systems can be maddening. Perplexity gave me no inline links despite the prompt explicitly asking for them 😞.
The post discusses the significance of both the POSIX timestamp, which counts the number of seconds since 00:00:00 UTC on January 1, 1970, and a recent “milestone” for it. It explains the historical reasons for choosing this date as the epoch and the potential issues with systems that do not use 64-bit integers to store POSIX timestamps.
The author reminisces about Netsurfer Digest, a free e-zine from the 1990s that delivered a selection of interesting online sites to subscribers' email inboxes. The post also mentions Pi Search, a website that allows users to search for any string of digits in the first 200 million digits of the mathematical constant π.
The final section of the post highlights a modern take on ASCII art by Miek Geiben, who has developed a workflow for incorporating it into daily logins.
Yesterday, if you blinked at the right moment, you missed the (POSIX) clock tick past 1,700,000,000. Yep, That's right. We cruised past 1.7 billion seconds since January 1, 1970 with no Times Square countdown or slurred cheers from inebriated TV emcees (on the plus side, also no PFAS-loaded confetti to clean up).
Modern computing systems that are aligned to the POSIX standards base their timestamps on the number of seconds since 00:00:00 UTC on 1970-01-01. We hit 17 billion at 2023-11-14 17:13:20 EST.
The choice of 1970-01-01, as the epoch date in POSIX was largely due to tangential/practical reasons. Unix, the operating system that heavily influenced POSIX, was developed around this time. Early versions of Unix measured system time in 1/60s intervals, meaning a 32-bit unsigned integer could only represent a span of time less than 829 days. Therefore, the time represented by the number 0 (the epoch) had to be set in the very recent past. As Unix was developed in the late 1960s and early 1970s, the epoch was initially set to January 1, 1971
Later, the system time was changed to increment every second, which increased the span of time that could be represented by a 32-bit unsigned integer (~136 years). As it was no longer so important to squeeze every single second out of the counter, the epoch was rounded down to the nearest decade, thus becoming January 1, 1970. This date was considered “neater” than January 1, 1971
Back in MY day, POSIX timestamps were nine digits AND WE LIKED THEM. More seriously, my introduction to these timestamps was when I started shoving Slackware floppy disks into x86 (no fancy “-64”) systems.
You may be surprised to learn that there are other “epochs”. In my youthful naivety, it was a bit of a "WAT” moment when I — just a scant few years after my introduction to the standards in Slackware Linux — that I was thrust into DEC VAX/VMS-land where 1858-11-17 ruled the epoch. In that same context, I was also forced into the OS/2-world for a bit where 1980-01-01 was the sovereign epoch. There's plenty more epoch divergence to go 'round, too.
This may all sound like quite a bit of blather for reaching a well-rounded ten-digit number, but how computers deal with time can be of critical import.
For systems that do not use 64-bit integers to store POSIX timestamps, there is a potential “2038 problem”. POSIX timestamps are traditionally stored in a signed 32-bit integer, which can represent integers between -2^31 and 2^31 - 1. This means the latest time that can be properly encoded is 2^31 - 1 seconds after the epoch, which corresponds to 03:14:07 UTC on 19 January 2038. Attempting to increment to the following second will cause the integer to overflow, setting its value to -2^31, which systems will interpret as 2^31 seconds before the epoch, or 20:45:52 UTC on 13 December 1901.
There's a related issue with the Network Time Protocol (NTP), which uses a 32-bit value for the number of seconds passed since January 1, 1900. This value overflows in 2036, so a “2036 issue”. NTP uses a two-part 64-bit timestamp for most parts of the protocol, with the first 32 bits representing the aforementioned date, and the second 32 bits representing the fractional part. This gives NTP approximately 136 years between rollovers, leading to the first rollover on February 7, 2036.
Modern systems that use a 64-bit integer to store these timestamps (e.g., arm64/x86-64/amd64 versions of Linux, MacOS, and Windows) are not affected by the 2038 issue. Similarly, the 2036 issue with NTP is generally not an issue for running systems, as the wraparound is invisible as long as the timestamps are within 68 years of each other.
If you want to know when to celebrate the next well-rounded'versary, use your fav command/language to convert
1800000000 and mark your calendars.
Netsurfer Digest (via π)
What got me all nostalgic was being reminded of the Pi Search. It's an, er, intriguing corner of the internet that lets us dive deep into the infinite digits of the mathematical constant π. It lets you search for any string of digits (up to 120 of them) in the first 200 million digits of π. You can hit that site for more details since that's not the point of this section.
The Pi Search site links to Netsurfer Digest. Think “Substack of the late 90's”.
Launched in 1994, Netsurfer Digest was a free e-zine that delivered a selection of interesting online sites directly to subscribers' email inboxes. Its tagline was “More Signal, Less Noise”. Yes, we had garbage websites back in the day, too.
It was made possible and successful, in part, because of Linux.
More than a few issues have survived in my now decade's oldweb bookmarks curation, but one that stood out as I reviewed them for this Drop was v09i42. This Netsurfer edition discussed how much new information is created each year, provided an update on some rando named “Linus Torvalds” 🙃 and the development of Linux, and explored the use of honeypots to trap internet worms; which is likely one reason why I do what I do for a living now.
You will not regret the time sink if you peruse the digests (all of them, not just the links digest one).
While I'm loath to punt you to a LinkedIn “blog post”? “newsletter”? “article”? (what does that toxic positivity site call that content?), this one is pretty solid if you'd like more color on this historical resource.
Modernized MOTD ASCII Art
This is a long-ish Drop so I'll make this last section quick, and just tell you to read how Miek Gieben leveled up his MOTD with a modern take on ASCII art and a workflow for shunting it into your daily login.
Don't forget to keep sending good vibes (well, not too many, since that'd just make the earthquakes worse) to the folks in Iceland.
hrbrmstr's Daily Drop is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.