Reading List

This page is auto-generated from Github Actions workflow that runs every day at night and fetches the 5 latest articles from each of my favorite blogs.

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.

Three new Go proposals

#​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...

Thoughts on WebAssembly as a stack machine

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 …

Switching entirely to Corfu in my GNU Emacs configuration

If it's in JSON, it's not really a configuration file

It's a lock: sync.Mutex in Go

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.

Go quirks: function closures capturing mutable references

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.

TinyGo can now compile the TypeScript compiler

#​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...

Debugging WASM in Chrome DevTools

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 …