Hi 👋

My name is Benjamin Cane, and you've landed on my engineering blog. I have a background in distributed systems operations, architecture, and development. You will find articles about all sorts of topics like Docker, Linux, Go, Python, and lots more. I hope you enjoy the blog.

Using Viper With Consul to Configure Go Applications

Viper is a powerful configuration library which also supports pulling configuration from Consul. However, using Consul is not straightforward. This article explains how to use Viper with Consul...

 · 11 min · Benjamin Cane

Golang's Interfaces explained with Mocks

This article covers Go interfaces’ basics and how you can use them to create modular and testable code....

 · 7 min · Benjamin Cane

How to Structure a Go Command-Line Project

Best practices around structuring Go command-line applications where packages go, parse command-line arguments, and optimize for testing....

 · 9 min · Benjamin Cane

Golang working with JSON: Maps vs. Structs

This article covers how to use maps and structs to parse JSON, which is better and safer. It also covers how to work with maps safely....

 · 9 min · Benjamin Cane

Don't mock Databases, just run them with Docker

Use Docker Compose to create on-demand databases within your local & build environments...

 · 12 min · Benjamin Cane