2023-12-17 A brief look outside the Emacs-verse for Zettelkasten and personal wikis

[2023-09-03 Sun 15:34]

Related: EmacsStuff MyCommentary CriticalReview? ZettelkastenNotes ProductivityJournal CodeJournal BlogPublished? OddmuWiki? OddmuseWiki

Every now and then, posts seem to pop up on r/emacs where folks ask the community to convince them to use Emacs and whether it is the right fit for them. The latest post gave me some pause, and made me spend some time evaluating whether there could be tools outside Emacs that could make my life easier, and perhaps I should record this down for posterity.

After nearly 7 years of superficial Emacs yak-shaving - I can confidently say that - yes, in general - it takes more effort to get to a 'streamlined' state than with 'polished' applications like VS Code, Obsidian et al. It is not for the faint of heart and not for those who lack patience or curiosity. While the main drive may be to have a custom application - in my opinion one of the less talked about side benefits of using Emacs, is the abundance of 'side knowledge' that is eventually acquired over a lifetime of yak shaving. This is particularly true for non-programmers who manage to 'get in' and somehow use Emacs as one of their main interfaces to any computer.

One of the main reasons driving me into Emacs was the need to take notes in a non-proprietary 'ecosystem' that I could learn to customise over time, and also serve as a method of learning programming. I believed that in the case of writing, publishing and task management - Org mode in combination with the awesome abilities of Emacs has pretty much nailed it.

With respect to note-taking tools and digital gardens - there are some main contenders, like RoamResearch?, Logseq, Obsidian and so on. Each have their own styles, from closed source to some kind freemium model and open source.

From the view of managin tasks, Todoist was also re-explored in this brief look outside. This used to be my app of choice before plunging into OrgMode. I was struck by the beautiful mobile interface and the excellent natural language parsing for dates. But then - there is no clocking, and poor support for adding notes and interlinking different tasks in something beyond tags. I still view notes and tasks to be deeply inter-related, and that is not easily done with Todoist. There's also an old article where I talk about how OrgMode beat Todoist for me.

Though the core program of Obsidian is said to be free (not Open Source), the sync options are quite expensive - probably among the most expensive available. The work-around many follow is using your own sync options like dropbox and other services. Obsidian has apparently excellent plugins including stuff to use with things whiteboarding, and as I recently found from SimonSpati, there are open source syncing options as well.

Well, my path, where I have finally drifted down to using Howm and thus, a loose wiki, journal, zettelkasten combination linked by a list of keywords and more of arbitrary text search, as well as org-id, which is that each note is identified by a unique uuid. The filename itself, encoded with the date and time to the second could function as another uuid. The note system is combined with a separate set of Org mode files that form part of my agenda to track tasks. This is to keep agenda generation fast.

The above approach has been taken after moving through several other options like org-roam, org-journal, denote and plain org files - which are all Emacs based. I have found this to work surprisingly well for me in practice, though there are still several caveats that need resolving.

EmacsWiki:OrgMode as a markup language is significantly more capable than markdown, with the caveat of being most effective within Emacs itself.

Howm enables linking together files by 'text search in a certain location'. I also found that if I feed in Logseq with my entire archive of notes - to my pleasant surprise, I did get a reasonable graph of links that seemed to be useful! Out of the box! Hooray, I have Logseq as some kind of backup, if I ever need to do things outside of Emacs.

As of today, I think my needs of coding, writing and tinkering are satisfied very well (mostly) using Emacs, in combination with some other tools like the web-browser. There are of course niche cases, like using RStudio works better for Rmarkdown files, and obviously VS Code and PyCharm? offer a great Python experience out of the box, and there are instances when Emacs is not an option at all at $work.

The main missing piece for me is an excellent and seamless mobile app. Most folks resort to all kinds of workarounds for this. For example I recently came across somebody using obsidian's mobile apps to view org-roam notes. I myself have used Logseq's mobile app to view my hodgepodge of ZettelkastenNotes.

In terms of publishing - I've used both the excellent ox-hugo listed in EmacsWiki:OrgBlogging. Now, with my switch to OddmuseWiki - oddmuse-curl or yaoddmuse - I can ripgrep through an archive of text notes, pick and choose snippets, notes and collections and piece together a 'final note' - with the idea of this being published to the wiki. The title of this page can be clicked to obtain a search of other pages linking to this page, which is a rudimentary form of backlinks.

I can thus directly copy in stuff into a buffer and push to my wiki through curl. This is reasonbly pain-free, and not fancy - and could be even more streamlined, since I still have to do some manual cleaning up. By publishing to a 'wiki' I have the danger of not having a 'single source' of truth - but I hope to resolve that manually for now, and there should be other techniques - but overall, it should still contribute to 'more tending of the garden', which is a good thing. I am hoping that OddmuWiki?, being based in Go, and a home-grown bit of code may be a place where I experiment with learning GolangNotes? and try to contribute ways of easier ways plugging in backlinks.

---

[new:] [2023-12-17 Sun] Well that's all for now! I suppose that is quite rambling and could use some headings and more linking.