- Why I journal
- How I Journal
Currently, I'm working as a consultant. As such, time tracking is an essential part of my day to day activities, and while I don't like getting too granular, it does look good to be able to show what you've been up to for every few hours of the day. Journaling makes this quite easy as I often make notes regarding what I'm busy with, thus I can usually just use the heading and timestamp from a journal to keep track of what I've done during the day. This also helps a lot during standups.
About to go out for lunch? Make some notes of what you're busy with. Knocking off? Write down what you're leaving for yourself to do tomorrow. Going for a walk? Don't lose the flow, freeze your thoughts in text. The sheer usefulness of being able to sit down and immediately remember what I was doing and thinking before I left is immense.
I sometimes lose track of what I'm trying to achieve, and it helps to bring back my focus towards what I want to accomplish when I write down what I've been doing. Likewise, setting a goal makes sure I don't stray too far from where I want to go and prevents yak shaving.
Let's be honest, everybody likes to complain. Especially when someone else is agreeing with your complaints, and there's no one that agrees with me more than myself. I find that a quick two sentence complaint helps me rid myself of the weight of something bothering me. Weather is cold? Complain, dress warmer, and move on. Badly designed software getting to you? Complain, take a deep breath, and realize things like Citrix are a part of life.
When I want to write a journal entry regarding something work related, I do it using a "work" journal. I run
jrnl work and up pops a vscode window with the following pre-made template:
txt BODY: NOTES:
This allows me to quickly pin an idea or talk about an issue. Here's an example of how I would fill it up:
txt Azure disks don't mount when instance is created BODY: @Azure is weird, and for some reason someone decided it would be a good design to not mount any virtual disks before an instance starts up, they are instead mounted after startup, resulting in <current project>'s bootstrap section to fail. I will have to implement a check to see when the device is mounted before the script can continue. NOTES: It might be a good idea to just attach the first LUN device since the disk will always be LUN0
looking at the latest entry:
txt ❯ jrnl work -n 1 2020-06-02 13:46 Azure disks don't mount when instance is created | BODY: | @Azure is weird, and for some reason someone decided it would be a good | design to not mount any virtual disks before an instance starts up, they are | instead mounted after startup, resulting in <current project>'s bootstrap | section to fail. I will have to implement a check to see when the device is | mounted before the script can continue. | | NOTES: | It might be a good idea to just attach the first LUN device since the disk | will always be LUN0
Similarly I can look for tags on things that were previously relevant:
txt ❯ jrnl life @shrimp 2020-06-02 13:51 Finally got the fishtank set up
Of course, just these text snippets don't deal it justice. It actually looks quite nice:
Life journals are for every day random thoughts or ideas that I just want to not down, I don't use the template unless I find it necessary, and as such I can just use jrnl from the command line:
❯ jrnl life Starting on msngr. Ive started working on @msngr, it should end up being a project that syncs jrnl entries to @s3, possibly other cloud storage providers. [Entry added to life journal] ❯ jrnl life -n 1 ❯ jrnl life -n 1 2020-06-02 20:25 Starting on msngr. | Ive started working on @msngr, it should end up being a project that syncs | jrnl entries to @s3, possibly other cloud storage providers.
Neat, simple, and quick. Perfect for jotting down an idea that might escape you. For those curious, you can look at the progress of msngr here
Here is my
jrnl.yaml configuration file:
colors: body: none date: cyan tags: yellow title: blue default_hour: 9 default_minute: 0 editor: '/usr/bin/code --wait' encrypt: false highlight: true indent_character: '|' journals: default: /home/neels/.local/share/jrnl/work.txt work: /home/neels/.local/share/jrnl/work.txt play: /home/neels/.local/share/jrnl/life.txt linewrap: 79 tagsymbols: '@' template: '/home/neels/.local/share/jrnl/template.txt' timeformat: '%Y-%m-%d %H:%M' version: v2.4.2
Have fun journaling!