My workflow, tmux, vim, etc.
DATE: 2017-11-01
AUTHOR: John L. Godlee
I thought I should do the sort of post that everyone seems to do and show off my workflow, with all the horrendously try-hard command line utilities, and DIY config files. You can find my dotfiles here[1].
1: https://github.com/johngodlee/dotfiles
I spend most of my time working on my macbook pro, within an iTerm2 window running tmux.
I have a bash script that builds a tmux session and fills it with useful programs. I have vim in one window, then a whole load of small empty shell panes in the next window, and finally cmus in the last window for playing music:
I dabbled in using tmux-resurrect and tmux-continuum to save my tmux sessions when I rebooted, but I found that these plugins weren't always reliable. Besides, I don't usually reboot my laptop unless I've first saved all my files.
I used to have a lot more things running in tmux. I used alpine to manage email from my gmail account, and I used the calendar.vim plugin with a custom .vimrc to link to my google calendar, but when I started back working full time I found that it actually saved me a bit of time to just use the default macOS Calendar and Mail apps.
Note-taking
I use vim to take all my notes. I use markdown to format all my notes. I have a note for each day, or at least each workday. The basic format of my daily note is:
At the end of the day, I copy that day's note into a new note with tomorrow's date. So in the end I have a folder of notes with names like this:
I also have this neat way of roughly tracking how productive I've been. I can count the number of lines within the ==================DONE=================== tags. Then I can turn that into a csv, then import that into R and plot a graph of how much I've done over time. It's not that useful, but was a fun project to put together, and a way to learn about grep.
The bash script:
The R script:
Edit 2017_12_08
I've been thinking more about the note-taking philosophy and have noticed a few trends in my own note-taking that make it easier for me to read things back at a later date. This has mostly come about because I am now starting to re-read my notes on academic papers as I start to write my confirmation report.
- Keep notes short - It's much easier to read notes back when they are only on short lines. Only one sentence per line
- Nested bullet points - In line with trying to keep notes short, it follows that nested bullet points are a great way to give some sense of inherent structure to your note taking, and make it easier to memorise things like lists of species. Nested notes also do a good job at maintaining a logical flow to discussions, by allowing you to put a retort to a particular piece of evidence as a nested bullet under the main bullet point.
- Use keywords and repeat yourself - I find it much easier to search through long sets of notes if I have keywords to search for. In this sense, it follows that each bullet point should be its own self-encapsulated bundle of information, which relies little on other bullet points to give it context, this makes it much easier to scan through bullet points for the useful information.
- Use Markdown - This isn't entirely necessary, but I've found it to be a great way of quickly applying formatting to my notes, as opposed to what I used to do with Microsoft Word and WYSIWYG formatting.
Screens and deskspace
I do nearly all of my work at my desk in the University. I have a widescreen monitor with a trailing HDMI cable that I can plug into my laptop, then to the right I have a HP all-in-one running Windows that is hooked up to the University network, just in case I need to use some piece of Windows software. For example, when I'm testing workshops for undergraduate students.