Creating cross-compiled Docker images from Go binaries

I've recently been doing some work to improve the way a couple of Go services have their container images built, so they can be built by humans on either Intel or ARM based machines, and pushed to our container registry which will then be pulled by Intel-based infrastructure. Add...

Stop worrying about Go's error handling syntax

#​556 — June 4, 2025 Unsub  |  Web Version 🖊️ I was meant to be travelling this week. My plans changed, but I’d already planned for a shorter issue, so it’s a quicker one this time. Back to full service next week!__Peter Cooper, your editor...

[ On | No ] syntactic support for error handling

Go team plans around error handling support

Synchronous vs Asynchronous Architecture

Quick takeaways Start with synchronous architecture by default - it’s simpler to understand, debug, and maintain for most use cases Async architecture improves scalability and resilience - message queues and events help handle traffic spikes and failures Design matters mor...

Go in the Google I/O spotlight

#​555 — May 28, 2025 Unsub  |  Web Version Go Weekly ▶  What's New in Go: Google's Take — Released as part of last week’s Google I/O, Go’s project lead and lead devrel team up to present an extensive list of recent additi...

My GNU Emacs settings for the vertico package (as of mid 2025)

You probably don't need a DI framework

When working with Go in an industrial context, I feel like dependency injection (DI) often gets a bad rep because of DI frameworks. But DI as a technique is quite useful. It just tends to get explained with too many OO jargons and triggers PTSD among those who came to Go to escap...

You probably don't need a DI framework

When working with Go in an industrial context, I feel like dependency injection (DI) often gets a bad rep because of DI frameworks. But DI as a technique is quite useful. It just tends to get explained with too many OO jargons and triggers PTSD among those who came to Go to escap...

You probably don't need a DI framework

Dependency injection in Go doesn't need Dig or Wire. Learn why manual wiring beats reflection magic and how Go's design makes DI frameworks overkill.

Convolutions, Polynomials and Flipped Kernels

This is a post about multiplying polynomials, convolution sums and the connection between them. Multiplying polynomials Suppose we want to multiply one polynomial by another: \[(3x^3+x^2+2x+1)\cdot(2x^2+6)\] This is basic middle-school math - we start by cross-multiplying: \[6x^...