I recently blogged about Go project templates and how you can use some boilerplate to quickly get up and running with your new Go program. It’s also a pretty common thing to write CLIs in Go, and I...
The Lack of Compensation in Open Source Software is Unsustainable
It’s 11:43pm on a Monday night. My 6-week-old son is asleep in my office so my wife can get some uninterrupted rest for the first half of the night. He’s finally asleep now, and I probably should b...
Helm Hooks Are An Anti-Pattern and Should Be Avoided
Helm has been at the heart of Kubernetes deployments for years. If you are managing any amount of Kubernetes clusters, then you have likely already installed a Helm chart in your environment. And f...
Tools and Processes I Used For Writing My Book
This past year I published my first book. While it was a rewarding experience, there were many challenges and obstacles along the way. But one thing I did in the beginning was figure out tooling so...
Creating and Using Go Project Templates
I love writing software in Go. It is by far what I’ve been using for the better part of many years now. Most of us developers (Go or otherwise) fall under one of two categories, or somewhere in bet...
How I Host, Run, and Publish Articles to My Blog
I get this question a lot, so I figured it is best to just publish this information for reference. And really for anybody that is interested in the technical details! It is a lot to dive into the w...
Using Vim as my PostgreSQL Client
One of the common tools that PostgreSQL users end up having to work with is psql. It’s a core client product that ships with postgres and for the most part it gets the job done and done well. In th...
Getting a User's Table Privileges in PostgreSQL
When working with postgreSQL (or any database management system, for that matter) oftentimes you want to see which tables a user has access to, and what they can do with those tables. One of the wa...
Troubleshooting the OpenTelemetry Target Allocator
In a recent blog post I talked about how OpenTelemetry uses the target allocator to generate Prometheus config to know what targets to scrape. But… what happens when it doesn’t seem to be working? ...
Ingest Prometheus Metrics with OpenTelemetry
OpenTelemetry has become the gold standard of cloud-native observability. It is the platform that handles the three observability signals: Traces, metrics, and logs. Metrics are an especially inter...