Posts
Thomas Stringer
Cancel

Neovim Git Branch Aware Automatic Session Persistence

A few weeks ago I blogged about how to implement automatic session persistence. This quickly became a really great user experience for me. But something was wrong… The problem was when I would cre...

The Reality of Adding Nines to Your SLOs

A lot of times there is an incorrect assumption that adding nines to your SLO is linear, both in gains and associated costs. Unfortunately, this idea can cause a lot of unnecessary burden on the en...

Automatically Reopen Previous Files and Session in Neovim

A common editor/IDE feature that most people probably don’t think about twice is that when you close down your editor and reopen it, you probably have the same files open, with the cursor at the sa...

Linux Disk Recover - initramfs Bug

I run Debian sid, and because I like to live on the edge of Debian sometimes things break. A similar situation happened a few weeks ago. I had updated my machine, and the next time I booted my mach...

Using Neovim as my PostgreSQL Client

I’ve been a Vim user for a very long time. And I’m also an avid PostgreSQL user, both personally and professionally. In fact, I finally got around to blogging about how I use Vim as my postgres cli...

What Determines if a Kubernetes Node is Ready?

Anybody that has dealt with Kubernetes clusters for any amount of time has likely ran into a situation where they run kubectl get nodes and may see the infamous NotReady state. It’s a deceivingly c...

OpenTelemetry Sample Application

TLDR OpenTelemetry shopping cart is repo that includes a microservices application, OpenTelemetry components, and many observability backend tools (the whole Grafana stack, Elasticsearch, Jaeger) ...

Restrict HTTP Request Methods in Go

This is loosely part 2 of my latest blog post on advancements in routing. One of the other new features in Go 1.22 is the ability to have the HTTP method enforced directly in the path. But let’s fi...

Get HTTP Route Values in Go

It seems like with every release, Go becomes better and better. Go 1.22 is no different. There are a lot of great advancements in this new release, but one in particular is really noteworthy: Impro...

Handling Concurrent Errors in Go

Go has a very powerful approach to concurrency. Not unlike other concurrency models, it can be challenging to handle errors. With Go, we utilize goroutines to handle our concurrent workloads. Take,...