sync/v2 and the 'v2'-ification of Go's standard library

#​541 — February 5, 2025 Unsub  |  Web Version Go Weekly How a Malicious Package Exploited Module Proxy Caching for Persistence — Researchers have uncovered a sophisticated supply chain attack exploiting both typosquatting and th...

JSON - The Fine Print: Part 2 - Emitting JSON

Introduction In part 1 we took a high-level view on serialization and JSON. In this part, we’ll roll our sleeves and start working with JSON, focused on emitting JSON. You might think this is a basic topic, but there is much more to it than just calling json.Marshal. json.M...

Decorator JITs - Python as a DSL

Spend enough time looking at Python programs and packages for machine learning, and you'll notice that the "JIT decorator" pattern is pretty popular. For example, this JAX snippet: import jax.numpy as jnp import jax @jax.jit def add(a, b): return jnp.add(a, b) # Use...

Build systems and their effects on versioning and API changes

Slow, flaky, and failing: tuning up your Go test suite

Thou shalt not suffer a flaky test to live, because it’s annoying, counterproductive, and dangerous: one day it might fail for real, and you won’t notice. Here’s what to do.

A continued focus on the benefits of Go 1.24

#​540 — January 29, 2025 Unsub  |  Web Version Go Weekly Go 1.24's go tool is One of the Best Additions in Years — Go 1.24 isn’t even fully here yet (though rc2 is out) and people are already very excited. One major enhancement...

Go 1.24's `go tool` is one of the best additions to the ecosystem in years

For those that aren't aware, one of the big changes in February's upcoming Go 1.24 release is the new go tool command, and tool directive in the go.mod to manage any tools your project uses. I'm incredibly excited about this, and in my opinion, this is one of the best changes we'...

11 tips for structuring your Go projects

When working with Go, you have three main building blocks to help organize your code: files, packages and modules. But as Go developers, one of the common challenges we have is knowing how to best combine these building blocks to structure a codebase. In this post, I'll share a...

Go 1.24 Release Candidate 2

#​539 — January 22, 2025 Unsub  |  Web Version Go Weekly Go 1.24 Release Candidate 2 Released — We’re another step down the road to the eventual release of Go 1.24, and the Go team are particularly keen for you to kick the tire...

Announcing GoReleaser v2.6

Happy new year! The first release of the year is here!