Home Assistant, ESPHome, and Unexpected Changes
May 16, 2025None
None
None
None
None
Over a year ago, I wrote my first draft [dev proxy launcher] in Async Python, based on an idea I had to have something like [xinetd] for my various in development projects.
[service.django]
host = "django.localhost"
port = 8001
cwd = "~/Projects/my-django-project"
command = "uv run manage.py runserver {port}"
delay = 3
[service.hugo]
host = "hugo.localhost"
port = 8002
cwd = "~/Projects/my-hugo-site"
command = "hugo server --buildDrafts --buildFuture --port {port} --liveReloadPort 80"
While the Python version validated the idea, and usually worked well, there were a few cases that did not work as well.
Recently, I decided to work on a new version using [rust] and [hyper] to handle the proxied requests, which I have named [Norikae] (乗り換え).
None
None
None
Mostly for scripting reasons and alerting reasons, there are multiple times when I have wanted a simple status of a repository.
When working from the console, there is git-status
which shows things in a human parsable format, but for scripts we need something more robust.
We can ue git-status
with the [--porcelain=2][porcelain] flag to provide a lot more information, in a more easily machine parsable format.
Seeing how [starship] parsed git-status
helped me on this path.
Using this information, I wrote my own git-pending
command to parse this data, into a form I could script against more easily.
A friend writing about desktop environments reminded me of a few things as I consider a future switch to a Linux desktop.