Practice Best Practices • The Applied Go Weekly Newsletter 2025-10-26

Your weekly source of Go news, tips, and projects

Practice Best Practices
Hi ,
Hey, psst! Wanna have some tips for writing better Go? Here you are: Two articles about enhancing your coding, one about making event processing durable, and then some more, including an article on how to use another language to improve Go code.
And these are just a few momentary snapshots of the Go community's ongoing quest for writing better code, for a better future.
Oooh, I love it.
–Christoph
Featured articles
Writing Better Go: Lessons from 10 Code Reviews - Speaker Deck
Pragmatic, clear Go code doesn't pop up out of nothing. Tested and proven idioms and best practices are guardrails on the way to writing effective, readable, and maintainable code. In this talk, Konrad Reiche reminds us of the principles of good coding based on learnings from code reviews. A TL;DR is here.
Durable Background Execution with Go and SQLite | Three Dots Labs blog
How do your apps recover from sudden disruptions from the outside? Event-driven architectures solve this problem with durable programming: Input events get written to persistent storage immediately. Dima Kotik explains the approach and its challenges: When recovering from, say, a DNS outage, how can a disrupted operation avoid processing an event twice or producing partial results?
The “10x” Commandments of Highly Effective Go | The GoLand Blog
Does the title sound vaguely familiar? Indeed, the author, John Arundel, wrote "The Ten Commandments of Go" in 2021. This article is not a mere retake, however; it focuses on best practices for writing effective Go (hence the "10x").
Podcast corner
Cup o' Go | Live from San Francisco, it's Cup o' Go! 1.26 release notes, speaker dinner, and more
A live episode! Well, not anymore, but still, you can feel the athmosphere of a live broadcast in the recording.
Fallthrough | DevOps: The Answer to Life, The Universe, and Everything
DevOps merges two "silos", development and operations, into one, elinimating friction and streamlining processes. Time to have a podcast episode about it.
go podcast() | 064: Podman, the root-less alternative to Docker
Podman is so compatible with Docker that you can symlink docker to the podman executable and see no difference. So what makes Podman special? Dominic St-Pierre explores the benefits of using Podman.
More articles, videos, talks
Go beyond Goroutines: introducing the Reactive Programming paradigm
Go channels are simple but powerful abstractions for concurrent communication. However, they might not scale well with a concurrent system's architectural complexity. At a certain point, high-level domain-specific languages might be a better fit, says Samuel Berthe, the author of samber/ro, an event-driven pipeline library. "This is the story of "ro": after coding lots of helpers for my pipelines, I started to build a real abstraction."
We Re-Built Our Integration Service Using Postgres and Go | Emil Privér
The biggest improvements came from the architectural change, but still, there is some Go code in the article and quite a few things to learn about scalable services.
Avoiding collisions in Go context keys | Redowan's Reflections
Go contexts were designed for passing request-scoped (!) timeouts, cancellation, and values across package boundaries. But here lies a catch: If a context value with key "foobar" is passed to a package that uses this key name to pass another value down the request chain, the original value is lost. The cure: use a custom type for the key.
Projects
Libraries
GitHub - Tahsin716/flock: 🦜 Flock is a high-performance, production-ready worker pool library for Go with hybrid queue architecture, lock-free operations, and comprehensive observability.
A worker pool built for performance and efficiency while maintaining an idiomatic API.
GitHub - etalazz/vsa: "Commit information, not traffic" - Vector–Scalar Accumulator (VSA) is a lightweight algorithmic primitive that eliminates write amplification and hot-row contention in high-frequency systems
An interesting approach to tracking the state of volatile resources: The algorithm is inspired by Scalar Electromagnetics.
GitHub - thedonutfactory/go-tfhe: 🐿️ A pure golang implementation of TFHE Fully Homomorphic Encryption Scheme
Imagine you could send encrypted data to a remote computer to have it perform calculations on this data without ever decrypting it (and thus not knowing anything about the data it processes). Sounds like SciFi fantasy but is indeed a thing. Homomorphic Encryption is the keyword. This library brings Homomorphic Encryption to Go (and Rust and Zig). Missing: a cryptographic peer review (look up "roll your own crpyto" for pointers). Also, with just four GitHub issues overall, the project is brand new and should be used with great caution and definitely not in production.
GitHub - 10d9e/gofft: A highly performant Fast-Fourier Transform in go
"A Fourier transform converts a signal from its original domain (often time or space) to a representation in the frequency domain and vice versa." (Wikipedia.)
Huh?!
Well, think of a sound signal. An FFT can split this signal into a number of pure sine waves of different frequency, which, if added up again, form the original signal. Those isolated sine waves can (a) tell something about the original signal and (b) be manipulated individually before recombining them into a new signal.
Tip: This article is a nice, low-barrier entry to FFT. On first reading/skimming, skip the fomulae and watch the animated graphics—they'll teach you a lot about synthesizing a waveform from sine waves in a few seconds.
GitHub - confidentsecurity/bhttp: BHTTP - Binary HTTP Message Format in golang
HTTP is a text-based protocol, so what's the point of binary HTTP? Three possible use cases:
-
Relay HTTP through services that do not support text-based HTTP
-
Process HTTP on devices with limited power
-
Improve network throughput and latency
padurean/gosmig: Simple, minimal SQL database migrations written in Go. Build your own migration CLI with it. Std lib database/sql and SQLX supported out of the box.
A new kid on the SQL migration block: gosmig is a SQL migration library (and CLI) designed for building custom migration tools.
Completely unrelated to Go
LaTeX, LLMs and Boring Technology - Eli Bendersky's website
LLMs can reason better about "boring"—read: well-established—technology. That's why Eli Bendersky loves using LLMs with LaTeX while finding little use for LLMs with new technology like Typst, a modern alternative to LaTeX. (Completely unrelated: I am a secret fan of Typst.)
Why SSA? · mcyoung
Why is the SSA compiler architecture so popular? (An architecture that Go uses, too, BTW.) Miguel Young de la Sota takes a very close look (in this very long article).

Happy coding! ʕ◔ϖ◔ʔ
Questions or feedback? Drop me a line. I'd love to hear from you.
Best from Munich, Christoph
Not a subscriber yet?
If you read this newsletter issue online, or if someone forwarded the newsletter to you, subscribe for regular updates to get every new issue earlier than the online version, and more reliable than an occasional forwarding.
Find the subscription form at the end of this page.
How I can help
If you're looking for more useful content around Go, here are some ways I can help you become a better Gopher (or a Gopher at all):
On AppliedGo.net, I blog about Go projects, algorithms and data structures in Go, and other fun stuff.
Or visit the AppliedGo.com blog and learn about language specifics, Go updates, and programming-related stuff.
My AppliedGo YouTube channel hosts quick tip and crash course videos that help you get more productive and creative with Go.
Enroll in my Go course for developers that stands out for its intense use of animated graphics for explaining abstract concepts in an intuitive way. Numerous short and concise lectures allow you to schedule your learning flow as you like.
Christoph Berger IT Products and Services
Dachauer Straße 29
Bergkirchen
Germany