5 ms·
I have adopted this practice over the last year and have found immense value in the practice. I believe this practice is one of the cheapest ways to help levera
by rocketcity 9y ago
I have adopted this practice over the last year and have found immense value in the practice. I believe this practice is one of the cheapest ways to help leverage your previous experience on the job as you keep yourself from having to repeat previous learnings over and over again as you try to remember what those compiler flags you used 6 months ago actually were :).
My system is quite simple. I have created a github repo called journal and an alias which opens vim to a markdown file for today's date. If I leave the file and come back later vim will drop me in at the end of the journal. I intend to add some vimscript in the future to automatically add a timestamp when I reopen the file but haven't gotten there yet.
This system has been quite helpful to me as it is resilient to data loss as I can push to multiple backup systems. Easily searchable (grep). And can support prettier documents if I want to open my Markdown formatted journals in tools like Macdown.
TL;DR I use vim to manage this. See alias below.
alias journal='vim + "/Users/username/journal/$(date +%Y)/$(date +%Y%m%d).md"'
- 0x03 9y agoA script might finesse things a little more, but you could get a naive implementation of the timestamp behavior with something like: alias journal='vim + "/Users/username/journal/$(date +%Y)/$(date +%Y%m%d).md" -c "execute \"normal! Go$(date +%T)\<CR>========\<CR>\" | startinsert "'
- poidos 9y agoThis command (as presented) is giving me issues with saving the file on my machine, not sure if it's specific to only me but figured I'd give you a heads-up!
- nutate 9y agoHere's a nice hacked up version, note the mkdir -p that makes the directory if it doesn't exist. Also I changed the time from 24hr to more provincial 12hr w/ AM/PM Please be careful adding aliases if you aren't sure what' they're doing! alias journal='mkdir -p /Users/insert_your_username_here_on_mac_on_linux_change_Users_to_home_on_windows_good_luck/journal/$(date +%Y)/; vim + "/Users/insert_your_username_here_on_mac_on_linux_change_Users_to_home_on_windows_good_luck/journal/$(date +%Y)/$(date +%Y-%m-%d).md" -c "execute \"normal! Go$(date +%r)\<CR>========\<CR>\" | startinsert "'
- stevenleeg 9y agoIf you're looking for a more structured version of this, I'd highly recommend checking out vimwiki[1]. Its diary feature does exactly what you mention, plus it will autogenerate a nice index file for you (among many other features). [1] https://github.com/vimwiki/vimwiki https://github.com/vimwiki/vimwiki
- StrangersAdvice 9y agoYou should try zimwiki. http://zim-wiki.org/ http://zim-wiki.org/. It's basicaaly a collection of text files in a markdown format. Each note is a separate file. Has git versioning built in. The zim wiki UI lets you edit the files in a wysiwyg way. It's open source and has a bunch of nice plugins, including a journal plugin that creates a file for each day.