What I intend to do and why

I’ve been using h. in the past weeks, and I like the tool. It created/uses a W3C protocol and has an API I can use with a token connected to my account.
I want to integrate annotations I make with my notes I keep locally better. This points towards using h. ‘headless’ in the sense I push things to and pull things from the API, rather than do my annotations in browser. This would reduce friction in my note making flow.

There are several things I can think of, at different levels of difficulty to achieve.

  • Being able to submit urls with a page wide annotation, tied to how I save webpages and a motivation for saving with a markdown clipper.
  • Being able to annotate a page saved in my notes, and send the annotations to the right url in h.
  • Being able to update annotations.

The first is the most straightforward, and the first I will try to achieve.

Steps taken

Save new page annotations

  • Envisioned path:
    • Use markdownload to save a page in markdown in an Obsidian folder. Alter the template to have the relevant info in a predictable spot (h post status, URL, web archive url and motivation for saving)
    • Run a script that checks for new files in that folder and filters those with a status of not yet posted to h.
    • Run API calls to submit the selected notes to h.
    • Change the status of the notes in Obsidian to published to h.
  • Steps taken
  • Steps to take
    • Try out the minimal JSON / POST structure in Postman to get it right
    • Try out the same JSON / POST re-using an earlier micropub script to post from PHP to h.
    • Find out how to evaluate the response and then set the status in the Obsidian note, re-using the script I use to blog from my notes to WP.

I want to make it easy to publish lists of books I am reading and have read, or any other list. And do so without using centralised platforms like e.g. Goodreads (Amazon). A book list is a small library.
The route I am currently on, is publishing a machine readable list others can easily incorporate. These lists are in OPML, an exchange format for outlines. It’s the same format generally used to share lists of RSS feed subscriptions.

Current situation and usage: automated lists
Currently I am able to directly automatically create the lists in OPML from my individual book notes in Obsidian.md (which I use for PKM).
In Q1 2022 I experienced that creating lists and posting them works nicely and smoothly, with no friction. I do currently only create a few lists (fiction and non-fiction in the running year, antilibrary). I’m also working through the books I’ve read in the last decade or so, and gradually creating those lists. I’m not generating those as OPML however, they currently are just a list in my own notes.

Next steps: consuming other lists
Next steps will look at how to do the federating itself: how can I ‘consume’, or even include in my own lists, the OPML, ActivityPub or JSON lists of others in a meaningful way? I think a first step is consuming one list published by someone else, treating it as a recommendation list perhaps or some other form of input, much like I’m reading feeds. It might be useful to be able to pick out mentions about books I’ve already read, are in my anti-library, match an author I like, or match my interests while being unknown to me. I suspect a slightly tweaked parser for every new list might be needed, as using a list depends both on format and on content fields.

Ealier steps: proof of concept and data model
In 2020 I came across a posting by Tom Critchlow on this topic, and a year later I started looking into using OPML to create the lists.

I created a proof of concept, with a data format.
Using that I created a webform to update a book list by hand with a new entry.
Then I automated generating the lists (code on GitHub).
All as proofs of concept.

There are multiple ways to access Kindle highlights.

  • For e-books I loaded myself onto my e-ink Kindle (e.g. using Calibre), and for the hightlights made on a specific e-ink Kindle: connect that Kindle to laptop, and copy the file myclippings.txt
  • For highlights from all the e-books I bought (actually leased) through Amazon, regardless of Kindle devices or apps: https://read.amazon.com/kp/notebook
  • For highlights from Kindle e-books, I use the Obsidian Kindle plugin to import highlights into my notes automatically
  • While reading a book on an e-ink Kindle, open the three dot menu, select Notes, and export notes, and it will be send to the e-mail address connected to my Amazon account.
  • There are multiple ways to access Nova2 highlights/notes:

  • Attach device over USB and download files to disk or to e.g. Zotero
  • Sync note files to Evernote and export/process from there.
  • This is a brief description of how I make my ‘notions’, which are permanent notes I keep as part of my private digital garden (titled ‘Garden of the Forking Paths‘). I choose a title and type “.nu” which inserts the current timestamp (as shown above in the title), ensuring unique titles. I use Alfred (and previously used TextExpander) for such keyboard shortcuts. This means I don’t have to use e.g. the ‘Zettelkasten’ plugin for my note taking tool Obsidian, or deal with the fact that such plugins never precisely match your personal preferences. It also means I can change my process anytime I like.

    If the notion is based on a blogpost or presentation or other material I wrote, then I will change the timestamp (and the tags at the bottom) to reflect the date of that post / presentation / document.

    Then I write the content of the notion.

    I include at least one link to an existing notion e.g. something like [[Notes input tactics 20200728173504]], but usually more.

    If I think it needs more work then I can do now, I add the tag #aanscherpen (Dutch for ‘sharpen’)

    Where applicable I include references of one or more of three types:
    Ref: something I just directly name here, a person, book, or ‘my presentation 2018 at conference X’
    Ref blog: the url to one of my own bloposts
    Ref Zotero: something that can be found in my reference library in Zotero.

    I add tags of different varieties, either inline or underneath the note’s content:

    • tags naming the reasons and associations why I made the note, what triggered my interest. (An article ‘the 10 biggest tech developments to watch in 2021’ might be tagged ‘prediction’ and ‘2021’ e.g.)
    • tags as the terms with which I think my future self should be able to find them,
    • tags allowing search in different languages (I write notes in 3 language, but have notes with parts in at least 4 other languages which I can read ok enough to keep the original),
    • tags denoting some status or action (urgent, waiting, sharpen etc)
    • tags which look like #2020/09/13, which represent the date of the creation of the note. This is done by using a shortcut (“/now”) as well. These tags allow me to search by year, month and exact date, as well as allow me to create timelines if needed. E.g. the screenshot below shows my Notions dated July 2003, found by searching the tag #2003/07

    This page lists some things on Personal Knowledge Management (PKM). Currently items listed here are mostly focused on processing material collected through my information strategies.
    Here’s a list of blogposts on that subject:

    Knowledge inputs, processing and outputs

    My PKM system has two parts. One is the operational work side, my day to day work on projects etc. This is more hierarchical in nature, ordered in folders and task lists, plus notes about conversations and the current status of work. The other is the part about (conceptual) knowledge, where the notions that drive my work live. The list below describes the elements in that second part, from various inputs, through working with the material, to various outputs. I started documenting them for a session on PKM and Obsidian, but they also describe things outside the tool Obsidian.


    • Day logs as jumping boards
    • Reading for surprisal and based on defined interests
      • Feed reader:
        • Scanning what those I follow currently find of interest, what are the themes and topics in which groups?
        • Scanning for things related to my list of current interests (which I specify on several dimensions).
      • Books and other sources, related to my list of current interests, recommended by others in my feeds/conversations and or found through serendipity (browsing, book stores)
    • Starting an annotation in Hypothes.is
      • In my feedreader I have a form that can post a page note through the h. API.
      • In my browser I have a bookmarklet for h. to annotate a page. Another plugin provides me with a web archive link, which I add to the page note of an h. annotation.
      • In my helper tool Alfred I have a workflow that allows me to search for existing Obsidian notes and insert them as link in my annotations, so that I can add in associations with the annotated page quickly.
      • All Hypothes.is annotations are automatically synced to my Obsidian notes, using the Obsidian Hypothes.is plugin.
    • Clipping an entire article or quote to Obsidian in markdown to the ‘Newclippings’ folder
      • In my browser I have a bookmarklet that saves a page to the folder in markdown. It uses a template in which I state the reason for my interest, a searchable data, and relevant tags.
      • In my helper tool Alfred I have a workflow that allows me to search for existing clippings to check if I have saved something already.
      • In my feedreader I have a form that can post a note to Obsidian, using the same template as my clipper bookmarklet.
    • Kindle annotations are transferred to Obsidian with the Kindle-to-Obsidian plugin, into a separate folder as reading notes.