Blog.



Switching from GitJournal to LogSeq

(July 15, 2023)

As mentioned previously on the blog, for a long time I was relying on GitJournal for note taking. There were quite a few reasons I really liked it:

But there's also some issues I kept running into:

None of these issues are absolute deal breakers, and I still think GitJournal is a really nice solution that I can recommend, but all the slight annoyances led me on a search for a potential replacement. If I didn't find anything better, I would have been happy to stick with GitJournal, but maybe there's a note taking solution somewhere out there that would suit me better?

If you do some research on note taking apps you'll be greeted with a flood of content from "productivity" YouTubers, bloggers, etc. Turns out there's a ton of options for different types of workflows and preferences, however most of them are

Enter LogSeq.

Enter LogSeq

Let me start off by saying that LogSeq is not the perfect solution for me, but I'll go over my personal gripes with it later. First, let's talk about what LogSeq even is and what's good about it.

LogSeq is an open source note taking application that is privacy-first, outline-based, non-hierarchical, and features bidirectional linking. Let's break that down:

Some other features to mention:

Journal

LogSeq automatically creates daily journal pages. These can be used for journaling or as a dumping spot of random ideas, links you encounter, notes to jot down. Thanks to backlinks, if you include tags or links to topic pages in your notes, you'll be able to find these seemingly chaotic daily notes when looking at a specific topic later.

Plugins

There is a plugin interface, and an already fairly large marketplace of community-built plugins available. Many are just visual tweaks you can add if you like them, there's also a bunch of integrations with various other note taking/productivity apps (which I personally don't use, but many find them useful, from what I hear, in their workflows). There's really only one plugin I'm using currently, more on that in the next section, but overall its nice to see extensibility.

Synchronization

As mentioned, there's no synchronization enabled by default. There is a recommended cloud sync option with LogSeq's servers, which respects your privacy by end-to-end encrypting all your content, but you know me. I prefer to sync my notes with git. Not only does this allow me to selfhost my notes, it also gives me all the benefits of version control (history, a way to deal with merge conflicts when dealing with multiple devices).

Since all of LogSeq's note files are just plain-text on your disk, setting up git synchronization is trivial: just make the notes directory a git repo, add a remote, and voilá.

Here's also where a plugin comes in useful: there's a git plugin that makes it easy to commit, push, and pull changes from within LogSeq itself, rather than having to switch between it and a terminal.

Note: LogSeq does have a separate built-in version control feature that's based on git, but I recommend against it. It's based on automatically committing every x seconds, so you never exactly know if your latest changes are already committed, and you end up with a very messy history of partial and/or unrelated changes going into individual commits.

Mobile app

There is a functional mobile app, with the same look and most of the same features as the desktop application. It is missing plugins, so in particular, no git plugin. git synchronization on Android is still possible with Termux, but less convenient than on a desktop, since it requires you to manually go into Termux to commit/push/pull changes (and be very careful of ending up with a merge conflict on your phone, that's much less fun to deal with on a phone screen than in your favorite desktop editor).

Other features

Some other features include:

The first two I use regularly. Queries I want to eventually get into. The others I don't really find use for.

Problems

There are a few things I'm personally not a fan of with LogSeq.

Bloat

The biggest general problem for me is that despite a nice, minimal interface, LogSeq is an Electron application. The logseq-desktop-bin AUR package is 500MB! All for a note taking application. In addition to the bloat coming from Electron, I think a lot of it is also features that I have absolutely no use for (like the aforementioned graph view and whiteboards, which go way beyond basic text editing and markup).

Many people these days brush bloat under the rug, saying that on modern machines it doesn't matter, and frameworks like Electron are good because it means faster, simpler development. But these problems do end up having consequences. For example, LogSeq struggles with large files.

The full text of Shakespeare's Othello (around 160KB) takes several seconds to load, and the app displays a bright orange warning message that "Large blocks will not be editable or searchable to not slow down the app." vim opens the same file in a fraction of a second, a web browser takes maybe about a second.

Not exactly MarkDown

The LogSeq team say that the underlying text files are just MarkDown, but that's not exactly true.

The notes have to be all organized into bullet points, you don't have plain paragraphs or headings. Furthermore, additional markup is inserted, e.g. for block references. All of that makes the text less human-readable/-editable, a core feature of MarkDown.

Which leads to the next very sad problem...

It's not vim

Once you get used to vim, all other text editing options are just inferior. Bram's gift to humanity is both a blessing and a curse, since there's no getting away from sometimes needing to edit text outside of it.

Yes, there's a "vim" plugin that implements some keybindings, but I tend to stay away from those, as they're always disappointing: they implement some of the most basic keys, but others I'm used to relying on are not supported. So I'd have to remember which plugin for which piece of software implements which ones, and it just becomes more of a hassle than a convenience.

As mentioned above, using vim directly on the text files is also not a solution, since the notes format is not exactly standard MarkDown, and either way you'd lose all the benefits of LogSeq, especially links/backlinks.

Conclusions

So, with that ranty section above over, what's my final verdict on LogSeq? I've been using it daily for the past several months, and until something better comes along, I don't plan on switching. Despite all its shortcomings, I really like it, it helps me organize my notes and thoughts.

I was actually aware of Obsidian before, and it had piqued my interest, seemed like a useful tool. However, I didn't want to jump onto a proprietary note taking solution. When doing my recent research on these apps, I found LogSeq, which is a FOSS alternative. I was reluctant at first, for all the reasons stated above, but after just a bit of test running, turns out the benefits outweigh the trade-offs I have to make, and LogSeq has replaced GitJournal for me.

The pipe dream

To finish this post, let me go on a little fantastical journey into what my ideal note taking solution would look like.

If you have any questions or comments about this post or site in general, feel free to email me.