Ramblings

Sometimes I ramble about a wide variety of topics (mainly software-related). Feel free to take from this what you like.

Precision for Entities in Home Assistant

Markus Brückner

Home Assistant has had the ability to set the display precision of sensor value for a while. If you click on the sensor entity (in the Settings > Devices & Services > Entities) and then the little cogwheel for the entity's settings, you'll see something like this: More...

NextJS HTTP response headers work differently than you (maybe) expect

Markus Brückner

Working with NextJS is usually a rather straightforward experience, but there is the odd thing here and there that drives me up the wall. One of them was the attempt to implement Content-Security-Policy headers for a bunch of frontend apps the other day. Should be rather straightforward, NextJS even has documentation on how to do this. However, this documentation assumes that you want to do one of two things More...

History Simplification with git2-rs

Markus Brückner

Writing a Git GUI like Corylus inevitably includes coming up with a decent layout for the commit history and its ancestry relationships. This is easy enough for the full history, as Git gives you a Directed Acyclic Graph (DAG) of commits. Partial histories (e.g. for a single file) are a different story. The graph is still directed and acyclic, but it's by default no longer connected, i.e. you cannot jump from one commit to its parents during layout because parents may be missing (e.g. because the file you're looking at didn't change there). The CLI has a neat little trick up its sleeve where it will rewrite the parent references to reconnect the graph. This article describes how this may be done (and, by extension, how Corylus does it). More...