Announcing GoReleaser v2.7

Happy February! Another release is here with several improvements across the board.

Why does Go's io.Reader have such a weird signature?

I’ve always found the signature of io.Reader a bit odd: type Reader interface { Read(p []byte) (n int, err error) } Why take a byte slice and write data into it? Wouldn’t it be simpler to create the slice inside Read, load the data, and return it instead? // Hypot...

My first Zig program - zigping

For me the best way to learn something new is to actually build something with it. Yes, there is some hype around Zig nowadays (Ghostty, Bun are build in Zig), but don’t listen to it, go try it out and see for yourself if it solves your problem or not.

Microsoft build of Go 1.24 FIPS changes

The Microsoft build of Go 1.24 ships with many new FIPS-140 related features. Here's a closer look at the upcoming changes. The post Microsoft build of Go 1.24 FIPS changes appeared first on Microsoft for Go Developers.

Go 1.23.6-1 and 1.22.12-1 Microsoft builds now available

A new release of the Microsoft build of Go including security fixes is now available for download. The post Go 1.23.6-1 and 1.22.12-1 Microsoft builds now available appeared first on Microsoft for Go Developers.

Go slice gotchas

Just like any other dynamically growable container structure, Go slices come with a few gotchas. I don’t always remember all the rules I need to be aware of. So this is an attempt to list some of the most common mistakes I’ve made at least once. Slices are views over...

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