Productivity apps are scary. Some days you find one that looks interesting, and so you decide to play around with it to see how it works. From a first glance, it might actually be something that fits you perfectly, but you can’t quite tell from just the documentation, so you have to download it and try it out for real. It will only be a short-term thing, you tell yourself. An hour tops, you tell yourself. And that’s when they get you. Before you know it you’ve spent the entire day totally obsessed with testing different configurations, seeing how they fit with the rest of your workflows. The productivity demon will keep you from eating your food and makes you ignore the various aches that are spreading throughout your body, a body that hasn’t been able to move away from the computer since you started. Even if you manage to wrestle your body away your mind is still held hostage. “But what if I tried that? Wouldn’t that be neat?” Before you know it, you find your body before the computer once again, desperately trying to appease the demon. Even as it dawns on you that no, even if you could make this work, the cost of transitioning over would definitely not be worth it — your mind refuses to let go. Desperately it tries to get the demon’s attention again. When, at last, you break free, you realise that this would never have fit (fut?) from the start. But that would be admitting that you have wasted so much time, so you try to convince yourself that this was actually a pleasant experience. You actually had fun doing it. It is your hobby after all. It was your free choice. But deep down, you know, that once again you briefly lost your soul to the productivity demon.

Anyways, here’s what happened to me yesterday. This is me, writing a blog post with the demon in confessional. Writing it down will excorcise this demon, and serve as a warning for the souls that are still innocent.

Yesterday I wrote a post about the note taking software I use and the problem I have with it. Already I was in a susceptible state of mind. No, in retrospect I realize that the demon had already put its charms on me by then. The thoughts about note taking software should have been a sign. But then again, I suspect I’ve never been clean ever since I laid my hands on Vim all those years ago. Will I ever be truly free I wonder. Most likely not. If I escape one demon another will surely find me. I may never quit. They have marked me!

I don’t deserve to live this cursed fate alone. I’m dragging as many of you with me, with force if I have to, but some simple words are usually enough to lure you in.

howm 🔗︎

I digress, after writing that blog post I found a note taking package for Emacs called howm.(sidenote: from this site: https://leahneukirchen.org/blog/archive/2022/03/note-taking-in-emacs-with-howm.html1 ) The main thing about it that first caught my interest is its come-from links. They are written (and fontified) like this :

<<< foobar

Now, if you write “foobar” in any of the files tracked by howm it will get underlined and act as a link to all the occurrences of “foobar” in your notes, with the come-from links sorted first. One way to think of this is as a tagging system that’s in the content instead of the metadata. I thought (and still think) this is pretty neat, but what really caught my attention is this(sidenote: From this excellent manual that you should take a look at even if you aren’t interested in howm: https://github.com/Emacs101/howm-manual/blob/main/Howm_tutorial_eng.pdf2 ) :

[The creator of howm] made a good point about the dilemma of note-taking: If you don’t organize notes, it’s wearisome to read them. If you try to organize notes, it’s wearisome to write them. The need of trade-off is worrisome. “Wearisome” is an important keyword. There is a big difference between “I can do it” and “I can do it easily.”

And then he writes: The point of compromise may vary from person to person, but I prioritize the ease of writing. I have designed a memo tool to create an environment where one can freely jot down notes without feeling pressure to “organize” them and still maintain coherence.

This is what I tried to express in my blog post I think, which suggests that it is a perfect tool for me. I was hooked and spent the rest of the day tinkering with some things. Here are some of the results.

Org mode 🔗︎

I use org-mode for most of my writing, so I wanted to adapt howm to that. Luckily, howm is mostly text format agnostic, the only syntax it has is the links and the titles. To adapt the titles to org-mode you can put this in your config before howm is loaded:

(setq howm-view-title-header "*")

This will make howm use asterisks instead of equal signs for its titles. However, it doesn’t recognise the #+title: syntax or nested headings. For that, use this instead:

(setq howm-view-title-header "*")
(setq howm-template "* %title%cursor\n%date %file\n\n")
(setq howm-view-title-regexp "^\\(\\*+\\|#\\+title:\\)\\( +\\(.*\\)\\|\\)$")
(setq howm-view-title-regexp-grep  "^\\(\\*+\\|#\\+title:\\) +")

Email 🔗︎

You can tell howm to also search your email or news feed by setting these variables:

;; Set this to where you store your email, your elfeed databse etc.
(setq howm-search-path '("~/.mail/"))
(setq howm-search-other-dir t)

This allows you to link to your news feed or email. It is even cooler when you turn on howm-mode in your email or feed buffers, because then the come-from backlinks will work as well.

Why I won’t be using this 🔗︎

If howm was the first note taking system I encountered I think I’d use it. I really like the way it encourages writing without sacrificing findability, but I think I have a sufficiently good system for that already. As it stands, it’s a bit too different from the format I’m currently using for it to make sense for me to try and convert my old notes to it.

I’m also not a huge fan of all the UI it has created. That is understandable, since it has been around since 2002 (and is at the time of writing still actively maintained). Still, I think I prefer more standardized UI systems like completing-read instead of inventing their own UI for selecting a note.

I also think I’m not liking too opinionated UIs when it comes to these kinds of systems. howm provides a lot of machinery beyond what I consider to be the core: the come-from and goto links. It has a menuing system that is honestly pretty cool, a system for creating implicit buttons in plain text, a system for stringing together a bunch of notes in a single buffer, a task management system, etc. In a way it’s a parallel universe org-mode. These systems look pretty good, but they don’t fit me. I think I want to do these things more manually, with less menus and stuff there. For example, I like doing the indexing more or less manually, because it gives me lots of freedom to edit it however I want.

Breaking howm 🔗︎

All in all I think I would want to extract some of these systems into their own separate packages. Some of them are pretty simple. For example, recreating search links (goto link in howm lingo) in org-mode:

[[elisp:(consult-grep "." "foobar")]]

Slap that in a snippet or something and it will be easy to write them wherever you want (provided it’s in org-mode).

Another feature of howm is “action lock”, which is sort of like font-lock but instead of modifying appearance it makes the “locked” text a button with a specific action. It is essentially a system for transforming text that matches a pattern into a button. The interface for come-from links for example are implemented with action-lock. I think most of that could be recreated with Embark.

What I’d really want to extract is the come-from links. In practice they do two things. When you type “<<< foobar” at the beginning of a line, everything after the angle brackets (i.e. “foobar”) is recognised as a come-from link. It gets fontified, and when you link it you get a grep-like buffer that searches for “foobar” (as well as some things I’m not interested in). I suppose a re-implementation would need to sort the results as well, so that the link comes first as it does in howm. The second thing it does is that anywhere that “foobar” occurs, it gets underlined and executes a search for “foobar”.

Instead of clicking the links using action-lock, I think embark-act suffices. And for the search UI, I think consult-grep is good. The other things that need to be done is create a minor mode that keeps track of the all the come-from links that exists, and use that to fontify the buffer. Then a target finder for embark could be created that checks if the face at point is created by this mode, and if so launches a search.

Parting thoughts 🔗︎

With my confessional done, I hope my demons have left me. At least until I migrate over to Denote. But for now, with my newly won freedom, I will do some other things. Like eating lunch.


P.S.

I wrote this post a few days ago. Today I relapsed and started using howm again and now I have to untangle the mess this mess.

Articles from blogs I follow around the net

Sunday photoblogging: let sleeping dogs lie

via Crooked Timber February 11, 2024

Pluralistic: Big Tech disrupted disruption (08 Feb 2024)

Today's links Big Tech disrupted disruption: We don't have to care, we're the phone company. Hey look at this: Delights to delectate. This day in history: 2004, 2009, 2014, 2019, 2023 Colophon: Recent publications, upcoming/recent appearances,…

via Pluralistic: Daily links from Cory Doctorow February 8, 2024

The Language of Power

Rosemary Kirstein In the fourth and as yet final book of the Steerswoman series, Rowan and Bel return to Donner, where they …

via A Working Library February 8, 2024

Wishful bio weapons

Currently when talking about very big large language models even people who want to be taken seriously talk a lot about bio or chemical weapons: Will "AI" systems make creating bio weapons too easy? But is that a real danger? Will ChatGPT give ter…

via english Archives - Smashing Frames February 5, 2024

Audio Newsletter: 1,000 Hours Outside

Facts: How much can carbon farming help? 🧑‍🌾 🌾| Feelings: Finding purpose between "What should we do?" + "What can I do?" 🎯 🌱 | Action: 1,000 hours outside! ☀️❄️

via We Can Fix It February 2, 2024

Sobre ‘relacionar-se’: consigo mesmo, com velhos amigos e com comunidades inteiras

Estou aqui a pensar como os ‘ciclos’ pautam a minha existência – toda, tanto pessoal como profissional. E se eu sinto em mim ciclos claros, curtos, como os das estações do ano do lugar do mundo onde eu cresci e como os ciclos anuais, há outros mais difíce…

via News – Transition Network January 16, 2024

Generated by openring


  1. from this site: https://leahneukirchen.org/blog/archive/2022/03/note-taking-in-emacs-with-howm.html ↩︎

  2. From this excellent manual that you should take a look at even if you aren’t interested in howm: https://github.com/Emacs101/howm-manual/blob/main/Howm_tutorial_eng.pdf ↩︎