This is the video footage of Andrew Gerrand's talk titled "Go: Code that grows with grace" at Tumblr HQ for the inauguration of the Go Language New York meetup. This video was edited by Jason Walton.
One of Go's key design goals is code adaptability; that it should be easy to take a simple design and build upon it in a clean and natural way. In this talk I describe a simple "chat roulette" server that matches pairs of incoming TCP connections, and then use Go's concurrency mechanisms, interfaces, and standard library to extend it with a web interface and other features. While the function of the program changes dramatically, Go's flexibility preserves the original design as it grows.