Notifications using Flask & HTMX
Overview I was recently looking to quickly add notifications in an internal tool. Nothing fancy, just a simple toast message I could easily pop up when necessary. Usually this is something like “I didn’t load the resource you wanted to look at because it isn’t available”. There are a ton of ways to plumb notifications in, but I wanted to write the minimal amount of code possible. Polling, SSE, websockets are all options – and I plan to dig into those at some point!...
Managing Dotfiles
My usual method for setting up a new computer is to install Syncthing and add all my main synchronized folders, then rsync any specific dotfiles (.vimrc, .gitconfig, etc) to the new system. It’s never super clean, but this does speed me up enough to get moving quickly. I’ve considered setting up a more global $HOME sync folder with a ton of excludes, but I want to be a bit more intentional about updating my system configuration....
Simple External IP for Home Kubernetes Ingress
Here’s a simple way to expose an Ingress controller running in a private network to the public. My use case is for adhoc standup of Kubernetes clusters via K3d on my computer while testing automation (eg, self managed ArgoCD) so that I can validate cert-manager & external-dns. ...
Override Git Config For Multiple Repositories
I’m sure you’ve never had to do a search for “fix author git multiple commits”. Right? Well, I’m not going to talk about how to do that fix (ugh it’s a pain…). What I DO have to share is a way to hopefully avoid that mess in the future without any crazy arcane incantations or embracing tedious per-repository authorship edits. ...
Access Remote Services Over SSH
Port forwarding is amazingly useful. If you’ve never used this feature before, the tl;dr is you can bind a port on your local system to a port on a remote system. This allows you to interact with a service as if it were running on your computer (eg, connect to a database that is firewalled off). ...