Using `cal` and plain text to track things

Tue 05 September 2023 by R.L. Dane

I know everyone's got their preferred notes app/platform, but I've been using SimpleNote for several years now, and I'm quite fond of it. Not only does it have very usable mobile and cross-platform desktop apps, it also has alternate apps like nvpy (a GUI) and sncli, an excellent command line client.

Using sncli, I can edit my notes in (neo)vim, and what's not to love there? Simplenote also has the added benefit of on-demand syncing, and using almost no battery power on mobile, which I can't say for custom solutions like using markor (mobile) and vim (desktop) and syncing with Syncthing. I do love Syncthing, but I only let it run when plugged in to save power, so I cannot rely on it to sync my notes on demand. So, SimpleNote has been a perfect solution for my needs.

I track all kinds of things with SimpleNote (mostly in neovim via sncli): my shopping list, notes from therapy sessions (go to therapy, y'all!), my car's mileage, the days I give my cat his medicine, my blog post ideas (yes, I need to write more regularly 😉), and recently, my exercise.

My weight has gotten a little on the chonk side since 2020 (sigh), so I'm working my way back up to exercising three times per week.

So far, I've been tracking my exercise with a simple format in SimpleNote:

YYYY/MM/DD Cal Time Dist Difficulty notes
---- -- -- --- ---- ---- ---------- -----
2023/08/02 326 45 3.0 1/1 ell
2023/08/03 Swimming ~30 minutes
2023/08/05 Swimming 50min med diff
2023/08/07 393 50 3.48 2/1 elliptical
2023/08/16 345 50 3.29 2/1 elliptical
2023/08/25 1 hour intense swimming
2023/08/30 333 44 3.00 2/2 elliptical

That definitely did a good job of representing the data, but I wanted a visual representation of the days I exercise so I can keep track of it and encourage myself to do more.

I remembered my old friend cal, the UNIX calendar:

     August 2023    
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31      

I figured out I can leave the numbers in on the days I exercised, use periods for the days I didn't, and leave out any weeks where no exercise happened. I ended up with a file that's broken up by month with a visual representation of every month preceding the actual data:

     August 2023    
Su Mo Tu We Th Fr Sa
       .  2  3  .  5
 .  7  .  .  .  .  .
 .  .  . 16  .  .  .
 .  .  .  .  . 25  .
 .  .  . 30  .      

2023/08/02 326 45 3.0 1/1 ell
2023/08/03 Swimming ~30 minutes
2023/08/05 Swimming 50min med diff
2023/08/07 393 50 3.48 2/1 elliptical
2023/08/16 345 50 3.29 2/1 elliptical
2023/08/25 1 hour intense swimming
2023/08/30 333 44 3.00 2/2 elliptical

It's not much, but it's progress. ;)

Note: This article has a Part II !