#268 — June 27, 2019

Read on the Web

Golang Weekly

The Next Steps Toward Go 2 — A core team update on what’s happening with the Go project builds upon the work of last year’s Go 2, Here We Come post and focuses mostly on what new features are coming to Go 1.14.

Robert Griesemer and the Go Team

Go 1.13 Beta 1 Released — If you want to help out with testing the next version of Go.. The draft Go 1.13 release notes will also be helpful.

Andrew Bonventre

Do You Need Golang or Kubernetes Training? — We offer on-site corporate training for engineers that want to learn Go (Golang) or Kubernetes. Having trained over 4,000 engineers since 2013, we have carefully crafted these classes for students to get as much value as possible.

Ardan Labs sponsor

Panicking in Go The Right Way with OnEdge — A look at OnEdge, a library that can detect improper usage of the common Defer, Panic, and Recover approach in Go code.

Sam Moelius

Writing Clean Go Code — One author’s take (yes, a lot of opinions lie ahead!) on writing 'good' code in Go, covering functions, variables, return values, pointers, and interfaces.

Lasse Martin Jakobsen

Archiver: Easily Create and Open Archive Formats — Easily create and extract .zip, .tar, .tar.gz, and more. The just released version 3.2 adds support for Brotli and zstandard and improves gzip performance too.

Matt Holt

💻 Jobs

Go Engineer at OneFootball in Berlin — With over 30 million users and recent Series C investment from Adidas, OneFootball are looking to expand their Squad in Berlin.


Find a Go Job on Vettery — Vettery specializes in tech roles and is completely free for job seekers.


📘 Articles & Tutorials

A Comprehensive Guide of Arrays and Slices in Go — This post gives some nice examples to drive home how to think about arrays and slices, which is something that is often a source of confusion in Go.

Soham Kamani

Encoding Data with Go's encoding/binary Package — If you’re working with data and protocols at the bit level, this is what you need.

Vladimir Vivien

Monitoring and Distributed Tracing for Go Apps — Utilize flame graphs, search and analyze distributed traces to optimize Golang app performance.

Datadog sponsor

Speech to Text in the Browser using WebRTC — If you’ve been looking for a reason to learn more about WebRTC and its use cases, you could do worse than a speech to text service written in Go.

Rafael Viscarra

Go Modules on Badger and Dgraph — The last sentence of the post is “I’d argue it is better not to support Go modules at this point on Badger.” and has sparked a great (and respectful) back and forth between Go core team members and the Dgraph team.

Francesc Campoy

Basic Unit Testing in Go with a Real-World Example — A very entry level tutorial.

Mourya G

🔧 Tools & Code

Benthos: A Resilient Stream Processor for 'Mundane Tasks' — Use this to connect together various sources and sinks (e.g. S3, DynamoDB, Elasticsearch, files, Kafka, Redis, and many more) and perform operations on the payloads. GitHub repo.

Ashley Jeffs

Noti: Monitor a Process & Trigger a Notification When Complete — Don’t want to sit and wait for that make install to finish? This can help.

Jaime Piña

Automate Domains, DNS, and SSL Certificates via DNSimple API

DNSimple sponsor

Github Godoc Chrome Extension — Adds a couple of godoc related features to GitHub repos when browsing in Chrome.

Eyal Posener

ko: Build and Deploy Go Applications on Kubernetes — ko’s objective is to “to make containers invisible infrastructure.”


Astronomer: A Tool to Detect Illegitimate Stars From Bot Accounts on GitHub Projects — We monitor stars on GitHub a lot as a way to see up and coming Go projects and you wouldn’t believe just how much people try to game the system, so this is an interesting project.

Brendan Le Glaunec

Go 1.11, 1.12 and FIPS 140-2 on Red Hat Enterprise Linux — Red Hat is enabling an option in go-toolset that turns on the use of the FIPS 140-2 Cryptographic standard which is required in US & Candadian government procurement solutions.

Red Hat

Micro 1.7: The Microservice Runtime and Tools — A popular way to build scalable microservices in Go.