12 ms·
Ask HN: How do you keep your files organized on macOS?
I tried to use Finder's tags but failed to keep things organized everytime. Are you using a specific app? Do you have some "tips" to keep a setup clean?
- mcv 8y agoI don't use tags at all. I just use good old fashioned directories. My directory structures go pretty deep.
- fredsted 8y agoNeither do I. I find that tags are "optional" so they aren't used 100% of the time, but you are forced to place your file in a folder somewhere.
- martin_balsam 8y agoFolders are just mandatory tags
- mixmastamyk 8y agoMore like categories, no?
- statictype 8y agoFor source code I keep a fairly fixed folder hierarchy. I use ~/<company> for work stuff and ~/devel/ for personal projects and experiments. I know a few people who use tags effectively. I never found it to work for me either. On the other hand I find Spotlight to be pretty good at finding stuff. I use It extensively with relatively flat folder structures. I typically go to the folder I want and then use spotlight to find whateverIm looking for.
- kranner 8y agoSpotlight doesn't work great for me. I have a large number of e-books and documents in my home directory and Spotlight is likely to return the most recently added books even if they are completely irrelevant to the search terms. Results are a little better, sometimes, if I search specifically in a given folder and especially if the terms are in the filename. But it really should work globally.
- dkusnetzky 8y agoI use MacOS directories as well. The top level directory is the year. The next level down is the major category, i.e. personal, business, church, etc. The next level down is the specific project under that category. I also add the date, in the form yearmonthday (20190307 for example) to the files which keeps them sorted in date order.
- fredsted 8y agoHaving some more context would be nice, but here's some tips as a web developer. * Don't save files on the desktop. * Create a Projects or Dev folder in your home directory and make a folder for each project. (For Web development, I use Laravel Valet which automatically makes a foldername.test vhost inside ~/Dev.) * My Downloads folder is very messy. I could probably set up a job to delete files older than 6 months, but I have plenty of space, so no need (yet).
- oskapt 8y agoFor managing folders that collect cruft, or for doing things like deleting screenshots from the desktop after some period of time, I use Hazel. It’s great for menial maintenance tasks.
- wassimdotis 8y agoHazel looks very interesting, thanks!
- deleted 8y ago[deleted]
- tracker1 8y agoI've been using ~/src/HOST/ACCOUNT/REPO pattern for all source code since playing with go... host could be github.com or GROUP.visualstudio.com .. account can be an account/group/project name and repo is the individual code repo. Local temp things ~/src/local/PROJECT/REPO I have also taken to a few setup scripts that ensure tooling is installed, and checks out the repos in their respective directories.
- ryanwaggoner 8y agoDon't save files on the desktop Why?
- kbutler 8y agoPros: super easy Cons: It's a global namespace and easily cluttered, and the clutter is visible as the default background of your display. It's like "saving things" on my physical desk - a bad habit I tell myself not to do, but still find myself doing. (chucks a few things that have been on my desk).
- oskapt 8y agoI do all document management with an app called DEVONthink. I’ve been working with digital paper apps for years, and DEVONthink absolutely crushes everything else. I put everything in it, and I sync it between devices using WebDAV via Seafile, which also works to get data offsite in case the house burns down. It’ll do encrypted databases, and it has mobile apps that work great. I scan documents directly into it, tag them, and sometimes link them from multiple folders, which Devon will do without copying them (or I can also copy them if I need to). It has fuzzy search capabilities and automatic OCR that is lightning fast. It’s one of a handful of apps that are always open on my desktop. Documents aren’t stuffed into some database, either. They’re indexed and stored in a folder hierarchy that you can still access. This makes it easy to search and find them with tools like Alfred or Quicksilver or Spotlight. You can open them directly using apps like Word, and Devon doesn’t care. Devon also has an inbox you can use with Finder, so when you drop a file into the folder, it automatically moves to an Inbox folder in Devon for you to process and move to a final destination within the app. It’s truly a fantastic piece of software.
- TimMeade 8y agoExcellent. Thanks. I have been looking for exactly this type of software. Trying it now!
- beautifulfreak 8y agoEasyFind by Devon is a great search app too, and it's free. https://www.devontechnologies.com/products/freeware.html https://www.devontechnologies.com/products/freeware.html
- newscracker 8y agoI never got the hang of Devonthink and couldn’t get into the habit of using it for all (or even most) files. How did you get started with it and what resources, if any, did you use? Do you always only index files (while they remain in whatever folders you have left them) or do you also import (copy into it) too?
- oskapt 8y ago
- ArrayList 8y agoI just use Finder and don't worry about it too much.
- amykhar 8y agoI tend to keep most of my documents in Dropbox or iCloud, and use Alfred to find what I want by typing a word that I think is in the title. Dropbox can search within documents too, and I try to have an organized file structure. Source code is in a Code directory. I try to keep that directory clean - only stuff I'm actually working on. Everything is in Git and can be pulled down very quickly if I need to spin it up again. I used to love a document database that was geared for researchers and others who have to catalog a lot of information. It's called DevonThink. I had a license for it from one of the MacHeist bundles, but it was really overkill for my document needs.
- crehn 8y ago- ~/<company> for work stuff - ~/code for personal projects - Photos, music, documents, calendars, etc. synced through iCloud - Other various stuff in iCloud Drive, symlinked to ~/cloud for easy access. Got a stash directory there for random files that I can't bother organizing Everything else I assume is ephemeral and don't mind if lost. Using Git for tech projects. Same for dotfiles. No plugins so everything just works by copying to ~.
- tmikaeld 8y agoHave tried all apps out there, even the "Database" ones - but it's not portable and it's an instant lock-in. Plus most of the Apps bind to folders anyway, so you'll have a lot of "junk" that you have no idea what it is. What I've found to work is this. Main root folders few and named easily. - Customers - Internal - Private - VMs All sub-folders have numbers, so they can always sort by name so they're always in the same order. 00 - Tests 10 - Code 11 - Code (Testing) 12 - Code (Other) 20 - Design (Sites) 25 - Design (Other) 30 - Services 35 - Marketing 40 - Apps (Web) 41 - Apps (Hosted) 50 - Docs 51 - Guides 60 - Sysadmin etc... This creates a logical and consequential structure that's easy to update, change and manage and you can have many levels. Just consider your numbers for your use-case so you won't run out and sub-numbers can be unclear/messy to look at and navigate. For managing downloaded files automatically, I use Hazel.
- also1001 8y agoYou could just use four digits, 5001 - Midfile stuff, 7000 - End stuff, 0999 - Fairly upwards stuff. No need to feel so cramped then.
- tmikaeld 8y agoExactly, but I've used smaller numbers to keep it compressed and i plotted all the folders i need in advance. Like i wrote, consider your numbers for your needs.
- bollockitis 8y agoOut of curiosity, why wouldn’t you want them to sort alphabetically?
- tmikaeld 8y agoAlphabetically sorting it, would make it harder to find and use what you need the most - but by using a numbered structure you can have the most used folders at the top. Also, I've found that I remember position easier than visually looking it up alphabetically.
- 8y ago
- marschr 8y ago-Barebone folders. Tags don't play well with terminal and other *nix filesys. -A ~/dev folder with dev stuff in it. -Dropbox/iCloud for important, heavily accessed content. -Alias on the Desktop for all the WIP/very active projects (usually from my ~/dev/ stuff and synced folder w/ dropbox or icloud) -Dock folder shortcuts for often accessed folders + grid pop-up menu so I can dragNdrop stuff. - Also, Finder sidebar shortcuts for these folders. - Downloads are always messy, I usually clean-up every year when I fresh install the new release of macOS. - For images/photos/etc I tend to use dirs with year and quarter numbers, like 19Q1 as for the 1st quarter os 2019. Prevents huge dirs that take too long for Finder/Samba to index.
- sureaboutthis 8y agoMacOS is a UNIX system so I keep files organized there just like I do on FreeBSD and other Unix systems.
- leemailll 8y agoThe thing can be easily implemented with mdutils (may not be the actual name, i’m On my phone so can’t check) and bash. You can setup a few common destination folders, and watch folders such as the ~/downalods. Then you can still use tags for files, and run a bash script which read the tag of files with mdutils, then move files based on tag pattern to different destinations. Hazel and maid both can do this, but I don’t wan to spend that much on something I can scramble in a hour nor learn Ruby. So I just use bash for this.
- Terretta 8y agoDON'T KEEP THEM ORGANIZED... USE SEARCH Learn to love Search, but give yourself a manual cheat mode that doesn't take any effort to maintain. I use the application "Hazel" with two tactics, one to clean up Desktop, one to clean up Downloads. For desktop, I use a freshness rule, and then a manual lookup hack. If it's likely this file isn't changing any more, Hazel sweeps it into folder. In downloads, I do freshness, but with a variant manual lookup hack. DO GIVE YOURSELF A MANUAL/MEMORY METHOD TO FINDING FILES What I mean by manual cheat mode or manual hack is, can I find this file very quickly using just what I have in my head, without having had to identify content and file accordingly? For the hack, I file by buckets of dates. What I've found is, I can generally recall what I was working on when I had that file, and from that I can recall generally when I was working on it. So, if I can "file by date" with an appropriate granularity where I balance a fuzzy "when" with a glanceable number of files, then I can find it by looking in usually one but at most maybe three buckets. Bonus: date folders also make it easy to scope searches. Depending on the nature of work, my buckets range from quarterly at the largest, to weekly at the smallest. I name them YYYY QN/FILE, YYYY/YYYY-MM/FILE, or YYYY/YYYY-WW/FILE. If I'm doing quarterly, the folders are not nested inside the year. For downloads, I add a layer between the date folder and file: domain. I used to just use domain and replace files of same name like "latest.zip" but over time I began to value having the prior version of downloaded things. So downloads look like YYYY QN/DOMAIN/FILE. AUTOMATED SCHEME EXAMPLE Putting it together, my current scheme on home laptop is: Desktop - File by Week Last Opened > YYYY QN/FILE method: sort into subfolder trigger: date last opened not blank and last opened is not last 2 days date = date last opened - File by Week Last Modified If Not Opened > YYYUY QN/FILE method: sort into subfolder trigger: date last opened is blank and last modified is not last 2 days date = date modified Downloads - Quarterly Sources > YYYY/DOMAIN/FILE method: sort into subfolder trigger: date added not last 4 weeks date = date added Hazel has additional features such as what to do with duplicates, that you can tailor to your preferences. As a further bucketing mechanism, if you use many machines for different modalities and collect all those files into a single 'cloud' place they all can reach, you can append the machine or hostname to the dated bucket. That lets you have selective sync rules to different machines, but also find all the content in one place. ALWAYS BE ORGANIZED, BY NEVER ORGANIZING! I never file anything anywhere, I just let these rules grab them and squirrel them away. If I need a set of files across dated folders, monthly bank PDFs for example, I pop open a folder, see the relevant filename, and run a search for that, then select all and send to accountant. SPECIALS Code repos are special cased, within a source code management folder tree, not worked from desktop. Vagrant and Virtual Box VMs, Pictures, Media, Music, also special case managed by their tools.
- nikivi 8y agoI keep everything organized by topic and access everything with Alfred. Wrote about it in detail here: https://wiki.nikitavoloboev.xyz/unix/my-file-system https://wiki.nikitavoloboev.xyz/unix/my-file-system
- zubairq 8y agoI save everything on the desktop, or in a folder on the desktop. Sometimes I make subfolders in those folders. Horrible, but it works!
- sambhu 8y agoI use this script to manage download directory. https://www.shivagaire.com.np/python/2018/08/09/organize-your-downloads-directory-mess.html https://www.shivagaire.com.np/python/2018/08/09/organize-you...
- sixhobbits 8y ago`ag -g <some fairly unique string>` I don't have a ton of files, but I'm impressed at how quickly silver searcher[0] can find things. `-g` if the filename is specific enough. A bit longer, but not too bad if I need to search by content instead. [0] https://github.com/ggreer/the_silver_searcher https://github.com/ggreer/the_silver_searcher
- FerosMorgen 8y agoFor a start, I don’t have anything at all on the desktop. The download folder is always clean, because I either delete files or just move them to folders in documents. I am a perfectionist, and so I am calmer.
- CyberFonic 8y agoMy top level directories are like: Accounts, Clients, Projects, Apps. Then sub-directories etc. I use symlinks e.g. when a client project is reused as an App or vice-versa. Everything initially gets downloaded into ~/Downloads and then moved as appropriate. Having two Finder windows open makes this very easy. One stays on ~/Downloads and the other changed to suit the destination. I am a heavy Terminal user, with multiple active windows, so most of my current work-in-progress is a "cd ...". I replicate the above to a Linux desktop with rsync based scripts. So I basically perform the same activities on both platforms, e.g. LibreOffice, etc. Hardly use any Apple software anymore, notable exception being iTunes for the various iPads and iPods around the house and car.
- princekolt 8y agoI keep all my development projects in ~/Workspace. Everything else goes in either iCloud Documents (if they're important documents) or in ~/Documents if they're not. (I got the 200GB iCloud subscription btw). I use ~/Desktop strictly for transient files, which I delete frequently. I still let Time Machine back it up, though, in case I accidentally delete something I meant to save. Time Machine has saved my life from accidental deletes more often than I can recall. Thinking about it, my local storage is quite lean. Ever since I started using iCloud for photos and documents, my local storage has only been used for git repos (and apps, of course).
- rabboRubble 8y agoTagSpaces. Some native color tagging for clean up and directory mindfulness. I use TagSpaces to mainly create a data retention schedule for tax and finance data, then per the schedule, actually delete the old crap.
- StreamBright 8y agoMostly: ~Documents/$project_name/ ~code/$project_name/$repo
- expertentipp 8y agoI've learned not to rename the default ~/{Pictures,Downloads,Desktop,Documents,Videos,Music} as they conveniently have the same name regardless of the OS and there are many applications and default actions bound to them. Desktop blank. For everything else unix style filesystem convention - directories at the ~/, all lowercase, name 3-5 characters long.
- konart 8y agoI have `build` folder in my home where I keep all my projects. And an external HDD over SMB for downloads(/Movies, /Series, /Music, /Books et and a general folder /Spam - it gets cleaned once in a while) Pretty much it.
- yodsanklai 8y agoI have a ~/dev folders with all my git projects. Then a ~/shared folder with stuff shared with a linux server at work (synchronized using unison). Everything else is on Icloud. I usually have a few files/folders on the desktop waiting for being sorted. I've never had any use for tags.
- itake 8y agoActive projects go in: ~/projects Dead projects go in: ~/projects/archive
- k2enemy 8y agoI don't use the Documents folder and have it `chflags hidden` in the Finder. Desktop is always empty. `data` contains documents, while `db` contains databases and datasets for research. `var` is mostly vm images. The others I think are self explanatory. `work` and `src` are synced to my linux computer at work via syncthing. [k2enemy@indy ~]$ tree -L 1 . ├── Desktop ├── Documents ├── Downloads ├── Library ├── Movies ├── Music ├── Pictures ├── Public ├── bin ├── data ├── db ├── etc ├── src ├── var └── work
- rootbear 8y agoI take a somewhat similar approach, where I replicate standard Unix/Linux directories in my home directory: src, lib, etc, bin. It works pretty well, but has some limitations.
- jason_slack 8y agoThanks for mentioning synycthing...I'll check it out. Right now I have a series of rsync scripts as cron jobs that keep my stuff in sync on multiple machines.
- ponyous 8y agoMac's Finder is total garbage compared to any other file browser I used in my opinion, when I switched from Windows I remember some features missing and nothing was better. Maybe tags, but I haven't seen anyone use them... I found tags useful to mark episodes of shows I watched but nothing else really. I have everything in designated OS folders (Pictures, Videos, Documents, ...) and a new one called Projects. Projects used to be part of Documents, until Apple one day decided it's time to sync Documents to the iCloud (with introduction of APFS), which corrupted my projects folder and just straight up removed some files (I don't have every toy project in git), so some (5+ projects) are broken now. (note: I did everything to not have that folder synced, but it just wasn't respected so yeah...). iCloud contains important documents (subscribed for 200GB extra space). Since that fuckup with document/projects I subscribed to Backblaze for full system backup. Downloads are split into multiple subfolders - different browsers, different browser profiles (work/personal), torrents.
- mdevere 8y agoGenerally agree with ppl who say that searching is more important than organising. I use Alfred to search, but I think the default Finder app is quite good these days. Most important thing is having a consistent filenaming convention. This helps you find files via search. I use 'YYMMDD_HHMM name' if I authored the file or 'YYMMDD_HHMM [sender] name' if someone emailed it to me. Tangentially, what I'm really happy with is how I manage my web bookmarks. I don't use browser bookmarks or folders. I save bookmarks to Pinboard.in, a cloud service. Then there's a nice Alfred extension which allows me to find them (http://www.packal.org/workflow/alfred-pinboard http://www.packal.org/workflow/alfred-pinboard).
- mdevere 8y agoI don't have pics anywhere. That's all in Photos app/ iCloud. It's very cheap, something like $1 per month. I use Backblaze to backup everything to cloud.
- cygned 8y agoI basically have two trees: 1. Software; organized by domain name in ~/software, containing all git repositories I work on (~/software/github.com/user/repo) 2. Documents; stored in ~/Nextcloud, synced with a server. In there, I have a nested system of Johnny Decimals (https://johnnydecimal.com https://johnnydecimal.com) - nested, because I manage multiple projects which itself use that format again, so ~/Nextcloud/10-19 Companies/10 Company A ~/Nextcloud/10-19 Companies/11 Company B ~/Nextcloud/10-19 Companies/12 Company C My desktop is my temp folder, everything on there will be "resolved" within a day or two. This way, I have all my documents synced and available on all my devices. I do not use Finder tags but rely heavily on Spotlight search.
- emgee_1 8y agoEmacs with dired; also on Linux and all Bsd’s
- hprotagonist 8y agoNothing goes on my desktop. Things are split contextually by “where they’re syncing to”— default locations for photos and music because that’s what itunes wants, work documents in work dropbox, etc. Most of the time when i want to find a file i use Spotlight. I don’t really care where on disk it is per se because i can just fuzzy-search for it in the GUI or at the command line anyway.
- maliker 8y agoI give every project their own folder, and I put that in Desktop/Projects/, which I backup/sync via Google Drive. Then I navigate using Launchbar (https://www.obdev.at/launchbar https://www.obdev.at/launchbar). It's a fast search tool, but it has a cool noun-verb interface that lets you find stuff and then move it/open it/pipe it through a script, etc. Couldn't live without it.
- cdg7777 8y agoGood ol' MC: https://formulae.brew.sh/formula/midnight-commander https://formulae.brew.sh/formula/midnight-commander
- tammer 8y agoFun tip: Make a folder called “Developer” in ~ Take a look in Finder.
- D-Coder 8y agoI get a folder named "Developer" with an icon of a folder with a hammer. What do you get?
- wareotie 8y ago~/Documents Work/ Reference/ Personal/ ~/Developer src/ github.com/ work.git.server/ bin/ pkg/
- ravenstine 8y agoThere's really only 3 main directories I'm working out of most of the time: - ~/workspace (for work and coding) - ~/Documents - ~/Downloads I don't organize or tag them. The most I'll do is use Finder's search function, but that's rare. I tend to know where things are most of the time.
- tracker1 8y agosimilar, I also started using a Go-inspired ~/src/HOST/ACCOUNT/REPO pattern for all my source repositories, which makes that mostly easier to deal with. For the most part, just using directory structures is all I need. When working on something temporary, I also have a second SSD mounted and symlinked in ~/Work and another for ~/Projects ... I also have a NAS for backup and hard storage.
- lallysingh 8y agoTags are only useful if you have specific queries intended for them later. Otherwise it's a word cloud of useless overhead. (when I last used macs) I used a regular folder structure and Default Folder X to keep things in there.
- whack 8y agoHonestly, I don't keep files on MacOS. I upload all files I care about to Google drive, and use that directly for all editing/viewing/lookups. For any development work, including my home dir, I create individual git repositories, and put all relevant files within that repository. You can then easily back it up on gitlab, and take advantage of all version control features. It's only a matter of time before your laptop gets lost, stolen or fails catastrophically. You'll inevitably find yourself wanting to access the same files from multiple devices as well. Neither of this will be a problem if you keep your data in the cloud, and use your computer purely as a compute engine and local cache.
- floatingatoll 8y agoDropbox/ contains stuff that I’ll need when I’m away from home. Downloads/ gets purged every few years of stale downloads. Documents/ gets mission-critical stuff that needs to be backed up but does not need to be in the cloud. Pictures/ has all my non-Photos photos, including a quarter terabyte of DSLR raw files. Photos and iTunes put their stuff wherever they do. I have files from 1999 in my home directory so I’m not sure I can offer any advice on tidying up :)
- boltzmannbrain 8y ago> Downloads/ gets purged every few years of stale downloads. Do you have an automated way of doing this? I keep the Downloads/ finder tab open at all times so I periodically clean up.
- pvg 8y agoHazel, if you want a GUI tool for that sort of thing.
- floatingatoll 8y agoNo. I just get tired of it and sort by filesize now and then.
- dec0dedab0de 8y agoLike most other commenters I just create directories in my home directory, but looking at it just now I realize it is way out of hand. I need to clean things up.
- christophclarke 8y ago~/Code/ L python/ L project1/ L ... L dotnet/ L web/ L work/ L ... ~/Documents/ L school/ L Spring2019/ L ... L personal/ L work/ That's about all I really access other than Downloads which is a huge mess that gets purged every so often. Anything of lasting value gets moved out of there asap. ~/Documents/ is backed up to iCloud so I can access them anywhere. (Tip: Any directory you don't want to be backed up can be suffixed with ".nosync" e.g. SecretStuff.noSync). This all started after getting into Go, which mandates a central directory under which all Go code is stored. [1] nesting scope also helps namespace resources. [1] https://golang.org/doc/code.html#Overview https://golang.org/doc/code.html#Overview
- ukyrgf 8y agoIncidentally, Go doing that made my first foray into it a very easy "Oh, yeah, this programming language isn't gonna be for me." decision.
- klodolph 8y agoGo modules has removed that restriction, although previously you could also get around it by avoiding Go’s build system (e.g. use Bazel instead). Some people would also just stick their go code in <repo>/go/src/example.com/pkgname, which is not that different from the way you might structure Java code anyway.
- kitsunesoba 8y agoThis is similar to my setup, except in place of iCloud Document Syncing I have a Syncthing folder. I like and use iCloud but it’s a little too easy to accidentally sync things that shouldn’t be synced if cloud Docs/Desktop is enabled. With Syncthing, I have to take the explicit action of placing items in my ~/Sync/ directory.
- h1d 8y agoFolders to the rescue. /s But really, that's usually all you need to organize.
- ryanwaggoner 8y agoI'm getting closer and closer to the "just dump it all in a huge bucket and search if you need" strategy. Like many here, I've tried to keep things semi-organized but it's a constant fight against entropy. And filing tens of thousands of emails and files every year just so I can access the 1% that I might need later seems dumb. Why not just search? It might take 10x as long to find via search as it would if it was nicely filed, but if you only need 1% of the files in the long run, you still come out 10x ahead. Years ago I stopped filing my physical paperwork and instead just scanning with the Fujitsu ScanSnap, which creates searchable PDFs. It's been amazing. I almost never need any of that stuff, but it's there if I do. In fact, given how useless all that stuff is turning out to be, I'm tempted to even stop scanning and just put in a big box and forget about it. If I need it someday, I can dig through the box and find it. Now that I have several years worth of files clogging my Downloads folder, it might be time to just take the same approach there.
- Joe8Bit 8y agoEverything personal is in ./Dropbox and everything work related is in ./Google Drive How my work and personal files are organised was a source of frustration and annoyance for _years_, I'd be constantly fighting a sisyphean battle of organising the ever growing chaos; then I had a realisation, hierarchical folders/files will _never_ map to my mental model and there's no perfect system. I've learned to live with the chaos.
- dandigangi 8y agoAt ~ (tilde) "root", I have 3 major folders. - Work - Labs (informal code projects and practice) - Personal But I keep my files in Google Drive that are in less need of security.
- rubenbe 8y agoI keep everything in the following folder structure. ~/projects/<year>/<mmdd>-<projectname>. e.g. ~/project/2019/0307-hnpost/ It's simple and has been working very well over the years as you can quite easily find projects based on year and on name. Older projects can be removed / pruned you run out of diskspace. Keeping thing organised is just creating a single folder. I have a ZSH alias called mkproj which quickly creates a new project.
- sammycdubs 8y agoFor my work laptop, I use a single ~/Workspace directory, with ./GitHub, ./Local, and ./Personal within that. All of my non-code stuff is in misc. app-specific cloud services: Google Drive for work stuff, Ulysses for personal notes/writing, Things for tasks etc. I also use KeepIt for bookmarks, which I really recommend. I've spent an inordinate amount of time in my life trying to over-engineer my productivity with new apps, tools, or systems that I never end up using. Some general tips: - Don't try to solve problems you don't have yet. - Keep it simple.
- tga 8y agoI add #tags to filenames. This makes them easily portable and searchable everywhere, even when shared over the network.
- blacksmith_tb 8y agoYou can 'brew install tag'[1] and manage them in metadata, which will also expose them in Spotlight, sorting in Finder etc. (but not so handy across OSes) 1: https://github.com/jdberry/tag https://github.com/jdberry/tag
- notadoc 8y agoLabeled folders within labeled folders, accessed through Finder and Terminal
- submeta 8y agoWhile I tried DEVONthink and have even written a personal document management system myself in the past, I have come to realise that no proprietary system will last forever. So I went back to files, folders, naming conventions and a good search tool + Finder replacement. As to the conventions: * I follow the recommendations of a German Professor named Loehn [1]. Prof. Loehn recommends to name every file with three parts and add a datestamp to the file. For example: "Programming_Node_Async-2019-03-07", a three-part taxonomy, going from more general to more detail. * Every file goes into a folder. Every. So I need to build a good folder system. * Every folder is in ~/Documents/FOLDERS As to the tools: I use Alfred (not for search, but for creating keyboard shortcuts to start my essential tools with a key combination). Then I use HoudahSpot.app for search. It is a better interface for Spotlight search. It allows me to save searches as templates, see search results in a table, which is super important for me to narrow the results down, exclude folders etc in a very easy way. It is my personal knowledge management tool. Finally I use "Path Finder" (PF) as a finder replacement. Whenever I am in a folder, I can hit `Shift+Cmd+F`, which will focus on a field that will let me enter keywords. PF will start to filter my folder based on my input. So I can focus on what I need. PF is a gorgeous replacement for the Finder app with many enhancements. The combination of all this will allow me to find every file, every project, every folder from within the past 15 to 20 years in a split second. Side note: 1) I don't keep files on the desktop either. Rather I have a temp folder named INBOX on my desktop where everything will be put in to be processed into ~/Documents/FOLDERS/(subfolders), and I have the discipline to empty ~/Desktop/INBOX regularly. 2) My programming projects go into ~/workspace/ [1] inventor of Loehn Method, which is a methodology like "Getting Things Done" (by David Allen)
- farisjarrah 8y agoHave you investigated symlinking INBOX folder so that its real location maps to a location inside your ~/Documents/FOLDERS location so that you only have one place to worry about all files?
- submeta 8y agoThank you for the suggestion. That is a good idea.
- xbryanx 8y agoI have moved just about everything of note off my Mac and onto Google Drive and Google Team Drive for our org. I then have access to it via Drive Stream and Google Drive search makes it very easy to find what I'm looking for almost instantly. For active code projects I really only keep /usr/local/src on my local drive. Those are all git repos linked up to GitHub.
- adjkant 8y agoMay seem silly, but I forgo all the default folders (except Downloads sometimes) and use the Desktop. On my Desktop, I have one folder: All Inside that is everything, and the desktop then has shortcuts into that and a single "To Be Sorted" folder that I throw things in when I'm lazy (and clean up weekly). My All folder top level: 1-Life (taxes, banking, retirement planning) 2-Philosophy (notes, papers, readings) 3-College 4-Code 5-Professional Z-Unused The numbers keep it ordered by use/importance and I usually review and change the top level yearly. In the end, file organization has to be something you consistently work at and have a good system for, regardless of OS. I don't think any tool solves that conceptual problem.
- klodolph 8y agoNo system of organization works for everyone. ~/Projects/ ... bunch of Git and SVN repos ... ~/Writings/ ... Git repo full of text files ... ~/Music/<year>/<num> <name>/ Songs grouped by year, PCM bounces with name + date ~/Pictures/<year>/<num> <event>/<num> Originals, + edited as copies ~/Downloads/ Articles/ Documents/ Software/ Incoming/ ~/Misc/$num/ Unceremoniously dump everything else here “Clean” is overrated. Storage is cheap. Only clean things as much as it helps you find things. Spotlight is pretty good at finding things. I use tags to label how “good” something is, with red = excellent, orange = good, and yellow = has some value. All articles are renamed so that the filename is the title of the article. Desktop is scratch space for anything that I’m working on at this particular moment. If I’m not working on it now, I drop it in ~/Misc/$num++ or delete it. I purge files about once a year just to keep garbage from filling spotlight results, and only secondarily to keep free disk space.
- radley 8y agoI use an old (discontinued) app called DragThing that sits in the lower left corner of my desktop. It contains tabs for different project groups (Personal, Websites, Clients, etc). Each tab will have my most often used folders and I'll add / remove folders as needed. For keeping my desktop clean, I keep a "clean-up" folder that I can sweep everything into and clear it out as needed (every 6 months or so).
- dreamcompiler 8y agoI loved DragThing. It's what the useless MacOS Dock should have been.
- hartleybrody 8y agoMost things that I want to keep organized get split into high-level folders. ~/Documents /personal /project-1 /client /client-1 /project-1 /school /semester /class Each of the high-level folders contains a folder called `_archive` where I move old clients or projects into, this way the organization-level folders only contain things I'm actively working on. Then I have `~/Downloads` and `~/Desktop` which are both a bit messy and get purged (Downloads) or reorganized (Desktop) from time to time.
- obelos 8y agoI find virtually every taxonomical system insufficient, whether it's a folder hierarchy, tag cloud, etc. Because of English's profusion of synonyms (on top of necessarily murky category definitions for the world, generally), finding a consolidating duplicates is its own war of attrition with myself. So I mostly store things in a handful of very broad topical folders and let mdfind (Spotlight) do all the heavy lifting of finding things I need. The filesystem hierarchy isn't “clean” in this case, but it doesn't matter because I rarely need to rely on it for finding what I'm looking for. This system does not lend itself to concordance building, browsing, or evincing topical relations, but I'm rarely needing that outside the domain of a particular use case. So if I'm researching for a paper, for example, I use Zotero to map out connections between bibliographic references. It's a more constrained realm where tag management is less arduous.
- stevewillows 8y agoI have some network folders mounted to ~/shares using sshfs that are automatically mounted and remounted with a cron job. On my desktop I have _Process as a working folder for stuff that is 100% temporary. I clear this folder every day or so. This is purely for those one-off things like an image I'm posting to a site, music that I'm tagging, etc. I have a second folder, _Projects that is for current projects -- stuff that I've 'checked out' of my NAS. This folder is automatically backed up every day regardless, but I also sort the files and clear out the auto-backup folder once its been sorted. Every project folder has its own _Process folder that has all of the temporary working-files that I can later delete, but will need until proofs are sent off. This folder will have any notes, fonts, images, etc that the client sends. This setup isn't fancy by any stretch, but it gives everything a home. When I start a new project I start off with mkdir -p ProjectName/_Process and fill that up first. I also rename everything that is sent to me so the file names make sense. [1] https://formulae.brew.sh/formula/sshfs https://formulae.brew.sh/formula/sshfs
- Symbiote 8y agoI mostly use Linux, but I use a terminal 99% of the time, so it's irrelevant. I have the same setup on a Mac. I have a few top-level directories, and a little structure beneath that — little enough that I remember most of it. My home computer directories are Code, Documents, $EmployerName, Media, Music, Photography, Temp (excluded from the backup), Web. Yes, those are capital letters. I think they're neater, and it doesn't slow me down since I have several Zsh settings and functions to navigate quickly: ls ~/d/t/p.j<TAB> → Completes to ls ~/Documents/Travel/Passport\ scan.jpg This was configured using the zsh "compinstall" function – case-insensitive and partial completions. cd ~w<TAB> → Completes to cd ~/Web This is because I've done: hash Web=~/Web This is the least useful, but could be useful for people who like deep directory structures. cd n-w<TAB> → Completes to cd ~/Code/new-website This is because I've done: export cdpath=( ~/Code ) It's important not to put too much in cdpath, as it clashes with the contents of the current directory. emacs m/m-s/s/m/j/o/e/<TAB> → Partially completes to: emacs ~/Code/maven-project/maven-s/s/m/j/o/e/ with the cursor after the s, because there are two possible directories. I can type "<TAB><TAB>" to see the possible completions, or type "u<TAB>" since I know that will complete to emacs ~/Code/maven-project/maven-sub/src/main/java/org/example/ I also have shell function for quickly finding by filename: f () { echo "find . -iname \"*$1*\"" find . -iname "*$1*" } I'm also using the UK Dvorak layout. Either UK layout puts ~ in a nicer place, and Dvorak puts / and - in a nicer place, so although it's less effort that it might appear to a US Qwerty user to type these so much.
- weej 8y agoRather than worrying about the perfect file structure layout, I focused more on optimizing indexing and search via fzf. IMO it's a fantastic fuzzy finder for locating content on device via your terminal. https://github.com/junegunn/fzf https://github.com/junegunn/fzf
- hairui 8y agoI love fzf. I recently discovered that installing a fast search tool like ripgrep makes fzf _way_ faster over large directory trees. https://github.com/BurntSushi/ripgrep https://github.com/BurntSushi/ripgrep
- cproctor 8y agoIn a big tree, no tags. It has taken a little while to figure out the shape of my life, but things now fit pretty nicely. I think the work of figuring out the one place where each thing fits is mostly valuable, not overhead. Having a deep tree allows me to incrementally organize files by pushing them partway down toward their final destination when I don't have time. The biggest current challenge is all the tools that are trying to pull me away from a filesystem. Google Docs has pretty much been a disaster for organization, and I don't use--even for collaboration--unless I absolutely have to. Similarly, Evernote has lost its charm for me. I guess I'm in a minority here, preferring organizing to searching. It gets hard for me to make sense of old documents when they're out of context. - Documents - 1-Education - 2-Teaching - 3-Software-Engineer - Unfold-Studio - unfold_studio - .git - 4-PhD - Research - Active-Projects - Text-And-Code - Studies - Publications - 5-Consulting - 6-Personal
- cproctor 8y agoSlightly off topic, but I'd like to argue for keeping your information in (backed up) local-filesystem files in the first place. I work with collaborators at several universities. Google seems to be pushing defaults toward institutional ownership of documents. I can see why institutions would like that, but there's no way I'll make my long-term access to files dependent on someone else's permissions (or Google randomly, unaccountably deleting my account).
- bibyte 8y agoI just use folders. My top folders are code, Documents, Music, Videos and Others.
- ZachWick 8y agoI tend to use top level folder structure of: - Documents -- <a folder for each employer> -- <a personal folder> - Repos -- <a folder for each language> I also make extensive use of a little rust tool I whipped up which tags file paths with user defined tags, which are then searchable: https://gitlab.com/zwick/genie https://gitlab.com/zwick/genie This allows me to quickly find all file paths that are tagged with <employer #1> for instance regardless of where they are all from within a terminal.
- _virtu 8y agoI've not figured out how to organize all files on my filesystem, but at least for my notes, I found that trees just don't cut it. I ended up writing a visual studio code plugin called vscode-nested-tags that allows you to add arbitrary tags to any markdown files. These tags can also be nested ala Bear's and Notable's tag system. I've found that this helps a lot for organization and allows me to not be constrained to the file system for organizational purposes. I found that often times, tickets for specific features turned into useful writeups about the systems that the feature touched and I wasn't able to capture that with a file tree. The plugin can be found here: https://marketplace.visualstudio.com/items?itemName=vscode-nested-tags.vscode-nested-tags https://marketplace.visualstudio.com/items?itemName=vscode-n...
- why-el 8y agoI gave upspin (the project that started at Google) a go but I found it a bit buggy. My dream with be to have $HOME be available in multiple machines, so that I can log in, start my text editor, my terminals, and everything in between, and they all pick the right configuration. If anyone is aware of such project or would like to build one, please let me know. Of course, it must be more than just rsync, and it needs to be smart about file downloads, caching when necessary, but also not bloating machines when one is only curious in a subset. EDIT: Forgot to mention, should ideally be open source.
- leovander 8y agoSomeone had previously shared johnny-decimal, but I have yet to use it to reorganize my files. https://johnnydecimal.com/ https://johnnydecimal.com/
- jimmcslim 8y agoInteresting. What about customer-specific files... a small business would hope to have more than 10!
- leovander 8y agoTake a look at cygned's comment[0] and how the author[1] still breaks the rules with sub-folders. [0]https://news.ycombinator.com/item?id=19327891 https://news.ycombinator.com/item?id=19327891 [1]https://johnnydecimal.com/concepts/exceptions-to-the-rules/ https://johnnydecimal.com/concepts/exceptions-to-the-rules/
- 2bitencryption 8y agoI like this concept. Doubt I'll ever use it, but it sparks the same nice pleasing feelings in my brain that I get in a library or well-organized filing cabinet.
- galfarragem 8y agoInteresting, thanks for posting it. Somewhat related (my system): https://github.com/archimodels/hamster-system https://github.com/archimodels/hamster-system
- aniketpant 8y agoThank you for sharing this! I have always organized my directories similar to concepts explained here but the introducing of decimals adds that extra attribute that helps with searching records in the future. I started organizing my local files and Dropbox. I'm hoping to eventually organize my Personal and Work Google Drive as well.
- jason_slack 8y agoI am using the Johnny Decimal system for my organization. It took me some time to get all my stuff in this structure but now it is very intuitive to me and I always know where everything is.
- climb_stealth 8y agoI use Forklift [0] as a Finder replacement. I don't need most of the extra features but it is much nicer to work with. [0] https://binarynights.com/ https://binarynights.com/
- jimmcslim 8y agoI’ve used Path Finder [1] myself in the past. [1] https://cocoatech.com https://cocoatech.com
- acoustep 8y agoFor code I usually use ~/Code ~/projects # for projects that span multiple languages ~/courses # For the various programming courses ~/valet # PHP projects using Valet+ ~/devilbox # For Dockerized ~/elixir ~/node etc... For notes I use Inkdrop and split things by hobbies/projects. One thing I've been having trouble organising is photos. More specifically, organising original and retouched versions. I've come across one solution which is to do this: ~/Photos/ 2018/ SpringOriginals/ # Keep original photos here. SpringAffinity/ # Save Affinity Photo files here SpringExports/ # Save exported re-touched photos here I quite like this solution, but I'd be interested in knowing if there's anything better.
- jlarocco 8y agoA better description of your problem and what you're trying to achieve would get better answers. I use the same organization on all of my machines. Source code goes into ~/src/, each project in its own directory. In some cases I'll group projects by language in their own sub-directories, for example ~/src/lisp/ Music goes into ~/music/ with a sub-directory per artist, but some genres get their own sub-directories, with artist sub-directories under that. Photos go on a dedicated external hard drive. Books and PDFs go into ~/books/, or one of the topic based sub-directories underneath it. Everything else goes into sensibly named sub-directories in $HOME. If I get a lot of similar directories (2018-taxes, 2017-taxes, etc.) I'll group them in a sub-directory.
- yeukhon 8y agoShort answer: I don't.
- yaodong 8y agoAll project files live under ~/Documents; Others go to DEVONthink.
- djhworld 8y agoMy file organisation can mostly be described as a chaos meal, an inexplicable arrangement of mostly incompatible foods thrown together onto a plate. It's actually disgusting, but I'm lazy. A lot of my work tends to be ephemeral stuff, like downloading files and doing some analysis work so I have a folder called ~/scratch/ where I try to mostly put that stuff. My biggest issue is I'm so lazy I often have throwaway scripts just sitting in git repositories that have no relation to the project that repository is for. It's fun returning to that repository and finding I have a bunch of uncomitted changes for files like "script.py" and "doit.sh"
- jchallis 8y agoMari Kondo Mac edition: Google Drive Personal for all personal files : photos, tax returns, etc. Only sync files actively touched in last thirty days. Google Drive Work for all work files : presentations, spreadsheets, contracts. Only sync things I've actually touched in last week. Github for code projects. 60 Day Minimum. ~/Documents/codeWork Anything that is not filed within 30 Days > trash. Admittedly my Google Drive is a bit gnarly, but the search functions are pretty solid.
- Rebelgecko 8y agoI use NVAlt, a fork of Notational Velocity for notes, links, and things like that. It more or less syncs with SimpleNote so I can use it on my phone too
- Veen 8y agoI use folder hierarchies for broad strokes categorisation. Tags for denoting state - whether a file is a piece of work that needs invoicing for, for example. And I use Houdah Spot for searching. I’m a writer who uses Markdown for everything, so I put MultiMarkdown metadata in files (client, invoice amount, etc) and that’s useful for searches and grouping (and for scripts to build invoices based on the tags and metadata)
- King-Aaron 8y agoChronologically sorted chaos
- ben174 8y agoAnd subdirectory after subdirectory of folders named "stuff".
- ddebernardy 8y agoCode: each project in its own folder. Docs: date sorted mess with a twist. In over 30 years of using a computer, I've only rarely gone back to stuff I haven't touched in months. So when I notice that old files I no longer care much about are starting to pile up, I create a folder and move applicable files into that folder for archival purposes. I've a few exceptions for important papers, like contracts and invoices.
- peteretep 8y agoI would recommend going with the zen of finder. I basically just throw everything into Dropbox, unless I am specifically trying to put a collection together (eg: "documents for meeting 2019-01-01"), and then use Finder. Surprised nobody has mentioned case sensitivity yet (as far as I can Ctrl-F for); I have a case-sensitive disk image called ~/dev/ where all code checkouts live. Been using autojump for a while to make terminal navigation easier
- stunt 8y agoI don’t use tags or any software. I have my own folder structure with my own basic rules. I keep a copy of all important files synced in Dropbox, iCloud, and an external drive just to be safe. Just a little bit discipline to not leave files in temporary places or with random names, and to clean them up when needed. Path, directory names, and file names are giving me enough context to find them.
- expopinions 8y agoYou can right click on any file/s and select a colored label from the menu. After that you can click on any of the colored labels on the sidebar and see what files you tagged with which color.
- wingerlang 8y agoI put everything in my Dropbox folder. Then split by various categories, sometimes things spill into the root but hey. I use Hazel to automatically move files into a "review" folder to keep thing either saved or thrown away. Just check it periodically.