Henrik Carlsson's Blog

@Miraz That makes it even better. Thanks!

Posted by Henrik

with permalink

@miraz: That seems like a very useful utility. Thanks for sharing it!

Posted by api-poster

with permalink

Gboard and swiping takes some getting used to but I do think that it’ll be the most efficient way of writing on the iPad mini with the Apple Pencil.

Posted by api-poster

with permalink

@vasta: Well done!

Posted by api-poster

with permalink

@kaa Congratulations on the decision and best of luck on this new adventure!

Posted by api-poster

with permalink

@manton I just wrote up my process in getting the external replies to work. Not sure if it’s actually a bug report, but feel free to read the steps I took and see if I missed or mis-interpreted anything.

Posted by Henrik

with permalink

Replying to micro.blog posts, directly from my blog

Lately I’ve started to use micro.blog more actively again. As part of that I’ve also started to reply more to posts and have stimulating conversations. That made me realise that those conversations might be of interest to have on my own site, so I should really try to set up my system so that I can reply to micro.blog posts directly from my blog. Yesterday some free time opened up during the evening so I gave it a go and it more or less works.

So first off, here’s my setup. I self host a WordPress blog. It uses a theme that I’ve made myself and quite a few plugins that I didn’t make. The important plugins in this context should be IndieWeb, Post Kinds, Semantic-Linkbacks and probably most important Webmentions.

There’s a help page on micro.blog about called ”Replies and @-mentions” that tells us that:

For an external blog post that is a reply to a specific Micro.blog post, the external blog can send a Webmention to Micro.blog. As long as the sending blog is associated with a Micro.blog user, that post will be copied to Micro.blog as a reply and threaded into the conversation. Micro.blog’s Webmention endpoint is: https://micro.blog/webmention

So that’s what I tried to set up. I created an iOS Shortcut for my iPhone and iPad that I can trigger from the ”Share” menu in the micro.blog app that creates the hyperlink and fills in the @username-part. It then asks me for my reply as input text and finally sends it off to my blog.

On the Mac I don’t have quite such a nice automation workflow yet. Instead I just have a TextExpander snippet to fill in the hyperlink a bit faster.1

I also mark up the hyperlink with class="u-in-reply-to", though from the help text I suspect that’s not fully necessary.

Getting things working

The thing I knew I had to tweak was the part about how ”as long as the sending blog is associated with a Micro.blog user”. I’ve had multiple people reporting to me before that my webmentions shows up as sent by anonymous rather than as me, so I figured I had to sort that out first. To do that I used the Indiewebify.me service and checked how well my blog did the ”Become a citizen of the IndieWeb” and ”Publishing on the IndieWeb Level 2 – 1. Mark up your content (Profile, Notes, Articles, etc…) with microformats2” parts.

They showed that I had some tweaking to do, mostly because I had mistakenly only marked up part of my h-card as such so a lot of things where missing.

When that seemed to work I made a test reply to one of my own posts on my blog and the webmention had my name attached to it, so that seemed like progress.

I then sent out a post asking for people willing to receive some test replies and John (@johnjohnston) and Ron (@ronguest) where kind enough reply. The first proper test almost worked. It did show up a a reply but it identified as sent by blog.henrikcarlsson.se instead of by @MrHenko, so some part of micro.blog identifying me as me didn’t work.

So I dug around some more and realised that I had inputed http://henrikcarlsson.se as my web site in micro.blog’s account settings. While that is technically true, as my blog posts comes from the subdomain http://blog.henrikcarlsson.se, so I tried changing to the latter in micro.blog and that worked. My replies on my blog arrives properly threaded in micro.blog and properly attributed to @MrHenko.

One glaring problem remained though. Every reply from me got double-posted. I assume that is because I technically do send two things to micro.blog. A webmention from the blog post and then the post itself because it shows up in my RSS feed that is used to feed micro.blog.

My solution was to post my replies in a special ”interactions” category that I use the Ultimate Category Excluder plugin to exclude from my main RSS feed. And with that in place things more or less worked as intended.

Some things that still need tweaking

Every time I make a new reply in a thread in a micro.blog conversation, that’s a new post on my blog.2 That is in itself not a big problem but the curious part is that every reply that somebody else makes in the thread results a webmention/comment to multiple of the posts that I’ve made that has been threaded in that particular conversation. So I get duplicate comments, but on differens posts on my blog.

Right now I deal with it by only approving the comment to the earliest post I’ve made in the thread but that doesn’t really quite work since my subsequent comments doesn’t show up as comments on my own first post on my blog. So I’ll need to look more into this.


  1. Litteral sidenote: The prospect of Shortcuts on the Mac is what makes me the most interested in updating macOS this fall. 
  2. I’ve tried to get it to send comment replies as webmentions but that doesn’t seem to work. 

Posted by Henrik

7 kommentarer

with permalink

🔈 Now playing: R.E.M. – Document

Posted by Henrik

with permalink

Now playing: David Bowie – Station to Station

Posted by api-poster

with permalink

@manton I don’t think I’ve removed anything. Possibly last night (~18 hours ago) when I first started testing things out, but not today if that’s what you mean by a little while ago.

Posted by api-poster

with permalink

@manton Which of the posts are those? I can’t seem to find them.

Posted by Henrik

with permalink

I’m testing out a darker theme on my blog. The plan is to use it to eventually have a dark and a light mode.

Posted by api-poster

with permalink

@smokey Perhaps we should ping in @manton in this thread. Maybe he knows the solutions to some of the quirks we’re encountering. (Hopefully this works as a way of mentioning Manton.)

Posted by api-poster

with permalink

@smokey I wasn’t planning to, but you are right that it is something I should do.

I’ll see if I can get around to it today or tomorrow.

Posted by api-poster

with permalink

I don’t know if fun is the word I’d choose since it involved a lot of RJ45 crimping, but at it did result in a more reliable network and wifi with better coverage, so that’s a win.

Posted by Henrik

with permalink

That one did indeed show up in micro.blog as part of the conversation but it didn’t show up at my blog and the micro.blog post is from johnjohnston.info, not @johnjohnston.

Posted by Henrik

with permalink

@johnjohnston That’s probably because micro.blog sees it both as an incoming webmention and as a post in my RSS feed.

If so, this one should only show up once since it’s posted in a category that’s excluded from my feeds.

Posted by api-poster

with permalink

@johnjohnston No, I’m just manually marking it up as such. Maybe it has something to do with the blog-subdomain not being what I had previously put into my micro.blog account as my webpage. I’ve changed that now, so let’s see if this reply works better.

Posted by api-poster

with permalink

@johnjohnston Thanks John! If this works as intended this should show up as a reply at micro.blog, even though it was posted on my blog with “u-in-reply-to”. Does it work?

Posted by api-poster

with permalink

I’m testing some things with my blog and micro.blog. If you’re willing to possibly receive some test responses, reply to this post on micro.blog.

Posted by api-poster

with permalink

I’m hoping that turning this switch to “off” in Overcast will decrease the amount of mindless listening and get me to make more conscious choices about when to listen and to what.

(Also I love any excuse to use my Pencil.)

Posted by Henrik

with permalink

Part of rethinking the tech I use to get work done is also getting rid of Dropbox. From now on, personal documents that need cloud sync goes into iCloud Drive and work stuff goes in OneDrive.

Posted by Henrik

with permalink

Rethinking my work tech – Part 1: My backpack

This was originally planned to be a post about me trying out a new tech setup for getting work done, but as I kept on writing I realized that it would need to be broken up into multiple parts, so this is more of a prolog.

My backpack (Nerdy Log Lady for scale)

This is my backpack. (Nerdy Log Lady for scale.)

It’s not fancy or elegant but I like it. A lot.

Mostly I like it because it contains all the things I use to get my work done. Most importantly it contains my computer and its various peripherals.

When it comes to getting my work done, a real computer has always been my tool of choice and for as long as I’ve had my current job, that computer has been a MacBook Pro.

I also like my computer. A lot. It’s the last of its kind, really. It is the 2015 15″ Retina MacBook Pro model that was sold up until last summer, which was when I bought this one. It’s the tool that I use for most of the things involved in my job. I do carry a physical notebook and a pen quite often and use it to scribble down my thoughts but it is the computer that is the main work machine.

Pen and notebook

There are other things in the backpack that help me get my work done. In fact, I have a thirty-eight (38) items long checklist in OmniFocus for the things that should ideally be in the backpack. The notebook and pen I just mentioned are two of the items on the list. A charger for the computer is another one. There’s also an external hard drive, adapters for Thunderbolt to Ethernet, Thunderbolt to FireWire 800, a FireWire 800 cable(!), a FireWire 800 to 400 adapter(!?!?), Mini DisplayPort to VGA, Mini DisplayPort to HDMI, an Ethernet cable, all kinds of USB cables, a PowerBank and adapters for camera and microphone mounts. Oh, and an umbrella and various non-prescription medications.

Some of the clutter that I carry around on a daily basis.

(Just some of the stuff is actually in the picture.)

And that’s just the basic configuration of it. Some days I might carry another external hard drive, or maybe a iPad Air. And most days I carry my lunchbox in it as well.

In many ways this is a really good setup. The bag is heavy, but most days I sling it on one shoulder for the twenty steps walk to the car, dump it in the passenger seat next to me where it rests while I drop the kids off at preschool and then drive to work. Arriving at work I take a similar twenty to forty steps walk with the backpack on my back before arriving at my office and dumping it on the floor where it will rest until I walk back to the car and drive home.

The computer is also heavy, but it lives its life mostly either docked to an external display and keyboard and trackpad at my office at work, in a similar arrangement at my home office, or in the backpack being transported between work and home.

This setup is also good for travel, because as long as I have the backpack with me I have everything that I might need to get work done with me. There’s nothing1 that I need to do that I can’t get done.

However, or but,

This setup is also really bad for travel because it’s heavy and, even worse, bulky. It takes up a lot of space in the car. That’s not a problem when commuting to work but when I actually travel somewhere by car it’s often with the family and that always means there are a ton of stuff being packed already. My backpack just adds insult to injury, and for all kind of travel that’s not commuting, it is always just one of my bags. I’ll always need to bring at least one more bag for clothes and toiletries.

Heavy and bulky is also applicable to the computer unfortunately, which is why it is not a solution to get a smaller bag and pack less stuff in it, as long as the computer is part of the stuff being packed. If the computer should be brought, the backpack in question is the best way to bring it because even though it’s heavy and bulky it sits nicely on my back.

But maybe there’s different way to do this…

iPad Mini, Pencil and external keyboard


  1. Almost true. There are off course some special cases that requires that studio at work, or where I need to provide a student with a certain kind of equipment that is only available at work. 

Posted by Henrik

Inga kommentarer

with permalink

A silly amount of computing devices.

Posted by api-poster

with permalink

🎞 Watched: Black Panther (2018)

The MCU movies keeps on delivering. This was another really good one.

Posted by api-poster

with permalink

🎞 Watched: Interstellar

Me and Linn watched Interstellar last week and we both really liked it.

Posted by api-poster

with permalink

I just found Rebble, a project to keep Pebble watches working. Maybe this is what gets me to love my Pebble again.

Posted by api-poster

with permalink

Okay, let’s give this a try then!

Posted by api-poster

with permalink

Den som förespråkar liberal frihet förväntas ofta visa att detta resulterar i att människor väljer klokt och resultatet blir gott. Men människor måste också vara fria att fatta svåra beslut och ta risker.

Mattias Svensson: Friheten är allt annat än enkel – DN.SE

Posted by api-poster

with permalink

I made a slight mistake in a previous post. There needs to be two lines in the terminal to play from Spotify:

And yes, things are progressing nicely now.

Posted by Henrik

with permalink

Right now is my favorite time of the year.

The kids are asleep after a long day of playing in the sun and I’m sitting on the deck, programming and blogging.

Posted by api-poster

with permalink

Apparently it’s more or less impossible to install additional software on an instance of Pi MusicBox, so I’ll try to get Mopidy working on a ”vanilla” Raspian Lite instead.

Posted by Henrik

with permalink

My somewhat ridiculous setup for listening to music outdoors today; a Raspberry Pi running PiMusicBox and Spotify Connect connected to an external speaker and being powered by a power bank.

Posted by api-poster

with permalink

I’ve just uploaded my first Mario Maker 2 course. Feel free to check it out at 2DR-HVB-FRF!

Posted by api-poster

with permalink

↪️ Reply to: Eating Alone

Posted by api-poster

with permalink

Cortex #16: Structural Trust – Relay FM

This made me literally laugh out loud!

Posted by api-poster

with permalink

More progress on the music player for the kids

Slightly simplified the music player for the kids has two jobs:

  1. Scan for QR codes using the camera and identify the ones that contains a Spotify URI (using zbarcam) and
  2. send that URI to the MPD that plays the music from Spotify.

At the moment I am able to set up separate tests for the two jobs and both works, on there own. The problem is that I’m currently not able to set up MPD with Spotify and the zbar tools at the same time. It seems to have something to do with different operating systems and/or other kinds of conflicting requirements that I need to lock into.

For the tests right now, I use standard Raspbian plus zbar for bullet point number one and Pi MusicBox for point number two.

For my own memories sake, this is the very simple (and probably quite brittle) shell script that I’m using for bullet point 1:

Posted by Henrik

En kommentar

with permalink

While Nintendo is refusing to take my money I might as well throw the question out there; is there any reason to buy New Super Mario Bros. U Deluxe instead of Super Mario Maker 2?

Posted by api-poster

with permalink

I’m making progress on the music player for my kids. Using Pi MusicBox on the Pi, I can control playback using mpc on my Mac.

Posted by Henrik

Inga kommentarer

with permalink

A music player for the kids

My kids, Iris and Ebbe, are four and a half, and two years old respectively. Both of them loves to listen to music and dance. Compared to when I was a kid they have access to tremendous amounts of music. If I wanted to listen to a song as a child, I had to have it on a cassette or later in life a cd. Today’s kids have access to ”all the world’s music” in Spotify, Apple Music or similar.1

The problem with the modern world in this regard is that a cassette deck and a box of cassettes is much more kid friendly than a smart device like a phone or tablet with Spotify and possibly also a smart speaker connected via bluetooth, AirPlay or a Chromecast.

Spotify has a nice solution for this in there Spotify Codes. It wouldn’t be to hard to make a whole box of cards, one for each album and/or playlist that the kids want, and teach them how to scan the cards with Spotify. The problem is that it requires them to use their iPad (or my phone, or their mother’s phone).

Why is that a problem? Because if they use the iPad they will undoubtable be sidetracked by YouTube or something similar. Sometimes having them watching videos is great. I’m certain that the reason Iris know quite a few words in English, despite being a Swede with Swedish parents, is that she’s watched a lot of English videos on YouTube. But sometimes I want them to just listen to music and not having to have a discussion about why they are allowed to use the iPad but not the apps they want.

So I’ve started toying with the idea of building them a music player that works as simple or simpler than Spotify Codes but that is a dedicated hardware device, a Raspberry Pi. The plan is for it to use either QR codes or NFC tags to control what is being played, so that way the kids can have a box of cards with artwork, similar to the box of cassettes that I had as a kid.

I think it will work.

Right now I’m going to test various setups for it and document my progress here on the blog, under the tag The Kid’s Music Player.

Some links to similar projects


  1. Yes, I am being Captain Obvious here, I know. 

Posted by Henrik

2 kommentarer

with permalink