4 ms·
I've come around to the view that filesystems are idea whose time has passed, a relic or holdover or atavism from the era of small, slow machines. What you wou
by carapace 4y ago
I've come around to the view that filesystems are idea whose time has passed, a relic or holdover or atavism from the era of small, slow machines.
What you would like, I think, is something like git (or IPFS) where data is stored as content-addresses blobs and metadata (including filenames and directory structures) are also just blobs in the object store.
- salawat 4y agoFilesystems are literally what it says on the tin. It is a filing system. Look in library and secretarial annals for the earliest foundational thinking from which computing's idea of filesystems were born. A systemization of behaviors and abstractions that facilitate the organization, addressing, and access of data. Go to any library, or talk to any long time/old school secretary or warden of archived paperwork, and I assure you, they will be happy to extoll the virtues of simple or reckonable information storage. A hierarchical data store comes baked in with an opportunity of implementing topical locality for the end user, which allows you to utilize pathfinding logic baked into your brain to navigate the corpus of information in question. Content addressable stores, require praying that the layers of cryptography work, or you have enough understanding of the implementation details and tooling around the store to find what you need. In short, find | grep being strictly necessary, rather than a fallback, means you've failed at organizing things so your user can understand where the hell something even is, and why it is there. I assure you, more harm is done by forgetting the fundamental human way of life that computing tries to plaster over, as we inflict impedance mismatch on Users by forcing them to search in a way that makes sense only to the machine, rather than to them. Sometimes a little less ideal computational performance pays dividends in ease of picking up.
- carapace 4y agoI'm old enough to be familiar with non-computerized filing systems myself. But I don't think there's a close match between computer files and directories and old-school hardcopy filing systems. But that's not really what I'm getting at. I'm more thinking like POSIX API vs. Git plumbing API. > A hierarchical data store comes baked in with an opportunity of implementing topical locality for the end user, which allows you to utilize pathfinding logic baked into your brain to navigate the corpus of information in question. Most documents naturally fall into more than one hierarchy, and some "flat" patterns as well (e.g. alphabetical by author). One of the downsides of computer FS is that they encourage a single name-based hierarchy (although using symlinks or hardlinks you can reference files from several directories.) The hierarchy can and should be separate from the object store. Then you can also use e.g. Jef Raskin's Zooming UI to organize topical locality, in addition to more traditional UIs like directory trees.
- Joker_vD 4y agoOh for the... we had non-hierarchical file systems already, thank you very much. It's what OS/360 used. It's what Apple Macintosh did (and yes, Macintosh Finder faked the hierarchy on top of it, just as you propose). And they're not gone, Amazon S3 essentially is one. And I remember that I half-jokingly proposed in some other discussion about file paths to either remove the filenames entirely or at least lift the uniqueness restriction: after all, if you have a GUI, files with the same name don't cause that much of a trouble.
- salawat 4y agoSymlinks are actually a tricky thing. ln -s /a/long_contrived path/somewhere_else ./here cd ./here # cwd somewhere_else ls -al ../.. #list contents of /a cd .. # cwd back to here (possibly shell-dependent) The joys of impedance mismatch, and the angst of more easily frustrated users everywhere. This is one of the many searching for data/pathing based things that trips up most users, without fail, who have better things to do with their lives than internalize the madness of software developers, necessitating people like me to clean up after you heathens when you shine a turd. Yes. Very shiny and efficient. Still a turd. We need to build things that intuitively map through things they are well equipped to deal with, which means sometimes stepping away from the screen for a while. Cognitive load is the enemy. Any idiot can make a more complicated system. It's about building and leveraging mental spaces, and being able to wire into a skill every other human being will share in their lifetime. We should endeavor to have computer use not condition the user in a maladaptive way to real life. I assure you, we've failed epically, even in or brightest moments.