Scaling, stretching and shifting sinusoids

This is a brief and simple [1] explanation of how to adjust the standard sinusoid sin(x) to change its amplitude, frequency and phase shift. More precisely, given the general function: \[s(x)=A\cdot sin(w\cdot x+\theta)\] We’ll see how adjusting the parameters , and affect th...

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 …