Daily notes for 2023-03-24

ยท 1947 words ยท 10 minute read

re: TickTick ๐Ÿ”—

It has been supplanted by org-mode.

Final verdict: It’s pretty good. If I had to put all my to-do lists in a proprietary, closed-format tool, it would probably be the one, or at least in the running with Things. I just appear to be due for an org-mode kick, and TickTick happened to be standing around when it happened.

In terms of getting out of org-mode what I was getting out of TickTick beyond a simple todo list, it came down to mobile, habits, and pomodoros.

[beorg][] handles Reminders integration. Doom Emacs lets you pull in org-habits out of the box, so I just did that and set up a habits file. They’re pulled into my agenda, which shows streaks information for them.

I also added org-pomodoro, which works about like you’d expect: Pick an item from the agenda, trigger the timer, and it adds a time entry to that item in its home file for each Pomodoro completed:

** omg.lol Docs

*** Git workflow

**** DONE Beginner section
DEADLINE: <2023-03-24 Fri>
CLOCK: [2023-03-24 Fri 14:19]--[2023-03-24 Fri 14:44] =>  0:25
CLOCK: [2023-03-24 Fri 13:49]--[2023-03-24 Fri 14:14] =>  0:25
CLOCK: [2023-03-24 Fri 11:25]--[2023-03-24 Fri 11:50] =>  0:25
CLOCK: [2023-03-24 Fri 10:14]--[2023-03-24 Fri 10:39] =>  0:25
CLOCK: [2023-03-24 Fri 09:38]--[2023-03-24 Fri 10:03] =>  0:25

I found this presentation helpful for figuring out how to add reporting with the time data you can gather.

Always coming home ๐Ÿ”—

At some point we have to acknowledge to ourselves that maybe the chaos is the actual pattern, or that the things we think are chaotic are not after all, even if we can’t quite feel the rhythm.

When it comes to tools – especially productivity ones – I am fickle. I’ve been through four or five major “all in on org” moments in my life, and then I’ve fallen out of them.

org-mode can be tough to stick with: Emacs can be crabby, the ecosystem feels fragile sometimes, and you occasionally go through these periods where everyone’s carrying on about some new Emacs build or hotness and you chase after it ten minutes before a day full of meetings where the segfaults start in the middle of a note.

No amount of fluency with the tool or joy in the format can get you around the days where the tool just doesn’t feel steady.

On the other hand, one missing piece from previous Big Org periods has been a habit I picked up during the pandemic of being more circumspect about the tools I pick up and what I want to do with them. I write about what I hope to get out of something. I think about what I want to use it for. Sometimes I learn about a new feature or approach and decide to roll it in, but I’ve gotten a lot better at knowing why I use the things I do, and what I want out of them. I’m also more suspicious of changing them up much.

In assorted parts of my technical life, that new habit has been a real boon, because “tech” in the broadest sense is something I like to play with, and I used to constantly break the rule “Don’t try anything new on race day,” with all the ensuing chaos that comes with it. Like, years ago past Mike got really disgusted at work and swore he was done with his job and applied for a bunch of jobs, and decided that was the right time to change email providers because he heard that the one he was switching to had some cool features. Yes, some mails went missing.

Where my Emacs life is concerned, it just comes down to “one thing at a time, only one thing a day, if at all.”

I self-interpret that to mean “you can turn on one module and snarf up one quick tweak or imported config to go with it.” Adding org-super-agenda? Great – turn it on and add one config change. Doing pomodoros? Okay, don’t change your org agendas to show the timing, just make sure you can record the times consistently, and that it isn’t making things feel wobbly. I usually just do a pomodoro of fiddling at the beginning of the day, which is about enough time to find something, turn it on, and see if it passes the initial use test before it’s time to do other stuff.

I’ve been harping a lot elsewhere on how stable Doom Emacs feels compared to my own init.el ecosystem, but I suspect part of it is just that I’ve been very careful about what I add and how much I add at a time. I think Emacs is in a unique tier of sensitivity to a lot of thrashy change, but just about anything built on a lot of user-generated content (e.g. modules, add-ons, plugins) can be made to misbehave and become hard to troubleshoot.

Another thing that has changed about me over the past few years has been a growing awareness that I can get into a headspace where I prize automation and less overall motion to the point of paralysis. It took seeing other people falling into that pit – believing that they came into work that day to automate something and not to achieve an outcome – to get me to see it in myself and snap out of it a little.

Vim Adventures ๐Ÿ”—

I mentioned yesterday that I’ve been enjoying Vim Adventures:

“Enjoying” is sort of relative. It wants you to learn stuff that is a slog, and it has a few puzzle challenges that can be challenging since they not only demand you use the keys you’ve been learning to accomplish the task, they sometimes require you to do a little lateral thinking. You can’t get away with just memorizing a keystroke for a given lesson, use the keystroke a few times, then get on with it. You end up using the keystroke repeatedly trying to solve a puzzle in under n keystrokes, sometimes not realizing there’s another lesson buried in there about cursor motion behavior or what have you.

In the end, though, the puzzles are well constructed. New stuff comes in at a steady pace, and each new set of challenges provide a mix of what you’ve already learned with the new stuff, so you have to constantly adapt. I tried another, less gamified vim tutorial to see if it would work better for me and it was disorienting after a few hours with Vim Adventures: I couldn’t see how any of it could possibly stick in any meaningful timeframe.

I’m typing this in the space between writing pomodoros this morning. This is the first day I’ve had all week to be deep in a writing/revision cycle using what I’ve been learning. It’s been interesting to realize how much stuff Vim Adventures has taught me to “just do” with minimal delay, but I can still sense the occasional spike in cognitive load when a few decades of muscle memory collide with newly learned things that are still up there in the thinking layers.

It’s also interesting, as someone whose first deep Unix experience dates back to an Ultrix box and VT100 in 1991, how much these assorted UI ecosystems have come to acknowledge each other. Doom understands the basic Mac text keybindings, so when I’ve exhausted my vi keybinding knowledge and just need to do a damn thing to a block of text, cmd-x and cmd-v are right there.

I have asked myself a few times “why are you doing this at all,” and as near as I can figure it comes down to:

  • Finding I prefer hand positioning that involves fewer control key chords.
  • Enjoying the learning experience. It’s stimulating.
  • A recent encounter with the mythical “vi only” system in the form of my EdgeRouter X. Dinking around with files in that thing was a pain, just as the vi bigots have always warned. Completely doable with my limited repertoire of vi skills, but clumsy.

I suppose I should also sing Doom Emacs’ praises once more: It does a lot to make Emacs feel more stable by taking care of housekeeping and providing some reasonable defaults. It’s a good learning platform because there are fewer random things going on out of the box. I don’t know if I’d be able to tolerate the learning curve with my own init.el in place.

Probably time to wind down on micro.blog ๐Ÿ”—

A few months ago I took this site and moved it from Jekyll to Hugo. Jekyll was fine and all, but the more I dug into Hugo’s features the more it seemed like an interesting direction to go. I also wanted to move the site from looking personal marketing heavy to just being a blog that also has stuff in it about work/business sometimes.

That was a liberating move: I was able to get myself into a pretty easy writing/publishing workflow that was perhaps a little more computer-bound than what I could get away with on micro.blog, but not so bad.

I kept sticking to my micro.blog presence partially because it has robust cross-posting features I hadn’t bothered to suss out using something like IFTTT or Zapier. At the same time, I have a little too much web producer left in me to be comfortable with two domains that are roughly doing the same thing. I once automated a consolidation, content migration, and re-canonicalization of four dozen websites. People sneer about SEO and all the evils of the SEO industry, but there are search engines in the world and there are reasons to care about what they make of your web presence.

If all I wanted to do was have a blog in the most traditional “reverse-chronological-ordered posts” sense of the word, I’d probably stick with micro.blog. Its Hugo foundations allow just enough flexibility to do the basics, and your content can be exported with relatively few idiosyncracies – no worse than any other Hugo theme. You can write shortcodes and customize a lot of the way the site works.

It’s kind of a frustrating platform for iterative development, though. There’s enough variance between a basic Hugo theme and what micro.blog needs that you have to do some trial-and-error. Using vanilla Hugo on a laptop, iterative learning is lightning fast and the feedback loops border on instantaneous, especially with hugo server --navigateToChanged. With micro.blog, there’s a build time delay to figure out if your thing worked or not, or to get feedback on how it is failing.

I have also found I prefer the free-wheeling nature of Mastodon a little more appealing than the social layer of micro.blog. I’ve written about that elsewhere, so we’ll leave it alone here.

Anyhow, it’s time to go through the past couple of years of micro.blogging and work out how to manage that migration. One idea I want to explore is the creation of a “microblog” content type that would allow me to just move all that stuff into its own silo largely untouched, with some design work to cope with the titleless posts over the years, and with some logic in my Atom feed to allow for ongoing microposts that stay out of Atom but still get syndicated over Mastodon. Similarly, that could be a quick path to getting all my old dot unplanned content moved over under its own “vintage” content type.

At some point I am not going to have the kind of time on my hands that I have now, so my thinking is beginning to shift to “what’s expedient” vs. “what could enhance your career as a Hugo consultant with yourself as your only client.”