
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....
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....
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....

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....
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....