Todays achievement: Finally my dev @withknown setup is running happily in Docker on Windows with PHP7. Yay!

Homebrew Website Club Nuremberg is back from hiatus! Had a great time w/ @cowglow and our newest member. Missed @jkphl though. :(

Switched my @withknown site to use the current dev version from Github. Now for some plugin debugging.

Aaron Parecki: #100DaysOfIndieWeb Day 89: OwnYourSwarm

Today I created an initial draft of OwnYourSwarm, a service that will convert your Swarm checkins to Micropub requests, and post them to your site. This is an early draft of the service still, but it should be functional enough to post basic checkins to your site.

This looks really cool. Let's see how this works with Known.

@jkphl Wie ist denn der -Terminstatus für Nürnberg? Laut ist ab 11.1. jede Woche ein Treffen. :)

Tweet Nest

A browsable, searchable and easily customizable archive and backup for your tweets

As I sent all my tweets via Known nowadays this is not really necessary (anymore). However, for all the "legecy" tweets this looks helpful.

Do you want to syndicate your bookmarks from @withknown to @pinboard? Look no further than

Self-Hosting kylewm's Woodwind Indie Reader

One of the popular readers I saw talked about in the chat was Woodwind. It was easy to get started by logging in with my own website and then subscribing to my own site to get all my h-feeds, h-entrys, h-cards, etc. in a row. Recently, the hosted version of Woodwind at was down for a few days, so I set out to host my own.

Mal ausprobieren.

Had a lot of fun (as always) at today's Nuremberg. Managed to create some content for my blog and did some necessary updates.

Hacked together my first small @withknown plugin at todays Homebrew Website Club Nuremberg.

Frank Karlitschek (@fkarlitschek) of @nextclouders talks about decentralized web in his keynote. Resonates well with ideas.

Listening to the Hack Day presentation of @jkphl at the Conference Nuremberg. Lets spread the IndieWeb idea!

Sharing from the #IndieWeb on Mobile (Android) with Apps and @WithKnown

Just set this up on my Android phone. Lets see how this works out.

Configuring the #IndieWeb RSS Reader Woodwind for @WithKnown

This looks interesting, have to give Woodwind a try.

Greetings from camp Nürnberg to the Düsseldorf. Maybe I should clone myself anytime soon. @indieweb

All good things do come in threes. Managed to connect and without any errors now!

Moving HMAC generation in Ruby out of the way to post to the Known API

2 min read

As I'm currently trying to post something through the Known API to my
site I have to dive into [HMAC]( a bit.

It's actually not that complicated and Phyks has laid out all the necessary steps to use the API in his excellent [article](

However, buildung the HMAC somehow it didn't seem to work when I used something like

statusurl = '/status/edit'
hash = OpenSSL::HMAC.digest('sha256', apikey, statusurl)
hmac = Base64.encode64(hash)

to generate the value. It showed up correct on screen, but my HTTPS request turned resulted in an HTTP 400 reply.

Lo and behold, after some debugging with ```http.set_debug_output($stdout)``` I found the culprit. ```encode64``` adds a newline at the end (as by the spec) which, put into the HTTP header, breaks your request.

Thanks to the pointers in [StackOverflow post]( there's ```strict_encode64``` to the rescue. So

statusurl = '/status/edit'
hash = OpenSSL::HMAC.digest('sha256', apikey, statusurl)
hmac = Base64.strict_encode64(hash)

will give you an HMAC that makes your HTTP request happy. Or you can strip the newline using ```gsub```, your call. Yay, now my requests are working. On to the next step!


Money quote from @adactio: "Service workers are a man-in-the-middle attack on yourself"