#​426 — September 2, 2022

Unsubscribe  |  Read on the Web

The Go Weekly Newsletter

▶  How Go Became Its Best Self — If you’re not familiar with Cameron yet, you soon will be – he’s recently become the product lead for Go at Google. At GopherCon Europe 2022 he spoke about how Google’s background led to the creation of Go, the phases of Go’s growth, how Google thinks about Go’s trajectory going forward, and why enterprise adoption is important.

Cameron Balahan

How to Write Accurate Benchmarks in Go — An excerpt from the author’s book 100 Go Mistakes and How to Avoid Them, this post describes four common issues with benchmarking. I’d bet we’ve all tripped over at least one of these..

Teiva Harsanyi

Go Notification Infrastructure: Stop Wasting Engineering Time — Too many engineering resources are wasted on notification template building and routing rules. Pass this on to Product, Support, and Security. Heck, even if the engineers want to quickly assemble templates: use our UI or JSON based syntax, Elemental.

Courier sponsor

QUICK BITS:

  • The Register reports Google has launched a new bug bounty program to reward those who report vulnerabilities in its "most sensitive" open source projects, which includes Go.

  • Looking for a Go 1.19+ reference book? Don't panic. Harry Yoon has written one and 📘 shared it here in PDF form – it's called A Hitchhiker's Guide to the Modern Go Programming Language. (It does say it's a review copy, but the author shared it in public – it may disappear when the final is released, though.)

  • Talking of which, JFrog explains a WebAssembly-related Go vulnerability they found.

  • CORRECTION: Last week we gave the wrong byline for the Restic backup tool – its maintainer is actually Alexander Neumann. Thanks to reader Robert Lahmer for the note.

  • Go 1.19.1 and 1.18.6 are likely to drop next Tuesday (September 6) including PRIVATE-track security fixes (read Go's security policy if you're unfamiliar with what this means) to the standard library.

▶  Inside GopherCon with Erik St. Martin — It’s story time! Ever wondered how GopherCon came to be, and how it’s put together every year? Erik St. Martin (also co-author of Go in Action) has been there from the start and shares all.

The Go Time Podcast podcast

Building a Full-Stack Webapp with Bud and GoBud is a relatively new Go framework mildly akin to something like Rails or Laravel. Here’s how to get started.

Alex Merced

🛠 Code & Tools

Ebitengine 2.4: The Simple 2D Game Library for Go — The Go 2D game library formerly known as Ebiten is back and ups the portability game by dropping a dependency so that it can work in ‘truly pure Go’ on Windows. There are numerous other smaller enhancements. Such a fantastic project.

Hajime Hoshi

HaxMap 0.3: A Fast, Memory Efficient Concurrent Hashmap — We only featured this a month ago but development has progressed very quickly and it’s a lot faster. It supports int, uint, uintptr, and strings as keys, and benchmarks well against other options. It requires Go 1.19 but now works on 32 and 64 bit systems.

Anish Mukherjee

Don’t Let Your Issue Tracker Be a Four-Letter Word. Use Shortcut

Shortcut (formerly Clubhouse.io) sponsor

wazero: A Zero Dependency WebAssembly Runtime for Go Devs“Being pure Go, wazero adds only a small amount of size to your binary. Meanwhile, wazero’s API gives features you expect in Go, such as safe concurrency and context propagation.” However, it’s still early days.

Tetrate

Hanko: Passkey-First Approach to Authentication — An open source, FIDO2-certified user authentication system that wants to go beyond passwords by using passkey technology (a la Touch ID or mobile devices).

Hanko

⚡️ QUICK RELEASES:

progressbar 3.10 – Thread-safe progress bar for CLI apps.
PocketBase 0.6 – A realtime backend in one file.
Goose 3.7 – Database migration tool. Supports SQL + Go functions.
Benthos 4.6 – Stream processing made operationally mundane.
GoBGP 3.6 – Go BGP implementation.
rmq 5.0 – Redis-backed message queue system.
Hertz 0.3 – High-perf Go microservices framework.
Mo 1.1 – FP abstractions powered by generics.

Jobs

Golang Engineers — 100% Remote (North/South America & Europe) — We’ve got several opportunities for Go devs (some working directly with Bill Kennedy!) and would love to hear from those looking for new challenges in distributed systems projects.
Ardan Labs

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.
Hired