Learn Go: by Concatenating Strings

Joining strings is so common that many of us take it for granted. While working through the exercises in ‘The Go Programming Language’ book as part of the London Study Group, I wanted to understand the differences between the various approaches for joining strings. This is what I found.

Beyond the Tour

Last Wednesday I gave a talk at the London Gophers meet-up about life Beyond the Tour. This post includes the video and slides from the talk, but also looks at a couple of the doubts I had going in to the event. Were they justified?

Multi Architecture Docker Builds

Docker has had the ability to build multi-architecture images for a while. I’ve never had cause to use it, until now. In this post I’ll walk through building a docker image that should work on your laptop and a Raspberry Pi.

Go App Engine

Google recently announced an update to App Engine that brings support for the Go 1.11 runtime. This release also enables the deployment of standard Go applications on App Engine. In this post, I show you how.

How Expensive Is a Go Function Call?

I noticed that the recursive implementation of an algorithm performed slightly worse than its inline equivalent. I didn’t know whether I could attribute this overhead to the cost of the additional function calls needed in a recursive implementation. I set out to see if I could see behind the scenes of a Go function call.

Art in The Age of Computers

Art in The Age of Computers is a small display at the V&A Museum in London. I decided to try recreating one of the images by Georg Nees using Go. It’s simple a simple algorithm that produces beautiful results.

Go: HTTP Testing

For some reason, I have struggled to write testable HTTP APIs in Go. In this post, I explore the challenges with writing testable APIs by building an API that tells us whether someone is up in space right now.

Google App Engine: Private Services

Google App Engine projects can contain multiple services. By default all services are exposed publicly. In this post we explore ways to restrict access to certain services to ensure that they can only be called internally within our project.

Google App Engine: Service Discovery

It is possible to run multiple services within a single project on Google App Engine. In this post we explore how to implement rudimentary service discovery within your project. This eliminates the need to maintain separate service URLs during local development.

Creative AI

Could art hold the key to explaining the mysteries of Artificial Intelligence? What if we could exploring their inner thoughts? What if we could see them dream?