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.
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)!
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)!