Back to org-mode

Reasonable default configurations have been a pleasure of [Doom Emacs][]. Even org-mode, which I had somewhat dialed in on my own, works well enough, and maybe better, under Doom. When I took my org-conf.el apart I realized how many geological layers of features that sounded interesting but never made their way into regular use were sitting there, gumming things up and slowing things down.

I posted last night about a nicely wired up Projectile/org-mode pairing:

Whenever I get bit by the org-mode bug, the first thing I notice and remember loving is the intertwining of text and tasks. Sitting down and making lists in an app has never felt completely comfortable to me, and the notes capabilities of a lot of task apps leave me cold. They look and feel like afterthoughts, and the text is dead and inert inside them. Once the task is done, the text is effectively gone unless you take time to pull it out and put it somewhere.

When your todos and text are happening on equal footing with each other, your “todo list” stops being a todo list and starts being a sort of log or journal. Structure your notes correctly within todos, and org-mode makes it easy to copy them into another file or hierarchy, or you can just leave them in place and keep moving.

Preparing for a meeting this week, I loved sketching in the things I needed to cover as headings that happened to be todos, then launching straight into notes underneath those headings, roughing in initial thoughts or leaving myself prompts without clicking into a cramped little box.

I loved org-mode when I worked in a status report work culture because my weekly report was also my todo list. I wrote an exporter that kept out the stuff nobody else cared about, but showed the most recent log entry in each item. As priorities shifted, my status report was always up to date. As I wrote each week’s update, I could see the previous week’s just below it in the item drawer. Items that were delegated, on hold, or dropped, reflected reality at the moment of export. Attempts to do similar with other tools never came close, no matter how robust their scripting libraries.

So, having an Emacs distro that feels very solid underfoot and presents a clean, useful, uncluttered org configuration is a real joy.

I am also enjoying Beorg, an iOS/iPadOS app that works well with org-mode, syncing via iCloud, Dropbox, WebDAV, or Box. It tilts toward the todo/agenda-oriented parts of the org-mode experience, but you can edit your prose notes with it in a pinch. It can also integrate with iOS Reminders and Calendar apps, so your agenda view can reflect your org stuff and your phone stuff if you have to live in a split ecosystem for things like shopping lists. It’s not a completely seamless experience, but it is smooth and works well.

And the whole experience reminds me that, speaking only for myself, as much as I think it’s possible to get work done on an iPad, I can’t get it done as well as I can on a laptop or desktop machine.

C25K phone app

“Try to get more exercise” has found its way onto the medical agenda, so I am trying to get more exercise. My routine over the past couple of years has involved 3 or 4 miles of walking most weekdays, and upwards of 6 or 8 on weekends. That has served me pretty well, but after a few experiments and some measuring, it’s pretty clear that 30 minutes of running every other day is helping even more.

Couch to 5k has been my go-to “get back into running” program over the years. It’s a slow ramp – slower than I’d like some days. When I compare how well I’ve kept up a running habit (and kept feeling healthy) ramping myself up vs. sticking to C25K, it’s clear I do better letting myself be held back a little.

When I first did C25K I did it using a Timex Ironman and watching the stopwatch. That wasn’t great because it kept me from just going to my running place. In early smartphone days I was happy to use an app, but wow was iOS terrible for that kind of thing back then: Music never coming back after a voice prompt, bad UI ideas, etc.

I’d always hoped Apple Watch would address it, but for a few years it was even worse, and I went through a series of hacks and workarounds, but was resigned to just keeping my phone on me for runs.

This time around it seems Apple Watch is finally mature enough to support a standalone C25K app in the form of WatchTo5K. It’s part of a crowded field, and there may be others that work just fine, but WatchTo5K had decent reviews and has gotten me through three weeks so far with no complaints. It just works, it’s simple, and it talks to Apple Health so I can correlate runs with a few other biometrics.

The only other wrinkle isn’t a big deal: I run in a park across the street from my house, so the watch is constantly picking up then dropping my Wi-Fi network. Even though my running playlist is downloaded to the watch, it causes the music to stutter every time I run back out of range. Putting the watch in airplane mode addresses that.

It’s pretty nice to just put on my watch and Beats Fit Pros, start my playlist, start the app, and start running, with nothing else to think about or fiddle with for the next 30 minutes.

Custom Hugo RSS

I made a small tweak to my site’s RSS feed, adding a shortcode to list the tags for each post and adding it to each entry’s description. It’s a small adaptation to reflect the ways I use my feed to cross-post to Mastodon and Twitter. Mastodon is especially on my mind, given that tags are what drives discovery. For my daily posts it’ll be a little redundant and I guess I could build some logic in to handle that, but not today.

Here’s the shortcode (rss_tags.html):

{{- $tags := .Language.Params.Taxonomies.tag | default "tags" }}
{{- range ($.GetTerms $tags) }}
  #{{ .LinkTitle }}
{- end }}

… and here’s the tutorial I used to figure out how to customize the feed. It just involved changing the description element:

<description>{{ .Summary | html }} <br />
  {{ partial "rss_tags.html" . }}
</description>