#284 — October 18, 2019
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.
Uber
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.
TinyGo
💻 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.
X-Team
Software Engineer / Founding Teammate — A well funded, fast-moving startup that is changing the way large teams collaborate on documents. Think: GitHub for documentation.
Markup
Find A Job Through Vettery — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started.
Vettery
📘 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.. 😄
DigitalOcean
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.
GRAIL
Harmony: A Go Module for Using Discord's API — Discord 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
progressbar: A Basic Thread-Safe Progress Bar
Zack Scholl