Kirk's Razor

I’ve come across this phenomenon a ton in my career and figured I’d finally give it a name: Kirk’s Razor. Kirk’s Razor can succinctly be defined as: The phenomenon where as soon as you publicly ask for help with a problem it either solves itself or the solution becomes immediately apparent. While this may be similar to Rubber Duck Debugging, this applies to any problem not just those related to debugging code issues.

Telemetry in Go - Readers

I was struggling to understand when to use the two main types of readers that come within the OpenTelemetry Go package, and wanted to share what I’ve learned. This is the intro post to a series where I’m going to cover some telemetry things in Go, ending with creating a plug-and-play telemetry add-on for the cobra-cli. First, this blog post assumes a slight bit of knowledge on your part. I’m writing this post assuming that you already know about the different types of metrics that one could collect with OpenTelemetry.

Podman on MacOS

I just recently got a new laptop at work, a MacBook Pro with the M1Pro chip, and decided that I wanted to give Podman a try as a full-fledged Docker replacement. This is a story about my journey. This article is going to be long. I’m going to go into a lot of detail about the struggles that I went through in order to get all of this working. It might end up seeming like the ramblings of a madman at times.

Throwing Errors with Controller-Runtime fake

Recently we’ve been running into a race condition where a specific error is being thrown from Controller Runtime, however trying to replicate that behavior in a unit test has proven to be quite tricky.

On Brittle Tests

If you think about modifying your code as a set of chain reactions, can you make a change without changing other things? The longer the length of the chain due to a change lets you know that your code is brittle. Tests are no different in this regard.

What makes a unit test Good?

Now that we’ve covered “why” in the last post, let’s get into what makes a unit test “good”. Good unit tests cover all the code, each test should test one thing and one thing only, and they are completely independent of one another.

On Writing Quality Tests - The Why

Quality tests are key to building quality software. But what makes a quality test? How do I know that the test I’m writing is adequate? Does it cover enough, or am I trying to do too much? What is the benefit of writing tests in the first place? When I started on my journey into the world of automated testing, these were the hardest questions to get a straight answer for.