#226 — August 30, 2018

Read on the Web

Golang Weekly

Go 2 Draft Designs — A “draft design” is the precursor to an official proposal to change the language. The three draft designs here focus on error handling, error values, and…(wait for it)…generics! There’s also a video explaining these developments.


Go 1.11 Released — If they’re going to release on Fridays, we might have to move the newsletter to Saturdays(!) :-) Nonetheless, the latest major release of Go is here and introduces both modules and experimental WebAssembly support. Full release notes here.

Andrew Bonventre

Data-Driven Guide to Level-Up Your Engineering Team 🚀 — We analyzed 10M+ commits & share how you can include data-driven insights to increase velocity. Empowering teams with deep git visibility to determine what’s working, celebrate victories & quickly identify risks. Request a free trial.

GitPrime sponsor

Defer: Sweet, But No Syntactic Sugar — Sure, defer is a convenient language feature, but it changes the semantics of a function so you’d best know how and why.

Julien Cretel

Microsoft Announces Project Athens and GopherSource InvolvementAthens is a “Go module datastore and proxy” and GopherSource is an effort to strengthen the Go ecosystem by encouraging contributors to community projects.


HTTP/2 Adventure in the Go World — The Go standard library net/http package supports HTTP/2 now. Well, mostly.

Eyal Posener

GopherJS 1.11–1 Released — While Go 1.11 can compile to WebAssembly, GopherJS is more mature, established, and has plenty of utility left to use. GopherJS 1.11-1 adds support for Go 1.11 specifically.

Dmitri Shuralyov

💻 Jobs

Smart Mobility Gopher @ Be-Mobile — We build next-gen mobility solutions using Golang and Kubernetes. Join us in Ghent, Belgium.


Find A Go Job Through Vettery — Create a profile to connect with inspiring companies seeking Go devs.


📘 Tutorials & Articles

Some Go Error Handling Practices“a few error handling practices which improve the observability of a system and make debugging easier.”

Márk Sági-Kazár

Build a Netflix Style Video Platform - Golang API Client

Bitmovin sponsor

Using Go Modules with Vendor Support on Travis CI

Fatih Arslan

Shrinking Go Binaries — Using tools like strip and upx (a “packer for executables”) you can get some pretty solid reduction.

John Ford

Circuit Breaker and Retry — Examples of some common patterns for service-to-service communication that address resiliency.

Dan Tran

Go 1.11 and Beyond — Slides from a talk (and, yep, here’s the video) at Go Northwest that show off the Go development schedule and reflects primarily on how language features are continuing to progress.

Brad Fitzpatrick

Do You Need Go Training or Help Building an Application in Go?

Ardan Labs sponsor

▶  Painting With Light — Not a lot of code but a neat story about one developer’s hobby project “tracing the paths of billions of photons with Go on cheap cloud hardware.”

Hunter Loftis

▶  A Panel With (Some of) the Go Team — An hour long panel question-led discussion between Filippo Valsorda, Andrew Bonventre, Cassandra Salisbury, and Steve Francia.

GopherCon EU 2018

🔧 Tools & Code

wasmgo: Compiles Go to WASM and Serves Locally or Deploys to a CDN

Dave Brophy

BuzzFeed Open Sources Its 'sso' Authentication Proxy — It’s how they secure access to internal services at BuzzFeed and is written in Go(lang).

Shraya Ramani

Vegeta: An HTTP Load Testing Tool — Now supports HTTP/2 too.

Tomás Senart

Catch Go Errors Before Users Do — Detect Go production errors in real-time, then debug them within minutes.

ROLLBAR sponsor

GopherCon 2018 Performance Tuning Workshop — The code, exercises, and schedule of Dave Cheney’s Performance Tuning workshop from GopherCon.

Dave Cheney

Fleep: Quick File Format Determination in Go — Recognizes about 100 formats based on magic numbers it expects to find at certain offsets into the file.

Mykyta Paliienko

Strobfus: Obfuscate Strings Within Your Go Binaries — Essentially security through obscurity, but possibly useful to hide less dangerous data.


Colly 1.1 Released: A Fast and Elegant Web Scraping Framework


GoCV: Computer Vision in Go using OpenCV 3+ — We’ve linked this before but the latest version is just out.

The Hybrid Group