Henrik Carlsson's Blog

I need your help finding a self-hosted alternative to iCloud photo sharing

I’m looking for a self-hosted alternative to iCloud photo sharing for private photo sharing with the family, and I need your help finding it.

Here’s what’s great about iCloud sharing:

The main problem is that it is exclusive to the Apple ecosystem. That excludes part of the family. If I’m going to change things up it would also be nice if the new solution was hosted on a server controlled by me.

So, a self-hosted alternative to iCloud photo sharing, with apps for viewing on both iOS and Android. Any recommendations are much appreciated.

Posted by Henrik on

Inga kommentarer

with permalink

@Cassinato I recommend Overcast and Castro. Overcast is my favourite, but for I while I did use Castro and really liked it because of its queue feature.

Since you don’t listen to that many shows I’d say Overcast is the best way to go.

Posted by Henrik on

with permalink

@smokey As I read the third paragraph of your post I literally thought ”my head hurts”. Then I read your forth paragraph. :D

Anyway, thanks for adding it to the wiki. Follow up question though, what wiki? Where do I find it?

I wonder how many webmentions I receive if I also reply to my original post here?

Regarding your second post,

1) Used the share sheet and selected ”Dela som fil”, which I assume is called ”Share as file” (or possibly ”Save as file”) in English. That brings up a second share sheet in which I could save it to the files app. From there I uploaded it to GitHub.

2) I’m not sure and haven’t tried it, but I assume you could use the download link on GitHub, save it so files and then open it there and chose to import it.

Be aware, the Shortcut is very much a hack solution right now. It totally butchers the result if the post you are trying to reply to originates from a non-hosted micro.blog account.

Posted by Henrik on

with permalink

@Miraz That makes it even better. Thanks!

Posted by Henrik on

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 on

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 on

4 kommentarer

with permalink

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

Posted by Henrik on

with permalink

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

Posted by Henrik on

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 on

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 on

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 on

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 on

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 on

Inga kommentarer

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 on

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 on

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 on

En kommentar

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 on

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 on

2 kommentarer

with permalink

🎞 Watched: True Detective – The Great War and Modern Memory (S3E01)

Season 2 of True Detective was a massive drop in quality compared to season 1 however based on the first episode it seems like season three is a return to form.

Posted by Henrik on

with permalink

Vilken censurtjänst från ett kommersiellt it-företag ska Dalarnas kommuner köpa in för att särskilja filmen Fifty shades of grey från ett BDSM-klipp på Pornhub?

Antiliberalt censurkrav från Liberala kvinnor Dalarna – Evelyn Schreiber

Bra ledarartikel om hur feltänkt det blir när moralismen ska få styra vad vi får se på internet.

Posted by Henrik on

with permalink

🔖 Bookmarked Massaman curry- Lättlagad thailändsk gryta – ZEINAS KITCHEN

Posted by Henrik on

with permalink

🔖 Bookmarked Tikka masala med kyckling eller oumph – ZEINAS KITCHEN

Posted by Henrik on

with permalink

🔖 Bookmarked Kyckling karahi- Pakistansk gryta – ZEINAS KITCHEN

Posted by Henrik on

with permalink

Strömstad 2019

Linn och jag är för närvarande i Strömstad, på en semesterresa utan barnen. Ebbe är hos Linns föräldrar och Iris hos min mamma.

Varken Linn eller jag har varit i Strömstad förut. Linn har heller aldrig varit på västkusten förut, undantaget Göteborg och för min del har västkusten mestadels varit synonym med Hunnebostrand. Så därför hamnade vi här, helt enkelt för att ingen av oss varit här förut.

Vi passade på som en del i vår Arvikaresa, så att vi kunde lämna bort barnen några dagar och åka själva. Det är sällan vi kommer iväg på saker utan barnen, så när det väl blir av är det jätteskönt. Tanken var från början att boka ett spahotell här men vi var för sega med att bestämma allt, så när vi väl fick tummen ur så var det fullbokat. Därför hamnade vi på Strömstad Camping, ett äventyr i sig eftersom jag inte varit på en camping sen jag var barn och Linn aldrig har campat. Hur som helst så bokade vi en stuga och det är där jag nu sitter och skrivet det här.

Idag har vi gjort själva resan hit från Arvika och sen har vi flanerat på ett shoppingcenter innan vi åkte till campingen. Sen satt vi länge på altanen i solen och drack vin, prosecco och öl och åt chips innan vi slutligen gick on mot Strömstads centrum, promenade bland pirerna och åt middag på The Dubliner at Skagerack. God mat och väldigt mysigt läge!

Under resans gång har jag meckat lite med att posta platsinformation tillsammans med bilder, så därför har det blivit lite extra blogginlägg vilket är kul. Exakt hur jag ska använda platsinformationen på sikt vet jag inte men det är kul att ha det sparat, särskilt när vi är på nya ställen som nu.

Jag försöker även tagga alla inlägg härifrån med Strömstad 2019.

Posted by Henrik on

Inga kommentarer

with permalink

Cortex #3: Good for Brain Health – Relay FM

I’ve been relistening to the first episodes of Cortex and it is interesting to do so with hindsight and to see how straight the line is from this monologue by Grey to Project Cyclops.

Posted by Henrik on

with permalink

Om könsrock 26 november 2015 kl 06.00 – Snedtänkt med Kalle Lind | Sveriges Radio

Det här avsnittet av Snedtänkt kan vara det roligaste någonsin! Just det här citatet är extra intressant idag, bara några år senare när humorlösa personer inte bara finns utan även har möjlighet att styra en nätmobb.

Posted by Henrik on

with permalink

Accidental Tech Podcast: 331: The Technical Burden of Users

In my opinion, that kind of interaction with a tv device or a watch or something similarly limited is the best kinds of interactions.

Posted by Henrik on

with permalink

Mulholland Drive movie poster

🎞 Earlier this week I watched Mulholland Drive and now I can’t stop thinking about it. What was it that I saw? What did it mean? And why was I so moved by it?

I’m planning to watch it again soon. Also, I read this great analysis of the movie by Film Crit Hulk Smash.

Posted by Henrik on

with permalink

If you vote now, you can complain about the result and the way things are run later. If you don’t vote, nobody care about you complaints either.

Posted by Henrik on

with permalink

Is there anybody out there with experience/knowledge of live streaming audio from MacOS?

Posted by Henrik on

with permalink

🎞 Watched: Thor: Ragnarok

I totally forgot to write about it when I watched Ragnarok some time ago. Anyway, I loved it. My favourite movie in the MCU so far.

Posted by Henrik on

with permalink

Tonight seemed like a good time to try out Overcasts new clip sharing functionality and this clip from Upgrade #244 seemed like a good one to share, since I have similar feelings to Jason.

Posted by Henrik on

with permalink

I never got around to finish watching the second season of Westworld and I’ve been meaning to do so for quite some time now. Today Linn and I decided to give season two a go together, since she’s watched the first season but didn’t join me for the second one on my first attempt. So today we said we’d start with the final episode of season one and then go for season two.

However, as Linn fell asleep on the couch and as I tried to remember as much as I could about the first season I decided to instead go all the way back to the first episode. So I’ve just finished rewatching the very first episode of Westworld and oh my it’s a good show. So cleverly plotted!

Posted by Henrik on

with permalink

Also, this Alfred workflow seems to be the perfect interface for me to work with Toggl on the Mac.

(Thanks Cortex subreddit user VanillaChief for the tip.)

Posted by Henrik on

with permalink

I’m back using Alfred

I don’t know exactly when it happened, but it was probably some time when I re-installed a computer or set up a new one that I decided to not install Alfred and instead try to get by using just Spotlight.

As far as I could tell it wasn’t a big downgrade, and it saved me one step in setting up a new computer. A few days ago though, I decided to try Alfred again and OH MY GOD.

While going from Alfred to Spotlight didn’t feel like a big downgrade, going from Spotlight to Alfred seems like one of the biggest upgrades ever.

So Alfred, I’m back. Sorry I ever left!

Posted by Henrik on

Inga kommentarer

with permalink

Spider-Man: Homecoming

🎞 Watched: Spider-Man: Homecoming

This was exactly the kind of movie that I needed to watch right now. Light-hearted and very entertaining. I’d probably say it’s my favourite MCU movie so far. I loved the acting, the way Peter was characterised, the way the classical characters where changed and modernised. I loved the whole thing. Also, the sort-of twist with the identity of The Vulture took me completely by surprise.

My only complaint is that the action scenes themselves where sometimes hard to follow. It seemed like the director was inexperienced when it came to directing action.

I was surprised by the music, which seemed a step up from a lot of other MCU movies.

On a side-note, after the first scenes where we see the lead up to the fight between the heroes in the airport in Civil War, I had to paus this movie and go watch that fight once again. That’s quite amazing considering the fact that before I started watching the MCU movies from start to finish, in sort-of correct story order, that was the scene that I dreaded the most. I was absolutely certain that a scene where our heroes beat the crap out of each other would be just ridiculous in the Batman v Superman kind of way. I was very wrong.

Posted by Henrik on

Inga kommentarer

with permalink

🎞 Watched: Guardians of the Galaxy

My watching of this one was stretched over way to long time. It was only two sittings but almost two months apart. Why? Well, life got in the way in the most mundane ways.

Anyway, I liked this one. I don’t necessarily think it’s as great as some people seem to think it is but I like it. No, it’s not ”The Star Wars of this generation”.

Posted by Henrik on

with permalink

First week of The Year of More Fun

First week of 2019 is coming to a close, so I thought it would be a good time for a quick report on my New Year’s Resolutions.

The easy part to report on is the photoblogging. I’ve been doing that every day, except today but I’ll soon get around to posting a picture for today as well. Probably while fulfilling the third bullet on my list, reading at least one evening/night every week.

As for the work stuff, things have not been going as planned but I blamed that on it being i week with only three work days, two of which were booked full with teaching. That means no work from home this week and no three hours for fun stuff.

I did build a ”self-playing ukulele”, but that was used in teaching the very next day so it doesn’t really count as a fun thing without a clear connection to the everyday grind of work.

That’s it for the first week.

Posted by Henrik on

Inga kommentarer

with permalink

One of my projects at work today has been to make this, a system for playing back a recording of a ukulele through a surface transducer and then have it use an actual ukulele as a resonance cavity.

Posted by Henrik on

with permalink

A Raspberry Pi and a network switch

My daily photo for January 1st is this partial view of my messy network equipment shelves, in particular the Raspberry Pi that serves as my Plex Media Server for my home media, since that Is something that I’ve dealt with quite a bit today. Now the kids can enjoy a lot of their shows on both tvs and almost all of the iPads.

Posted by Henrik on

with permalink