More on this book
Community
Kindle Notes & Highlights
by
Matt Parker
Read between
January 9 - January 12, 2022
I don’t blame the people who originally set up Unix time. They were working with what they had available back then. The engineers of the 1970s figured that someone else, further into the future, would fix the problems they were causing (classic baby-boomers).
The largest value you can store in a signed 64-bit number is 9,223,372,036,854,775,807, and that number of seconds is equivalent to 292.3 billion years. It’s times like this when the age of the universe becomes a useful unit of measurement: 64-bit Unix time will last until twenty-one times the current age of the universe from now—until (assuming we don’t manage another upgrade in the meantime) December 4 in the year 292,277,026,596 CE, when all the computers will go down. On a Sunday.
Which leaves you swearing loudly at a semicolon at 3 a.m.
There are ways to mitigate rollover errors. If programmers see a 256 problem coming, they can put a hard limit in place to stop a value going over 255. This happens all the time, and it’s fun spotting people getting confused by the seemingly arbitrary threshold. When messaging app WhatsApp increased the limit on how many users can be in the same group chat from 100 to 256, it was reported in the Independent that “it’s not clear why WhatsApp settled on the oddly specific number.”