#284 — October 18, 2019

Read on the Web

Golang Weekly

Working with Errors in Go 1.13 — Error handling is a common topic of discussion (and, sometimes, innovation) and things have improved slightly in Go 1.13 with the introduction of new ways to examine, wrap, and unwrap errors.

Damien Neil and Jonathan Amsterdam

Uber's Go Style Guide — This is a guide to the conventions that go beyond go fmt, like performance tips, guidelines (“Start Enums at One”), and more.


Video for Your Go App That Streams Beautifully, Everywhere — Whether you have thousands of streams or millions of viewers, automatically deliver the best viewer experience with Mux's live streaming API. Sign up and get $20 credit today.

Mux sponsor

Request Smuggling Between Amazon ALBs and net/http — If you’re running Go services behind an AWS ALB (Application Load Balancer) you’ll want to consider upgrading your Go version. There’s a really nice illustration showing off the problem here too.

Adam Scarr (99designs)

Go 1.13.2 and Go 1.12.11 Released — Releases to fix a recently reported security issue (separate to the one related to the ALB story above which was fixed in 1.13.1) around DSA public keys. There’s also a fix around negative slice indexes.

Katie Hockman

TinyGo 0.9.0 Released — The “Go compiler for small places” (such as microcontrollers and WebAssembly) adds experimental Windows support, Go 1.13 support, and more.


💻 Jobs

Golang Developer at X-Team (Remote) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers.


Software Engineer / Founding Teammate — A well funded, fast-moving startup that is changing the way large teams collaborate on documents. Think: GitHub for documentation.


Find A Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.


📘 Articles & Tutorials

Interpreting Go — In an effort to get more comfortable with Go’s Abstract Syntax Tree, here’s a step-by-step tutorial on parsing Go.

Phil Eaton

Flat Application Structure in Go — Simply having all of your app’s .go files in a single directory isn’t necessarily something to be avoided, as long as you keep some things in mind..

Jon Calhoun

How to Build a Custom Kubernetes Ingress Controller in Go — I like how the author describes this post: “Even if you have no need to make your own ingress controller, the steps described below are generally useful for Kubernetes development as well as building HTTP proxies in Go.”

Caleb Doxsey

The Art of PostgreSQL: A Book to Learn How to Best Use SQL from Your Go Application — The book that teaches SQL to developers: learn to replace thousands of lines of Go code with simple SQL queries.

The Art of PostgreSQL sponsor

Understanding Pointers — An introductory guide to a concept that frequently trips developers up in every language in which they’re implemented.. 😄


Implementing Dijkstra's Algorithm — Dijkstra’s Algorithm finds the shortest path between vertices in a graph.

Jonatas Baldin

Decorators in Go Using Embedded Structs — Embedded structs can help you avoid a lot of boilerplate code when creating decorators.

Fabian Lindfors

🛠 Code & Tools

Bigslice: Serverless Cluster Computing in Go — A serverless cluster data processing system for the Go programming language that exposes a composable API that lets users express data processing tasks in terms of a series of data transformations that invoke user functions.


Sessionup: Simple HTTP Session Management and Identification


Harmony: A Go Module for Using Discord's APIDiscord is a popular chat app, particularly in the gaming community.

Antoine Couchard

Trace Requests from Go Apps End-To-End to Identify Errors and Latency

Datadog APM sponsor

JSONIterator: A High-Performance Drop-in Replacement for encoding/json


progressbar: A Basic Thread-Safe Progress Bar

Zack Scholl