The Applied Go Weekly Newsletter logo

The Applied Go Weekly Newsletter

Archives
April 26, 2026

Not Magic • The Applied Go Weekly Newsletter 2026-04-26

AppliedGoNewsletterHeader640.png

Your weekly source of Go news, tips, and projects

Not Magic

Hi ,

I bet you've had this situation more than once: Something feels like magic, until you start looking closer, peeking under the hood, and dissecting the inner workings. All the magic disappears; the subject of your curiosity becomes understandable.

In this issue, I hope you'll have this moment not just once but thrice: First, when building namespaces to understand containerization; second, when inspecting Go's network poller; and third, when wrapping your brains around closures.

Enjoy!

–Christoph

Featured articles

Containers Are Not Magic: Namespaces From Scratch

You don't need Docker; you only need a Go compiler: Containerization is easier than you might think, thanks to some useful features of the Linux kernel.

The Network Poller | Internals for Interns

Go's synchronous networking API is a "comfortable illusion" (quoting the author) building upon sophisticated network polling that ensures no OS thread is actually blocked.

Go quirks: function closures capturing mutable references | Redowan's Reflections

When I learned about closures, I thought that capturing live, mutable context is the whole point. (Think of the ubquituous "counter closure" example.)

Now I learned that the term "closure" can mean different things to different people. For example, a closure could as well capture a snapshot of its context at creation time.

Moreover, live context capturing becomes tricky if concurrency enters the game.

This article covers closure "trickiness" and discusses ways to achieve intended behavior.

Podcast corner

082: Streaming, product updates, and marketing

Dominic and Morten discuss their experiences with video streaming technology and protocols, share updates and marketing challenges regarding their respective software products, and explore the current state of the Linux desktop, specifically Pop!_OS and accessibility. And they mention Go on several occasions.

Cup o' Go | Builds, Validation, Web3, CORS, Typescript-- wait this is a Go show?! with Paweł Zaremba

The "Where is Johnathan?" episode! Guest host Paweł Zaremba joins Shay Nehmad to discuss a new Go build flag proposal, data validation strategies, community meetups like ETHWarsaw, and the Go-written TypeScript 7.0 Beta.

More articles, videos, talks

Automated Go test coverage production | DoltHub Blog

Did you know that Go supports instrumentation for code coverage not just in tests but also in normal binaries? When the DoltHub team found that out, they set out to collect test coverage from all their unit and integration tests into a single graph.

Algotutor: Using AI to Actually Get Better at Algorithms

I guess we will have to get used to this style of learning: No more linear reading, no more wading through documentation and reference files. Just ask your tutor bot, and it'll (hopefully) guide you through your lessons.

Testify is making your Go tests worse

Convenience versus clarity, or: the hidden cost of easy reading.

When Code Guarantees Are Checked

Compile-time checks or run-time checks? Or some entirely different kind of check?

On the various occasions for verifying code.

Accepted proposal: UUID in the Go standard library

Go gets a uuid package. And the uuid package gets a closer look in this article.

Choosing a Go Logging Library in 2026 · Dash0

No one has ever been fired for choosing the standard slog library. It has most features you'd need for various logging purposes, and it doesn't introduce external dependencies (except for 3rd-party slog handlers, if you choose to use one).

This being said, for some edge use cases, looking over the fence could be worthwhile.

Building a Tiny TCP Port Scanner - Go monk

Scanning TCP ports is a piece of cake: Connect to a port, check the response, disconnect.

Well, if it just was that easy...

Debugging WASM in Chrome DevTools

Debugging doesn't only work at source code level. Eli Bendersky digged into generated WASM code using Chrome's debugger.

Projects

Tools and applications

alexandre-daubois/ember: 🔥 Real-time terminal dashboard for Caddy servers, with built-in FrankenPHP support

Did you know that Caddy, the one-stop shop for all web server needs, exposes rich metrics by default? The only thing that's missing is a dashboard that can track those metrics... until now.

funinkina/deadenv: Dead simple and secure way to manage your .env

deadenv is the dead end for .env files, replacing them with encrypted storage based on OS-native services (Keychain, Keyring, Credential Manager).

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.

Check it out.


Christoph Berger IT Products and Services
Dachauer Straße 29
Bergkirchen
Germany

Don't miss what's next. Subscribe to The Applied Go Weekly Newsletter:
Share this email:
Share on Twitter Share on LinkedIn Share on Hacker News Share on Reddit Share via email Share on Mastodon Share on Bluesky
c.im
LinkedIn
Powered by Buttondown, the easiest way to start and grow your newsletter.