#264 — May 30, 2019

Read on the Web

Golang Weekly

Note: Image may not be actually representative of the real Go core team.

Core Go Developers Respond to Queries Over Who Go Really 'Belongs' To — The ongoing conversation around the “Go is Google’s Language, Not Ours” article we linked last week, including Russ Cox’s response:

There are certainly senses in which Go is Google's language: it was created at Google, Google continues to fund most of the development, and a few people at Google are the final deciders about the language itself. But I disagree with the “not ours:” I think Go is also the Go community's language.

Google Groups

Announcing the Fastest WebAssembly Runtime for Go: Wasmer — Wasmer is a WebAssembly runtime written in Rust but it is now available to use as a Go library (GitHub). Here’s how to use it and a look at just how fast it is.

Ivan Enderlin

Do You Need Help Migrating / Building an Application? — When it comes to building, maintaining and deploying production level software in Go, there are few companies that have the level of expertise and experience Ardan Labs has. Let’s talk to see if we can augment your development team or help you build a product.

Ardan Labs sponsor

▶  15 Talk Videos from Gophercon SG 2019 — The Singapore edition of Gophercon took place a few weeks ago and the recorded talks are now coming out on YouTube. Talks run the gamut from deep learning and security to memory allocation and garbage collection. Dave Cheney also did a keynote on writing easier-to-read Go code.


How to Make a Tic-Tac-Toe Bot with WebAssembly for Go — This post spends a lot of time on the algorithm used to figure out next moves, which is interesting on top of the use of WASM.

Chris Chuck

GRank: An Attempt at Ranking Go Packages a la PageRank — Uses an algorithm based on various factors (GitHub stars, how many other packages depend upon it, etc.) to help you pick the best package for your project. It’s not perfect, but an interesting idea. Logrus is the highest ranked third party package so far.

Bela Hullar

💻 Jobs

Lead Go Backend Engineer - Retail Platform — As Lead Engineer, you will help your team design and build scalable applications that power processes across all retail departments.

Zalando Outlets

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


📘 Articles & Tutorials

Parallel Test Execution in Go — Did you know that Go has had parallel test runner (of sorts) since version 1.7? I didn’t.

Elani Fragkiadaki

How To Do Math in Go with Operators — A simple subject, you’d think, but there are some nuances around unary operators, precedence, and compound operators.


All About Code Completion in GoLand IDE — Read how GoLand's code completions features help to create fast, efficient, and reliable code faster.

JetBrains sponsor

How to Compile Go Code 40% Faster with a RAM Disk — I’m surprised this still matters and your own results may vary but.. interesting nonetheless.

Dalton Tan

'I Don't Know How CPUs Work So I Simulated One in Code' — Written in Go, Daniel has been working on a complete simulation of a computer from NAND gates up to something that actually works. GitHub repo.

Daniel Harper

🔧 Tools & Code

Unioffice: A Pure Go Library for Working with Office Documents — Supports creating and processing Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents. Used to be called gooxml.


TinyGo 0.6.0 Released: The Go Compiler for Microcontrollers and WebAssembly — This came in at the last minute, so I’m going to repeat what Ron Evans said to us: “This is a very big update with great enhanced support for WASM, also much improved CGo capabilities, and also a couple of new Adafruit microcontroller boards, bringing our total up to 14 different MCUs.”

Ron Evans

Prevent Downtime with Proper Kubernetes Resource Planning

Gravitational sponsor

Micro 1.2: The Microservice Runtime — A set of tools (API gateway, CLI tools, a dashboard, etc.) for building scalable microservices easily. Version 1.2 adds support for Discord and Telegram bot inputs.


VictoriaMetrics: A High Performance Time Series Database — Written in Go, it supports PromQL, is happy ingesting historical data, and integrates well with Prometheus and Grafana. GitHub repo.

Aliaksandr Valialkin

gemux: A 'Good Enough Multiplexer' for HTTP Services

Franklin Harding

Viper: A Complete Configuration Solution for Go Apps — Used by projects like Hugo, Nanobox and Docker Notary, this is a mature project but continues to get frequent releases.

Steve Francia

websocket: A New, Minimal, Idiomatic WebSocket Library for Go — Inspired by a couple of other implementations with an eye on simplicity.

Anmol Sethi