Getting the New Steam Controller Gyro Working in Ship of Harkinian on Linux

I bought a new Steam controller and wanted to try it. I used it with Ship of Harkinian on Linux, launched it via Steam, and noticed gyro wasn’t detected. Below is how I got native gyro working for SoH.

Like any program, launching through Steam grants you the full capabilities of the controller except for native access to gyro. The solution is to emulate the mouse or joystick which is fine for programs that don’t support gyro natively but terrible for applications that do.

Veeam Restores on Proxmox local-zfs

During some disaster recovery work, I deployed a Proxmox cluster to rapidly restore VMs from Veeam but ran into a restore target issue.

Veeam’s Proxmox plugin can back up VMs running on local-zfs just fine. Restoring them is the problem: Veeam won’t use a ZFS pool as a restore target. It needs Directory-type storage. ZFS storage types create zvols for each disk and restoring directly would obviously lead to complexities, especially when trying to export from Veeam as QCOWs.

Upgrading a Neglected EKS Cluster from 1.17 to 1.30

On July 3rd, 2024, I ended up dealing with one of the messier Kubernetes situations I’ve encountered: upgrading an EKS cluster that had effectively been left behind for years. The push to upgrade wasn’t optional as the cluster version was approaching the end of extended support from AWS, and staying on it meant continuing to pay the higher extended support costs.

Extending 433MHz Alarm Signals with LoRa

Door alarms have gotten more sophisticated over the years, but many newer systems are proprietary or comparatively expensive, especially when using Zigbee or similar ecosystems. The older 433 MHz sensors are cheap, simple, and widely available. Most of them use fixed-code amplitude encoding (1527, typically based on the EV1527 chip). The downside is range. In practice, the signal quality from these devices and the common receivers sold online can be poor. If the distance is more than a short span, something has to relay the signal.