Micro blogging: a new attempt 12 months later

You might have read about why I decided to attempt a twist on the typical split between walled gardens and traditional blogs. It never got off the ground but I think now I have something better.

Own your content

To really own your place on the Internet, you need your own domain and you need your own platform. Without the former we cannot really talk about your ownership of the things you write but without the latter you are equally dependent on the provider’s future product changes. Changes you have no say in.

Tech stack

While I’m more interested in the usability, let’s quickly deal with the technological aspect to get this out of the way.

I could have just used WordPress but since I’m a Pythonista, I wanted to use some personal Python for this and felt my needs are so tiny I could just implement a solution for them myself. And in fact I did, what you’re looking at took me less than three days of work.

There’s nothing inherently impressive about this but there are some interesting twists:

  • the public content here is a small part of my plaintext knowledge base that I’ve been keeping for 15+ years now;
  • there’s almost 2,000 notes now and I love the ability to cross-link them, tag them so they’re searchable via multiple hierarchies, embed images, Mermaid graphs, and MathJax;
  • I’m using the open-source FSNotes.app on macOS and iOS for editing;
  • content is synchronized through iCloud Drive but also backed up incrementally to a Git repository to store revision information.

Now, with less than a 1,000 lines of Python I pick up a subset of those notes and put them online in static form. This is then served for “free” as part of my Fastmail subscription.

How I interact with it

Yeah, so that’s probably the more interesting part. I just write notes as usual.

I’ve used various note-taking apps for a long time. I stayed in line on launch day for Mac OS X 10.5 Leopard because it had built-in note-taking in Mail.app. Later when Apple made it into a separate app, I used that. Once they stopped properly synchronizing with IMAP, I wrote a silly but workable script to get it all out, translate to Markdown and imported to Bear. But lately I got increasingly tired of having the notes locked in some container that I can’t access. FSNotes changed the game by being pretty much a drop-in replacement for Bear while also keeping data in the open on the file system, and being open source. In fact, I already had my first pull request merged.

I have a bunch of Python 3.9 scripts to do sweeping operations on my notes, like mass tagging, renaming, search and replace, this sort of thing. Adding a publish.py to the bunch was a natural next step. It regenerates the entire website in under 2 seconds so I guess that’s on par with the best. The killer feature unavailable in other static site generators being that the source of truth for my information stays with me in my knowledge base where I can cross-reference it and update it in time. I’m pretty stoked about that.

Then all it takes to actually publish is to copy things over to another directory, which is in fact a WebDAV share mounted by macOS. Done and done.

OK but what does this have to do with microblogging

Well, ironically I already used to edit longer messages in my note-taking app before putting it in a text box on Twitter or somewhere else. Now I’ll just publish what I already typed on my own platform and link to what I wrote. The lead of a note like the one you’re reading now should be in fact short enough to even put in a tweet by itself.

I’m sure this isn’t revolutionary for you but it solves a problem I’ve been thinking about for literally years.