Enjoy The Flight! • The Applied Go Weekly Newsletter 2025-09-28
Your weekly source of Go news, tips, and projects
Enjoy The Flight!
Hi ,
Q4 has begun, and the Applied Go Weekly Newsletter isn't quite dead yet. Au contraire, mon ami, I am busy optimizing my workflow to keep new issues coming. I am allowing myself, however, to be more flexible in the in- or exclusion of content, so that, for example, if I cannot find a great quote of the week, I'll skip that part, so that I can ship the issue. Getting things done rather than striving for perfection. Speaking of it, in this issue I skip a rather large part—the Spotlight. Well, it's there, but it's not the usual one, but see for yourself.
Nevertheless, it's been another week full of interesting stuff happening in the Go world, which I'm super happy to share with you.
Happy coding!
–Christoph
Featured articles
Flight Recorder in Go 1.25 - The Go Programming Language
After an airplane crash, the plane's flight recorder helps reveal the cause, which may have happened long before the crash. Go's flight recoder is useful before crashes happen. Carlos Amedee and Michael Knyszek explain the new troubleshooting tool available in Go 1.25.
Consistent hashing - Eli Bendersky's website
Hashing algorithms are all about minimizing the probability of a key collision and/or the effort to resolve it. But there's another interesting problem: How to scale a hash table efficiently? Consistent hashing is an elegant solution to this problem.
Go proposal: Hashers
Go 1.26 might make creating custom hash-based data structures easier, through an accepted proposal explained by Anton Zhiyanov.
Podcast corner
Cup o' Go | 💧 A leaky goroutine certainly does suck!
The garbage collector as goroutine detector? This could come true if a new proposal gets approval.
Plus: upcoming meetups and conferences, new blogs, and more.
Fallthrough | Defer Life Considered Harmful
Ron Evans' story.
go podcast() | 060: 10x Developer, or 10x Distraction? A Reality Check on AI
Dominic St-Pierre considers AI a quick fix for a deeper issue.
Spotlight: Instead of a Spotlight
It's hard to overlook: the recent newsletter issues were late. There is nothing to sugarcoat here; especially as the issues used to arrive every Sunday for years without fail. One reason for the recent delays is a good one, for me, at least: I moved from freelancing into a full-time job, which means I'm back at a stable income, but I'm also less flexible about managing my time, a part of which I also lose to commuting. Then, there are other errands to be run, about which I'm not going to bother you, but all these little things pile up and made me find myself in a place where time has become scarce.
And writing Spotlights take time. Now I started the Minimalist SaaS series just recently, with quite a good dose of overconfidence about the time it would take to craft the code and words for each step on this journey. No, I didn't prepare this series in advance, there is no heap of files waiting to just get released every week. I wanted to write about this project as I move along, and this plan turned out to be quite optimistic.
But now, reality kicked in. The next issue in the series isn't nearly ready, and time isn't going to become plenty again. So I'm temporarily stopping the series at this point and will issue new chapters of the Minimalist SaaS series sporadically. I won't give up on the topic of minimalist software development, however. There is so much to talk about the fallacies of over-architecturing and over-abstracting software, which causes unnecessary maintenance burden and operating cost.
Code bloat isn't the only cost factor, though. There is a tendency to treat data with a "more is better" attitude, resulting in massively distributed database systems that incur a lot of overhead for diminishing returns. So let me conclude this Spotlight with a link to an article worth reading (including a few interesting links at the end):
Small Data
More articles, videos, talks
GitHub - go-monk/from-bash-to-go-part-iii: Go for Bash programmers III - Platforms
From shell scripting to compiled apps - part three.
Watermill Quickstart - Hands-on Training
Not sure which pub/sub queue to use for your next event-driven application? Watermill is an abstraction layer for message streaming that adapts to a number of messaging systems, from Go channels to AWS SNS/SQS.
Go Slices - Backend Development Team
Slices want to be understood. They aren't arrays yet contain arrays under the hood. Their append semantics can be tricky if you don't know the inner workings. This article introduces slice peculiarities to Go newcomers.
Climbing the Testing Pyramid: From Real Service to Interface Mocks in Go - Naveen Ramanathan - YouTube
Naveen Ramanathan's talk at GopherCon UK about challenges when testing code with cloud dependencies. Slides and code examples are also available.
Let the domain guide your application structure | Redowan's Reflections
How to structure a Go application? Redowan's advice: The domain should drive the application layout, rather than technology. And don't confuse structure with architecture.
GopherCon UK 2025 - YouTube
All sessions from GopherCon UK 2025.
Projects
Tools and applications
GitHub - cksidharthan/recovercheck: A Golang linter to check if goroutines have a recover check to recover it from panics
If a goroutine panics, the whole app doesn't have to crash. Rather, recover from the panic and exit just the goroutine. net/http
is a great stdlib example of this strategy. The RecoverCheck linter checks your goroutines for missing recovery mechanisms.
Go Allocations Explorer - Visual Studio Marketplace
Experienced performance optimizers can smell allocations before the code even runs. For all others, this VSCode extension guides you to the source lines of (potentially unnecessary) allocations, based on benchmark results.
anaseto/shamogu: Shamanic Mountain Guardian (Shamogu) is a roguelike game. - Codeberg.org
If you know Rogue or Nethack, you might love Shamogu. Technically interesting: the game can be played with ASCII graphics in the terminal or with graphic tiles as an app or in the browser (as a WASM).
GitHub - cshum/imagor-studio: Self-hosted image gallery and live editing web application
Need an image gallery that doesn't expose your images to tech giants? A docker run
is all you need to run this self-hosted online gallery.
Completely unrelated to Go
Zak's Law of Skill Half-Life and Why Your Next Framework Won't Save You | Zak El Fassi
"Maybe the real debugging isn't in our codebases anymore. Maybe it's in the stories we tell ourselves about why we code at all."

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