4 ms·
Filesystem is a tree - a particular, constrained graph. Advanced topics usually require a lot of interconnections. Maybe it is why mind maps never spoke to me.
by stared 6mo ago
Filesystem is a tree - a particular, constrained graph. Advanced topics usually require a lot of interconnections.
Maybe it is why mind maps never spoke to me. I felt that a tree structure (or even - planar graphs) were not enough to cover any sufficiently complex topic.
- nutjob2 6mo agoIf it has hard or soft links, its a proper graph.
- calgoo 6mo agoThat what i was thinking! Instead of Wiki links, use Symlinks (i guess windows would not like it?)
- zahlman 6mo agoOn Linux at least, hard links can't be made to directories, except for the magic . and .. links. So this only allows for a DAG. Symbolic links can form a graph, and you can process them as needed using readlink etc. to traverse the graph, but they'll still be considered broken if they form a cycle.
- Retr0id 6mo agoConsidered broken by what?
- rleigh 6mo agoHistorically, it made deletion rather difficult with some problematic edge-cases. You could unlink a directory and create an orphan cycle that would never be deleted. Combine that with race conditions on a multi-user systems, plus the indeterminate cost of cycle-detection, and it turns out to be a rather complex problem to solve properly, and banning hard-links is a very simple way to keep the problem tractable, and result in fast, robust and reliable filesystem operations.
- Retr0id 6mo agoGP was talking about symlink cycles though, which can't produce orphans during deletion.
- rleigh 6mo agoTrue, I missed that. I suppose with symlinks you have the reverse problem: you can point to deleted filenames and then have broken links. The cycle detection is still an issue though--it has indeterminate complexity and the graph can be modified as you are traversing it!
- Retr0id 6mo agoThis is true, but just about everyone has a symlink cycle on their system at `/proc/self/root`, and for the most part nobody notices. Having a max recursion depth is usually more useful than actively trying to detect cycles.
- zahlman 6mo agoAs in, they'll appear highlighted as broken symlinks when running `ls` with colour enabled (or at least it's so on my system).
- deleted 6mo ago[deleted]
- PunchyHamster 6mo agoI guess technically you could do bind mounts but that's messy
- vinaigrette 6mo agoIsn't text a basic linear structure that can cover sufficiently complex topics ?
- stared 6mo agoYes. And precisely for this reason reading a dictionary is not a way of learning a language.