The official Elixir logo, a stylized purple liquid drop.

Learning Elixir: The Plan

I鈥檝e had some pretty bad experiences with functional programming languages. Haskell in particular. When I was in high school, we had a functional programming unit in my CS course. Up to that point, we had done some educational languages as well as Java. At the time, I thought I had my head pretty firmly wrapped around programming (馃槄). And then came Haskell. And I did not get it at all. Just couldn鈥檛 wrap my head around it. ...

May 4, 2023 路 6 min 路 Michael
The stylized key keycloak logo

SSO with Keycloak in the Homelab

I wanted to have Single Sign-On (SSO) for as many of my services as possible for quite a while. One of the main triggers was the need for 2FA, in particular for the services accessible externally, to improve general security of my Homelab setup. SSO means that a user only logs in once, and with a single username/password combo, and then gets access to multiple different services with that login. The implementation is based first on OAuth2. This is a HTTP based protocol which facilitates authorization between multiple entities: ...

April 24, 2023 路 19 min 路 Michael

Migrating two Ceph OSDs from one physical hosts to another

Over the weekend, I migrated one of the Ceph VMs in my Homelab over to a physical host. This time around, instead of buying a completely new machine, I recycled most of my old 2018 era home server. It鈥檚 an old AMD A10-9700E, meaning the 35W TDP variant. I have noted some thoughts on reusing this old machine here. Mounted in the rack, the machine looks like this: Server mounted in the rack, without Ceph OSD disks attached. ...

April 23, 2023 路 7 min 路 Michael
The Audiobookshelf logo, a stack of books on a shelf with headphones over them

Audiobookshelf for Podcasts and Audiobooks

I was recently introduced to the excellent Wolf 359 audio drama. It鈥檚 the story of the crew of a space station orbiting a distant star, with good humor and interpersonal drama as well as some suspense/horror sprinkled in. I have a small set of other podcasts as well, first and foremost the great British History Podcast. Up to this point, I had mostly listened on my phone, during train rides, but also via my browser during Saturday morning household chores. ...

April 12, 2023 路 9 min 路 Michael

Consul Connect certificate problems

I updated my Nomad and Consul clusters recently. Especially Consul was a large jump, getting from 1.13.5 to 1.15.1. After about three days, I suddenly started getting 500: Internal server error from a lot of my services. In this article, I will be going into the debugging process and explain a little bit about what Consul Connect is and how it works. Why Consul Connect? So Consul Connect, or Consul Service Mesh, creates a sort-of overlay network to connect services running on multiple machines, in a secure manner. ...

April 2, 2023 路 9 min 路 Michael