🏡 Home ∕∕∕ Articles → Software Minimalism: Notes

Software Minimalism: Notes

Published by ambalek on

Simple ways to work with notes.

Earlier this year I spent a long time reviewing software for writing notes. I had a pretty simple requirement: make it easy to write notes on any computer or device, in a portable way without needing a web browser.

I really wanted to be able to access my notes anywhere, on any computer, in a local-first manner.

There are a lot of note-taking apps out there: Anytype, Evernote, Notion, Joplin, Obsidian, Bear, Simplenote, and many more. They all have different strengths and weaknesses. It took a while for me to notice I only really wanted a text editor and text files, and to me as a technical person that solution was obvious, but it took some effort to get there.

Text Files

The simplicity of text files means I can use any tool that operates on text to manipulate it, and there are thousands of excellent tools for working with text. It's kind of the Unix philosophy -- kind of because it's a comment that comes later from Peter H. Salus:

Write programs to handle text streams, because that is a universal interface.

If you're an artist or musician and don't see yourself as technical, you might be ready to close the tab. I think you should join me around this virtual campfire to ponder a carefree, text-based world for a while.

🏕️

You can edit text files. Windows has Notepad.exe, macOS has TextEdit and includes text UIs like nano and vim. If you're comfortable with text files, version control, and things like that you know where I'm going, but if these things are new to you they're potentially skills worth learning.

The thing is, a bunch of text files is all well and good, but you can't easily sync your changes. That's what you're paying for when you subscribe to Evernote or Notion. Syncing is actually difficult to implement from a programmer's perspective. For example, if you edit the same file on two devices and change text in the same paragraph, how can the changes be combined in a way that makes sense?

Another piece of the puzzle is search. A paid service can afford to dedicate resources to efficiently indexing your notes and providing a fast search interface.

Here's where a combination of existing tools can be used to make something greater than the sum of its parts. Maybe. Let's see.

The Technological Cocktail

In the spirit of software minimalism, the cocktail of technologies I use to write notes breaks down like this:

  1. Text file format: Markdown
  2. "Sync": Git
  3. Editing: My preferred text editor
  4. Search: ripgrep, but text editors can search too

With this setup, I can check out a private Git repository hosted somewhere like GitHub, GitLab, or self-hosted. The notes are a folder of text files. I can edit the files with any plain old text editor. When I'm done, I commit the changes and push them. I don't need any special apps or user accounts, as long as I've got my git setup sorted out.

Editor

I can even have nested folders. Anything a file system can do is part of our new note-taking solution!

Obviously this looks pretty sparse next to something like Bear notes, but it's pretty easy to add Markdown previews to text editors. If you're using Windows and get something like Notepad++ as an upgrade over the standard Notepad.exe, then you can get Markdown preview plugins to make your notes look fancier.

Secret Sauce

With all this in place it looks suspiciously like something iPhones would hate, but it's not really. I've got the text editor Textastic set up to open my git repository of notes which gets synced (pushed/pulled) using a git UI for iOS called Working Copy. The magic of Working Copy is it supports AI-generated commit messages. By using an iOS Shortcut you can make a single home screen icon that:

  1. Runs "Pull notes" in Working Copy
  2. Opens the folder in Textastic

Then you have a one-button solution for opening notes and starting to read or write from a smartphone.

Similarly, a Shortcut can be made that pulls from your private notes repository, commits changes using the AI-generated commit message, then pushes the updates to the repository.

iPhone notes shortcut

Writing Strategies

In these note files you can write anything: ephemeral information that can be thrown away, or things you want to refer to later and sort or search. A semi-frequent bulleted list of daily life, a simple journal, weird computer stuff you need to remember so you can reproduce things like this notes setup in the future 😉.

I like using these notes for my musical ideas, a journal, and things I need to record about how my computers and devices are setup so I don't forget long-term.