Testing Microservices in Go

This post is about testing microservices and why they should be tested differently from many types of software. Microservices are by their very nature simple and encapsulated behind their api.

Managing Dependencies

Packages, dependencies, versions. This post will explore two tools and how I’ve been using them. Godep as the consumer of third-party packages, and gopkg.in as a library author.

Cobra: A Modern & Refined CLI Commander

Go is the perfect language to develop command line applications. Go has a few advantages that really set it apart from other languages: Single binary Very fast execution time, no interpreter needed Go is awesome!

Simple backoff

Or, taming connection state and thundering herds. There comes a time in the life of many programs when you need to maintain a persistent connection to a server.

Atlas: Building with Rails and Go Microservices

Atlas is a recently announced service by HashiCorp that provides a single platform to take an application from development through to production. The complexity of the problem makes Atlas a sophisticated web service that is composed of many moving pieces.

Soy - Programmable templates for Go, Java, JS

Closure Templates (aka Soy Templates) is a client and server-side templating language developed at Google. The Go implementation exposes the the internal structure of the template (the AST).

Wrapping Git in rc shell

Wrapping Git in rc shell Introduction When Rob Pike announced the migration of Go from Mercurial and Rietveld to Git and Gerrit, like most people, I was pretty enthusiastic.

Using Pointers In Go

Introduction I am asked quite a bit about when and when not to use pointers in Go. The problem most people have, is that they try to make this decision based on what they think the performance tradeoff will be. Hence the problem, don’t make coding decisions based on unfounded t...

The Case Against Third Party Libraries

Or how I learned to stop worrying and love versionless package management If you spend any time on the golang-nuts mailing list you’ll learn that the only thing more contentious than generics is package management.

Lint your shell scripts

I will start this by quoting the bashstyle’s readme: Bash is like the JavaScript of systems programming. Although in some cases it’s better to use a systems language like C or Go, Bash is actually an ideal systems language for many smaller POSIX-oriented or command li...