Inspired by a friend I’ve decided to put in some effort in order to provide with periodic(-ish) general updates. I predict these will be mostly around personal projects I’m undertaking, and will have no predefined format whatsoever.
This first is about what I’ve been up to in the last 3-4 months, maybe even a bit further back. Quite a bit of life has been happening over the last two years and that has driven predictability away from the amount of spare time I had. Now that things are slowly falling into predictability again it might just happen that I achieve some sort of cadence, if I’m lucky.
It was a rather productive off-season. I feel good about it.
Released Huey into the wild
I have released Huey, the content reader and personal archive application I’m developing. I obviously don’t expect this release will make big waves that rock the world, but it was an important milestone: things only improve in quality with good feedback, and the first step to get that feedback is to make things public.
This was also my first foray into the personal web archiving world. I’m still exploring how to do it. At a first glance, it seems less sophisticated than I anticipated, but I’m making interesting progress. I’ll probably do a couple of write-ups on the matter soon.
Programmed a conversational bot
Based on Huey and ChatGPT, I’ve programmed a small conversational bot that answers questions about the news (e.g. “what’s currently happening with the Spain women’s national football team?”). It will query the news using Huey, and then summarise the articles it finds to articulate a good explanation.
I’ve only added Telegram as a possible way to reach the bot for now, and it is available here.
I know Telegram is problematic in many ways, but between all more widely-known messaging services, it is the only one that has an API you may use free of charge. I’m pondering about writing an adapter for Matrix or Discord.
The code will be released soon. The implementation is a bit naïve, and there are a lot of improvements I’d like to do to create a better experience: the way the bot constructs the queries is too generic, and would benefit from some specifics when we’re talking about news (e.g. responding to “what’s new?”, which is pretty basic in hindsight; or having special parameters for sports, to ask questions like “how’s my team doing this season?”).
I’ve yet to do a small write-up on what the learnings from this first iteration were, and I’ll release the code then.
Nixified the infrastructure
NixOS has been a terrific surprise when it comes to management of assets of a personal infrastructure. NixOS requires to use their configuration format to manage all parts of a server. No exceptions. That format is declarative, and lives an abstraction above the actual configuration files it generates. I’ve found that this approach not only makes servers easily replicable, but also more resilient to upgrades as the added level of abstraction allows the inner workings of Nix to reconfigure itself to achieve the same effect if there are changes in the underlying software.
So far almost all my hardware is infected:
- Laptop running MacOS (using the nix package manager only)
- Desktop running NixOS
- Home automation controller (Raspberry Pi running NixOS)
- Cloud VMs at Hetzner
The effect on maintenance has been great: little to no effort and the result is a bunch of servers that automatically update, keeping configurations and with little fuss.
Only thing missing is my NAS server that got queued down to last because of concerns with the effect of NixOS in its ZFS array. Now that I feel more confident I’ll probably do that one next.
We’ll be moving to a new place as soon as final touches on the house wrap up. I’ll for sure be working on the network setup to make sure everything gels. There’s also a bunch of opportunities there regarding home automation: all curtains and blinds are electrical, and the house runs a central AC system. Excited to start looking at that in due time.
I plan to keep working on Huey at a slow-steady pace to improve readability, and start implementing archival features too. The latter seems like the kind of spelunking that is very enjoyable to do as a hobby.
See you in a bit!