Daily Notes for 2023-04-12

ยท 1419 words ยท 7 minute read

ChatGPT and org configuration ๐Ÿ”—

I tried out org-superagenda a while back. It improves on the vanilla org agenda by creating customizable sections, which help it scan a little better. I bounced off of it because while I wanted the quality of life improvements it offered, I was struggling a little with the syntax, and was caught up in that brainspace you can get into where you just want the thing to work and it’s throwing off your sense of time and perception of the required investment to make it work.

This morning I was looking at my agenda and hating it because it was in a “mostly correct except where it is glaringly incorrect” state, so I figured it’d be a good practical task to throw at ChatGPT:

Describe an orgmode super agenda configuration that shows habits, important items, overdue items, and items due in the near future

I got a copy-pastable example that met the requirements.

Could you add items due today to that list

Yep. That worked.

could you move the today list to second place and add a list at the bottom of unscheduled todo items

That response worked well, too. It does a decent job of explaining what each piece of the solution does.

Using the org agenda ๐Ÿ”—

Figuring out the org agenda has been key to how I use the tool.

With a good agenda setup I can feel pretty on top of things. When it’s broken I know there are things out there in my file collection that I’m not going to see. As I’ve leaned into org capture, that’s become even more true, because capture buffers keep you out of the file you’re adding something to: You don’t see the other things in there because you don’t go past them to get to where you’re adding new content.

Besides surfacing stuff, the agenda is also the nerve center. You can do basic scheduling and status changes from it, and maybe even more importantly for a sense of organizational calm, you can refile from it. So rather than visiting each file to find stuff and move it around, you can see it all from the agenda overview and refile it from there.

With a restored agenda, I made the connection between my literate Emacs config and all the other stuff flying around in my org mode ecosystem: Links I gathered about configuration tweaks or things I’d like to try can more easily go into a literate config file, so I made an “Ideas” heading at the bottom of the file and started refiling my the Emacs-related things in my agenda’s inbox into my config.org file.

People love hooking into org, too, so even things that started life without org mode in mind can pick up org affinities. The pinboard mode I adopted, for instance, doesn’t natively use org’s link storing function when copying a link, but someone wrote a function to do that. Now I can retrieve a link and add it to a post without taking my hands off the keyboard or switching contexts.

Which reminds me … ๐Ÿ”—

I discovered winner-mode today.

It’s annoying when an Emacs mode splits the window into frames, then leaves two frames behind when I quit it. winner-mode “records the changes in the window configuration (i.e., how the frames are partitioned into windows), so that you can undo them.” It’s useful to me because I want to use pinboard-mode as a link retrieval tool for blogging. Once I’ve grabbed the link, I just want to tap q and get back to my blog buffer, not find myself with a split window. winner-mode closes the pinboard buffer, then removes the frame, and I’m back where I left off, able to add my link and keep typing.

Custom Doom keybindings ๐Ÿ”—

I’ve been digging Doom’s modal interface, and waiting around for a reason to extend it. Yesterday’s addition of pinboard.el finally gave me an excuse, since Doom was killing its keybindings out of the box.

The p prefix in Doom’s menu system is already occupied by projectile, so I used P:

(map! :leader
      (:prefix-map ("P" . "Pinboard")
        :desc "open Pinboard" "p" #'pinboard
        :desc "open current link" "o" #'pinboard-open
        :desc "copy org link" "l" #'org-store-link
        :desc "edit link" "e" #'pinboard-edit
        :desc "copy URL" "c" #'pinboard-kill-url
        )))

So spc Pp will open the pinboard buffer (or switch to it), spc Po will open a given link, spc Pl will store an org link (for retrieval via spc mll), etc. etc.

One thing I’m struggling with here is a vagary of Doom as an environment. The logical place for all of that is in the bindings.el file, but the bindings don’t “take” when I put them there. They do when I put them in config.el. The docs weren’t super helpful in debugging that, and the things that look syntactically intuitive didn’t seem to solve the problem.

It’s no big deal, and I’d rather just have all of that stuff travel together with the mode it addresses, anyhow, but it’s a thing I Do Not Understand About the Environment except at a very vague “well, there’s a lot of lazy loading going on to keep things fast” level, and it’s going to bother me.

I should just add an INSOMNIA state to my TODO lists and save it for the next “welp, it’s 3 a.m. and I might as well screw around with this problem” session.

Yellowjackets again ๐Ÿ”—

Well, we finished the first season last night.

  • Standalone season score: 8
  • Prospects for the future score: 5

Basically, my “endless puzzlebox” antennae are quivering.

The season all on its own was gripping and kept our interest. I felt invested in the characters and whatever they were dealing with. I love the way it walks right up to the Mandy line a few times. It has a dark sense of humor but it’s not mean.

The 2 missing points for the standalone season score are because it had some minor pacing/bog-down stuff in the middle, and because some stuff going on just felt like gratuitous puzzlebox misdirection. It felt at times like it was written too self-consciously aware of recap culture and a certain kind of mock-obsessive over-read/over-think that comes along with that.

The “prospects for the future” score is a function of how I felt as the credits rolled on the season ender, and it honestly wasn’t great. The episode didn’t feel energetic, it suggested an appetite for “surprise reversal” that will exceed my patience over the long haul, and it reminded a bit too much of the first couple of seasons of HBO’s Servant, which I abandoned with no remorse at the end of the second season.

I feel a little bad about my reaction, because maybe I’m suggesting that television productions should simply abandon the only tools they have to get more seasons. In some ways, they have to pander to recap culture. They have to pander to fannish over-analysis. They have to end each season with a hook and a sense of incompleteness. They have to live within a fickle system run by people addicted to the analytics streaming affords, who will happily kill a property and move on to the next with no sense of investment.

But, you know, don’t point out a problem without pointing out a solution:

For All Mankind (Al prefers to think of it as Space is Trying to Murder You Again This Week) does a nice job with this conundrum: Each season has an arc and a sense of conclusion. There’s payoff. Then it does an end-credits thing where it flash-forwards to the next season’s era and offers you a look. It doesn’t appeal to your thwarted expectations of closure, it appeals to your curiosity.

And to make note of a counterpoint, Succession isn’t above leaving things on a hanging note of tension, but I’ve stuck with it. It’s not terrible to leave things unresolved, or end a season with a directional cue in the form of an unfinished arc. Maybe the thing I’m reacting to with the puzzlebox stuff is the garish palette those shows paint with, swinging for the meme fences.

Anyhow, we have a few episodes of Yellowjackets season 2 cued up. The prospect of watching them, having skimmed a few episode descriptions in Plex, is not sparking a “full-body yes.” There’s just so much other stuff out there that I’m okay with the thought of letting it have its run then deciding whether it’s worth it to watch through the whole thing.