#​385 — October 29, 2021

Unsubscribe  |  Read on the Web

Go Weekly

Announcing the 2021 Go Developer Survey — Our favorite 10-minute survey is back this year with some new questions so add your thoughts and help shape the language – your responses are hugely appreciated by the Go team but also by us as they make for some interesting stories :-) Direct survey link.

Alice Merrick (Go)

A Comprehensive Guide to go generate — Eli covers the basics of Go generators, points out several uses of them in Go, and covers command and advanced features of code generation.

Eli Bendersky

Automate Large-Scale Code Changes with Batch Changes — Search, define, execute, and track code changes like never before. With Batch Changes, you can automatically track changeset lifecycle status from creation to merge. See how developers are using Batch Changes from configuration, refactoring and more.

Sourcegraph sponsor

Expectations for Generics in Go 1.18 — Russ explains how the maps and slices generic code will be in the experimental package to start, along with appropriate warnings around using generics in production too soon.

Russ Cox (golang-dev)

"The most important thing everyone here can do is write some generic code and let us know if you find bugs, unclear compiler errors, and so on."

Russ Cox


Go 1.18 Will Embed Source Version Information Into Binaries — The addition adds information about the state of the source from which the binary was built, bringing it in line with module information already stored there.

Chris Siebenmann

First Impressions with the Raspberry Pi Zero 2 W — Alex, the creator of OpenFaaS, plays with the latest Raspberry Pi device – a tiny $15 four core 64 bit board. He has a try at using Go on it, including compiling programs, and the performance is certainly hugely improved over previous boards.

Alex Ellis

What Could Go Wrong with a Mutex, or the Go Profiling Story — How to hunt down issues in production, without tools like pprof, just using stack dumps and open-source tools.

Vladimir Dementyev (Evil Martians)

Sorting a Dependency Graph in Go — Directed Acyclic Graphs (DAGs) have a ton of applications so understanding them can be foundational in your ability to solve higher-order problems (or to talk about them in an interview…)

Andrew Meredith

Organizing Postgres Queries using Templates in Go — Here, they store SQL queries in template files that are read in by the binary, separating the SQL and Go source. This has several pros and cons, and probably generates strong opinions.

Michael Suman


Senior Software Engineer, Platform | Remote within US Timezones | Full-Time — Build the platform our teams use to ship innovative telehealth and workflow tools for over 1.8 million clinicians.

Senior Golang Engineer (Cloud, Microservices, REST APIs) (Romania Remote) — CrowdStrike is the leader in cloud-delivered endpoint protection, which helps protect our customers from cybersecurity attacks.

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

🛠 Code & Tools

Blunder: A Chess Engine Written in Go — The name certainly reflects how I feel about most of my moves when I play chess :-) One of the nicest things about this project is the focus on code readability.

Christian Dean

ksuid: K-Sortable Globally Unique IDs (KSUIDs) — A kind of globally unique identifier similar to a RFC 4122 UUID, built to be “naturally” sorted by generation timestamp without any special type-aware logic.


An Engineering Leader’s Guide to OpenTelemetry

Lightstep sponsor

Gofire: A Command Line Interface Generator Tool — Inspired by a similar tool from the Python world, Gofire takes your functions and provides the ‘plumbing’ needed in front of them to create a CLI app.

Kostiantyn Masliuk

Micro 3.6.0: A Platform for Cloud Native Microservice Development — A popular way to build scalable microservices in Go.


govalidator: Package of Validators and Sanitizers for Strings, Numerics, Slices and Structs
Alex Saskevich

🕰 ICYMI (Some older stuff that's worth checking out...)