Joe Armstrong’s piece earlier in March has got me thinking. It riffs on his runaway Youtube hit, The Mess We’re In, which is worth a watch if you’re in the business of trying to keep track of things digital.
The web of checksums, I’m pretty much sold on. It improves the notion of sending checksums around with content (like BagIt), and it solves some other problems that I hadn’t thought about.
The other parts of Joe Armstrong’s proposal I didn’t care for as much. My alternative: let’s fix some of the problems with local, portable names by making them more portable and verifiable. A local name can be paired with a checksum. Unlike BagIt where the name is used to find the file and the checksum is used to verify it, both of those functions will rely on the checksum. The name will only be used to conveniently refer to it in shorthand, and to resolve inter-file links if they rely on some non-checksum addressing scheme.
Names could be fully qualified (http://davidbrunton.com/the-web-of-webs/) or relative (/the-web-of-webs/), and it’s easy to imagine how these names will be useful. In the case of a file being used twice by two different names: who cares?
The web of checksums and the web of names are good enough without the web of UUIDs. The web of UUIDs might be a fine addition to every other web of identifiers (DOIs, Handles, IS*Ns, etc.) but if we can simply treat names as local, we don’t have to figure out how to use unique ones.