Topological sort

I was fiddling with graphlib in the Python stdlib and found it quite nifty. It processes a Directed Acyclic Graph (DAG), where tasks (nodes) are connected by directed edges (dependencies), and returns the correct execution order. The “acyclic” part ensures no circular...

Implementing Raft: Part 4 - Key/Value Database

This is Part 4 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...

I love Continuity Camera, I hate Continuity Camera

Continuity Camera is the macOS feature that allows to use an iPhone as a webcam.

Fearless Concurrency Ep.3: Managing Threaded Programs and Data Races in Rust

Introduction: Welcome to Episode 3 of the Fearless Concurrency series! In this episode, Herbert explores advanced threading techniques in Rust, focusing on scoped threads and the Rayon library to help developers build more efficient and parallelized applications. This episode is...

Gumroad, where is my money?

I’ve been using Gumroad for payments of GoReleaser Pro since the beginning, around May 2021.

Programming is fun

I was a guest on the Cup o’ Go podcast recently, talking with Shay Nehmad and Jonathan Hall about writing and teaching Go. Here’s a transcript of our chat.

Microsoft goes Go for SQL Server's CLI

#​526 — October 8, 2024 Unsub  |  Web Version Go Weekly Reflecting on Go Reflection — Truly a reflective opinion piece, and probably a divisive one too. As a programmer who chooses to use “the most mundane features” of any la...

Writing a circuit breaker in Go

Besides retries, circuit breakers1 are probably one of the most commonly employed resilience patterns in distributed systems. While writing a retry routine is pretty simple, implementing a circuit breaker needs a little bit of work. I realized that I usually just go for off-the-s...

packagemain.tech - Progress, Stats, and Future Plans

On May 30th, 2024, me and my friend/colleague Julien posted our first article on packagemain.tech which is a Substack newsletter where we want to share real world experiences and knowledge about Backend Development, Go, DevOps, Cloud, Kubernetes, Databases and more.

Go's new small language features from 1.22 and 1.23 are nice