Chris' Writing

Cat classification with Frigate

2026-03-13 tinkering frigate ai training cats

My Frigate surveillance setup’s primary purpose is to keep an eye on my cats while I’m away.

An older setup supported only motion detection, but reviewing all motion events of the day while on vacation to make sure that each cat is doing fine was somewhat cumbersome. I switched to Frigate to leverage its entity detection capabilities so I only have to review events that detected cats, and could skip random motion.

Continue reading...


Making of paracelsusgood.at

2026-01-30 web prometheus victoria-metrics salzburg

The swimming situation in Salzburg isn’t exactly great. 150k residents share two (!) indoor pool places (one of them often being closed for extended periods of time due to shoddy construction), and there are only two additional outdoor pool places operating during summer months.

For people who like swimming lanes, as I do, there is a grand total of about 16 swim lanes available during summer, and only 10 during winter (if one of the places isn’t closed yet again because the contractor used rust-susceptible screws… for a pool).

Continue reading...


A mysterious drop in Ethernet speed

2026-01-29 hardware networking

At some random point in the past few weeks, Ethernet speed on my couch dropped from just under 1 Gbit/s to less than 100 Mbit/s. Besides feeling like I was back in the early 00s, this frustratingly ruined my low latency streaming performance.

Continue reading...


The (ongoing) quest for 1 second Linux boot to desktop

2026-01-25 tinkering software linux alpine boot-time-optimization

Micro VMs are becoming more popular as a more secure alternative to containers, but VMs traditionally suffered from long boot times that containers typically haven’t. Boot time optimizations make VMs more accessible for ephemeral loads that need to spin up quickly.

That’s not why I’m interested in fast boot times.

Continue reading...


Reinventing my rack cooling solution

2026-01-23 tinkering hardware esp32 home-lab

Most of my computers have been sitting in a noise-insulated 19“ rack for 6 years or so. Although I’ve been administrating real servers for more than a decade, I still get a kick out of cosplaying as sysadmin with machines that I can actually touch, rather than being located in some rented data hundreds of kilometers away.

The rack I bought came with a temperature-controlled fan that pulled air through the whole box (just tall enough to fit under a desk), but could only run at 0% and 100% speed, because the temperature control was just a binary switch. That kinda defeated the point of the rack being noise-insulated, because even Noctua fans make some noise at 100% speed.

Continue reading...


Static site search optimization

2026-01-22 tinkering search zola elasticlunr.js

I get this recurring urge to have a nice website, and usually fail to pull through after doing some interesting things and subsequently losing interest. The jury is still out on how it’s going to go this time, but I certainly reached an interesting thing: Search without a full-blown search engine.

Zola, the static page renderer that’s in use here, comes with support for two search libraries out of the box:

Both have as basic operating principle that the static page renderer generates an index file that is loaded and searched directly on the client. Elasticlunr.js has a bit smaller footprint, so I went with this one.

Continue reading...


AI entity detection with Hailo accelerator for containerized Frigate on Debian Trixie in 2026

2026-01-16 tinkering frigate debian home-assistant raspberry-pi ai hailo

Frigate is probably the most comprehensive FOSS video surveillance solution out there. It comes with rich entity detection support using relatively small neural nets, and supports various hardware acceleration strategies out of the box, as well as sporting first-class support of energy efficient single board PCs like the Raspberry Pi.

Continue reading...


Alpine Linux on Raspberry Pi

2025-09-08 tinkering software linux raspberry-pi alpine

Raspbian, a Debian Linux derivative, is the standard operating choice on a Raspberry Pi, developed and recommended by the makers of the device. As someone who always favored Debian and sometimes its derivatives as well, I never gave much thoughts to alternatives on this platform.

When Docker emerged, I started noticing Alpine Linux, because it was a popular choice for small images, and I started using it for my own images. I always thought that Alpine is a child of container architecture, but the distribution is actually twice as old as Docker, and still a couple of years older than the concept of containers on Linux.

Continue reading...


Getting my pollen forecast into Home Assistant

2025-04-28 tinkering health home-assistant

As someone who is affected by various plants’ pollen, knowing in advance how bad it’s going to be helps planning the day and anticipate allergy-related malady.

My country’s meteorological service publishes pollen forecasts on their website, including per-state maps. It has become a ritual to visit their site every morning to check out the updated forecast, which is slightly inconvenient.

Continue reading...


Switching PoE devices attached to a Linksys switch with Home Assistant

2025-04-07 tinkering networking home-assistant

Some recent office space restructuring enabled employees to take home certain now-unused pieces of equipment that the company would otherwise have to sell off or trash. I was lucky to get a Linksys LGS124 PoE-capable managed switch to simplify wiring in my rack at home.

Being able to power cycle devices remotely is really useful to get crashed/locked-up stuff to work again, but the switch web UI is a nightmare and borderline unusable on touch devices, which are sometimes the only available option on the go, so I looked into API options.

Continue reading...


Putting to sleep and waking up Windows machines with Home Assistant

2024-10-22 tinkering networking windows home-assistant

I begrudgingly tolerate some Windows machines on my network, because some games’ anti cheat malsoftware consider virtual environments cheating. While VMs do make it easier to manipulate the state of a video game to one’s advantage, it’s annoying.

Balancing between power saving and convenience, I want these machines up as quickly as possible when I need them, so I keep them in sleep and wake them up with Wake-on-LAN. Putting them back to sleep via remote desktop is mightily annoying, so I searched for remedies.

Continue reading...


Running ESPHome on the AZ ONEBoard

2024-08-02 tinkering esphome esp8266

The AZ ONEBoard is a development board from the electronic components seller AZ Delivery based on ESP8266. Similarly to Adafruit’s STEMMA system, it’s intended to ease the entry into embedded development with sensors that can be easily plugged into a standardized interface, without requiring soldering.

I got a few sets of those with sensor modules for temperature, humidity, volatile organic compounds (VOC, and by extension eCO2), and brightness so I could get some sensors into the still-sensorless spots in my apartment.

Continue reading...


Trains seat reservations

2023-06-16 trains standards

Some friends and I were traveling from Slovenia to Austria by train recently. It was a busy, so naturally we had reservations, and naturally, we were involved in a dispute regarding said reservations. Eventually, our seats’ challengers left when the conductor told them that they were in the wrong car.

From this experience, we deduced that train reservations were inherently flawed, and spent a bit of the remaining train ride coming up with a simple, easy to implement solution to remove a bit of ambiguity from train seat reservations.

Continue reading...


Slow Laravel IDE helper generation

2021-04-29 programming php laravel

While working on a pretty standard headless Laravel app, I got really annoyed by how long composer install took whenever switching to branches with varying dependencies. Some hooks had been added recently, which invited the assumption that the experience would be the same for my peers. Retrospective was just around the corner, so I brought the topic up before taking a closer look myself, and was surprised that I was the only one suffering from this. Execution times were in the lower single-digit seconds for everyone else, while I was waiting nearly indefinitely.

Continue reading...


Working around a broken SD card slot on a Raspberry Pi

2014-11-02 tinkering raspberry-pi hardware

While moving a cable, I violently ripped the SD card out of my Raspberry Pi by accident, breaking some of the slot’s plastic in the process. I was certainly careless, but using flimsy plastic for a component that can receive quite a bit of physical stress is probably not the best idea.

Continue reading...


Suspicious disk failures

2012-10-16 hardware monitoring home-lab

The disks in my home server have been acting up lately: Two of them (which I bought at once a few years ago) deliver different results when I hash a file multiple times, another just randomly hangs sometimes for a few minutes. The SATA and power cables seemed fine, replacing them had no effect on the problem. So, why not check what wisdom S.M.A.R.T. has to offer?

Continue reading...


Distributed document creation

2012-08-10 work writing latex

One of my jobs involves creating documents. >10MiB PDFs, or piles of dead trees, if you will. Big documents with several contributors, providing revision after revision of their part of the cake.

Continue reading...


So I bought one of those fancy South Korean IPS monitors...

2012-08-07 hardware review

Recently, people on the Internet have been talking about (comparatively) cheap 27“ monitors from South Korea with a glorious 2560x1440 resolution. Jeff Atwood and Scott Wasson wrote about it, and summarized their critiques fairly positively.

For something around €300, you can order a monitor like this from a South Korean ebay vendor. Shipping and an international power adapter are included. The monitors are of brands I’ve never heard of in the West, so I guess they mainly supply Asian countries.

Continue reading...


Developing software for people with disabilities

2012-06-28 work software-engineering disability natural-user-interfaces usability

This article was written a long time ago. It may contain some broad generalizations that are not accurate.

My current internship at LIFEtool focuses on finding ways to utilize the Kinect as an input method for people with motoric disabilities. So far, I’ve been experimenting mainly with body poses and touching stuff (like a virtual button) as ways to express an intention.

Continue reading...