The 100-year challenge

It really is amazing how hard it is to make anything that truly lasts. In Madrid, where I live, there are a large number of buildings on the order of about a hundred years old, and a handful of older things that approach the 500-year mark, but beyond that you’re pretty much down to buried ruins of stone walls.

Still, carving or making things out of stone doesn’t seem to be a bad option. For example, some of the oldest human-made things I’ve seen with my own eyes are buildings in Rome (around 60 BC), ruins in Pompeii (a few hundred years older), or cave paintings in the Valley of Fire State Park (those could be close to 3,000 years old).

But most of the stuff we make nowadays doesn’t seem likely to last as long as that, and we seem particularly bad at maintaining records of digital things. Media degrades, hardware fails, and software becomes obsolete. You can try to use open formats and store your data redundantly with a vendor who focuses on reliability and durability, like Amazon, but there are no guarantees that even a behemoth like Amazon will continue to be in business on a timescale of 50 years or more.

Even if they are, what will happen after you die? Maybe your spouse or family somehow keep the credit card alive and paid off, maybe they don’t even know what the expense it, but sooner or later the card (or whatever future analog is being used for payment) will expire and your digital legacy will disappear from Amazon’s servers. Perhaps long before that your automated Let’s Encrypt renewal will fail and your site will become unreachable anyway. Or Let’s Encrypt will cease to exist. The recent past is littered with once-giant companies now gone, domains expired and captured by squatters, and URLs broken, never to be restored.

Distributed version control systems offer some hope, but only for public data. That is, you can push your side project or your blog posts (authored in a basically-plain-text format like Markdown, of course) to multiple hosts and hope that at least the source files continue to live on for some decades, somewhere, but at time scales of a hundred years, even that becomes an option of unforeseeable durability.

And then there’s code. What if you want to make a piece of software that you know you’ll be able to run in 25 years? 100? Given the difficulty of keeping bit-rot away from any project over a scale as short as months — and even weeks — it seems difficult to imagine a sure-fire bet that would last a century. About the best option that occurs to me for now is JavaScript, and only if you can keep your dependency footprint small (ideally, no footprint at all).

Thinking about how I could preserve some kind of digital legacy for my heirs after I’ve gone — even if they might not have any interest in it — is a thought experiment that I like to play around with from time to time. But it’s in the world of science fiction that I’ve found some particularly interesting food for though. Hopefully without risking any spoilers, I found the treatment in Death’s End to be pretty thought-provoking — in that, they explore the subject of preserving a record of human civilization across cosmological timescales, and it’s clear that if we have trouble keeping even trivial snapshots of our personal data intact and accessible for periods as short as years, then doing it at scale over the distances and timespans of outer space is, er, non-trivial.