top | item 41643340

(no title)

noud | 1 year ago

KISS. In my home folder (*nix based):

  bin/
    ...all personal bash scripts can be found here...
  documents/
    audiobooks/
    backups/
    books/
    personal/
    projects/
    videos/
    work/
  downloads/
  hosts/
    ...sshfs to all important folders on several servers, no sync...
  images/
  music/
  share/
    ...for locally installed software, no sync...
  temp/
    ...remove all files in this folder once a month, no sync...
I (r)sync these folders with all my computers once every day. I have used this structure for the last 15 years. Therefore, I know by heart where to find what. Perhaps I could move the downloads folder into my temp folder. I don't know why I don't.

discuss

order

fasa99|1 year ago

I take an approach a lot like this - brief straightforward lowercase names e.g.

books/

periodicals/

films/

television/

That's the root directory.

Now for subfolders I keep a numerical scheme e.g. films/000_action films/000_docudrama books/000_science/000_biology

So the 000_ prefix indicates a major class - fits well with a "grep" or to sort by name in a file browser gui both.

Then from that I can add suffixes such as 001_90s_cartoons_megaset to signify this is a massive multi-terabyte wallop of interest

The upside of this approach is structure. The downside is that if one is building a good characterization of these things you soon realize a tag-based system might be better - the filesystem forces a tree structure. If these were managed by a database/indexing system, then presumably the tags would live there (not the filesystem) and the filesystem could merely be some sort of balanced tree that maximizes performance, filenames may as well be random 64 character IDs. This approach then requires some effort to organize into the tree (much effort over decades) for some structure to "bleed through" to the filesystem. But at this scale to really manage it, it's scripts and automation and indexes all the way.

The other hard part of it is maintenance and adding new data since data tends to grow exponentially. Still manual, could be automated if I was hardcore about it. One can also build search indexes but I personally tend to do every few months a simple "find | gzip -9 > listing.txt.gz" and then grep that for fast search in the future. There are faster ways to do this algorithmically surely, but this is perhaps the fastest way as far as minimizing the amount of time & effort I put in with a good payoff ratio for "just working"