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...
#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...
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...
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^...
Prompted by some discussions I've had recently around documenting Cobra CLIs, I realised that in November 2023 I wrote a library, cobra-doc-template and somehow I ended up not writing a blog post about it (how?? 😅) - so here it is!
Inbuilt to Cobra is functionality to generate...
Go's cryptography libraries underwent an audit by Trail of Bits.
Introduction In part 1 we took a higher level view on serialization in general and JSON in specific. In part 2 we looked at emitting JSON.
In part 3, we’ll look at an issue you might encounter when consuming JSON, Zero vs NULL field values. To clarify the definition of NULL...
Renovate's debug logs
I spend a lot of my time working through Renovate's debug logs.
This may be through Running Renovate in a number of places, such as at work (Elastic), or during my work on dependency-management-data, of which the best data can be collected through renovate-g...
Durable software not only handles errors, it presents them to users in a
helpful and meaningful way. Let’s put the finishing touches to our
line-counting program by completing the user interface.