Posts
Thomas Stringer
Cancel

Setting Conditional Breakpoints in Go

Being able to debug your code is a necessary skill for any programmer. Setting conditional breakpoints allows you to efficiently and effectively inspect your code workflow. Take this simple (but co...

Query Azure Resources by Tags with the Azure CLI

Azure resource tags are one of the really great features that I don’t think gets talked about as much as it should. Tags are key-value pairs that you can put on your Azure resources. Although tags...

Create a Release and Upload Artifacts with GitHub Actions

When working in the full software lifecycle, CI/CD is one of the key mechanisms for providing software to the end users. The “D” in “CI/CD” refers to “delivery” and “deployment”. This blog post wi...

Emotionally Investing Yourself in Tools

As programmers and Information Technology professionals we are craftspeople. We require tools to accomplish our tasks. It’s common to invest ourselves heavily in these tools. In this blog post I wa...

Collect Custom Metrics in AKS

Part of running a production-quality Kubernetes cluster is being able to monitor it. One of the nice things about having your Kubernetes cluster in Azure is that many things are easy to setup and w...

Debug a Python Application Running in Kubernetes

Software breaks. It stops doing what we think it should be doing. It throws errors, and it fails in unexpected ways. This is the reality that we live in. As a software programmer, it is absolutely...

Create a Quick and Easy Prometheus Exporter

Prometheus is a clear leader in the cloud native world for metrics. Prometheus follows an HTTP pull model: It scrapes Prometheus metrics from endpoints routinely. Typically the abstraction layer be...

Why You Should Typically Use Named Arguments in Python

When invoking functions in Python, you can usually pass your arguments either by position or name. There are advantages (and disadvantages) to each approach. This blog post will discuss why you wo...

Change a Function's Output Based on Input Parameter Value in a Python Unit Test

When writing unit tests you always want to make sure you’re testing the smallest unit possible. Oftentimes the code that we want to test is reaching out beyond the software itself: The two common o...

Find the systemd Unit that Owns a Process

Recently I had to do a little troubleshooting and I was able to pinpoint a particular process ID from ps that I was interested in. In particular, I wanted to know which systemd unit was responsible...