There was about a month of overlap between when I started my new job, and when the person who knew the most about the company’s CI/CD system left. In that time we had a series of meetings where he offloaded as much info as he could about how everything worked. At our last knowledge share, I had the presence of mind to ask two questions that turned out to be very important:
When I got laid off I got really lucky and had an offer pretty quickly. After I got my homelab up and running, I decided to put some of my severance toward a new NAS, and upgade my storage. I moved the original off site, and installed Syncthing on both of them to keep a redundant copy of my most crucial data.
The old NAS has about 1/4 the storage of the new one, so I decided to be selective with the media I synced to it, so that the stuff that was the most important would have a backup, but the rest wouldn’t fill it up.
It isn’t particularly sexy, but one of my favorite things about my k3s homelab is that I took the time early in its creation to get proper HTTPS certificates, and automate their renewal. I think it’s great that all the top-shelf browsers require sites to use HTTPS, but it’s a nightmare for self-hosting when you have to click through several pages of warnings to hit any of your own services.
One of the most impactful books I’ve ever read is Time Management for System Administrators by Tom Limoncelli. I have read it multiple times, and every time I take away something new. It’s a little dated (post-PDA/pre-smart-phone), but I’d still recommend it more often if it weren’t for the problematic life-goals section.
A section I think of often is when to automate something. It’s effectively just an Eisenhower Matrix, but the axes are Difficulty and Frequency.
After I got laid off last year , I built a home lab k3s cluster to keep my skills sharp while I was job hunting. Initially I kept all the manifests in a mono repo, but I decided to break it up into micro services repos. This solved several problems, but it created another: I want to be able to link to it easily.
When I broke the mono repo apart, I did have the presence of mind to give each micro service repo a templated name: “homelab-” (eg homelab-metallb ).
Update It turns out the awk solution had a big problem I didn’t notice until after I posted this. The gist is that awk is only looking for --- or kind:, and it’s processing the file one line at a time. Once I inspected the contents of a file I had generated with the original script, I realized its apiVersion was in a different file, and then some other resource’s apiVersion was at the bottom of the file I was looking at.
For the better part of a decade, I’ve had a function in my .bashrc called finf (Find IN File), which chains find and grep together to search the contents of files. The other day I started playing around with a couple of tools I had never tried before and found a much better solution than finf, and I thought I’d share.
Ripgrep Link rg by itself is already better than my old finf function because it searches in parallel.
Intro I am a huge fan of bash aliases. I want to move as quickly as I think, and when my whole day is spent hammering on a keyboard I want to do it with as little input as possible.
It’s pretty common practice to do stuff like this in your .bashrc (or .zshrc or whatever):
alias d=docker alias g=git alias kc=kubectl While those aliases served me in good stead, my needs evolved.