One of the millions of things I loathe about the modern digital computer is how badly the data storage media all age. Everything is totally opaque. If you don't have a machine that is already designed to read whatever soon-to-be-obsolete piece of plastic crap the data are encoded on, you're looking at a HUGE amount of work to read even data that's not all that old(we've only been doing this computer nonsense a few decades, how can this be that hard?)
I can't even listen to the tapes I have from high school, what does that say about how readable any work I make will be in 1000 years? Doomed. So what if I want to store data that *will* be readable in 1000 years, even if there is a nuclear war and most of our civilization is lost? I would need something totally self-documenting, where if that object is the only thing some future scavenger finds, with no other context, they can find a way to play back the data I've recorded here.
I am documenting an implementation-independent description of this here, and hope to provide details from trying this out later on, but this is going to take some work. This work is based on my "Roctal"(octal that rocks \m/) public domain ASCII encoding system.
I am imagining that I start with a reasonable sized stone, perhaps about the size of a brick(not brick though). A polished granite slab exactly the size of a brick is unusual enough compared to other artifacts from our time and place that it should stand out in a pile of rubble from the remains of our world after the nuclear holocaust and thus be found. I carve into the polished stone surface some instructions in English, referencing the Roctal code standard and also laying it out so that someone with a ton of time to think could figure out how to get between the carved stone and ASCII on their own.
Step 1: Connect to a Spiral
Now you want to carve a circular disk into the granite block to the right of the starting data which the silicon wafer will sit inside of, and it should be deep enough that you can go back at the end and coat in plastic to seal it in for the duration. There will be spiral data on that wafer, and I will now turn to the layout of the fab on there.
Step 2: Scale It Down
lines and curves can send a very clear message without any numbers or language. We will use that to connect the mind of the future viewer to the data, by showing how the large characters scale continuously down by various scales until you get a very high density data set. Note that the positions are not indicated or controlled all that accurately, and that having all Roctal 9 bit bytes connected to a guide line along the top means that no such specification is needed, since a very simple algorithm should keep the read head on track, which a future user can build without any of our machines.
Step 3: Encode Data
Once you have the geometrical metadata in place so the future reader can find your data, you just encode it and put it together in the brick. For my implementation I think this will be a 3 inch silicon wafer, with optical lithography and one metalization layer, then a polymer coating.
Also note that your data should always begin with a description in standard Roctal of how your data works, so here you can even provide code on several platforms for how to construct and read the rest of the data at scale. Also note that I still have not specified the whole Roctal system, and that the extended shape fabrication operation set will allow us to transmit more complex geometric fab data.
Thus with a set of hand carving tools, a block of stone, a silicon wafer and one simple metal layer I can finally get my mp3 library to still be readable in 1000 to 10,000 years after a nuclear war or two.