Original post

#289 — November 22, 2019

Read on the Web

Weekly

Go’s ‘Features of Last Resort’ — A ‘feature of last resort’ is a language feature that solves an otherwise hard-to-solve problem but is best avoided if possible (think goto in other languages). This post covers six such situations.

Martin Tournoij

Take the Go Developer Survey 2019 — The core team are very keen for as many gophers as possible to take this 15 minute survey to help them get feedback on the language we all know and love. Fill it out and help evolve in the future. P.S. If they ask you to recommend a Go news source, you know what to say(!) 😄

Go Team

What Did You Ship Last Quarter? — Automatically generate editable, searchable release notes with every pull request. Next Release provides a dashboard of release notes across every project. With Github and Slack integration, share your releases across effortless in your organization.

Next Release sponsor

Beating C with 70 Lines of Gowc is a command line utility, written in C, for counting lines, words, and characters in files, but can an equivalent written in Go give it a run for its money?

Ajeet D’Souza

cli 2.0: A Fast Way to Build Go CLI Apps — A long standing library that’s sprung back into life this year. Here’s the v2 manual which shows off all the main features.

Jeremy Saenz and Contributors

Google App Engine Now Offers a Runtime for Go 1.13 — It’s in beta but brings App Engine into the module based world and “users are broadly reporting decreases of 20% – 50% in memory footprint.”

Google Cloud Platform

💻 Jobs

Are You a Go Developer? Stream Has a Job for You — Stream is looking for a talented Go developer with a passion for building scalable infrastructure. Apply now.

Stream

Cloud Platform Engineer – Kubernetes, Cloud Foundry, BOSH — Accelerate your experience & build products that help developers to ship software faster.

anynines

Find a Job Through Vettery — Make a profile, name your salary, and connect with hiring managers from top employers. Vettery is completely free for job seekers.

Vettery

📘 Articles & Tutorials

Rebel Go: Forking encoding/json — The standard library JSON encoder makes a ton of allocations. Phil has another approach that reduces them to…zero. Should he fork the standard lib and fix it?

Phil Pearl

Building a Go Package That Annotates Errors with Stack Traces — A nice exercise in creating custom errors.

Komu Wairagu

Reactive Planning and Reconciliation in Go — Something that’s easier to show than explain, but essentially this is a post about control theory and the idea of code and systems being resilient to gaps between reality and the desired state of a system.

Gianluca Arbezzano

API Distribution Made Simple — Add your API to the fastest growing developer communities with one integration.

Manifold sponsor

Go As Glue: JSON + XML + PNG = PDF — A bit of a different use case for Go: collecting a bunch of card images and printing them to PDF.

David Golden

How We Compiled a Go Database (TiDB) in the Browser Using WebAssembly — I’m still convinced Go has a very strong future in the WebAssembly and this article on how getting TiDB into the browser was even possible is only convincing me more.

Joshau Zhou

Computational Reproducibility: Some Challenges — Rob talking about something called the “Ten Years Reproducibility Challenge” where you run your code from 10 years ago and, I dunno, cringe? This leads to how Go makes guarantees about compatibility and that’s not going to change.

Rob Pike

🛠 Code & Tools

gothanks: Automatically Star Your go.mod Github Dependencies — Send thanks to those you depend on with a simple tool.

psampaz

BadgerDB v2.0 Released — Badger is the Go-powered key-value store that powers much of DGraph’s capabilities.

DGraph

Echo: A High Performance, Minimalist Web Framework — A framework aimed at building REST APIs complete with a router, middleware framework, HTTP/2 support, and more.

LabStack LLC

Measure and Improve Go Code Performance With Blackfire.io

Blackfire.io sponsor

Fastzip: A Performance-Focused zip Archiver and Extractor

Arran Walker

musig: A Go Implementation of a Shazam Like Music Identification Tool — For all of you that want to host your own Shazam-like service for identifying music from audio samples, listen up!

Sami Tabet

Pigo: A Pure Go Face Detection Library — We’ve linked this a couple of times this year, but the progress has been impressive. v1.4 has added WebAssembly support so it can now be used for face detection on the front-end too.

Endre Simo