All Posts

gRPC Go: Beyond the basics

Introduction As a newcomer to gRPC (in Go) there are many resources setting out what gRPC is, where it originated from and how to create a basic service and client.

Web Sessions and Common User Workflows - A Foundation for Go-Based Websites

Go is widely used to implement microservices and APIs. And for those wishing to set up a dynamic website without resorting to, say, Ruby or PHP, Go offers a lot of tools out of the box.

Parsing with ANTLR 4 and Go

What is ANTLR? ANTLR (ANother Tool for Language Recognition), is an ALL(*) parser generator. In layman’s terms, Antlr, creates parsers in a number of languages (Go, Java, C, C#, Javascript), that can process text or binary input.

Custom JSON unmarshaler for a GraphQL client

In this post, I will tell a story of how I had to build a custom JSON unmarshaler for the needs of a GraphQL client library in Go.

Repeatable and Isolated Development Environments for Go

One of the common criticisms of the GOPATH is that it is hard to create isolated development environments without resorting to hacks, bash scripts, multiple GOPATH settings, or other trickery.

A Tale of Two `rand`s

I had always been a bit confused as to how the crypto/rand package and the math/rand package were related, or how they were expected to work (together).