Awesome write up. I did a fair amount of POSIX threads based c code and a bit of Go as if it were compiled Python programming. This helps bridge the gap between arcane pthreads best practices and the much more terse Go channel methodology. Thanks for doing this so I can start wrapping my head around the finer points of goroutines, etc.