Using GoReleaser and GitHub Actions to release Rust and Zig projects

GoReleaser v2.5 is out with Rust and Zig support - let’s explore how we can use it!

What are the best Go books in 2025?

What are the best Go books this year? Read my (relatively) unbiased recommendations for the Go books you should absolutely buy and read right now, whether you’re a beginner or expert Gopher.

Rust vs Go in 2025

Which is a better choice, Rust or Go? Which language should you choose for your next project, and why? How do the two compare in areas like performance, simplicity, safety, features, scale, and concurrency?

Optimizing Databases on Kubernetes: Kubernetes Backup and Recovery with CNPG and ZFS Snapshots

Introduction: In the final episode of the Optimizing Databases on Kubernetes series, Jérôme Petazzoni dives into advanced backup and recovery techniques for PostgreSQL, showcasing how CNPG (Cloud Native PostgreSQL) and ZFS snapshots ensure durability and fast recovery in produc...

Testing only changed Go packages

Sometimes, working on big projects, running all tests locally take too much time.

Optimizing Databases on Kubernetes Ep.4: Kubernetes Storage: Benchmarking ZFS, Cloud Disks, and Local Paths

Introduction: In Episode 4 of the Optimizing Databases on Kubernetes series, Jérôme Petazzoni benchmarks the performance of various Kubernetes storage classes, including cloud block storage, ZFS, and Rancher’s Local Path provisioner. This episode dives into the practical aspe...

Function types and single-method interfaces in Go

People love single-method interfaces (SMIs) in Go. They’re simple to implement and easy to reason about. The standard library is packed with SMIs like io.Reader, io.Writer, io.Closer, io.Seeker, and more. One cool thing about SMIs is that you don’t always need to crea...

Go Developer Survey 2024 H2 Results

What we learned from our 2024 H2 developer survey

Implementing Raft: Part 5 - Exactly-once delivery

This is Part 5 in a series of posts describing the Raft distributed consensus algorithm and its complete implementation in Go. Here is a list of posts in the series: Part 0: Introduction Part 1: Elections Part 2: Commands and log replication Part 3: Persistence and optimizations...

Why you can't meditate

You can't clear your mind, or achieve bliss by sitting on a special cushion. But you can start to gently train your brain to stop craving distraction and overstimulation. In this excerpt from Monk Mode, we'll see how.