Houtje-touwtje, literally ‘small stick-short rope’, or cord loops fasteners in English, is the more down to earth and old Dutch phrase for putting stuff together with duct tape (known as MacGyver tape to many here, after the 80’s tv series). After messing around in the FreshRSS back-end last weekend, yesterday I made a houtje-touwtje working version to let me post more easily about the things I find in my feed reader.

In my previous post I mentioned I want to support three different reactions:

  • favourites, something I liked, or want to let the author know I appreciated
  • bookmarks, something I (want to) read, and keep reference to for my notes
  • replies, something where I comment on or reply to a posting and its author directly

Four labeled posts in my feed reader

The way I mark postings in my feed reader is attaching a label to them (favourite, bookmark, reply)
Then with the SQL statement from the last posting I pull out those labeled postings (label, url, title, author, and content).

Yesterday evening I attempted to bring it a step or two further, but ended up with something that works.
I created a php html page that shows me, using the SQL query, every labeled posting and for each posting shows a webform. That webform is needed because I want to be able to add two things to every labeled posting (though they’re not mandatory)

  • My motivation for favouriting, or bookmarking, or my reply
  • A quote of the bit in the original posting I am picking up on

The form for me to add motivation and selected quote

Next to that the form is needed to forward the other information (link, title, URL) to the next stage, along with my response and quote. This simultaneously allows me to clean up URLs, shorten the title or provide the actual author name if the post only contains a shortened username e.g.

The webform also contains a field for the total number of labeled items (hidden), and a field for the label itself. Again needed to forward them to the next stage of the process.

The second stage is that submitting the form, calls the same php page again, but this time to process the submitted form information (no longer the database query)

Based on the label (fav, bookmark or reply) it selects a template for how I want to show those in my blog (each have their own svg-icon and first sentence), uses the right microformat, and adds in the url, author, title and my reaction and selected quote in the right spots. The microformat is relevant for when my posting sends a webmention to the website I’m reacting to, and lets that site know if it’s a reply (to show underneath in their comments), or a bookmark or favourite. Assuming that the other website can receive webmentions that is.

Resulting HTML

The result of that is then shown to me in HTML. I paste that HTML into my blog editor, add things like posting categories and tags, and hit publish. In essence I’ve replaced what the Post Kinds plugin, that I stopped using, in my WordPress blog did before: automating fetching some info, and adding it into my posting. It is akin to what I had previously, where I weekly posted links to my blog from my Evernote bookmarks using e-mail.

The posting on the blog

This ‘houtje-touwtje‘ set-up doesn’t do the fancy things yet, like posting itself automatically to my blog through micropub, or providing me this functionality within my FreshRSS reader’s interface. Also, after posting things, I need to manually delete the labels, so they don’t resurface the next time I run the php script.

Another path to explore is using the same or similar workflow to put labeled posts into my personal notes.

This morning I tested out the workflow, and I was pleased with the result. I loaded up the feed reader, and did my usual reading. I marked things for follow up. I ran the script, added my motivation and selected quotes. Pasted the resulting HTML into my blog, added categories and hit publish. This definitely feels smoother and less time consuming. It’s been a while I posted more than 1 thing based on my feedreading that day, let alone four (1, 2, 3, 4) within minutes of reading it. The ‘normal’ routine was ending up with a bunch of open tabs in my browser, and at the end of the day giving up and hitting close-all for those I didn’t get around to during the day.

[Update: the php script is available in my GitHub account]

Favorited Feeling locked in by open source by Boris Mann

I see your point, Boris. I think the phrasing in this case comes from over time having tried some of the actions you suggest, where some weren’t well received and others are well outside my capabilities. That over time builds up to a sense of powerlesness very reminiscent of your definition of lock-in. From a regular software user point of view, closed or open source isn’t much of a meaningful difference when it comes to their everyday experience with the functionality, design patterns and practicality of a tool. Of course with open source it’s a more reasonable assumption that one has a way out, and I’m not without agency here. I can in fact remove this particular dependency altogether with a certain level of effort that ís within my capabilities.

Don’t feel locked in!

Boris Mann

I’ve been using the Post Kinds plugin for a few years on this WordPress site. It allows you to easily style a specific type of posting (a like, bookmark, reply, rsvp, read, check-in etc), it automatically pulls in the relevant information form the posting you’re reacting to, and adds the right machine readable micro-formats so that if you ping the source website that site can see if it is a direct reply, a like, a regular mention etc.

David Shanske deserves a lot of credit for creating and maintaining this valuable WP plugin, and for his contributions to the IndieWeb community over the years. Yet I always kept some reservations even while I’ve been depending on the Post Kinds plugin. One thing was the ability to shape how these post kinds look, meanwhile addressed. One is it prevents me from adopting Gutenberg in WordPress, even while others (of the few) plugins I use are moving to a Gutenberg only stance, meaning conflict and/or hard choices lie in the near future of this blog.

Most of all however I balk at how information around a post kind gets stored. To me the thing I am reacting to is an inherent and equal part of my posting. Because pointing to the thing I’m reacting to is nothing other than a hyperlink, the core feature of the web itself. That in the case of a post kind such a hyperlink is more fancily handled and presented does not change that. However the thing I am reacting to gets lifted outside the posting and is stored differently in the WordPress database by Post Kinds. This has as a consequence that should I switch off Post Kinds the connection between my postings and what it is reacting to is severed, even if it is still in the database. It changes “Reply to hyperlink.tld: That’s a great idea” to “That’s a great idea”, which is a serious loss of meaning. In that way Post Kinds becomes a lock-in and a potential single point of failure that breaks the web, at least my part of the web that this blog forms. The two images below demonstrate the effect:


A ‘like’ posting with Post Kinds enabled


The same posting without Post Kinds, which means a serious loss of information because the actual hyperlink to the thing discussed disappears

So I want to break out of that lock-in, and find a work around. This means all relevant info about the thing I am reacting to should be in the actual posting. My current idea is that I will create simple templates for the post kinds I actually have used until now, and put them behind a keyboard shortcut. That way I can ensure the right micro-formats are used for others to interpret. Over time I can replace the existing Post Kinds dependent postings (about 900 in this blog) in the same way, clearing the way for switching it off entirely. This should increase the autonomy of keeping this blog, and decrease dependencies.

Bookmarked Identifying Post Kinds in WordPress RSS Feeds (danq.me)
....But for people who subscribe (either directly or indirectly) to everything I post, I imagine it must be a little frustrating to sometimes be unable to identify the type of a post before clicking-through. So I’ve added the following code....

This is something I might add to my RSS feed too. Because, just like in this posting, I always post my own remarks above the thing I am bookmarking, liking or replying to, it is sometimes confusing to readers what I am referring to in those first sentences of a post.

I do wonder how it looks in my case though, as I usually don’t add titles to bookmarks, likes and replies, and this little snippet of code adds the post type to that non-existent title. Main question is would it indeed help to reduce confusement? Added to the list of site-tweaks to do.

I use the WP Plugin Post Kinds here, which lets me blog things like Replies, Likes, etc. This plugin has a setting that determines the order in which my own remarks with a Reply or Like and the thing I am replying to or liking are shown.

The default order is [the thing I respond to] [my response], but here in this blog I have changed that, because I like to have my own response first. This ensures for instance that my own words, and not someone else’s get posted to Twitter if I share my post directly to Twitter.

This setting does not change the way the same blogpost gets added to the RSS feed. This means that my regular readers do not get the content of a posting as I intend it, which is in the same order as a website visitor.
In addition it causes anything that consumes my feed, such as my Micro.blog account to show the post I am responding to first (someone else’s words) and not my remarks. Below in three images is how that looks in practice:

The old version: the order is as I want it on the site.

The old version: the order is reversed for the same item in my feed

Micro.blog posts from my feed, and therefore shows not my words first but the words I’m reacting to, which makes them appear as if they are my words

I figured out where in the plugin files (in class-kind-view.php) the feed gets created and how it is different from how the posting is created for the site. Then I added the conditional code from the latter to the former. This works on my site, as shown by the following three images:

Testing the new code: on my site the item is in the right order

In the RSS feed, the content of the item is now in the right order too

And the right order now shows up in Micro.blog, showing my own words first

Then I tried to let the creator of the WP Plugin know I made this change, through a Pull Request on GitHub. I’v never done this before. It’s basically a message ‘I changed this file here’ which the original creator can then adopt in the original code. Making that message meant engaging with concepts such as forks, branches, commits and then the Pull Request. I think I pulled if off, but I will only know when David Shanske, who makes Post Kinds indeed incorporates it in the plugin.

Hoping I’ve submitted my first ever PR the right way