A world run by tools

Tantek just wrote an interesting post about writing tools, part of an IndieWeb Carnival for last month on tools.

This is partly a response to Tantek’s post with some suggestions, but also explaining how I pick tools, and explaining a few I use.

Zuhandenheit

If I’m trying to think, or learn something important or come up with ideas, my first port of call is to take notes by hand. There’s some scientific evidence that writing by hand is better if you want to learn stuff, but I also just like writing by hand more. It’s calming and it feels nice. Computers are filled with bugs, security vulnerabilities, bad software, corproate unpleasantness, and endless distractions. None of the things I dislike most about computers are present in pens and notebooks.

I use hardbound notebooks (I’ve tried a variety of brands, but I prefer 120gsm paper and pre-printed page numbers), and black uni-ball Eye UB-157 pens with 0.7mm nibs. I have some of the 1.0mm ones too, but they’re a bit much. I used fountain pens at school and have no particular desire to go back to that particular mess. I used to use another brand of gel pens where you could replace the ink rather than having to dispose of the whole thing when it runs out, which would be a plus.

The stuff I write down may end up being typed up and stored in a digital system, but about 80% of the time, what I write starts on paper.

Those with an optimizing mindset might find it a bit strange to duplicate effort in this way. Write stuff by hand and then type it into a digital system? Why?

For me, writing notes and ideas by hand is an important first stage. There are fewer distractions in a notebook. If you write digitally, you go immediately into editing mode - rewriting words, cutting and pasting, chopping and changing. Sometimes that’s important, but there’s an advantage to just letting the thoughts sit around for a bit before getting the scalpel out.

“Sure, but what about an iPad with a Apple Pencil? Or a reMarkable? Or just scanning your notebook and using handwriting recognition?” asks a conveniently invented interlocuter.

If those work for you, great. I have tried taking notes on an iPad with a stylus, and it’s… fine. I was curious about the reMarkable, but then they added bloody subscription fees. I already have a notebook and a pen. Spending hundreds of pounds on another gadget, plus having to deal with tech nonsense like susbcription fees, and USB chargers - and, for what? I already have a notebook. It’s good.

The second second stage of typing it up into a digital system isn’t a problem that needs solving, it’s a purposeful decision. The typing up stage is where I add context, reorder and restructure the ideas to make them more coherent, work out what needs to happen with the information—see how things hang together in the broadest possible sense of the term, that kinda thing. Often times, the typing up stage will involve digging out links, finding references, double-checking stuff.

Separating thinking and writing into separate stages works for me. It takes time, but if the end result is better ideas or clearer understanding, that’s time well spent.

Minimally cursed technology

In terms of how I pick digital tools, I’m not an free/open source purist, but my starting point is I want stable forever software, free of corporate control, that uses formats that are open, widely-implemented and simple. If it is open source, all the better. If it isn’t, I treat it as considerably more disposable than I do free software.

There’s commercial software I use which is pay once, or where there’s an “annual pass” type approach that unlocks new features. I avoid SaaS and subscriptionware, not because of the cost, but because of the control. I don’t trust stuff to not go away.

There are morally disgusting elements in the software industry—Adobe just referred to Creative Cloud users as heroin addicts, and I want no part of that. But there is an incredibly pragmatic, commercial argument for preferring software that’s open source (or at least closer to the Platonic ideal): it seems incredibly risky to hand over control of the tools one relies on to work effectively to companies whose commercial incentives do not necessarily align with your own. They can screw you over at any time, and you’ve got no practical recourse. This is true of everybody whose job involves using technology, which, these days, is practically everyone. It’s true of knowledge workers—scientists, designers, software developers, lawyers, civil servants, journalists—having control over the tools of their work, but it is also just as true of rural farmers being able to repair their tractors or doctors being able to fix ventilators during a global pandemic (they ended up getting more help from a Polish hacker than from the medical device manufacturers).

On open data, the near guaranteed way to achieve this is plain text. That’s it. The closer to plain text it is, the better.

I’ve worked in companies where our beautifully curated bug tracker—which, along with the commit history, is the closest thing to an oral history of a software project—disappeared because someone decides that they prefer a different system. God only knows why— it’s 40¢ per user per month cheaper, the sales guy took them for a nice lunch, the icon is a nicer shade of blue. Nobody transferred the data. All the links to the bugs are broken. The consequence? The developers have no idea what happened before last week because it’s all disappeared. If it’s not in text/plain or something close to it (Markdown, HTML, etc.), it dies. If it is in plain text or something close to it, you can version control it, which is handy.

I cannot emphasise enough how important plain text is. It’s unreasonably effective, one might say. The fact that in knowledge-based workplaces and professions, only programmers seem to grasp the significance of this is incredibly strange.

Implementation

In terms of electronic tooling, my first ports of call for writing are Emacs and Obsidian. Emacs is mostly for code, Obsidian is mostly for prose, but there’s some overlap.

For Emacs, I use the Doom distro. I used Vim for a long time, and evil-mode gives me Vim but I can customise it more to my needs. In practice, I don’t customise very much, but Emacs Lisp is preferable to Vimscript. And my Emacs setup looks pretty.

When it comes to programming, my go-to languages these days are Python and Rust (plus, I guess, Elisp).

As for Obsidian, it’s where pretty much everything that’s not code and is of longer term importance ends up. It’s a personal wiki, basically. Some people like to call them “zettelkastens” or “personal knowledge management systems” but I just say “personal wiki”. Everything goes in there - notes on interesting things I read, hard-fought lessons, lists of films and music to try.

It is a genuine extended mind though. The main benefit is thought not going to waste. I’ve been in discussions with people, and we’ve been trying to understand something - I can pull up information from my personal wiki and refresh myself on what did I think when I encountered this thing in the past, and why.

I don’t love Obsidian (it not being open source being one problem). Logseq is promising (and actually open source), but I’ve been too busy to switch over. I’ve tried org-mode and I like it, but Org mode keybindings are weird and I’m too lazy to change them. Plus there isn’t really good mobile tooling in Org-mode world.

Both Obsidian and Logseq are just plain text which I trust far more than whatever rat-infested proprietary crap is popular until it gets sunsetted or pivoted or screwed up.

In theory, how you sync Obsidian (and Logseq) is up to you. In practice, if you’re on macOS/iOS, you’ve got a couple of options:

  • iCloud Drive - it’s built into the OS after all
  • Dropbox / Google Drive / whatever - I’ve moved away from them
  • some self-hosted thing - Resilio Sync, Syncthing, WebDAV etc.
  • Obsidian’s paid for sync service which is probably lovely but it is $20 a month, no thanks
  • Git - it’s plain text, version control it

The latter is great but fiddly if you want to sync between iOS and desktop. This tutorial explains exactly how to do it correctly with Working Copy. Doing it any other way is a recipe for pain and unpleasantness.

(The other way to do it is to have a Git copy, and then some kind of way to sync it to a cloud storage system without the Git repo, then pull the changes back in. Essentially that’s what the Working Copy/Shortcuts trick is doing on iOS.)

I’ve bounced back and forth between Apple Notes and Bear for more trivial, throw-away stuff. Ultimately, that is for short-lived stuff - the important stuff gets checked into the personal wiki, because text/plain wins.

In terms of this blog, it uses Hugo. Why? Dunno. It’s alright. I chose it because it’s a single binary, and I had previously gotten utterly bored of RubyGems and Python virtualenvs and all that dependency management stuff. There’s stuff I don’t like about it, but I don’t really have time to fix all the issues now.

Go make stuff

Writing and reading about tools is fun, but it is a whole lot of empty calories.

Pick the least bad option, try to exercise control over your tools rather than cede it to unpleasant people who want to turn everything on your computer into a satellite TV subscription, with you as a disempowered consumer.

Use the tools you’ve settled on to do things you value: learning stuff, writing, make art, watch cat videos, and your job (optional). That is all.