GopherCon 2016

Contributing to the Go project

Contributed by   2016-12-08

Contributing to the Go project can seem overwhelming, especially at first. The official Contribution Guidelines document is rather lengthy, but after working through the initial Google CLA and Gerrit authentication process, it becomes much easier to contribute to the project. This post will attempt to demystify the process behind contributing to the Go project, in an effort to encourage all Gophers to try to tackle an issue or solve a bug upstream for the benefit of others.


QPID - Go Powered BBQ

Contributed by   2016-12-07

Two of my favorite things to do are write Go code and make BBQ. This fall, I started a project that combined these passions into an interesting project. When I got a new BBQ grill this year, I wanted to find a way to control the temperature of the fire box programmatically. Some Internet research led me to Justin Dean’s PitmasterPi project. It’s written in Python, but Justin was kind enough to include a great writeup on both the software and hardware he used to control his grill.


Using NATS Messaging with some of your favorite Golang tools

Contributed by   2016-12-06

Quick Intro to NATS, and Why We Love Go! For those of you who have been reading GopherAcademy for a while, you may already be familiar with NATS via last year’s post, or you may have known about NATS for a while before that - NATS was one of the earliest production applications written in Golang. NATS is a very, very simple messaging system (just like Go is a simple to use development language), and shares many of the same characteristics developers like about Go.


Using Go's 'context' library for making your logs make sense

Contributed by   2016-12-05

One of the shiny new toys in Go 1.7 is the ‘context’ library. Not shiny as in it is genuinely new. It started out at, which is where you’ll need to import it from if you’re on 1.6 or before - but don’t worry, the old import path is completely forwards compatible. This library has been considered significant enough to make it into the standard library, and for good reason.


How Do They Do It: Timers in Go

Contributed by   2016-12-04

How Do They Do It: Timers in Go This article covers the internal implementation of timers in Go. Note that there are a lot of links to Go repo in this article, I recommend to follow them to understand the material better. Timers Timers in Go just do something after a period of time. They are located in the standard package time. In particular, timers are time.Timer, time.Ticker, and less obvious timer time.Sleep.


Go, Nginx, and TLS Termination

Contributed by   2016-12-03

With the advent of Let’s Encrypt, it’s now easier than ever before to ensure all of your web applications and services are behind HTTPS. However, many times it’s hard to realize the performance impact and overhead of using HTTPS on your applications. Should you terminate in Nginx? Go? Stunnel? ELBs? Luckily, it’s fairly easy to find out with a simple benchmark. We’ll put a Hello World server, written in Go, behind Nginx, set up as a TLS-terminating reverse proxy, and compare that to the native http.ListenAndServeTLS.


Writing Go assembly functions with PeachPy

Contributed by   2016-12-02

What is PeachPy PeachPy is a Python-based framework for writing modules in assembly. It automates away some of the details and allows you to use Python to generate repetitive assembly code sequences. PeachPy supports writing modules that you can use directly from Go for x86-64. (It also supports NaCl and syso modules, but I won’t cover those in this post.) This post is going to be mostly about what you need to know about integrating PeachPy and less a tutorial about PeachPy specifically.


December Blog Series Introduction

Contributed by   2016-12-01

2016 has been a great year for the Go language and the Go community. We love to celebrate the end of the year with a series of blog posts from the community on a wide variety of topics. Here are the articles from our previous three years: 2015 Posts 2014 Posts 2013 Posts As you can see from the quality of the past posts, you’re in for a treat this year.


GopherCon 2017 - Website Call for Volunteers

Contributed by   2016-12-01

Calling all Gophers! Many of you have asked how you can volunteer to help with GopherCon - and here’s a great opportunity! We’re doing our best to keep overhead costs down and apply the savings to an even better conference experience. Here’s where you come in… GopherCon 2017 is right around the corner and we haven’t created a website yet. We’re looking for a handful of Gophers to help build the site.


GopherCon 2016 - Retrospective

Contributed by   2016-07-20

GopherCon 2016 has come and gone, and in keeping with our tradition we wanted to write up a brief retrospective to capture some of the highlights of the event. It’s hard to believe it happened so quickly — we spend months planning all the details and then when the conference arrives it is over in the blink of an eye. This year we were joined by 1400 Gophers from 36 different countries.