-
I’m taking the day off work to go into the big city and do some restorative record shopping.
-
After a month’s delay, we finally had our solar panels, inverter, solar diverter and battery installed. I had hoped to avoid getting too involved in its operation but it only took a week or so before I was sucked into the world of Home Assistant and battery prediction software (thanks to Shane for the recommendation).
I can’t really make use of any of it until we get smart meters and are given an export MPAN but it’s fun to noodle and it gave me the flimsiest excuse to buy yet another Raspberry Pi 5.
-
A side-effect of playing with Home Assistant was seeing that it automatically discovered my Sonos system (which may or may not now feature some surrounds).
This was only interesting because the redesigned Sonos app is much maligned and removed my ability to play music from my record player via its Icecast URL (the official instructions don’t work and involve signing up for an account for a third-party app).
Thankfully, Home Assistant’s
media_player.play_media
service allows you to directly tell Sonos to play a specific URL, restoring my ability to listen to the warm, analogue sound of vinyl as it passes through a USB sound card and is encoded as a 320kbps MP3. I’ve hooked this up to a button like so:type: button name: Play turntable show_state: false tap_action: action: call-service service: media_player.play_media target: entity_id: media_player.living_room data: media_content_type: music media_content_id: "http://raspberrypi400.local:8000/turntable.mp3"
-
I’ve started using Kamal to run a Rails application that has outgrown Heroku.
I posted a thread on
ruby.social
about my experiences with it but, in short, once I got my head around Traefik, its concepts of entrypoints, routers and services, and how they are configured through command line arguments and Docker labels, it has been a successful switch. I highly recommend reading its source code to better understand how it orchestrates Docker and Traefik.It was always going to be difficult to compete with Heroku’s “Developer Experience” with its monitoring, ease of deployment, access to recent logs, etc. but through a combination of a continuous delivery pipeline running Kamal, HAProxy’s stats page, and detailed server monitoring from our hosts, we haven’t lost too much.
Plus it has been quite fun to use tools like PGTune again after a long time relying on a Platform as a Service to manage this instead.
-
It wouldn’t be proper weeknotes if I didn’t mention yet more fettling with my Ruby gem, re2.
This time, I noticed my (admittedly rather complex) CI build go from ~15 minutes to almost an hour after upgrading the bundled RE2 to 2024-06-01. This turned out to be due to older versions of
pkg-config
performing poorly when doing dependency resolution but a prompt update to rake-compiler-dock fixed it.
Weeknotes #107
By Paul Mucur,
on