Ask HN: How do you organise your files and folders?

throwawayt856 | 181 points

Save files to my desktop. When it gets too messy, I throw everything in a folder called "Cleanup". Repeat. When it gets messy again, I rename the Cleanup folder to Cleanup_<date>, then throw that and everything else in a new folder called "Cleanup".

I'm about 7 deep at the moment.

jaquers | 4 years ago

I use a system I created called: Shelf, Desktop, Cabinet.

I use the 'shelf' folder to store all the files I use and reuse (usually, transform) at work. E.g. templates, stock photos, contracts, pieces of code etc.

My actual projects are sub-folders inside the 'desktop' folder. Metaphorically speaking, they are 'sitting on the desktop'. Folders are named like this: 'client_name - project_name'. Whereas 'client' can be anything like: 'me - learning Vue.js'

The 'cabinet' folder files completed projects should be no longer on my 'desktop'. I just move them into there, where they can be easily sorted alphabetically. But before doing that, I take elements that could be reused someday in similar projects, copy them into the 'shelf' folder and give them a generic name that I can easily find through a search.

edit: clarity (I guess...)

rodolphoarruda | 4 years ago

Photos: In folders named "YYYY/MM.N Descriptive event title" like "2019/05.1 Birdwalk with Stephanie". This really helps me find things later.

Technical library: Academic Topic/subtopic/ then pdf title

Music: I use beets now, which imports and organizes everything

Household: Accounts folder, Mortgage folder, Appliances folder with subfolders for each appliance containing manuals, photos, and maintenance info.

Systems folder: subfolders for various IT systems and lots of related data in them

Projects folder: topic/project name mostly, sometimes with subtopics

Documents: YYYY/topic for things that I can find by year later, like taxes, licenses. Also used as longterm archive for projects.

Software/repo for various repos that don't fit in other categories (not too happy with this)

/opt/venvs for lots of python virtual environments.

Pretty much everything is in a mirrored ZFS pool with auto-snapshots (for rewinding in the event of accidental deletions) and occasionally dumped to external drives put in fireproof/floodproof safe (and taken offsite).

acidburnNSA | 4 years ago

I try to make sure every name is clever enough to make me hate myself but also appreciate my wit when I try to find it in the future. Versioning is achieved by banging on the keyboard when saving the file, it's easy to tell how recent something is by the length of the 'asdljkhaoi' appended to the filename. Every once in a while I throw everything into a folder called "backup" and start fresh. I believe they go 8 deep now.

errantspark | 4 years ago

First thing to do, is to create a new "homedir" inside the OS-provided homedir. I want my homedir to be immediately backup-able, and unfortunately most OSs spam the system homedir with various nonsense, e.g. applications (on Mac, Chrome installs (or used to) in `~/.ApplicationData`, on Linux, there's various package managers' binary caches, ...). I used to name this `home` but next time I'll name it `my`, less confusing.

Then, inside of that dir, I have several other folders - `personal` is where I keep my "personal" info (tax returns, copies of official documents, CV, bank statements, ...), `code` is where I keep my projects (usually I then have a `code/archive` as well for things I'm not working on any more), `music`, `photos`, `movies` are obvious, and `archive` for things like ebooks, saved websites, webinar videos, ...

also two folders called `inbox` (for new, yet unsorted items) and `tmp` (for things that can be deleted) - seemed like good ideas but I don't really use those any more... usually my OS-provided `Downloads` folder serves both these functions...

tomp | 4 years ago

At this point, I've decided 75%+ of stuff is transitory and doesn't deserve the time to be filed into a hierarchical local file system, so I just leave it all in Downloads on OS X. Github, Overleaf, Google Docs, and email has all the critical stuff. And of course I have full backups for years. This horrifies some people, but has worked well for me for about 5 years.

glup | 4 years ago

00.INFO - Notes, references, some original sources

10.TASKS - Any work I do for a specific person that can be completed in a week

20.PROJECTS - Multiple related tasks or tasks that have transmogrified into a full-blown project

30.MEDIA - Says what it does on the tin

40.ORGANIZATIONS - Different groups I've joined

  X0.CORE - Private or important to me alone
  X1.PRIMARY - Important to me and I'm responsible for it
  X2.SECONDARY - I am responsible for some of the work but it's not important to me
  X3.GENERAL - Everything else that I still need to be aware of
  X9.ARCHIVE - Everything that I'm to afraid to delete even though it's irrelevant
So a folder/file might look like:

00.INFO/00.2019 JOURNAL/

00.INFO/00.2020 JOURNAL/

10.TASKS/11.2020 PRIMARY TASKS/20200603 JS 401(k) Rate Report.xlsx

20.PROJECTS/21.2020 PRIMARY PROJECTS/202006 FY 2020 401(k) NDT/

40.GROUPS/41.Eberron Campaign/20200531 Campaign Notes.md

I probably overthought it but it makes finding things pretty straightforward.

jakamau | 4 years ago

Documents/Current/ is a symlink Documents/Months/2020-06/.

Anything that survives more than a month gets promoted to Documents/Projects, with symlinks to that location from any month-directory where I work on that project.

If anything, it is an excellent way, ahem, to discover FreeBSD symlinked directory arcana. The “..” directory never seems to be what I expect it to be.

Everything is rsyncd to NAS:/tank/Backups/ which I never use except as backup space. The NAS and all its ZFS snapshots are backed up to rsync.net’s CH store, with borg, from which I have never had to restore in anguish or anger.

When I run out of space on my laptop, I log in to the NAS and move data from /tank/Backups/ to /tank/Archives/ then delete the data on my laptop. The Archives gather dust alongside the last 30 years of data that has been growing in size linearly in my mind, and exponentially in reality. I hope they may be of interest to someone one day, as my forebears papers have been to me.

gorgoiler | 4 years ago

>> surely not Dewey Decimal?

Close.

https://johnnydecimal.com/

Rather, I'd like to do implement this. I have my own homegrown system, with too many idiosyncrasies to share.

dhruvkar | 4 years ago

An amusing aside: When I was in grad school, the university created a little pamphlet to help students answer the question: Should I get my own computer?

That such a question could even be asked, dates me. But one comment in the pamphlet still seems to ring true:

Don't expect the computer to organize you. If you have a messy desk, you will have a messy computer.

For me, search is how I organize my files, and yes I suffer from my lack of organization.

analog31 | 4 years ago

Oh file management - my favorite topic! I spent way too much time finding a system that works.

Everything (files, PDFs, etc) that’s important goes into DEVONthink for future referencing. The app is excellent for finding files that relate and can do things like “I think this file goes into the folder ‘water bills’ based on other files in that folder. Move it?”. It’s also e2e encrypted and syncs to multiple cloud storages at once.

Everything that’s not in DEVONthink is considered temporary. I have hazel on my Mac automatically clean up old files in locations like desktop/downloads that are older than x and move it into the trash. If something is important I have to decide this early otherwise it gets thrown (but I could restore it for a while until hazel auto-cleans my trash)

Folders like Documents/, I leave as is. If apps want to write in there they can, but I don’t consider that location important. For more important app data I use iCloud and each app writes in their iCloud specific folder.

For nuggets that refuse to write anywhere else and only into a folder inside Documents, I have hazels sync feature replicate that specific folder automatically into a other location, like inside iCloud Drive.

Then if anything goes wrong I have an arq backup :)

dvcrn | 4 years ago

Basically dump everything in ~/Downloads and then a couple of scripts to archive it off to ~/doc/YYYY-MM every month, then every now and then I might sort that into ~/archive/home/doc and ~/archive/work/doc.

Got a few context-specific directories; ~/src, ~/screenshots, ~/notes.

Search using Finder, find or ripgrep.

I wrote a bit more about it at https://www.garethrees.co.uk/2019/11/24/filesystem-organisat...

ghr | 4 years ago

  On NAS with ZFS + backup on second NAS + Online Backup:
  /music/
  /picture/<picture taker (me, my wife, me and my wife, friends)>/<year>/

  On every laptop/desktop i have a project folder which is backuped through git:
  /project/

  Then i have everything else i need in a google docs and its basically:
  /docs/archive (stuff i don't need but don't wanna delete, old letters, old bills)
  /docs/ebook
  /docs/finance
  /docs/flat
  /docs/company/<companies i have worked for>
  /docs/resume

It reflects more or less what i have in real paper folders. I'm still rethinking if i can go full digital but its not really urgent.

Passwords & Secerts are at lastpass, backuped on docs with very strong password. That change, made my life a lot easier :)

battery423 | 4 years ago

shell darwinism. I toss files onto the Desktop, and have a cron that runs every night, deleting files older than 30 days. This knife-in-the-steering-wheel approach leaves me constantly scrambling to make sure my files are all properly curated into a more suitable hierarchy, of which is not interesting.

digitalsushi | 4 years ago

`ag -g 'some-piece-of-the-name-that-seems-kind-of-likely'` [0]

[0] https://github.com/ggreer/the_silver_searcher

sixhobbits | 4 years ago

~/tmp - desktop and downloads, mounted as tmpfs.

~/usr/text - pdfs and text files with name format author-title, no hierarchy

~/usr/projects - each project, not sorted by language

~/etc - $XDG_CONFIG_HOME

~/etc/bin - shell scripts

~/bin - programs locally installed

~/src - source code repos, built into ~/bin

~/prog - cache and data

I use CVS to store and version everything, and various environment variable, wrapper script, and alias hacks to move as many dotfiles out the way.

eatmygodetia | 4 years ago

    ~/dev        # git repositories, unfiled.
    ~/Downloads  # ... everything else
In yesteryear I used to do a bit of local photo management (but now that's done in google photos for the most part) and a bit of local music management (but that's spotify/youtube nowadays).

I would organize things differently but I've always been unsatisfied with having to reify some arbitrary subset of metadata about each file into a directory structure. It might seem reasonable to have photos in directories by YYYY/MM/DD but sometimes I want all photos that were taken in a particular location or that have a certain person in them.

I have had no fewer than four aborted attempts to start using camlistore^W perkeep. For some reason it just doesn't stick and I end up going back to the "... everything else" directory. The bit that always gets me is the interface between the object storage world and the posix world (where all my apps / editors live).

Internally, google has a really generic File API that abstracts over a plethora of internal storage systems. Public examples of those storage systems include things like GFS and Chubby (though Chubby support got removed IIRC because enough people didn't understand that they shoudn't use it as a generic storage system -- imagine FUSE-mounting a zookeeper subfolder as your ~/Downloads directory)). So if you're writing internal code, you just get this interface to access "file"s in a mostly-implementation-agnostic way. I don't know how many internal projects use regular POSIX files/directories, but it's probably fewer than you'd think.

For better or for worse, the open source community will never rally around a "file" interface that isn't POSIX-ish (directories and files), at least not on the desktop. A while back I got excited about filepicker.io (apparently rebranded as filestack since the last time I looked at it), because I'd love for there to be some layer (that isn't defined by Apple/Google), pluggable / extensible, that would allow me to organize files in a way that makes sense to me.

philsnow | 4 years ago

git-annex. I love this tool - it allows you to have a single virtual gigantic git repository with your entire life inside it. I basically dump everything there in folders and thanks to git-annex it is still manageable.

https://git-annex.branchable.com/walkthrough/

igorhvr | 4 years ago

I delete everything except photos and music once every year or so. Whatever is important, like legal stuff, I email to my wife, who is a hoarder and never deletes her emails.

rotterdamdev | 4 years ago

By context (Development, Personal, Business, References) on my personal machines and by project/customer on the work ones.

Right now, since I've moved about in the company a bit, and still have an archive of work from my previous role, that means "My Org/Customer Deliverables/ACME/Coyote Dynamite Project" and whatnot.

All my deliverables are named "YYMMDD Thing that got done.format" inside those folders (and yes, I still version some of these manually, because they are easier to compare side-by-side).

I do that because in Spotlight it is trivial to start typing the approximate date of what you did by memory and (in the past, before macOS became hopelessly bloated) I got to any important file in less than 2 seconds.

(Today, of course, Spotlight is useless and takes up to 30s to display anything of consequence.)

Reference stuff goes into folders by topic - I usually file whitepapers and presentations separately, because I retrieve them in different contexts (so if I need to re-use something, I'll go into "Presentation Resources/Infrastructure Automation" and that sort of thing).

Most project work, however, ends up on Teams/Sharepoint/whatever the customer wants, and teamwork patterns vary _a lot_, so I'm very dependent on searching for stuff anyway.

rcarmo | 4 years ago

Personal work goes into a sync folder organized by year.

References are organized by media type, then by general subject, then (usually) by author. I mark up filenames with tags so that I have some options for tracking down stuff with file search.

When I want to collect references for a project they get copied out.

What I've noticed is that the organization ought to reflect the mind, and the mind doesn't run on Internet Time. You probably aren't a professional librarian archiving the whole world's knowledge, but rather a person who is using curation to say "this is what I like" and create a quick-access space for self-exploration. If you go too general in your organizational patterns, if you archive too much or archive unseen works, you won't use it. You might as well run off to a search engine in that case. So it has to be more of a gradual-phases accumulation.

The most recent change is that I started copying more, because I'm aiming not to data-hoard and with current capacities it's hard to fill up the drive with references without falling into hoarding.

lxdesk | 4 years ago

Projects go in <year>/<name>

Every year I move the currently active projects forward as I touch them. Unless it makes sense to leave them in the old year. They aren’t archived, can still be worked on, they just aren’t necessarily cluttering the current year. And I have a script (bash function) for navigating them. ‘work’ cd’s me to the current year. ‘work ——-‘ (3 dashes) goes 3 years back. ‘work 2016’ goes straight to that year.

Projects are created at the drop of a hat. Super lightweight, no need for it to be important, formal, or even mine. Cloning something from github? Goes right into the current year.

The current year is in dropbox. Everything else is not. There’s also a special directory that holds stuff that doesn’t go in the cloud.

Also have a script for labeling the current directory with tags for easy grepping.

It works ok. There are a few rough edges. Like I might be playing with markdown one year and then again a few years later and end up with two markdown directories, in different years. Whatever. I can usually find old work for reference pretty easily.

natch | 4 years ago

PDFs and reference material not written by me is stored in mendeley/zotero (I'm using both right now) so it's easily cross referenced and text searchable across my devices and I'll have my reference material at any job I go to. My background is engineering not research but when I discovered these tools my note taking/referencing skyrocketed. I put every worthwhile pdf I find in it. I've begun following a lot more research/science types lately to learn their systems because it's stuff I never really encountered on this end of tech.

Code is in ~/workspace which is typically ~/workspace/$company/$github-repos

My markdown docs (snippets, research) are in ~/workspace/docs/$whatimresearching

I do everything out of my workspace. This lowers the amount of cruft I have to move between systems when migrating. Mostly dotfiles and ~/workspace and I'm good to go. And I keep offline backups of course.

mjayhn | 4 years ago

By project. https://egypt.urnash.com/blog/2019/01/06/how-i-work-file-org... goes into more detail. I am an artist, so perhaps what works for me won't work for programmers - but I am also an artist who self-publishes comics, which are huge projects that sprawl across multiple files and programs.

References go into a few directories, there are some vaguely sorted directories of inspirational images, books go into an "ebooks" directory that has a few broad categories in it, mostly I just go to that directory and type what I'm looking for into OSX's search bar.

When I do commissions, reference images generally get dropped into the Illustrator file and deleted from the filesystem.

egypturnash | 4 years ago

  ~/Other People # containing one directory for every person; synced to Nextcloud
  ~/Documents    # most of my personal stuff; synced to Nextcloud
  ~/Downloads    # symlink to ~/Local/Downloads
  ~/Local        # Everything that is unimportant
  ~/Projects     # containing one git repository per project
  ~/Skripts      # various scripts I use; synced to Nextcloud
Photos are on a separate NFS device. In addition, there are various .* directories, like .vim, .R, .golang, etc. and some of them are being synced to the Nextcloud too. I don't sort by filetype anymore. So I don't care if it is a PDF or something else, but instead, I care about the context: Is it an ebook, a scan, or does it belong to some project?
arendtio | 4 years ago

Summary: By project, alphabetically, flat within reason, with an Archive subfolder for old projects. Different locations for code vs documents.

Details, starting with documents:

I usually know what the thing I'm looking for is called, so hierarchy gets in the way more than it helps.

My documents live in[1] ~/nextcloud/, organized in a flat structure by project, with 3 exceptions, where I add one more level of hierarchy:

1. There is also a folder called `Archive` (the only capitalized folder, to avoid accidental autocompletion), where I move old, inactive projects — this keeps the flat list from getting too large to navigate (the Archive folder becomes harder to navigate, but I seldom open it so that doesn't matter).

2. When a large number of projects (significant % of total folders) fall under the same umbrella. So far this has only applied to school. Inside my `school` folder, the classes themselves were still organized in a flat structure by course dept-number (eg, comp115, ec6), rather than by semester. Another separate folder with the same structure for high school; both are currently archived.

3. When it makes sense to use a different organizational method. Again, just one case where this applies: job applications, which are organized flatly by year-quarter-company (all in the file name).

[1] synced between my computers using nextcloud, as you may have guessed. Nextcloud doesn't mandate this and previously I used ~/Documents, but I prefer lowercase folder names — caps are more work to type in the terminal.

---

My code uses a very similar system but with fewer exceptions:

Repos that I contribute code to (mine or I forked them) live in ~/dev/

Repos that I am using as-is (I wanted to build and use a tool, wanted to be able to `git grep` instead of using github/gitlab search, etc) or that I touch very infrequently (eg, fdroiddata) live in ~/repos/. This is kind of equivalent to my archive folder.

smichel17 | 4 years ago

My folder structures mirror the various git remotes I use. At the root of the structure, I have github, gitlab, bitbucket, etc folders. The contents of each mirrors whatever repos I'm working on for each.

All my personal stuff is backed by a set of repos in my personal gitlab account. I have one for references, another for notes, another for my personal log, another for documents, one for secrets (encrypted using blackbox), and one for machine configs. I commit and push these as I add things out of habit, but I might do something more automatic eventually. I've also thought about building automation to maintain ToCs and changelogs and stuff for some of this and executing it on gitlab ci.

time0ut | 4 years ago

Exactly how the default application organizes them, whether they are documents, source code, built artifacts or whatever. I have more to do in life than agonize over that.

In fact, where you hang your ornaments (files) on the ceremonial file Christmas tree (file/directory/parent directory tree) is the least interesting part about files.

I'd far, far rather have a rich set of attributes and a way to create relations over them. "All the files I printed by date", "emails I received from so-and-so", "attachments by destination" and so on. Real relationships I actually care about.

This is one of my hot buttons, can you tell?

JoeAltmaier | 4 years ago

i dump them in my homedir for a while, and then periodically delete old stuff.

i've never felt a need to organize my files as files. if it's important enough to organize, it's important enough to put in a wiki or git repo or some more structured way of organizing things than files on a filesystem.

notatoad | 4 years ago

Does the total time searching for files exceed the time it would take to meticulously organize them?

https://www.voidtools.com/

ima_banana | 4 years ago

I use a Nextcloud box with Hetzner. My general file org looks like this: Camera Upload (from Iphone) Documents zotero (webdav sync for publications with zotero).

Inside my "Documents folder" I have a shared folder with my wife (bunch of junk / pdfs), a personal one with a bunch of random crap, a linux folder full of config files / scripts / readmes / backups and a Work folder. Inside my work folder it's organized based on the company I was working for at the time, then by project or customer. I have been consulting for a few years, so inside that folder it's all organized based on the client, usually named by their company name, then inside of that it's individual projects. Granted, this is just me, so the org isn't too bad. I also have folders labelled "paperwork" inside my business which is, like it sounds, full of receipts, contracts, templates, etc. One thing I do that may be different to others is I'll keep invoices and company specific paperwork inside that companies folder. If I get an NDA from company xyz, it will usually go in xyz/paperwork or something like that.

I do the Doctor's office approach; each client or project is a folder where a bunch of stuff gets thrown in.

Maybe this helps you? Maybe not? Been working for me for a few years. For code I'll save the code in my Nextcloud and then also do commits with my git server.

happyjack | 4 years ago

I rename files and folders a lot. I.e., I fuss over the names I give files and directories a lot -- including directories containing downloaded software, so I was very discouraged recently on encountering software that breaks when you rename any of the directories above where the software is installed. (Specifically, if you rename any element of the path to node_modules, packages installed by npm break.)

To effect this renaming (and for general care of directories) I use Emacs's Dired mode except for directories containing image files, for which I use Mac's Finder because it is better at displaying images files. I resisted embracing Dired mode for many years, but stopped resisting immediately on discovering dired-hide-details-mode.

Although I have a directory of PDFs, I strive to keep as much reference material as possible as plain text. Most of this plain text was obtained by selecting all the text on a web page (with Command-A), copying it, then pasting it into a text editor, then manually removing the illegible passages. I sometimes wonder whether I spend too much time making such copies and keeping them organized on my computer.

frank2 | 4 years ago

I liked this ted talk on organizing. The heuristics they use could be applied to digital folders as well. I guess its tangentially related but i found it a quite interesting listen.

Edit: https://www.ted.com/talks/tom_griffiths_3_ways_to_make_bette...

wand3r | 4 years ago

The easiest way is to just show you. I'm mostly a manager unit these days so I have something similar to the following:

  /Team 1 #a team I manage
     /Program A #Some program for a customer
        /Project 1 #individual project for that program, might be a tool, a document, etc.
           /subfolder #various things organized as makes sense for the project
           /subfolder
        /Project 2
           /subfolder
     /Program B 
       /FY<previous year> #each Fiscal Years, I move everything
          /Project 1
             /subfolder
          /Project 2
             /subfolder
             /subfolder
       /Project 1
       /Project 2
          /subfolder
          /subfolder
  /Team 2 #some older team I used to manage or belong to
     /<similar to Team 1 as makes sense>
  /Team 3
     /<similar to other teams>
  /R&D #various research programs
    /FY<fiscal year of R&D>
       /Project 1
          /subfolder
       /Project 2
          /subfolder
          /subfolder
    /FY<more fiscal years with similar structures>
  /Business Development #gotta get new customers!
    /Customer 1
       /Contract Effort 1
    /Customer 2
       /Contract Effort 1
       /Contract Effort 2
    /<and so on>
  /Staff # any documents I need to produce for my staff
    /Staff 1
    /Staff 2
    /<etc.>
    /PreviousStaff # any staff who are no longer under me
       /Staff 1
       /Staff 2
  /Library # I point ubooquity at this
    /<subfolders by topic>
  /Personal # person employment documents
  /Corporate # corporate issued materials
     /Security
     /Policies
     /<etc.>
This works for me as I can usually find something within a few seconds because it all has some semantic meaning to me that works with how my memory works, and I have about half a dozen years of intense work plowed into this structure. That being said, more and more of my work is ending up in various enterprise Office things like Sharepoint, Teams, etc. Code, other documents for sharing and such stay in their appropriate Gitlab repos, Confluence/Wiki pages.

tbh, this makes it significantly harder for me to find old documents than with my system -- raw search just isn't good enough.

bane | 4 years ago

This thread is already 8 hours old, but the advice should also be classified by how long the commenter has been using their methods.

A person who has a couple years (or less) organizing their files and folders is very different from someone who used their methods for 10+ years and didn't lose the data.

Speaking of losing data, having a working backup/restore strategy is a critical part of a workable organization method.

fizixer | 4 years ago

Last summer I worked at an art gallery. It was my first time working on a shared file server and it was a mess—except for the exhibition files.

There was a main “exhibitions” folder. Inside of that was a folder for every show in the gallery’s history.

Each of these was named starting with the year of the show + another number indicating whether it was the first show of the year, or the second, etc.

There was a somewhat standard structure for what you would find inside of each of these (contracts, artists bios, press photos, etc), but it didn’t really matter because there were few enough files that it was easy to browse.

After a couple of weeks, I went home and organized my projects and documents according to the same pattern. I find things faster now.

The keys are this: (1) broad top-level categories (“exhibitions”) (2) dated folders (3) shallow structure inside dated folders (files in root or one folder deep)

This pattern makes it easy to know where to put things, and Easy to browse. Find the category you want, then the date range you want. Now you’re only have a few folder names to read. Browsing the files inside of there might take a little while if there’s a lot, but usually there won’t be. And you can relax because if the file exists, it’s gotta be in here.

(Or maybe one other place—sometimes files don’t make it out of “Downloads,” and sometimes I have to check both “Art” and “Design” before I find the project I’m looking for. But that’s ok, because dated folders makes that easy to do.)

Others will suggest giving up and relying on search. Search is great, but it only works for files you know (or remember!) exist. Build a simpLe browsable structure and you can find things you’ve forgotten about, or tell collaborators where to look for things they want.

nickloewen | 4 years ago

Context >

   Programming: Language > Project_Name
   Writing: Month > Article_Title > 
   Resume: Year > 
   Professional: Company > Notes
   Photography: Year > Month > Photos
   Videography: Year > Month > Videos
   Music: Artists > Albums (or mixtapes) 

None of this is on my desktop, I either use finder or terminal to get through them.
HelloFellowDevs | 4 years ago

For a while I have been using USB drives to store semi-current files. Currently a 128Gb Sandisk Cruzer as it's always plugged in and allows me to keep the MBAs 128Gb drive 1/3 empty.

To keep it sane I have everything stored in dmgs that once full either get archived or copied across to the next USB. (I started this process using a 16Gb)

I currently have:

Projects (32Gb for PDFs: proposals, briefs and other project specific docs and files)

Software (8Gb: 2/3 full)

Fonts (8Gb: 1/2 full of fonts, icons and svgs)

Docs (8Gb: mostly empty but for references, api docs, etc)

The free space is largely taken up with virtual machines that I copy across to the MBA HD when needed.

Backup is quick and easy as you backup the dmgs. Same for archiving as you name the dmg file with the date range.

I do have a few dmgs that are "stuff", but generally anything important goes straight from email, dropbox, etc to the drive. Everything that ends up in ~/Downloads is typically deleted.

The 2Tb primary backup drive though is a different story. When you hit files with 8.3 names you know you're in deep. It's about due to be replaced with a 4Tb.

dwd | 4 years ago

While I like the Mac default folders in ~, there’s too many applications out there now that abuse Documents or add things there. So I made a Docs and Code folder in Dropbox.

For me, one of the major things that helps is having an _unpaid_ Dropbox subscription. Because I have a limited amount of space, I always ask the question how important is this file and should it be in my Dropbox. This kinda nukes most files - I’ve found most things I download from the web to be ephemeral or application launchers.

For Docs - I store all my personal IDs, taxes and documents (I was an immigrant in the US and it’s so much easier to have my ids on my phone in case of an emergency).

For Code - these are projects that I’m not backing up to Github yet. The rest are on Github

For photos I have Amazon Drive and for music I have Spotify. That’s cleaned the clutter a lot. The easiest way to stay organized is weirdly enough to offload it to the cloud. I have some other things like PDFs and EPUBs for my Kindle that go into Reading in Dropbox.

dhruvarora013 | 4 years ago

I'm cheap so I have multiple small SSDs rather than a single 8TB+ one. The OS lives on an NVMe SSD which has not much else on it. Largely because my "home" directory is actually a toilet where every misbehaving application dumps piles of "special stuff", so 500GB of SSD gets filled up fairly regularly.

I have a 2TB disk of mostly music, which is mostly FLAC. Music is in classical/vocal/pop folders then artist/album subfolders except that classical is mostly composer/album. A scary amount of that is stuff I have ripped+scanned myself, because even the modern artists so often give me the choice between stupid plastic trinkets or compressed garbage. Buying 320kbits mp3 and discovering that it sounds upsampled from 128kbits is a mistake you only want to make once.

I have a 2TB "work" disk with virtual machine images, code repos, whatever it is that piles up when I work. And that disk is a bit full. It's mostly organised by employer/project, then yyyy-mm within project folders if necessary.

I have a 2TB disk called "stuff" with photos, documents, ebooks, calibre library (yes, I store them twice. Ebooks are small and Calibre has lost the plot before), software installers I've paid for or that I think might vanish, personal websites, all that stuff. Most are in relevant folders then for docs and photos there are dated subfolders. Sometimes those are in year folders because at times I've take an awful lot of photos (photos/2009 has ~800 subfolders). There is also docs/tax/{year} for obvious reasons, which have everything from photos of receipts to hours-worked spreadsheets.

It's all backed up onto legacy disks with one copy in the office I used to work in (still my employer, but covid) and one in the shed. A couple of those disks have working files and original RAW files for the photos as well, but that's a 6TB disk by itself.

Psychlist | 4 years ago

You may also want to check out: https://writings.stephenwolfram.com/2019/02/seeking-the-prod...

...and look at the "My Filesystem" section.

schappim | 4 years ago

Great ideas all around here, definitely stealing some!

Personally, there was a time where I grew a little fond of numeric-based naming. It allowed for quickly tabbing between directories, easy separation and predictable ordering (eg. 1xx is for clientA, 2xx for clientB, 9xx is for miscellaneous files etc).

Fun story of how that came up; at some large project they were using Sharepoint for everything. From specification documents, to invoices, to code backups and JAR files.

I never figured out whether it was Sharepoint translating for different locales or people using Windows machines different languages, you'd get things like "My Documents", "Mes documents" "Τά Έγγραφα Μου" and "Eigene Dokumente" all mangled up together, which was a nightmare to navigate in, both in speed and understanding, so the this numeric-based naming was an attempt to put some order to that chaos.

tpaschalis | 4 years ago

~/Documents/$(YYYYMM)/ mostly for personal stuff. I have a Makefile rule in ~/Makefile that moves ~/Desktop/* there periodically.

I also have ~/Documents/eeqj/$(YYYYMM)/ for my revenue-related files, and ~/Documents/eeqj/$(YYYYMMDD).$(PROJECTNAME)/ for specific projects.

sneak | 4 years ago

Manually and imperfect but it works. Clients and Sides folders are the most used. Client folders usually have Site (for latest), Concept, Drafts, Logos, general files, etc. Downloads gets cleaned of anything massive, occasionally sorted, but otherwise just left alone - mostly serves as a museum years later. Then Business (Quotes, Invoices, various business-related ventures, Employees, Banking, Financials, etc) and Personal (house, hobbies, cars, the children, etc).

Day to day, there are usually 5-7 external drives directly connected - Lightroom catalogues by year, video source file storage, cache drives for video editing, etc. For source videos, I've settled on YYYY > Project or area, MMMM. That seems to work for my scale at this point.

I have a friend who spends more time on perfecting his file structure than creating anything. I strive to avoid that!

prawn | 4 years ago

I basically just use two roots - documents and projects. Documents is stuff that gets backed up, including stuff related to projects but not in a repo, and projects is anything from a repo.

Within each, there's subfolders for each client, by name. Within each of those, there's subfolders for each project. I used to do one subfolder like "{client} - {project}", but I find that it's easier to type a couple letters of the client name, then the enter key, then a couple letters of the project name. As opposed to having to type the entire client name, plus space-dash-space, just to get to the project names.

Everything else non-project related is, admittedly, a dumpster-fire on my FS. Thank goodness for Everything [0].

[0] https://www.voidtools.com/

stronglikedan | 4 years ago

3 physical hard drives + 1 external hard drive.

The SSD is partitioned to two, where system and program files are in one, and projects are in a separate partition.

A 1TB HDD attached has two partitions, one to contain photos (organized by year/event), music (genre/artist), etc.

The other partition contains temporary files. Browser downloads, torrent downloads, encoded media files, etc go on here. If I don't bother to move a file elsewhere, it's deleted after 30 days automatically.

A third HDD is for backups. I use idrive 5TB plan for cloud backups, but also use Windows backups just in case.

An external hard drive contains movies, all photos (I have a Nikon DSLR and shoot in raw), and a copy of veracrypt drives I manually backup to).

I occasionally mount a veracrypt drive (16GB) for private keys, financial documents, passport scans, bank statements, etc).

Ayesh | 4 years ago

Common things are simply by category and subcategories starting from the media/file "type" (e.g. books, photos, etc).

Projects are created in a ~/playground directory and are eventually moved to a ~/projects one (but sometimes they just stay in a RAM-disk; i.e. experiments).

Within coding projects I usually have /src, /doc (by category and subcategories) and /utils (with utility scripts, Docker-related files, etc) sub-directories.

PDF et similia that don't fit within a specific project typically are generic enough to be placed somewhere under ~/books.

The main issue with this system is that there could be work-related things under distinct paths (e.g. ~/documents/work/<org> and ~/projects/<name>), but those may be archived together...

dezzeus | 4 years ago

I've found two important self-reinforcing principles to be more important than the details:

* Don't let bare files exist at the "top level" (~), have a limited number of buckets * All new stuff goes into an inbox (pragmatically, ~/Downloads) and gets REGULARLY moved over

Putting all the stuff from Downloads into folders takes <10 minutes if you do it once a week!

For me, the different buckets end up as either "browseable" or "searchable". For example, ~/ebooks is pretty sensibly organised into programming, fiction, etc., and all the files have human names, whereas I have a "statements/receipts/leases" bucket that's just a big bucket of junk that will hopefully pop up in search if I ever need it.

davidwf | 4 years ago
[deleted]
| 4 years ago

Projects get their own folder with a running plain text notes file that I can grep for timestamps or keywords. Sometimes these folders get a little messy, but not hard to find anything with grep and locate, ultimately.

I make heavy use of the desktop since its a gui after all. I have aliases to all my project folders, aliases for all notes and my todo lists. I also take a lot of screenshots and these are periodically dumped into a folder on the desktop. I start the day with an empty desktop, then open my todo and mail.

Pdfs and reference all go into zotero and topics get their own subcollection, including an unsorted 'to read' where I dump things. Pretty painless to grab stuff off the web with zotero connector and word processing integrations.

asdff | 4 years ago

`~` contains these dirs: `inbox, lib, code, proj, org, .archive, .sync`

Things arrive in inbox, and get sorted into lib or code. Org contains notes. Files are symlinked from lib/code/org into proj &/or .sync.

Lib folder structure is kinda similar to how 4chan is broken down, plus an irl folder for important shiz.

PDFs have reasonably descriptive titles or at least the DOI. I recommend ripgrep-all for document search.

Tried library systems like Dewey and they're a good way to hide your files from yourself. Single folder plus search tools and non-terrible titles (terrible titles are deemed acceptable only in the inbox), then symlinking out into project folders makes more sense to me.

The code folder also has a `gh` folder for GitHub projects I'm checking out.

rwnspace | 4 years ago

~/tmp - scratch folder for WIP stuff I don't care if I lose

~/dat - downloads and other temporary data

~/vir - virtual machines

~/arc - everything backup worthy

~/arc/dot - dotfiles, in "stow" format to easily set up on a new machine

~/arc/prj - projects, mostly software. Usually symlink to ~/prj

~/arc/doc - documents, organized by life-stage, project, company (e.g. "finances", "$company")

~/arc/img - pictures/videos

~/arc/dat - backup worthy software, keys, and other "data"

~/arc/res - research projects. Could go under prj/ I suppose.

~/arc/eml - IMAP email snapshot

I use Zotero and Mendeley (historical) for PDFs. I have a folder in ~/arc/dat/books for ebooks and the like.

ancaster | 4 years ago

  ~/
  │── .cfg            # bare      git repo with my dotfiles
  │── local           # e.g.   make install --prefix=~/local
  │   - lib, bin, man  
  │── .trash          # files to delete
  │       # VARIOUS DIRECTORIES WITH REPOS
  │── src             # clone public open source repos, e.g. for contribution, research or debugging
  │── stellar         # personal repositories
  │   - archive       # hold tgz of repos to save space and indexing
  │   - repo1
  │   - repo2
  │── apple           # contains repos for a previous  company
  │── microsoft.      # repos from another company , consulting project, charity effort
tonymet | 4 years ago

Downloads and new software go in ~/Downloads and periodically get archived in a subfolder called zarch which is nested

Documents and projects go in a ~/Documents or ~/Syncthing depending on where I need them or how much redundency they need...Notes go in the Joplin and Zettelkasten directory depending on what they are. Im moving away from Joplin to .md files, ctags and nvim.

Apps and scripts go in ~/bin or their standard location if it will result in them being more easily updated.

Im always looking to improve my system and have accepted the process of constant research and tweaking as a hobby. It will invariably get in the way of genuine productivity however.

afarviral | 4 years ago

This is related to videos only: I wanted a way to browse a video collection, quickly search, and preview screenshots before viewing; also wanted to browse external hard drive without connecting it. So I created Video Hub App

https://github.com/whyboris/Video-Hub-App - MIT open source

https://videohubapp.com/ - $3.50 minimum price but $3.50 of every sale goes to the cost-effective Against Malaria Foundation

yboris | 4 years ago

"Every document belongs to a project": https://github.com/slowernews/hamster-system

galfarragem | 4 years ago

>> What do you do with pdfs and reference stuff?

1) Root: everything is stored on a separate drive, that in turn is backed up to a NAS, that is itself backed up to another offsite NAS.

2) Sub: inside of root is several folders representing major concepts like development, images, software, and so on. They can be multi-level deep, like "development/languages/C++).

3) Topic: inside of the sub is everything related to this topic. So, could be a project if it lives under programming, a software product if it lives under "network", and so on.

4) Search the above using a tool like FileSearchEX.

pcunite | 4 years ago

I found https://www.reddit.com/r/datacurator/ to be a good starting point.

ijustwanttovote | 4 years ago

Partitioned SSD. Probably unnecessary, would change things if I started over.

Most documents are in YYYY-MM-DD <description> format

Pictures are a mess of filenames.

C:\ has normal Windows, default mappings for Downloads, Desktop, etc.

D:\ is my storage partition.

Root directory contains a TrueCrypt volume for anything sensitive

\Projects\<project name> for all projects at any stage of completion.

\Pictures\ \Images\ (specifically for computer generated stuff) \Books\ \Software\ \Music\ \School\ \Old Desktop Files\ Probably some treasures in there \organize_this\ Maybe more treasures here

DavidPeiffer | 4 years ago

On Mac, I don’t really bother with too much file organization. I have some broad categories but really not more than 1 or 2 folders deep. Stuff that doesn’t fit into those categories just goes in the folder with everything else. Although, I put all presentations in the same folder. I mostly use spotlight for files navigation.

On Windows, I find I need to spend more time organizing as the search seems to be substantially worse than spotlight. Search is still my go to though.

mmmBacon | 4 years ago
romdev | 4 years ago

Great question!

I have a pretty standard organization of my home folder, not interesting enough to describe except one mildly interesting method (very mildly interesting):

Everything that is not in a subfolder of my home folder but directly at the root, gets archived once a month to a path like /archive/2020/04. I keep the last rolling 3 years of archive. The rest gets automatically deleted, but is permanent backed up in a B2 bucket.

leokennis | 4 years ago

I'm on windows, i have a bunch of folders in C:\Data. I sometimes use the "Everything" app to find stuff by file name. It instantly searches the whole drive. I don't use pdfs much, and I don't find I need to search for them. If I did I'd either have to give them useful names to be found by "Everything" or set up some kind of full text search app.

quickthrower2 | 4 years ago

/home/content has a bunch of base folders: Code and Projects have version controlled content Documents, Images, and Video are media with subfolders by type Music has mostly ogg files organized by artist and album Sounds is samples and noises Mail mirrors my email folders Sites has local copies of web apps Packages has archives, tarballs, zips

m0llusk | 4 years ago

If it's a big project, it gets its own repo.

If it's a small project, it goes into my single big repo for all small projects.

For reference material (I accumulate tons of PDFs) it goes into OneDrive and I put a link to the file in my wiki. This wiki is stored inside the same repo I use for my small projects.

Notes go into the small project repo as well.

bachmeier | 4 years ago

For anything organized by date using ISO 8601-inspired date formats (yyyy-mm-dd-hh-mm-ss) is supremely helpful.

EvanAnderson | 4 years ago

Post Haste can setup project templates. The idea is you set up a structure once and then just duplicate it for new projects.

https://www.digitalrebellion.com/posthaste

(disclaimer: I’m the developer of this app)

digitalreb | 4 years ago

Save files to my desktop. When it gets too messy, I throw a one-liner "hide desktop icons on mac" command in Terminal. When it never gets messy again, I don't repeat.

defaults write com.apple.finder CreateDesktop -bool false && killall Finder

I'm about 2~3 years deep at the moment.

jiux | 4 years ago

I very dutifully curate my text files, but for everything else I always struggled to follow the GTD "Reference" alpha system.

Tiago Forte has a system called PARA:

- Projects

- Areas

- Resources

- Archive

This is just enough structure for me to know where things are. The hardest part to me is there are things that cross the Areas/Resources boundary.

codemac | 4 years ago

~/tmp - temporary code snippets, checkouts, etc.

~/dev - code repos (dev as in development, not devices ;)

~/projects - symlinks to directories in ~/dev that I'm actively working on

~/.dotfiles - dotfiles git repo with symlinks to the right places

~/notes - a git repo of markdown notes

benstrumental | 4 years ago

By general area, so about 10 directories. Files and subdirectories named clearly.

Exception: A desktop folder with misc, including previous versions of other desktop folders with misc that includes even older desktop folders full of misc including...

meristem | 4 years ago

I throw everything into my Nextcloud folder. I have a Mac Mini running 24/7 using a Hazel rule on any file in the root, older than 7 days, move to a top level folder called Archive.

...Archive is huge. But its a great visual separator.

teejmya | 4 years ago

I don’t and hope search works!

softwaredoug | 4 years ago

Definitely by project. It’s simpler to stick to and it'll give my laptops a bit of much-needed organization. Even if each project folder is a little bit messy, things will be a lot easier to look out.

Jess090 | 4 years ago

There's a tool on Windows called Everything. I use it to grep file names on my hard drive, so I don't care too much about how docs are organized.

But I use Org-ref to download pdfs and update my bibtex.

clircle | 4 years ago

There's a $HOME/src for all the source code. It's on a separate partition.

Subfolders for projects.

Every project has a directory named `my.tmp.dir`, thats in global gitignore. Everything project related goes there.

fctorial | 4 years ago

Code goes under src/. For pdfs of receipts, notes I jotted in txt files, etc., I create a new directory each year and just leave everything in there unorganized.

brlewis | 4 years ago

I have a Chris directory with subdirectories for taxes and such. The root level I have directories for all my client projects DevACME. DecOID, etc

chrisbennet | 4 years ago

incidentally i think that all OSes get the defaults wrong. People don't organize split their lives by videos or pdfs, but by Project. Ideally $HOME should contain a directory for each project and nothing else. Our memory works well with a timeline, it sucks at remembering things in arbitrary tree structures.

We are also good at spatial 2d memory, but no UI has taken advantage of that

buboard | 4 years ago

I recently organized by year, with a few sub folders as I wanted. It worked great! Really cut down the clutter with minimal effort.

dr_dshiv | 4 years ago

1) I collect a bunch of Very Important Documents and Files. I maybe try to organize them.

2) At some point (days in...) this falls apart.

3) I get sick of not being able to find new files and throw everything in some folder ('archive', 'shit', whatever)

4) these end up on a hard drive in a drawer somewhere, eventually.

5) I go "man I need to throw away these old hard drives, better make sure there's nothing good on them"

6) I find the junk folders go "oh man good thing I didn't just toss this drive" and put the junk folders somewhere on whatever my current backup/mass-storage drive is ("uhhhh I don't have a good place for it, I'll just stick it here and go through it later to categorize everything, I'll just call this 'old_drive_stuff'" but of course I never look at it again).

7) At no point do I examine or use any files that land in any junk folder aside from maybe getting a brief "oh shit I remember that!" nostalgia trip on re-discovering them, before tucking them away again, not to be seen until I am once more clearing off an old hard drive so I can throw it away.

Incidentally, I think two things that might help with this are 1) not having to manually clean up filenames and metadata on every goddamn thing before I feel comfortable putting it in with my "nice" files (this is part of why files accumulate in a kind of "junk drawer", because I put off this work), and 2) some kind of easy "send-to" workflow to toss (especially downloaded) files to pre-defined categorized locations, ideally with both a very quick manual interface (not farther than two clicks away, or one CLI command) and an optional automatic one based on file extension. All configurable, naturally. Bonus for more complex filtering rules—like my mail inbox, really. Yeah I could write it but that's one more thing to carry around and another thing that would leave me helpless on machines that aren't mine, or aren't my main OS, or whatever. It should be built into the OS or file manager.

I also think there are lots of different kinds of files and handling them all the same isn't great. Ideally my editing-format documents would actually be a container holding an archive of "finished" versions of them (not just every time I've hit save, and certainly not a complete undo history or anything) so they all move around together and can't get separated. Same for photos, probably—keep an original and any edited variants I've made all in one file and only (and automatically) split them up (export one of them) when it makes sense to do so.

[EDIT] example of otherwise-good software that tries to do some of this organization for me on-file-open but fails at it: iBooks. There are two main categories of ebooks I open: those I want to keep around permanently, and those I just want to look at for a little while then I don't need it anymore, or that I want to keep around but strictly associated with some other files on disk. Opening a .epub adds it to my icloud-backed-up iBooks library every single time. This is perfect for books I want to keep but sucks for books I'm just opening for a second, because then I have to go delete them, or keep a second (probably worse) ebook reader around and understand both programs' features. I have two types of .epub, then, with different use cases and organizational patterns needed—I need an "add to library?" prompt when I open them. IIRC Calibre does something similar and can't be my only ebook reader for the same reason (which makes me want it not to be an ebook reader at all, just an organizer accessible through an open-with menu)

[EDIT 2] Oh it's just called "Books" I guess. Was it ever iBooks or did I imagine that? Whatever, point stands.

karatestomp | 4 years ago

Meh. All information is ephemeral. We'll all die at some point, and until then, grep & find will work just fine.

groby_b | 4 years ago

Why should I with all the search available?

maxdo | 4 years ago

works goes into "repo/<project name>"

personal stuff go into: ~/files, then ~/files/archived, then ~/files/archived/archived. At some point I just make sure it's backed up, delete it all and start fresh with ~/files.

d0m | 4 years ago
[deleted]
| 4 years ago

    ~/Code
    ~/Code/bin                             # symlink to ~/Code/for/all/dotfiles/bin,
                                             is in $PATH
    ~/Code/build                           # stuff I don't actually write code for
                                             but I do want the repo downloaded
    ~/Code/for/all                         # opensource projects
    ~/Code/for/all/dotfiles                # my dotfiles, homedir has symlinks to
                                             here
    ~/Code/for/me                          # private projects
    ~/Code/for/$client                     # projects for said client
    ~/Code/for/$client/for/$clientOfClient # projects for said client of client
    ~/Documents/Personal                   # symlink to Nextcloud
    ~/Documents/Personal/$myName
    ~/Documents/Personal/$myName/1 Income
    ~/Documents/Personal/$myName/2 Tax deductions
    ~/Documents/Personal/$myName/3 Housing
    ~/Documents/Personal/$myName/4 Utilities
    ~/Documents/Personal/$myName/5 National taxes
    ~/Documents/Personal/$myName/6 Local taxes
    ~/Documents/Personal/$myName/7 Healthcare
    ~/Documents/Personal/$myName/8 Insurance
    ~/Documents/Personal/$myName/9 Education
    ~/Documents/Personal/$myName/10 Transportation
    ~/Documents/Personal/$myName/11 Subscriptions, internet, TV and contributions
    ~/Documents/Personal/$myName/12 Banking, savings and investments
    ~/Documents/Personal/$myName/13 Loans
    ~/Documents/Personal/$myName/14 Retirement
    ~/Documents/Personal/$myName/15 Receipts, invoices and warranties
    ~/Documents/Personal/$fianceName       # same structure as above for me
    ~/Documents/Work                       # symlink to company Google Drive
    ~/Documents/Work/Assets                # any image/video assets etc. provided
                                             to me
    ~/Documents/Work/Designs               # frontend designs not in sketch cloud,
                                             mostly for clients of clients who have
                                             a third party designer
    ~/Documents/Work/In                    # documents someone else wrote
                                             no subdirectories here other than
                                             splitting by client, but tags are
                                             heavily used to link a doc to a project
    ~/Documents/Work/In/$client
    ~/Documents/Work/In/$client/
    ~/Documents/Work/In/$client/$clientOfClient
    ~/Documents/Work/Out                   # documents I wrote, again no subdirs
    ~/Documents/Work/Out/$client
    ~/Documents/Work/Out/$client/$clientOfClient
    ~/Nextcloud/Application Support        # mackup location for things not in the
                                             dotfiles repo
    ~/Nextcloud/Public                     # dump directory for shared files
I use Photos.app for my photo's and just organise things in albums.

Passwords are on a bitwarden_rs server and I mostly use the browser clients for Bitwarden and the Alfred workflow to access them.

Books.app for ebooks but there's no organisation needed there, I just rely on the search function.

Video's are on my Plex server.

iCloud Drive is just used to store templates for Pages, Numbers and Keynotes.

OneDrive is a tool to transfer things to and from Windows testing machines.

I don't have local music anymore these days.

kdump8 | 4 years ago

Badly.

aasasd | 4 years ago

~/notes/ folder for org-mode notes (and other text based notes)

~/notes/journal.org dumpster for my personal day-to-day. from random quotes, to bizarre thoughts i had, and even code snippets (e.g. extract all image links from a page is one that i seem to keep going back to...)

~/notes/journal.work.org same thing as journal.org but for work related stuff. the layout is slightly different: it's a flat structure where each headline is top level (the personal journal is tree-like with year->month->day style nesting). it contains mostly technical details, notes on tasks and various bugs/TODOs.

~/code/qqj/ for my personal repos. i usually keep a "journal.org" style file in each private repo, detailing my work, thoughts, possible directions, snippets i found useful/interesting etc.

~/code/<company name> for work repos

~/code/ everything that is not personal or work related goes straight under "code". if i'm learning a new language i'll create a ~/code/<lang> dir and clone into it various repos to experiment with and learn from.

~/sync/ is like a dropbox dir that is synced across all machines. only the must have stuff that is lightweight.

~/cloud/ for cloud backup (exists on this machine only, not synced to other machines)

~/devon/ for devonthink databases (they are also synced to ~/cloud/ via devonthinks internal sync thing). most of my files i save in devon databases (i usually have two open: one for work and one for personal stuff, like interesting articles i find etc. but whenever i'm working on a personal project that requires extensive research and document collection i open a database for it. most of the documents are webpage captures in pdf format, pdf files (like papers and articles), and images. if it's text-based it's most likely under ~/notes/.

~/Downloads/ is for... downloads and pretty much everything else that is transient in nature. it's a big dumpster i clear out every month or two. every time i clean it i also empty the trash (before deleting current generation of Downloads). it's not automated because i like reviewing what i've been up to, and seeing how bad my adhd was this month :)

~/tmp/ is for files that can be deleted at any time (so... super transient files i guess). i'm not using /tmp/ because i want control over when they are deleted.

~/muhmusic is for offline music :) although i barely use it these days

~/ also contains a bunch of other directories that are synced to cloud backup, like a lecture series i downloaded from youtube. i prefer to have "big" meaningful collections like a lecture series under home dir because i'm much more likely to notice them when doing random stuff, and look into them.

qqj | 4 years ago

Mostly in Dropbox

  - Apps                      <= created by Dropbox
  - Cold Storage              <= does not sync to local, large archive stays in cloud)
  - Inbox                     <= Scanbot app, Brother MFC2740 scanner) 
    - 2019-06-13_160921.pdf   <= workflow folder, files get renamed and filed
    - 2019-06-13_160932.pdf
    - 2019-06-13_160988.pdf
    - etc.
  - Personal                  <= random personal stuff
    - 2014 Porsche 911 C4
    - 2017 Maserati Ghibli
    - Business                <= PDF files
    - Fashion                 <= shoe sizes, suit/shirt size, receipts, model #s, so I can buy the same thing the next time
    - Financial 
    - Graphics                <= random graphic stuff for reference
    - Manuals                 <= random manuals of stuff
      - 7" Monitor           
      - Aeotec Z-Stick 
      - Baratza Encore (2018) <= sometimes stick a year to remember when purchased
      - etc.
    - Marketing 
    - Photos                  <= headshot, DL, Passport
    - Recipes    
    - Receipts                <= random receipts (don't really track it, accountant uses credit card statements) 
    - Sailing  
    - Technical 
  - Projects                  <= projects/companies not started yet, temp
    - Example1 
    - HoldingTemp  
  - Shared-Company1
    - Logins.md               <= user/password, EIN #, address, contacts 
    - Corporate               <= TAX letter, CORP paperwork/filing, trademark
    - Financial 
    - Investors
      - Subscriptions
    - Marketing
    - Operations
    - People                  <= folders for people to share files
      - John One             
      - Sally Two
    - Sales
      - Product Images
    - Tech
    - Vendors                 <= anything coming from vendors goes here, invoices, statements, receipts, etc.
      - Chase Bank
      - UPS
      - Stripe
      - etc.
  - Shared-Company1-Private   <= if really need a 2nd tier of access
    - ...
  - Shared-Company2
    - ...
  - Shared-Company3
    - ...
  - Shared-***
    - ...
  - Shared-Accountant         <= share with accountant
    - Personal                <= personal records, IRA,  
      - 2019  
    - Project1
      - 2019
      - 2020
    - Project2
  - Shared-Family             <= shared with immediate family 
    - 123 Main Street         <= home files, manuals, etc
      - Vendors             
        - Electricity         <= bills, solar credits
        - Cable
        - Joes Plumbing
        - etc. 
    - Taxes 
      - 2020
    - Vendors
      - ETrade             <= brokerage statements
      - Bank of America    <= bank statements, tax 
      - Chase              <= credit card statements
      - Samsung TV         <= manuals, receipt, etc.

Anything with Shared-* signals to me that anything I file into those folders are visible to others

Sometimes there are levels of access for the company (all employees get the main `Shared-` folder and then the key personnel or owners get `Shared--Private`

---

Then for working

  ~/Projects        <= git clone ... (checkout folders)
    - MainWork     
    - SuperProject
    - AnotherOne
    - etc.
  ~/Servers         <= vagrant boxes
    - www1          
    - mdb1
    - etc
  ~/Tools           <= things that do not go into Applications
    - eclipse       
    - geektook
    - rdm
    - flutter
    - etc.
  ~/VirtualBox VMs  <= support for vagrant boxes (created by VirtualBox)
    - www1
    - mdb1
    - etc.
  ~/X-Projects      <= projects that are ready for archiving 
    - OldTest1    
    - MainWork_2020-01-01
    - etc.

* All downloads from browsers go directly to Desktop and they get filed

* Photos go to Google Photos https://photos.google.com

* No real music library to speak of so can't help you there, mostly Pandora and Overcast

* The Brother MFC2740 scanner uses an upgraded firmware (so you can send an email directly from this scanner without the need for a computer attached to it via SMTP which is the most awesome thing), then it goes to a Zapier email-to-dropbox, then goes to the Inbox folder above

* I also create a "list" in amazon of everything I have bought (even not from amazon) so I can find product manuals easily

chrisgoman | 4 years ago

Start with year

unixhero | 4 years ago

I found the replies from three years ago useful: https://news.ycombinator.com/item?id=14604454

I use my email inbox as a task-queue, and try to move important info into personal notes (vimwiki), so I consider email alongside files and folders. I've learned to optimize my notes for information retrieval, rather than easy entry -- spelling out new acronyms, for example -- with the goal of making it searchable later. I think there was a HN post about personal note taking last month, re: productivity.

I'm heavily command-line focused and my preference for long-term storage is Markdown.

I use PDFs in only a few ways: - References, bulletins, bills, etc. through `less`. `:r!less foo.pdf` will load it into vim, and I tend to check those into vimwiki. Editing by hand allows individualized tags, and anonymization, which is important in my sector. - Articles via Mandeley (but this is overkill unless you want to cross-reference between new articles)

I distribute my home directory with rsync and backup regularly with restic. Both have sophisticated exclude rules, if you need 'em. restic observes the tar-compatible CACHEDIR.TAG droppings, which is easier to use than rsync's proprietary rule filters. For example, a properly-formed CACHEDIR.TAG in ~/.local/cache will direct tar and restic to skip that big directory.

To edit a remote file, slice out something important for later into notes, `vim scp://remote/path` is a neat trick. Only a few keystrokes to put it into vimwiki, or vice-versa (edit the remote file by inserting part of a locally-stored note). vimwiki is the only plugin required.

Many of my systems are shared between multiple human users. On home systems, some users are only interested in using file shares (not terminal access). I create groups Videos, Music, Photos, etc. Make each human user's respective directories stickied to those groups, and you can read (and, importantly, backup) without `sudo` intervening (see `sudo -n` if you find yourself toiling over this). On home and work systems, I use `stow` perhaps more than I should: I build with PREFIX=$HOME/.local/$toolname, then stow it into place with `cd ~/.local ; stow -S $toolname`. This allows custom builds of, say, `cmake` or `git` without system-wide changes. Oh, for Python 2 specifically, I install my own pip out of reach of anyone else.

`stow` is a symlink manager intended to lubricate different UNIX packages that are individually lodged under /usr/local/stow. It's written in Perl, so some systems (early stages of linux-from-scratch, for example) have xstow, which does not have Perl dependency. I see a lot of comments here about ~/Desktop and ~/Photos management, so here's one idea:

Create ~/Archive/2020-06/{Desktop,Photos} and, inside ~/Archive run `stow -S 2020-06`. This creates symlinks ~/Desktop -> ~/Archive/2020-06/Desktop and similar. When you feel like dumping weight, script up something like `mkdir 2020-07/{Desktop,Photos} ; stow -D 2020-06 ; stow -S 2020-07`. The timestamped organization is preserved for you without having to interact with timestamps.

PS> The screenshotting facility is underdeveloped for command-line workers. I'd rather be able to grab the local tmux scrollback buffer, throw it into the editor, possibly saving it to notes, even if just temporarily. An image would be unacceptable, so I overrode the screenshot key to grab tmux scrollback if in focus. This permits a specific search when I can't remember the branch where an obscure error occurred years ago.

PPS> You can script your own capabilities for `less` to open nonflat files. It automatically throws PDFs through pdftotext, but you may desire something like: - Pretty-print and colorize JSON - Read OpenOffice docs - Syntax highlighting - Parse SSL certificates

ttyprintk | 4 years ago

I'm on MacOS, so some stuff I keep in the folders that come with an account by default.

~/Desktop/: nothing here, don't like the clutter.

~/Documents/: mainly just files stores by applications, I don't intentionally put anything here

~/Downloads/: self-explanatory, but I try to keep this clear by either deleting, cataloguing, or short-term storing everything in here.

~/Downloads/stored/: a sort of temporary "not important enough to catalogue, but I'll maybe use it more than once so I'll keep it around for now" folder.

---

~/Sites/: websites that I'm working on, generally as git repos so not backed up to cloud

~/Repos/: all my other git repos not in ~/Sites/

~/Repos/external/: git repos that I don't own but that I've forked

---

And then the big kahuna, where I actually store everything* that has ever been created by me digitally, which is backed up to cloud...

~/Cranium/: the root folder, which has two sub-folders

~/Cranium/cortex/: the long-term storage, well-organized "catalogue". Everything is sorted by categories and sub-categories, etc., etc. The categories right now are – archive, audio, coding, databases, design, dotfiles, edu, finance, folks, games, gimmicks, image, jobs, modeling, projects, reading, records, sparse, text, video, writing.

~/Cranium/cortex/dotfiles: This sub-folder deserves an honorable mention, because being on Unix I have a lot of dotfiles (config) that normally live in my home folder. I wrote a program that, whenever a new hidden dir/file is added to my home directory, it automatically moves it to this folder and then symlinks it back into the home directory. This makes it much easier to start up new systems and keep my settings / profiles backed up.

~/Cranium/hippocampus/: this is basically what other people would normally have on their desktop. Stuff that I generally want to keep around, but is either a very active project (and therefore want to be able to access quickly without having to click through multiple levels of organization) or is otherwise changing/ephemeral so I do not want to spend the time cataloguing these things in "cortex", lest the content and therefore desired structure changes. When something in here winds down, I either delete it or move it to "cortex".

And that's about it.

* I've started to move a lot of content into my note-taking service, as over the last couple years I've found a pure directory structure is pretty restrictive at the end of the day, even if you have spent a lot of time coming up with a flexible structure that suits you (as I have).

fastball | 4 years ago

In result of working with multiple unsorted files and systems+vms during 10 years my file structure evolves multiple times.

I made ideal top architecture called 'indexed tags': <tag><index>

project0 - tag: 'project', index: 0

project1 - tag: 'project', index: 1

I used automatic tools for drive differences with my drive.py tool. drive.py analyze two disks changes + calc hash for each file, then produce report

Plus:

+ cover all systems, languages & projects, docs, notes + big data things

+ independed mac-linux-win-vms bridge

+ remove random download chaos

+ minimalistic & lite

Minus:

- None

Linux and Mac base dirs (same for Cygwin):

~/src - everything is here

~/mnt - symlinks to mount drives

Backups:

/backup/ - projects backups

/DD/<FULL_HW_DRIVE_NAME> - big data copies, iso, vms, dd, unsorted manual copy node_modules/

Projects examples:

System 1 disk 1. Primary system, and same structure repeats on every new system with any drive, and indexed tags will be filled while a time (depends by a tasks)

~/src/admin0 - admin projects

~/src/ai0 - AI pdfs, projects

~/src/apple0 - iOS & Mac test projects

~/src/gamedev0 - game dev projects

~/src/btc0 - bicoin projects

~/src/doc0 - for random pdfs

~/src/papers0 - for usable pdfs & docs

~/src/hack0 - hack projects

~/src/os0 - os projects

~/src/web0 - web projects

~/src/fonts0 - data fonts

~/src/sound0 - data sounds

~/src/tasks - bookmarks, notes, tasks, local docs

~/src/work0 - work projects

System 2 disk 1

~/src/tasks

~/src/work0

...

System N disk K

~/src/tasks

~/src/work0

*

Disks examples:

~/mnt/1 - for temporrary mount random image, usb

~/mnt/2..16 - like: 'mount random.iso.or.drive ~/mnt/2'

~/mnt/ext500 - ext4 500G linux only data of 500G hdd 1

~/mnt/m3T - hfs+ 3TB mac only data of 6T hdd 2

~/mnt/o1T - exfat 1T shared data of 6T hdd 2

~/mnt/l2T - ext4 2T linux only data of 6T hdd 2

~/mnt/b1T - exfat 1T shared backup of 1T hdd 3

~/mnt/2T - ntfs 2T win only of 2T hdd 4

~/mnt/a500 - linux 500G only of 500G ssd 1

~/mnt/b100 - linux 100G only of 500G ssd 2

~/mnt/c100 - linux 100G only of 500G ssd 2

~/mnt/d200 - linux 200G only of 500G ssd 2

~/mnt/m4T/backup - mac manual backups 1

~/mnt/b4T/backup - shared manual backups 2

~/mnt/m4T/DD/ - big data copies

~/mnt/m4T/DD/128G-OCZ_VERT_EX_PLUS - hard drive copy

~/mnt/m4T/DD/128G-OCZ_VERT_EX_PLUS/sdf.dd

~/mnt/m4T/DD/128G-OCZ_VERT_EX_PLUS/sdf.dd.sha256

~/mnt/m4T/DD/64G-SAMSUNG_USB - just a usb backup for easy format

~/mnt/m4T/DD/64G-SAMSUNG_USB/Downloads/* - random usb flash downloads

Verification & comparasion reports:

~/admin0/drive.py/log-a128g-0 - report 1 ~/mnt/m4T/DD/ copy and original ~/mnt/a128g

~/admin0/drive.py/log-a128g-1 - report 2 ~/mnt/m4T/DD/ copy and original ~/mnt/a128g

All old and new Windows systems has shared locations for common software (like in Linux or no a special structure is here, because windows chaos is not my primary target:

C:\Shared - everything is here

C:\Install - software installers

ellis0n | 4 years ago

To preface, I'm a PhD student in computer science. I spend about 50% of my time reading, 25% writing, and the other 25% coding, so my organisation is highly focussed around that workflow at the moment.

1. I follow BSD guidelines where possible (https://www.freebsd.org/doc/handbook/dirstructure.html), with the extension of a portable ~/.local/bin directory of scripts that's symlinked to my dotfiles.

2. Projects (mine or otherwise) live in ~/Repositories, with reverse domain name. E.g. ~/Repositories/gitlab.com/harritaylor/project name. I am a heavy user of z (https://github.com/rupa/z), so the big nesting doesn't bother me at all. I found that if I tried to organise it into some ~/work ~/projects directory I would spend time messing around with it/organising and sometimes even kept two distinct versions of software projects going. Oh, also: I use `git grep --line-number -e "TODO"` to keep track of what I need to do in a project. I really tried with stuff like org mode, but in the end I found it was so much easier to just drop a "TODO" in a comment within the context of the code, and use a high level description of the problem in my separate notes.

3. I keep a ~/Notes directory for https://obsidian.md, with a subfolder of ~/Notes/pdf/ for papers. This is synced via git to my iPad with working copy to markup notes, as I find it a lot easier to read and process papers on the sofa rather than at the desk. For each paper I make a markdown file of notes with the name of the reference (author:year.md), and keep all my citations organised in my ~/Notes/references.bib file.

4. I use bookmark OS for anything found on the web that is not immediately useful (usually from hacker news and twitter), rather than cluttering up daily notes or git cloning it. I used to use pocket for this but I've recently split "to read in downtime" and "to research" into two different services to avoid burnout. I dedicate around an hour a week pruning this after I have worked through my reading list.

5. "Working documents" such as current presentations or paper drafts live on the desktop for quick reference in meetings, as well as immediate reminders that they still exist.

6. I haven't figured out a useful way of organising my documents otherwise: I currently treat ~/Documents as an archive, organising by context (freelance, phd, private), and the folder prepended by the most specific time `YY_MM_DD-name`. It's super clunky, it doesn't really work, but it's the best thing I've found so far.

This setup is totally portable by design, and I have reproduced this working environment between my work mac (boo, I know), a linux VM on a windows PC, and my remote linux workstation. The biggest revelation for me personally was the ~/Repositories and `z` combination. No more remembering where I cloned a project in the spur of the moment!

Now, to read everyone else's solutions and figure out my (6)!

harritaylor | 4 years ago
[deleted]
| 4 years ago

Side note, years ago I organized decades of hard drives, this found clips of my baby siblings playing with microphones and old video games.

I went through literally every folder. Took probably 20 hours.

Wondering if I could simplify this with python. Eliminating generic program files, but keeping all user data. The goal wouldn't be perfection but to take that 20 hours and turn it into 5 hours.

Does this exist in any capacity right now?

VMisTheWay | 4 years ago

I don't. I just have one big directory where I dump things and make folders ad hoc. If I need something I just search with Spotlight

milquetoastaf | 4 years ago

Dear Friend,

Learn mask is urgent needed there with sanitizers, we have N95 KN95 and disposable face masks to offer with sanitizers,CE and FDA certified.

Competitive prices and quality. Mask and sanitizers are shipped by air. Safe and Quick

Any needs please email me for quotation.

name philip Gonzalez Whatsapp :+1-740-966-1107 Email:masfinancialservices1@cash4u.com

glenf45489 | 4 years ago

CONTACT US FOR ALL KINDS OF HACKING JOB We offer professional hacking services,we offer the following services. -University grades changing -Bank accounts hack -Erase criminal records hack -Facebook hack -Twitters hack -email accounts hack -Grade Changes hack -Website crashed hack -server crashed hack -Skype hack -Databases hack -Word Press Blogs hack -Individual computers hack -Control devices remotely hack -Burner Number -Verified Paypal Accounts hack -Any social media account hack -Android & iPhone Hack -Text message interception hack -email interception hack -Bitcoin recovery -binary multiplication -credit score upgrade -Track Calls log and Spy Call Recording. Monitoring SMS text messages remotely. Cell phone GPS location racking. Spy on Whatsapp Messages. -Untraceable Ip etc. Contact us at glenfthomas@gmail.com or text or call ((770) 824-6784 WHATSAPP NUMBER:+1-917-809-8609 for more inquiry..

glenf45489 | 4 years ago

We offer certified and verifiable bank instruments via Swift Transmission from a genuine provider capable of taking up time bound transactions.

FOR LEASING OF BG/SBLC MINIMUM FACE VALUE OF BG/SBLC $ EUR/USD 1M LEASING FEE $ 4$+2$

FOR PURCHASE OF FRESH CUT BG/SBLC PRICE $ 32$+2$ MINIMUM FACE VALUE OF BG/SBLC $ EUR/USD 1M

Our BG/SBLC Financing can help you get your project funded, loan financing by providing you with yearly. RWA ready to close leasing with any interested client in few banking days renewable leased bank instruments. We work directly with issuing bank lease providers, this Instrument can be monetized on your behalf for 100$ funding: For further details contact us with the below information.

Contact:name:PHILIP GONZALEZ

Email:masfinancialservices1@cash4u.com text on 770-824-6784.

WHATSAPP NUMBER:+1-740-966-1107

wEBSITE:masfinancial.ctlxy.org

glenf45489 | 4 years ago