In my post Managing your Go tool versions with go.mod and a tools.go I talked about how to track tool dependencies in a tools.go to more easily run your tools without a make setup step or similar.
However in the performance section I noted that there can be a slight performance h...
If you're using golang-migrate to perform your database migrations, you may wonder how to check what the current state of your migrations is.
I recently found myself doing the same, but finding an absence of anything explicitly documenting this, so thought I'd write it as a form...
Principles I've found useful for designing good Python library APIs, including structure, naming, error handling, and type annotations.
Let’s continue our exploration of fuzz testing in Go with a look at how to
write a fuzz target for a (nearly) realistic function. This time we’ll try
to detect a common kind of bug involving a confusion between runes and
bytes.
Let’s continue our exploration of fuzz testing in Go with a look at how to
write a fuzz target for a (nearly) realistic function. This time we’ll try
to detect a common kind of bug involving a confusion between runes and
bytes.
Envoy is a configurable proxy that serves
a prominent role in modern cloud-native projects; for example, it's
used in many k8s deployments to provide inter-service communication (through
Istio). In this post, I'd like to describe Envoy's extension mechanism as a case
study of usi...
For a couple of the Ruby on Rails applications I work on at work, we use Sorbet for type checking.
Late last year we were integrating a JSON Schema based Lambda with the Rails application, so needed to create models to interact with it.
I started hacking on a command-line tool to...
In my post Getting a --version flag for Cobra CLIs in Go, built with GoReleaser I wanted to add a --version flag to my Go command-line tools.
However, I noted that this solution only works when using GoReleaser, and doesn't work when built from source.
Fortunately this week Carla...