#​375 — August 13, 2021

Unsubscribe  |  Read on the Web

📋 Next week we're taking a brief summer's break so the next issue will be on Friday, August 27 – thanks for reading and we'll see you again then :-)
Peter Cooper, editor

Go Weekly

A Tale of Two Copies — This is quite the saga of chasing down a performance issue and you can actually feel Jeff’s exasperation at times. While the culprit is found, the journey is the takeaway.

Jeff Wendling

Common Anti-Patterns in Go Web Applications — An excellent checklist to post for your team to ensure they don’t slip into these patterns and, instead, write loosely coupled code that keeps them productive and happy.

Miłosz Smółka

Fast Redis Hosting and Analytics — RedisGreen databases include seamless online upgrades, SSL encryption, key size tracking, memory mapping, and more.

RedisGreen sponsor

Awesome Go: Over 2000 Go Links, Library and Tools — We link this epic resource of Go links, libraries, projects every several months and it’s still getting frequent updates (unlike many ‘awesome’ lists nowadays). As well as being a useful resource, if you have a Go project of your own, you can add it to the list and become a part of Go history :-)

Awesome Go

Handling Errors From Deferred Functions in Go — It’s easy to mishandle errors in this case, but just as easy to do it right.

Thomas Stringer

An Old Hacker's Tips on Staying Employed — These are great and reinforce a couple of global truths: 1. The tech you’re using doesn’t matter, and 2. No one cares about your career as much as you do, so take care of it.

Mad Ned

Running a Go Application on Bare Metal — The creator of eggos (a Go unikernel) shares some demos.



Senior Software Engineer (Go) - 100% Remote, UK/EU Only — Solving complex technical challenges using the latest, cloud-native technologies to help Banks and FinTechs move money faster.

Golang Developer at X-Team (Remote) — Join the most energizing community for developers and work on long-term projects for Riot Games, FOX, Sony, Coinbase, and more.

Find Tech Jobs with Hired — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers.

map[string]interface{} in Go — Part of a series, this article dives into Go’s answer to the untyped map including when and when not to use it.

Bitfield Consulting

▶  Data Streaming and Benthos with Mihai Todor and Ashley Jeffs — A discussion on data streaming and particularly on the Go-powered Benthos stream processing system we’ve linked to numerous times now.

Go Time Podcast podcast

"Go Keeps Surprising Me with Its Careful Design and Specification"
Chris Siebenmann

Learning Go by Examples: Creating a Bot for Discord
Aurélie Vache

🛠 Code & Tools

Pigiron: A MIDI Routing Utility with Extensive OSC Interface — You’d use this if you have a variety of MIDI devices, sources or destinations and want to script them together, modify MIDI messages, etc.

Steven Jones

Dasel: Query and Update Data Structures from the Command Line — Think of jq, but for many more formats, such as JSON, TOML, YAML, XML, and CSV. Can be used as a CLI tool or as a Go package.

Tom Wright

Run Faster and Safer Than Linux with Open Source Unikernels

NanoVMs sponsor

Optimus: An Easy, Reliable, and Fast Workflow Orchestrator for Data Transformation, Data Modeling, etc. — Configure jobs (using YAML) for data transformations, such as BigQuery to Kafka, and add hooks to those jobs to handle any data workflow.

Open Data Platform

Croc: Easily and Securely Send Things From One Computer to Another — Croc has some cool features, such as cross-platform transfers, end-to-end encryption, and resumable transfers.

Zack Scholl

Authboss: Authentication in a Box for Go Web Projects
Volatile Technologies Inc.


Bleve 2.1.0 – Text indexing library.
sqlc 1.9.0 – Generate type safe Go from SQL.
Maddy 0.5.0 – Complete SMTP email server.
grpc-go 1.40.0 – Go gRPC (HTTP/2-based RPC) implementation.
go-github 38.1.0 – Client for the GitHub API v3.
MongoDB Go Driver 1.7.1