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.

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

Using stunnel and TinyProxy to obfuscate HTTP traffic

Recently there has been a lot of coverage in both tech and non-tech news outlets about internet privacy and how to prevent snooping both from service providers and governments. In this article I am going to show one method of anonymizing internet traffic; using a TLS enabled HTTP/HTTPS Proxy. In this article we will walk through using stunnel to create a TLS tunnel with an instance of TinyProxy on the other side....

 · 12 min · Benjamin Cane