Yesterday I made a little thing to quickly capture lmno.lol blog posts from a little window in Emacs. I’m kind of having fun package-izing these things, so today I bundled it up into pdxmph/lmno-blog-capture, with a customization group (with one option).

I’ve been on a small tear with these things lately, and whenever I go on a small tear I think “this is happening for a reason,” and the reason is usually “because there’s something you don’t want to go do,” and that is true here. But I like times like this, because they exercise part of me that doesn’t get exercised much: I spend a lot of my day thinking “will this scale,” and “but do we really need to do this,” and “what is security engineering going to do when they find out this happened,” and “did I make Compliance angry.”

And I’m feeling sort of engaged with the problem of “what’s just enough structure for the few notes I keep without freaking out and tipping over into Some Whole Paradigm,” because every time I tip over into Some Whole Paradigm I’m, like, “well now what?” All my brain power went to Learning the Whole Paradigm and I don’t have any left to do stuff I should be doing.

Citing inspirations

A few people and things have been inspiring for me on this week’s jaunt into plaintext living:

  • I really dug an old take from Jack Baty on using Deft to manage little topical journals. Just, “make some files about topics, write logs in them.”
  • I am really into lmno.lol maker Álvaro Ramírez’s Journelly. As an app it’s great, and as a concept it’s cool: Underneath the friendly iOS skin, it’s just dropping entries into an org file that you can also work with from a desktop machine if you like.
  • lmno.lol itself is a variation on that theme: Just put a datestamped entry in a Markdown file that your entire blog lives in.

These things are all very simple to do. Jack’s approach just wants text files. They could even be just text files with no markup.

Journelly has to have some markup, and it is a whole app that relies on a ton of assumptions about how to move files around over a network, etc. but if your phone broke and all you had was, like, nano, you could keep on journaling.

lmno.lol? Your whole blog is in a single Markdown file. You have to know the date and the “#” key, and you’re in business.

How it all went to hell

Let’s travel back in time to, like, 2004 or so:

Danny O’Brien gives a talk describing “life hacks,” the spirit of which is probably best captured by Cory Doctorow’s contemporaneous notes. Everyone went bananas over the idea that you’re really better off not complexifying the shit out of everything, then set about complexifying the shit out of everything.

I mean, we’re dealing with a population that does the whole knowledge work thing, and a distinguishing characteristic of knowledge workers is that they spend a lot of time learning and living in systems. We have the whole idea of a professional managerial class:

“… salaried mental workers who do not own the means of production and whose major function in the social division of labor may be described broadly as the reproduction of capitalist culture and capitalist class relations.”

It was once suggested to me that where “professional” once meant “a job where someone could get sued for malpractice” (doctors, lawyers, architects), it has come to mean “someone who is reliably aligned with the values of the capitalists they work for and behaves in a manner that is comfortably predictable to capitalists.”

Point is, tech industry people live within kind of complex systems: They have to manage complex models to do their actual productive work, and they have to navigate complex functional relationships to deliver things. I still get a little swimmy in the head when I think about one place I worked deciding to embrace Scaled Agile, and I get outright nauseated when I remember a dear friend excitedly talking about “taking the whole business Agile. All of ’em! Especially the marketing team!”

So they can’t really be expected to keep things simple. Part of their value is in their ability to behave predictably when confronted with complexity, so they have to like it at least a little.

So I’m stealing

I’m not sure where I’m going to end up, but I do know at this point:

  • Plain text files are good.
  • I’ve had success in the past with variations on interstitial journaling, which is what Jack’s idea is most like.
  • I really took to the “stick something in a file and keep moving” opportunity Journelly afforded me.
  • I don’t want to live in a single text file for everything, but I do want to live in a few text files for most of the things.
  • I don’t mind investing some time in a little automation to make it faster to do this kind of stuff with text.

org or Markdown

What I’m really not sure about at this point is the question of doing it in org-mode files or Markdown.

org pros:

  • It’s a little easier to add a light layer of metadata to content.
  • That metadata layer is optional.
  • At its simplest, org is as simple as Markdown

org cons:

  • There’s so much there in the way of opportunities to complexify the living shit out of it
  • Despite a few things like Plain Org, there are not a lot of ways to work with it without Emacs.

Markdown pros:

  • It’s everywhere.
  • Weirdly, even though there are ways to make it more complex, they almost always suck because there are so many variants that nobody ventures much past the basic spec + a few niceties like checkbox lists when building tools for it, and those extensions are often hideous to look at. They really damage the readability. (org does this, too, but it has things like properties drawers to hide some of that)
  • Yes, the previous bullet is a “plus,” because Markdown is sort of antagonistic to much complexity and I think that’s good: I’m a knowledge-workin’ PMC dillhole, too.

Markdown cons:

  • Wedging metadata into it is sort of a challenge outside maybe adopting an inline hashtag convention or bolting YAML/TOML frontmatter on (which not all tools will deal with well.)
  • Eventually you’ll end up thinking “fuck it, might as well do this in Obsidian,” and then all hell breaks loose: Welcome to “org mode without Emacs, just in an Electron app, but with Markdown.”

Not sure what I’m gonna do, but in a little frenzy of ChatGPT co-piloting, I did come up with a few ways to make life in a few plaintext silos easier:

  • org-topic-log just pops open an org-capture-like window that lets you select from any agenda files that have #+FILETAGS: topic in the frontmatter. You can pick any word you like for the filetag. Super simple to invoke it, drop in a log entry, and keep going.
  • md-capture does the same thing, except Markdown doesn’t have all the infrastructure org-mode does, so you can either tell it “just use anything in this directory” (messier and messier over time) or specify a file list (a hassle to manage if you make new topics a lot).

I’m just wavering on whether to do it with Markdown knowing, I will regret any attempts to make those notes more complex, or org because it might be nice to have a few of its conventions (knowing its portability will nosedive the more of them I embrace).

Also: This post written with lmno-blog-capture. If you have an lmno.lol blog you can just put it in your load path. If you want to keep up with it, you can add it to Doom’s packages.el:

package! lmno-blog-capture :recipe (:host github :repo "pdxmph/lmno-blog-capture"))