#228 — September 13, 2018

Read on the Web

Golang Weekly

From Prototype to Production: Lessons from Building and Scaling Reddit's Ad Serving Platform with Go — Reddit built their own ad serving system to replace a third-party service and here’s their rather in-depth tale of using Go, Thrift, and RocksDB to do it. Slides here or video of the talk here.

Deval Shah and Farhan Attamimi

Go Says WAT? — A series of WATs (meaning, language ‘WTFs’) live blogged from a presentation at GopherCon. Enjoy figuring out what’s going on in these code examples. Video of the talk here.

Jon Bodner

Webinar: A Crash Course in Kubernetes and Security — Kubernetes is Google’s answer to container orchestration and some of the tools it provides developers are indistinguishable from magic. In this webinar, learn how to secure it, monitor your infrastructure for attacks, respond to incidents, and more.

Signal Sciences sponsor

Go 2 Contracts Go Too Far — Nate isn’t keen on the draft design for contracts and thinks 90% of the same result can be achieved with just 20% of the complexity - he lays out his case here.

Nate Finch

▶  The GopherCon 2018 Videos, Now on YouTube — You might have noticed we’ve been linking to the (excellent) notes for many GopherCon talks this week and last, but now you can watch many of the talks for yourself! Enjoy talks on things as diverse as implementing a network protocol, machine learning, writing accessible Go, and structuring Go apps.


On the Road to Pure Go X11 GUIs — A developer looks at the current state of developing for X11 (the windowing system popular on UNIX-like systems) using Go, and specifically avoiding leaning on Cgo.

Přemysl Janouch

💻 Jobs

Mid-level & Senior Backend Go Engineers - North America (Remote) — Help us build & deliver reliable solutions for our clients. We are a high-performance software development firm.

Ardan Labs

Try Vettery — Create a profile to connect with inspiring companies seeking Go devs.


📘 Tutorials & Articles

Love HTTP Tests with tf — tf is a microframework for parametrized testing of functions in Go.

Elliot Chance

How to Use Helm Package Manager to Deploy Apps on Kubernetes Clusters — Helm makes it easier for developers to configure and deploy applications on Kubernetes clusters. Learn more.

DigitalOcean sponsor

Everything You Need to Know About Packages in Go — An overview of package management and deployment in Go.

Uday Hiwarale

Monitoring Go Web Apps using Gin and Prometheus

Attila Prekopcsak

▶  Getting Started with WebAssembly using Go — We’ve covered this topic a lot lately but if a 10 minute screencast appeals to you, here you go :-)


Go, Rust and the Cost of Brain Power — Celebrating Go’s pragmatism versus Rust’s “correctness”. Not a lot of meat on this bone, but you may find it useful to cite sometime.

John Nguyen

Make Go Applications Faster with StackImpact

StackImpact sponsor

The State of GUI App Development with Go in 2018 — Looks at Electron, Webview, go-sciter, and therecipe/qt while missing other options.

Radhi Fadlillah

🔧 Tools & Code

A Simple Pacman Clone Written in Go — This is pretty neat to mess with. It uses the 2D game library ebiten.

Suyash Katiyar

Porcupine: A Fast Linearizability Checker — Takes a sequential spec written in Go, a history, and determines if the history is linearizable according to the spec. And if you’re intrigued why this is a thing, this is a neat intro to the topic.

Anish Athalye

OgLang: An Indentation-Based Language That Compiles to Go — An interesting experiment, at least. As CoffeeScript is to JavaScript, Og is to to Go, though an eventual goal is to introduce more functional concepts.


fasthttp: Fast HTTP Server and Client Package for Go

Aliaksandr Valialkin

Monitor and Analyze Go Applications in Real-Time. Try Datadog Free

Datadog sponsor

GRV: A Terminal Interface for Viewing Git Repositories

Richard Burke

TiDB: A Go-Powered Distributed Database System — TiDB is an open source, MySQL protocol compatible, distributed database system built in Go. Not new, but has had a lot of updates recently.