Why InfluxDB is written in Go

InfluxDB is an open source time series database written in Go. One of the important distinctions between Influx and some other time series solutions is that it doesn’t require any other software to install and run.

Kubernetes + Go = Crazy Delicious

What is Kubernetes? And what kind of name is that? Kubernetes is a container cluster management system. Modeled after Google’s internal systems, Kubernetes (or k8s for short) allows users to schedule the running of Docker containers over a cluster of machines.

Introducing the Go Birthday Bash 2014

The Go Birthday Bash Today is a special day for Go enthusiasts across the globe. We’re celebrating the 5th birthday of a programming language, and perhaps just as importantly: a community.

Error Handling In Go, Part II

Introduction In part I of this post, we learned about the error interface and how the standard library provides support for creating error interface values via the errors package. We also learned how to work with error interface values and use them to identify when an error has o...

Welcome to the new Gopher Academy Blog

Welcome Gopher Academy is focused on bringing Gophers together. Our yearly conference GopherCon is a great example of our commitment to building a strong and inclusive community around the Go programming language.

Exponential Backoff with Java 8

Exponential backoff is an algorithm that uses feedback to multiplicatively decrease the rate of some process, in order to gradually find an acceptable rate. —- Wikipedia I recently used this strategy in work to deal with another service that we need to integrate. Sometimes, the...

Making and Using HTTP Middleware

When you're building a web application there's probably some shared functionality that you want to run for many (or even all) HTTP requests. You might want to log every request, gzip every response, or check a cache before doing some expensive processing. One way of organising...

Interface pollution in Go

If there was a single powerful language feature in Go, it’d be the interfaces. The internals of Go contain strong combinations of useful ideas from various type systems and inevitably they ring the curiosity bells. I recently surveyed Github for Go interface declarations, and t...

Error Handling In Go, Part I

Introduction It is idiomatic in Go to use the error interface type as the return type for any error that is going to be returned from a function or method. This interface is used by all the functions and methods in the standard library that return errors. For example, here is the...

Elections, in Ruby

Updated with second round script in Oct 26, 2014. Well, last sunday (Oct 5) was the brazilian elections. I was doing nothing, so I decided to write a simple ruby script to parse the results and show the top 3 candidates. Besides the reverse clean-code done by the TSE (Superior El...