3 ms·
I don't like the idea of file hashes for storing files. That really only works well for a limited set of files completely ignoring things like databases, note f
by slaymaker1907 5y ago
I don't like the idea of file hashes for storing files. That really only works well for a limited set of files completely ignoring things like databases, note files, etc. If you want to generate a name, UUIDs would make way more sense. Additionally, even for files which never change, what happens when a bit gets flipped inside of the file? That would presumably change the hash without knowledge of the file system until you try and read it. For drives intended for consumers, you really don't want to have more data loss than is absolutely necessary in case of minor corruption.
On a different note, I use Tiddlywiki with tags a lot for my personal notes and I think a hybrid approach with tags and a hierarchy works best. Hierarchies are useful for generating meaningful unique names where it is nice to have the notes be meaningful. Another thing that would be useful with a hybrid system is to have rules like /Skyrim/Guilds/ThievesGuild/NPC/Mercer automatically assign tags to Mercer by virtue of his placement like {"Skyrim", "NPC", "ThievesGuild"}. You could do this automatically via the path or by some sort of rules engine.
Finally, I would really like it for a more complex information storage system to fully support 1, 2, and 3-tuple metadata. A 1-tuple is a tag, a 2-tuple is a key-value pair associated with a file, and a 3-tuple would be a relation between files with an optional key/value (some relations would be merely a tag while others might want a key/value). 2-tuples are obviously useful since they exist in limited form currently via file attributes, though they unfortunately are not exposed very well to users even though some file systems support arbitrary key/value pairs as attributes.
3-tuples are a little more niche, but I think it would be useful for keeping track of stuff like what file imports another. Humans probably wouldn't generate the metadata in the previous example, but it would help tools play nicely together since you could have a small static analysis tool which simply updates this metadata which could then be used by other tools or by users directly. One of the greatest things about file systems is that they allow for separate tools to interact with the same data in a structured way.
- geysersam 5y agoBit flip issue could probably be solved using error correction codes in the implementation of the file system. Interesting idea using 3-tuples for storing relationships between files.