I use the `man` system. When you invoke `man` you can pass an optional leading argument indicating which "section" of man pages you want to see, e.g. `man 1 open` and `man 2 open` give different pages.<p>You can add new sections by setting $MANSECT. So I added a new section named with my initials, pj:<p><pre><code> export MANSECT=1:n:l:8:3:2:3posix:3pm:3perl:5:4:9:6:7:pj
</code></pre>
You can also change where the `man` command searches for manpage files using $MANPATH:<p><pre><code> export MANPATH="$MANPATH:$HOME/man"
</code></pre>
Now you can just `mkdir -p ~/man/manpj` and start adding files with a `.pj` extension, like `postgres.pj` and `bash.pj`. Then it's super-fast to bring those up by saying `man pj postgres`.<p>Of course you would substitute all the above with your own initials or whatever.<p>You don't even have to write the files with the usual formatting macros. Most of the time a plain text file works okay. But it's kind of fun to learn enough of that to get by: probably less than a dozen macros for paragraph breaks, underlining, etc.<p>And then you can put your collection of notes on Github like here:<p><a href="https://github.com/pjungwir/manpj" rel="nofollow">https://github.com/pjungwir/manpj</a><p>Here is a file with a few man macros:<p><a href="https://github.com/pjungwir/manpj/blob/master/bc.pj" rel="nofollow">https://github.com/pjungwir/manpj/blob/master/bc.pj</a>
I'm using <a href="https://github.com/xolox/vim-notes" rel="nofollow">https://github.com/xolox/vim-notes</a> and create files for each topic. Recently I could help my colleague by exporting my mongodb-related notes to markdown and publish it for him.
I've been using gists. Does that seem like an ok idea? My only complaint is that they don't show up in google searches or when someone looks at my profile in github so I don't really get to share them by default.<p>I also keep forgetting my password :-(
I've created a .org file that I keep with useful commands / code that I reference pretty often. I keep it in my Dropbox folder so I can access and update it from any of the computers I work on. Seems to do the job.