And it makes the wrong people productive AI didn't make bad engineers good. It made them fast. It doesn't change who we are, it makes us more of who we are. It's a force multiplier and I don't mean that in a good way. Used to be, a lazy or sloppy coder was self-limiting. They moved slowly. By nature of being lazy, they weren't motivated to make huge changes. Their code and structures may have been…
In my organization, we have a great number of repositories that contain overlapping logic. For example, to manage our large number of cloud environments, we have separate repositories just for Terraform. We've split up our code based on purpose and audience to better organize our work. However, this creates challenges when we need to make a change that spans multiple repositories. This challenge…
I finally stopped fighting with my homelab deploy process and turned it into something that feels almost civilized. The homelab: an old gaming desktop running Ubuntu, hosting a handful of services in Docker Compose. The goal: fast iteration without losing my mind or my work. It took a few generations to get here. The First Era: SCP, Makefiles, and Madness I wrote compose files locally, committed…
I've been working with Terraform for over 6 years now, and during this time, I've encountered several common mistakes when designing modules that can lead to frustrations, mismanagement, and even mistrust in the tool itself. I continue to see teams complaining that Terraform is overly complex, hard to maintain, doesn't scale well, and – the most common complaint – that state files are unreliable…
My infrastructure team, as part of a larger Terraform Restructure initiative, is moving our Terraform repositories to be apply-after-merge. There are significant changes in process between these two approaches; not all are obvious. I won’t try to hide: I like Apply-After-Merge more. I will attempt to show the strengths and problems with both processes, but you should know that I have already come…
In Terraform, I've found that KISS > DRY and that the use of complex data structures as inputs are a gilded foot gun. I've now created a few large Terraform repositories that have managed sprawling infrastructure spanning multiple environments at once and I've felt pain. Oh! How I've hurt myself. I learned Terraform as a software engineer and I applied my opinionated "best practices" to Terraform…
I haven't blogged about it, but a couple of years ago I went through an acquisition . It was a pretty incredible experience and overall pretty positive. I'm sure I'll blog about that at some point, but today I want to discuss a change that I experienced from going through that … a change in me . A change I wish happened a lot sooner. I figured out how to not concern myself with most problems. ……
Early in the COVID-19 lockdown extravaganza 🎉 my wife and I purchased a new home and moved in. It was a stressful time, filled with uncertainty. In the aftermath, I found myself with pretty terrible internet service and since we are both working in isolation, I am hellbent on finding out why … So I'll use the tools I know – Telegraf, InfluxDB, Grafana, and Docker – to collect data, analyze it,…
I've always known that scripts were out there and scouring the internet for exploitable websites. It's why the more widely used blogging applications (I'm looking at you, Wordpress) are so widely hacked. To make my own little positive impact on the world (and because it's fun), I've decided to set up a few traps on my site. I don't mind telling you about the traps, since it's unlikely that anybody…
I've been working a great deal with Jekyll lately. I've used it for this blog for a while, but I hadn't spent much time automating the whole process. Unfortunately, when I set out to hook everything up, there didn't seem to be anybody out there doing exactly what I wanted, so it took me a little more time than I expected. I'll guide you through the configuration steps I've taken to get my site…