Note Taking App Hopping

Table of Contents

Part I: Love with TiddlyWiki was end and I moved to Notion

Part I was written on 31st January 2021, a few days after I moved to Notion.

Before Notion (where you see this post), I was using different solutions for my homepage, blog and notebooks:

  • My homepage was based on Franklin, a static site generator (SSG) written in Julia.
  • I use the same thing to build my blog, which is actually the main reason I chose Franklin.
    • As being a SSG written in Julia, it can evaluate and render Julia codes while building the posts. This is important for me as I’m writing posts on machine learning methods with illustrative figures generated by Julia (mostly).
  • For notebook, I had a great time with TiddlyWiki (TW), an open-source wiki system with high customisation capability, for about 8 months. I self-host the JavaScript version of it. However, a few aspects made me leave from it eventually.
    • The freedom comes with a cost. I spent huge amount of time hacking with it, leading to something pleased me. However, as the system being hacked here and there, I found that it’s very tricky to upgrade any part of it.
      • For example, I used Stroll to convert TW into a roam-like system but last month when I attempted to pull some upgrades, my TW crashed. Luckily, I did have set up a backup system for TW, simply because this happened a lot when I wanted to hack for a new functionality.
    • Sharing contents is possible, but tedious.
      • I wrote myself a script to convert all my tiddlers (yes that how pages are called in TW 😀) with a tag `public` to static pages in a folder and simply use a web server to host that folder.
      • The annoying thing is that in order to sync up contents, I have to re-run the script manually. I could have wrote another script to detect file change (yes you can set up TW so that each tiddler is a file) and automatically re-run the building script. But there are some other reasons which make this proposal tricky.
    • The editing system is terrible. Although you can replace it with some other editors from the community.
      • Also, the default editing language, although being great, is not Markdown. Since I use TW, I sometimes mix up the syntaxes when I writing stuff in Markdown, e.g. in GitHub. But again, you can replace the default language with Markdown (you can basically do anything you want in TW).
    • The main language to hack/configure TW is not main-stream either. You need to learn it to do hacks.

For all of these reason, I re-visited Notion and found it has been improved quite a lot since I tried it for the first time (4 years ago?). I have to say that I underestimate it for a long time, simply because its front-end looks too friendly - how could such an interface to be also highly customisable? But it is.

I finally moved to Notion as I realised it is essentially a database system with a set of predefined, good-looking web-based views. Anyway, the only thing I gave up is the ability of evaluating Julia code and I have resolve almost all other issues via moving to Notion plus some additional steps to host it statically. Now my homepage is Notion-based, so is my blog and this post you are reading.

So far, here are a few things I like and dislike:

  • ✅ Sharing notes to others is as easy as turning on the sharing and sending the link to others.
  • ✅ The editing is enjoyable, with KaTeX support for inline and block equations.
    • ❌ The only thing I’m not happy with is that there is no global space to define macros. I have been heavily rely on the to write equations faster and nicer.
  • ✅ The database system is awesome and there are tons of templates for it.
  • ❌ There is not code highlighting for Julia! OMG!

But anyway, I’m overall happy with this pure Notion setup now. But maybe one day I’ll look for a switch again. Who knows?

Part II: Welcome to the Church of Emacs

Stay tuned.

Author: Kai Xu

Created: 2021-06-04 Fri 16:13