4 ms·
While WinFS was a good start, I think the idea of a semantic file system could be extended much further to the whole system (if it weren't for pesky POSIX) I t
by geokon 9y ago
While WinFS was a good start, I think the idea of a semantic file system could be extended much further to the whole system (if it weren't for pesky POSIX)
I think most people would expect
/home/geokon/program1/src/
and
/src/program1/home/geokon
to have pretty much the same content
A tag based file system that makes the two equivalent would eliminate all sorta of annoyances where you can't decide how to structure your file hierarchy
(should you have bin/program1 bin/program2 sr/program1 src/program2 or program1/src program1/bin program2/src program2/bin? both layouts have their advantages).
Something like a "path/path/bin/path/path/bin" wouldn't work.. but it's hard to find a case where you really need it. And the vast majority of time the subfolders aren't strict subsets of the parent (like mammals/dogs mammals/cats mammals/whales - where dogs/mammals would be a little weird)
- rakoo 9y agoThere's a project that kinda wants to do that, ie provide a virtual interface on top of the existing filesystem based on tags you give each file: https://tmsu.org/ https://tmsu.org/
- skissane 9y agoYears ago, I had a similar idea, but never did anything with it. Look at DNs in LDAP (and X.400/X.500), they are based on attribute=value pairs. What about a filesystem in which filenames were collections of attribute=value pairs? e.g. /home/geokon/program1/src/foo.c could become: user=geokon/program=program1/category=src/lang=c/name=foo You could potentially decide that the order of the attributes is not significant, only the set of attribute-value pairs. Downside: Too much typing. Although, maybe you could allow standard aliases for attribute names, so that: user=geokon/program=program1/category=src/lang=c/name=foo could also be written as: u=geokon/p=program1/c=src/l=c/n=foo (I think the attributes should be first-class filesystem objects, just like files are, as opposed to just text strings. Some of the values, e.g. an enumerated value like lang=c, should be first-class objects as well.) I also took some inspiration (in concept not syntax) from https://en.wikipedia.org/wiki/Faceted_classification https://en.wikipedia.org/wiki/Faceted_classification such as https://en.wikipedia.org/wiki/Colon_classification https://en.wikipedia.org/wiki/Colon_classification Being too different from what everyone else is doing would be the real killer, however.
- Qantourisc 9y agoJust write geokon program1 src c foo, and then just display a list of files that match. You could for example also make fake folder/menus to navigate tags. (Which would just be appending filters.)
- deleted 9y ago[deleted]