#241 — December 13, 2018

Read on the Web

Golang Weekly

Using Go to Build Microservices at The Economist: A Retrospective — Three years ago, the Economist moved to a Go-based microservice-oriented architecture and now we get to learn the (mostly) good and bad of their journey.

Kathryn Jonas

CertMagic: Automatic HTTPS for Any Go Program — Fully-managed TLS certificate issuance and renewal using Let’s Encrypt, provided you meet some basic requirements.

Matt Holt

Open Go Conference: South Florida - March 18 & 19, 2019 — Focuses on the open source community within the Go ecosystem. This event provides talks and workshops that will prepare and teach people how to effectively get involved and participate in open source, highlighting some of the very best open source Go projects.

OpenGo sponsor

Creating WebGL Apps with Go — A developer goes into detail about his experiences of building an interactive 3D WebGL-based application using Go (along with GopherJS and Vecty) and without a single line of JavaScript.

Ivan Danyliuk

Monitoring Go Applications With Prometheus — Prometheus is the most popular open source monitoring framework and makes it easy to capture metrics from your Go application.

Scott Wells

Go 1.11.3 and Go 1.10.6 Security Releases Due Later Today — Indications are that these releases are not serious enough for us to delay the newsletter, but if you are very proactive about upgrading Go around security issues, keep an eye out for 1.11.3 and 1.10.6 later today.

Dmitri Shuralyov

The First Beta Release of the Official MongoDB Go Driver — The MongoDB Go driver team has released the first beta release of a new, official driver for Go. The background as to why there’s an official Go driver now was covered in Considering the Community Effects of Introducing an Official MongoDB Go Driver earlier this year.


💻 Jobs

Software Engineers at JumpCloud (Boulder, CO) — JumpCloud is solving complex problems around authentication, security, and cloud scaling.


Join Our Career Marketplace & Get Matched With A Job You Love — Through Hired, software engineers have transparency into salary offers, competing opportunities, and job details.


📘 Tutorials

Just Tell Me How to Use Go Modules — No background, perspectives, or drama, just the minimal knowledge needed to get up and running with modules.

Allan Waddell

Dockerizing a Go Service — How to use Docker to build a module-enabled Go service from source code and wrap the final binaries inside a container image.

Alex Golshani

The Path to Production: How and Where to Segregate Test Environments — Bringing a new tool into an organization is no small task. Adopting a CI/CD (or any tool) should see a span of research, analysis & alignment.

Circle Ci sponsor

How to Hash and Verify Passwords With Argon2 in Go — Argon2 is a different (and better, some argue) key-derivation function for “password hashing and proof-of-work applications.”

Alex Edwards

String Interning in Go — String interning is a method of storing only one copy of each distinct string value and then referring to it from any place that string is needed or used.

Artem Krylysov

A Dive Into the fmt Package

Miki Tebeka

Controlling the Docker Engine from Go


Writing a Load Balancer in Go

Khoa Pham

🔧 Tools & Code

ISO8601: A Fast ISO8601 Date Parser — The format looks like 2017-10-29T21:41:38+0000

Jason Kingsbury

db: A Productive Data Access Layer for Different Data Sources — db is ORM(ish), abstracting away common data sources, such as PostgreSQL, MySQL, MongoDB, and MSSQL.


zero-width: Zero-Width Character Detection and Removal — Things like zero width spaces in strings can cause all sorts of headaches.

Nikola Trubitsyn

Gotenberg: A Docker-Powered Stateless API for Converting Documents to PDF


Monitoring & Distributed Tracing for Go Apps. Try Datadog Free

Datadog sponsor

Grafani Loki: Like Prometheus, But for Logs“Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus.

Grafana Labs

Go 2.0 Error Values Draft Implementation, Planned for V1.13 — Implements the Go 2.0 draft designs for error inspection and printing.


gbprinter: Convert Images Into GameBoy-Style Screenshots — It essentially posterizes images.


Rendora: A Dynamic Renderer for Zero-Conf Server-Side Rendering — Essentially a reverse HTTP proxy that uses headless Chrome to do server-side rendering of appropriate typically client-rendered content for bots, etc.


nbd: Go Implementation of Linux Network Block Device Protocol

Axel Wagner

Submit a link to us to (potentially) win a cute Go gopher!

Golang Market has kindly given us 20 Go gophers (inspired by Renee French's design) and we're giving one away each week to a random person who submits a link. You can submit your link here. Good luck.

Alternatively, you can get your own gopher here if you simply can't wait. 😃

This week's winner is Alex Golshani who submitted Dockerizing a Go Service - congratulations.