alex plant dot org

it ain't what you do... it's how you do it

Italian Lentil Stew

Another Sunday, another meal prep session. I’m not going to get to making the Korean stuff I had planned but I did just give this stew a shot. Italian Lentil and Sausage Stew Ingredients 2 lbs Italian sausage 1 1/4 cups lentils (green or brown) 2-3 leeks, cleaned and sliced into half-moons 2 organic carrots, scrubbed and diced (unpeeled) 1 large onion, diced 4-5 garlic cloves, minced 2-3 tablespoons tomato paste 1 cup red wine 3 cups chicken broth (enough to cover) Italian herb blend Salt and pepper to taste Balsamic vinegar for finishing Instructions Coarsely chop onions, carrots, garlic, and leeks.

Gumroad Custom Domain

Gumroad is an e-commerce platform that facilitates sales of physical and digital goods. I’m working on building a shop to sell impulse responses for guitar cab simulation and wanted to set up a custom domain for my Gumroad account. Unfortunately the future is now and they’ve replaced all of their documentation with a hallucination-prone AI help bot: As you can probably guess absolutely none of this is correct and Gumroad’s documentation has disappeared.

Chicken Curry Recipe

I haven’t written anything on here in a while and figured that it’s time to start cataloguing my meal prep recipes. I’ve recently departed from my classic pan-Asian stir-fry in favor of Instant Pot curry. This one’s a work in progress but here’s the outline… Instant Pot Curry Ingredients Main 2.5 lbs chicken breast 2 large onions (or 3 medium ones) 1 6oz can tomato paste 10 habanero peppers 1 piece of ginger (5"ish long) 1 head of garlic 1 carton half and half 4 tablespoons ghee Spice blend 6g garam masala 5g cumin 5g coriander 3g turmeric 2g cardamom 1g cinnamon 2g cloves 3g asafoetida 2g black pepper Instructions Dice the onions.

Bar Band Live Sound Bible

When I lived back East I gigged semi-regularly in a few mid-level cover bands that typically played in alcohol-serving establishments (i.e. in a bar band). We’d get paid anywhere between $400 and $800 a night depending on the venue and gig. Since professional sound would have been more than half of the take that had to be split several ways between members I ended up purchasing the equipment and running sound.

My Favorite Firefox Plugins for Productivity

I’ve been a happy user of Firefox for the past two decades since just before they changed their name from Firebird. Due to some ups and downs in usability and performance I did briefly entertain Opera and Chromium on the side for specific purposes but Firefox has been my constant primary browser. I never really installed extensions or was much of a power user until several years back when I started taking my browsing experience more seriously.

Zsh Random Password Generator

Time for another zsh one-liner… if you want to generate a 20-character random alphanumeric password this will do it: LC_CTYPE=C LC_ALL=C tr -dc "a-zA-Z0-9-_\$\?" < /dev/urandom | head -c 20; echo …no LastPass required!

Checking a Kubernetes Terraform Plan To Make Sure That Docker Images Exist

A month or two ago I noticed that an application I was working on broke after an automatic terraform apply that had been ran as part of a CI job. kubectl quickly revealed an ImagePullBackOff as the culprit. It turned out that the wrong image tag had been specified in one of the .tf files and the kubelet was trying to pull a non-existent image. While it would be nice if the Kubernetes Terraform provider was smart enough to check for this ahead of time it makes sense as to why it doesn’t… your machine isn’t on the same network as the kubelet, isn’t using the same credentials for the Docker pull, and might not be running the same OS or container engine.

Provisioning Confluent Cloud Kafka Using Terraform

EDITOR’S NOTE: Confluent’s Terraform provider for this purpose is finally GA. You should probably just use that. You’re probably here via a search engine in a feverish quest for a solution so I’ll just get straight to it: Here’s some HCL for provisioning a Confluent Cloud Kafka cluster along with accompanying resources. variable "confluentcloud_username" {} variable "confluentcloud_password" {} terraform { required_providers { confluentcloud = { source = "Mongey/confluentcloud" version = "0.

Find All Images Running in your Kubernetes Cluster

Here’s a quick, handy one-liner that I whipped up the other day… if you want to find all the images presently running in your Kubernetes cluster this will give you a newline-delimited list: kubectl get pods -o jsonpath="{.items[*].spec.containers[*].image}" | tr " " "\n" | sort -u This is probably completely obvious to those with better bash-fu and ability to write Kubernetes YAML from memory than I, but hey, it took me a few minutes to come up with and I’d like to save my future self a history grep and help those who were in the same boat as I was when I sought how to do this initially.

OpenWRT Settings for Cox

For months my OpenWRT-equipped router has been sitting in my closet collecting dust because I couldn’t figure out how to get it to pull an IP from Cox’s DHCP. This then prompted me to bang out a few paragraphs regarding my thoughts on pfSense and OpenWRT. In the very probable case that you aren’t interested in my home networking journey and are more interested in getting your router working here’s the quick and dirty (looking at you, recipe web sites):