Reviews and summaries revisited

published on

In the beginning of July I have announced that I want to write reviews/summaries of books I read, movies I watch, and podcasts I listen to and publish them as blog posts. Judging by my posts since then, one could conclude that I managed to read a single (!) book in the mean time. Nothing could be further from the truth.

In addition to the thus far reviewed “A Psalm for the Wild-Built”, I’ve read “More is Different”, “2 B R 0 2 B”, “Hamlet”, “Absurdistan”, “Death and the Penguin”, “The Knight in the Panther’s Skin”, “Glory”, “Master and Margarita”1, “How Not To Be Wrong”, “Getting Real”, and “Culture vs. Copyright” since the beginning of July. I’ve also started reading “Tao Te Ching”, “Best and Brightest” as well as “Thus spoke Zarathustra” but had to put them aside for various reasons.

However, I’ve never really taken the time to review or summarize the books after reading them. This was only partially due to not dedicating time to this: It was also caused by the fact that I fairly quickly considered the format of blog posts to be somewhat suboptimal for reviews: For one, I’ve come across reading lists on other peoples’ blogs (e.g. Molly White’s reading list or this one), some including reviews directly in the reading list, and found that to be the superior format for storing shareable information on read and to-be-read books. But since I’ve started building my (digital) zettelkasten in Emacs org-mode with the help of org-roam (more on that in a future blog post), I also wanted to be able to have my reading list (and entries therein) available as nodes in my zettelkasten because books are a major source of ideas and knowledge for me.

With all these requirements I’ve arrived at the following setup:

  1. Have a reading.org file as part of my zettelkasten git repo. Managing entries therein with the org-books package. Turn the same book entries into nodes in the org-roam zettelkasten by adding an ID property to every entry using org-id-get-create.

  2. Hard linking the reading.org file into my blog content directory.

  3. gitignoring the reading.org file in the blog repo. Reason being that while hugo is capable of parsing org files, the org mode parser used by hugo is somewhat limited. I prefer the customizability of the org mode built-in HTML exporter. For example, the reading list on my blog is the result of running C-c C-e h h with following header in reading.org:

    #+OPTIONS: H:3
    #+OPTIONS: prop:("AUTHOR" "RATING" "SOURCE" "ORIGINAL_LANGUAGE" "READ_LANGUAGE")
    #+OPTIONS: author:nil email:nil creator:nil timestamp:nil
    #+OPTIONS: tex:t

    The hereby generated HTML file is then checked in into my blog git repository.

Obviously, there are some downsides to this setup: Firstly, I introduce a dependency of my blog onto my zettelkasten. But I can live with that so as to avoid duplication of information. Secondly, the id properties in the org generated html are not consistent over runs, meaning that links to specific entries will not point there anymore after another HTML export (and that the git diffs for the generated html are pointlessly cluttered). To achieve stable ids, I have to specify a CUSTOM_ID property for every book entry I make. This is somewhat annoying manual labor, but maybe I will be able to adapt the org-books-add-book call in a way that it adds a CUSTOM_ID property automatically in the future (after having familiarized myself with Emacs Lisp sufficiently). And lastly, it will be harder for outsiders to spot when I’ve actually finished a new book - but I assume that information is not particularly interesting to anyone other than me.

Depending on my time and need, I might create a similar setup for movies, series and podcasts in the future.


  1. I consider reading books which are part of the russian cultural canon to be bad taste while russia is waging an imperialist and colonial war against Ukraine in the name of historical russian “greatness”. Especially, if the author was historically always of the opinion that an idea of Ukrainian independence is a bad joke. I’ve voiced these concerns at the book club meeting for which I’ve read the (admittedly impressive) book. ↩︎