#213 — May 31, 2018
Golang Weekly
The 'vgo' Proposal Is Accepted. Now What? — If you missed last week’s epic vgo roundup issue, you might want to catch up. The acceptance of the vgo proposal gave many programmers many feelings, but what does proposal acceptance actually mean? Hint: Probably not what you think.
Russ Cox
How The Go Runtime Implements Maps Efficiently (without Generics) — This post starts by addressing what a map is, how it works, how other languages implement maps, and the balance Go’s designers struck.
Dave Cheney
How Twilio Improves 'Mean Time To Discovery' with Rollbar — "The worst thing that can happen is a customer writes in to the support team to say something is broken... If my 'Mean Time To Discovery' is based on a customer support ticket, I’ve failed." Learn more how Twilio uses Rollbar.
ROLLBAR sponsor
Revive: A New Fast, Extensible, Configurable Go Linter — golint is quite opinionated and minimalistic but Revive takes a more extensible approach.
Minko Gechev
Tracking the Status of Go 2.0 — A wiki page has been created to collect links from the core team about the status of Go 2.0. Not much to see yet, however. Core team member Brad Fitzpatrick says he’s "rooting for generics & better error handling."
Official Go Repository
Why Cant I Pass This Function As An HTTP Handler? — I’ve always wondered why I can’t pass a function that looks like an http.Handler as an argument without using http.HandlerFunc. Now I know.
Jon Calhoun
On Failure Modes — An interesting treatise on minimal version selection (MVS) as used by tools like vgo and how game theory helps show some weak spots in using such systems at scale.
sam boyer
💻 Jobs
Data Engineer: Go & Python | Fresh8 Gaming | Bristol UK, Relocate — Friendly team serious about tech, building in open source. Grow your skills across analytics, data science and scaling.
Fresh8
Go Expert? Sign Up for Vettery — Top companies use Vettery to find the best tech talent. Take a few minutes to join our platform.
Vettery
📘 Tutorials
An Algorithm to Generate Color Palettes
Christian Muehlhaeuser
eBook: Efficient Project Management for Small Engineering Teams
Codeship sponsor
Writing gRPC Interceptors in Go
Shiju Varghese
Go Test Your Tests in Go with 'go test' — Four tips about how Go runs tests and some tricks you can use.
Mike Choi
Building Scalable Web Services in Go — A few best practices aggregated from around the world of Go.
Hriddhi Dey
Go Garbage Collection and Files — An interesting bug and fix around what happens to a file descriptor when the backing file object is garbage collected.
Kevba
Access Powerful CPUs with Dedicated Hyper-Threads at the Lowest Rates
DigitalOcean sponsor
Delve CLI Debugging Cheatsheet
Thomas Stringer
🔧 Code & Tools
fastjson: Fast JSON Parsing for Go
Aliaksandr Valialkin
Monitoring, Alerting, and Distributed Tracing for Go Apps — Get full-stack monitoring for your Go apps, logs, and 200+ infrastructure integrations. Try Datadog free.
Datadog sponsor
Deno: A Secure TypeScript Runtime on V8 6.8 — An interesting idea from the original creator of Node.js, Ryan Dahl. It’s built with Go, is not Node or npm compatible, and is.. ‘segfaulty’ :-)
Ryan Dahl