https://code.google.com/p/go/source/browse/2012/?repo=talks&r=f1f8b70d0de44b7cd3232f6ec40dff36740e89ad#2012%2Fchat%2Fmarkov