Freeing Precious SBCs and Wall Outlets, A Story About Building Kernel Modules and Clean Home Lab Setups
UPDATE: Jan 29th, 2024: It would seem that Asustor has read my mind and included this specific drvier in ADM Kernel Extensions, so this post is now obsolete, however, the journey was a ton of fun. I’ve been running HomeAssistant for a long time at home to handle my light and thermostats as well as some simple automation that turns off light when I’m not at home. I’ve done so, as many do, on a Raspberry Pi 4 with the official HomeAssistant OS running on it....
Using CI for Fun and Profit
Last weekend I had to redo my CI setup because it decided to not work anymore… Not really sure what happened, but I have been wanting to switch out the drone-ci setup I had with a woodpecker-ci one for a very specific reason that relates directly to the text you’re reading right now. I have been tinkering with CI for a long time, first time I used it for something that wasn’t just play, was back when I used github actions to push my neovim configuration to its own repository using git-subtrees....
A Note on Habits
I’ve never been a bookworm. The last book I read to its full length was Masters of Doom by David Kushner which I borrowed from a colleague in late 2021, started reading about new years and finished during summer break. It was a really good read, no doubt about that, I’ve just never been good at reading which is why it always took a long time to get through even a good book....
CMake Helper Functions
Sometimes I find myself copying a lot of CMake sections, because I need similar functionality in different places. While duplication is not a great way of reuse, CMake was always just one of those languages that I never took the time to properly understand. I know enough to be dangerous and knowing anything more would just lead to a false sense of security that I would be able to do all kinds of nifty things without looking anything up....
Dotfiles Using stow
What’s the deal with dotfiles anyway? I have a collection of configuration files that I use to make devices essentially ephemeral. The names comes from the fact that a lot of them start with a ., which in unix makes it “hidden”. These files are stored in a globally accessible git repository that I can simply pull, run a single command and be right back at home. I use an old unix utility called stow to manage my dotfiles due to its ubiquitous presence in various linux distribution package managers....
Compile-time Interface Composition Through Inheritance
In my DSP framework I recently had the need for a generic Interface type, that could have a set of member functions based on the underlying storage type. After much pondering, I remembered a brilliant video by Jason Turner, that showcased how to inherit from lambdas which in turn reminded me of the mixin pattern. What if I could just inherit from a template type Which indeed you can… Behold, the Interface struct....
Initial Commit
In the beginning there was darkness Sometimes a project should resemble a speed run like some of the half-life any% runs seen at GDQ events. This blog is such a project. I now have accumulated enough notes that I need somewhere to write them down. Piggybacking off of my existing infrastructure that I use for development of my DSP software, it seemed obvious to start a blog that will work as both a notebook, but also as a way of knowledge sharing....