Skip to content

Unexpected Linux Adventures

Starting a blog with Jekyll on GitHub pages

Over the last couple of weekends I've been trying a couple of blogging platforms, namely WordPress.com and Blogger.

Each have their pros and cons, but to cut a story short:

  • WordPress.com is quick’n’easy to setup, but the editor gets painfully slow with long (and not really all that long) articles, themes are very limited and can’t be customized.
    • On the plus side, its code highlight block is quite neat.
  • Blogger is also quick’n’easy to setup, the editor works well enough, allows editing most of the content as HTML and then uploading images and videos, and themes are fully customizable (can be edited raw).
    • On the huge downside, it will unpublish, block or remove posts even entire blogs, and there seems to be no way to appeal.

Migrating a Plex Media Server to Kubernetes

Running Plex Media Server on Linux is easy. Updating it is easy too. Re-using the library from an old server on a new one is also quite easy.

That said, running anything in Kubernetes is only slightly harder once, and after that updates are entirely automatic and moving from one cluster to another would be even easier.

Prologue

I’ve been using Plex Media Server for a few years, primarily to catch up with a bunch of podcasts I started listening from their beginning in the spring of 2020, and occasionally to share my Audible library with the family. The family doesn’t really use any of this, specially since they got Spotify, but this library of Podcasts has been a faithful companion of mine for the last few years, at home and abroad.

The Kubernetes cluster running on Lexicon has proven stable and convenient enough that I finally felt motivated to migrate the Plex Media Server, from the stand-alone setup into the Kubernetes cluster.

The death of Wi-Fi and Bluetooth

The Wi-Fi 6E & Bluetooth 5.2 controllers in my motherboard died today.

Until the motherboard can be replaced, the solution is to disable both in the UEFI BIOS. This is the only state in which the PC boots normally. Enabling the Bluetooth controller causes the boot process to spend about a minute trying to initialize the device, enabling the Wi-Fi controller causes the whole system to freeze with at the login screen and/or eventually reboot itself.

xHCI host controller not responding, assume dead

Today, a number of USB devices were unavailable for no apparent reason.

Having a terminal always visible running dmesg -w the following showed up:

xhci_hcd 0000:0b:00.3: Abort failed to stop command ring: -110
xhci_hcd 0000:0b:00.3: xHCI host controller not responding, assume dead
xhci_hcd 0000:0b:00.3: HC died; cleaning up

Hmm, assume dead... that doesn’t sounds good.

Simple QMK firmware for the RoMac macro pad

QMK firmware for the RoMac macro pad was not simple enough for me, so I had to make my own.

The RoMac Macro Pad is a wonderful, very useful 12-key macro pad that can be a custom numpad or, better yet, an additional numpad for the left hand, just not for numbers. This macro pad, which can be purchased from customkbd.com (Australia) or mechboards.co.uk (United Kingdom), the latter also having Relegendable Keycaps that are great to custom-label each key.

RoMac macro pad as seen from above

Single-node Kubernetes cluster on Ubuntu Server (lexicon)

After playing around with a few Docker containers and Docker compose, I decided it was time to dive into Kubernetes. But I only have one server: lexicon.

For the most part I followed Computing for Geeks' article Install Kubernetes Cluster on Ubuntu 22.04 using kubeadm, while taking some bits from How to install Kubernetes on Ubuntu 22.04 Jammy Jellyfish Linux (from LinuxConfig) and How to Install Kubernetes Cluster on Ubuntu 22.04 (from LinuxTechi).