An Overview of Go's Tooling

Occasionally I get asked “why do you like using Go?” And one of the things I often mention is the thoughtful tooling that exists alongside the language as part of the go command. There are some tools that I use everyday — like go fmt and go build — and ot...

Slow down your code with goroutines

Or: How adding goroutines can keep your CPU busy shuffling things around.

Git: check if a folder changed

Often I need to “do X only if files on some folder changed” or whatever. I always need to Google that or find it on old scripts… This is a quick post for me to find on Google when I need it again and think “oh its me!”. Anyway, let’s get into...

Building an engine with the Veritone Engine Toolkit

Building an engine with the Veritone Engine Toolkit

How I use Postgres with Go

Most developers will have to interact with SQL at some point in their career, and often nowadays that means working with Postgres. I’ve been using Postgres with Go for a few years now and have found a couple of libraries that work really well together to make the Go Postgre...

Broken windows theory: why code quality and simplistic design are non-negotiable

Integration Testing in Go: Part I - Executing Tests with Docker

Introduction “Testing leads to failure, and failure leads to understanding.” - Burt Rutan Burt Rutan is an aerospace engineer who designed Voyager, the first plane to fly around the world without stopping or refueling. Although Rutan was not a software engineer, his words spe...

Sneaky Go interface conversion

Database Migrations with Go and Kubernetes

Applications with database layer mostly need to execute database migration as part of its deployment process. Usually, running migrations is the first step when deploying the application.