Writing an API Client in Go

Let’s say you need to write a client that talks to a third party API, like the AWS API, or the Twilio API. Go gives you a lot of tools that can help you write a really good client, but you have to know how to take advantage of them!

Predicting genetic diseases with CloudForest

CloudForest is a machine learning project dedicated to the construction of Random Forests built entirely in Go. It was created by Ryan Bressler. Random Forests are a machine learning algorithm based around the construction of many single classification trees, each splitting both...

Teaching Go to complete beginners

TL;DR How about arranging a GoBridge workshop for beginners as your New Year’s resolution? Teach Go to complete beginners Being a good Go programmer is definitely good.

Implementing Git's Compression In Go

Implementing Git’s Compression in Go Git + Go = Gitgo Gitgo is a pure Go library for core Git functions. As a ground-up implementation with no C bindings, it implements the entire structure of Git repositories from scratch.

Picturesque!

Let's face it: Pictures taken with a smartphone usually aren't quite like Ansel Adams masterpieces. But with a little post-processing, some of them might still reveal their true beauty. A couple of Go libraries can help.

Enigma emulator in Go

Introduction This story begins the day after I got home after giving a talk at the wonderful DevFest Siberia. Shortly after my weekly fix of Westworld, a strange nagging feeling appeared — like the one you get from unpaid bills, a postcard that you forgot to send, or a particul...

Gleam: Distributed Map Reduce for Golang

After developing Glow last year, I came to realize the two limitations of Go for distributed data processing. First, generics are needed. Of course, we can use reflection.

Mutex profile

Go 1.8 introduces a new profile, the contended mutex profile, that allows you to capture a fraction of the stack traces of goroutines with contended mutexes. You need to set the sampling fraction by calling runtime.SetMutexProfileFraction to a value above zero to enable collectio...

So you want to expose Go on the Internet

Back when crypto/tls was slow and net/http young, the general wisdom was to always put Go servers behind a reverse proxy like NGINX. That’s not necessary anymore!

Advanced Encoding and Decoding Techniques in Go

Advanced Encoding and Decoding Techniques Go’s standard library comes packed with some great encoding and decoding packages covering a wide array of encoding schemes. Everything from CSV, XML, JSON, and even gob - a Go specific encoding format - is covered, and all of these...