Writing mutexes from scratch in Go
rybicki.io