#385 — October 29, 2021 |
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 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) |
|
QUICK BITS:
|
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 |
|
🛠 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. Segment |
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. Micro |
govalidator: Package of Validators and Sanitizers for Strings, Numerics, Slices and Structs
|
🕰 ICYMI (Some older stuff that's worth checking out...)
|