Hoisting wire plumbing out of your Go handlers
Four of the five steps in every unary RPC handler are wire plumbing. Pin the service function signature and they fit in one generic adapter per transport.
Four of the five steps in every unary RPC handler are wire plumbing. Pin the service function signature and they fit in one generic adapter per transport.
#599 — May 1, 2026 Read the Web Version Go Weekly Zero-Config Go Heap Profiling — Go’s runtime samples heap allocations automatically, but the linker disables this in apps that don’t import runtime/pprof or net/http/pprof. This...
This week the article Wasm is not quite a stack machine has been making the rounds and has caught my eye. The post claims that WASM is not a pure stack machine because it has locals and is missing some stack manipulation operations like dup and swap. While I don't …
When two goroutines go to war, a data race is all that you can score. To prevent that, Go’s sync.Mutex type can help.
A Go closure holds a live reference to whatever it captures, not a snapshot. Real examples of where this trips people up, and how to keep it boring.
#598 — April 24, 2026 Read the Web Version Go Weekly TinyGo 0.41: Go 1.26 Support, ESP32 Wireless, and More — A huge release for the “Go compiler for small places”! Go 1.26 support arrives, along with wireless support for ESP32...
When I was working on the WASM backend for my Scheme compiler, I ran into several tricky situations with debugging generated WASM code. It turned out that Chrome has a very capable WASM debugger in its DevTools, so in this brief post I want to share how it can be …
In the previous article we saw how sysmon steps in every 10ms to call netpoll(0) on behalf of busy Ps, making sure network I/O doesn’t stall when the scheduler is too busy to poll on its own. We glossed over what that network poller actually is. Today we’re fixing th...