Posts
Thomas Stringer
Cancel

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...

Sorting Algorithm Stability - What it is and When it Matters

There are many sorting algorithms out there that are widely accepted: Insertion sort, quick sort, heap sort, merge sort, bucket sort… and so on and so forth. There are a lot of qualities of each so...

Be Good at Referencing, Not Remembering

My memory is awful. In all aspects of life. But as a software engineer, I don’t rely on my memory. In fact, it’s the opposite. I rely on my lack of memory. We live in a world where there is too muc...