Go makes it easy to start goroutines but doesn't provide any way to stop them. Efficiently canceling unnecessary work is a critical part of making programs scale well. We developed an API called Context to signal request cancelation and provide a way to pass request-scoped data from incoming RPCs to outgoing ones. But now we're faced with the problem of plumbing Contexts into millions of lines of Go code at Google. I'll describe ongoing work that uses static analysis and large-scale refactoring tools to tackle this problem.
Sameer Ajmani leads the Google NYC Go team, which works on making Go work well in Google production systems and on mobile platforms. His prior projects include Bigtable, content distribution pipelines, Making the Web Faster, and Google Maps. He lives in Prospect Heights, Brooklyn with his wife and three children was interviewed recently on WNYC about how to manage screen time for kids.
After teaching Go for over two years to people of very different backgrounds Francesc has gathered some experience by failing and succeeding to get people excited about the language.
He will present his findings and his advise on how to teach and learn Go, what works and what you should avoid.
Francesc Campoy joined the Go team in 2012 as a Developer Programs Engineer. Since then, he has written some considerable didactic resources and traveled the world attending conferences and organizing live courses.
He joined Google in 2011 as a backend software engineer working mostly in C++ and Python, but it was with Go that he rediscovered how fun programming can be.
He loves languages; fluent in four of them, he's now tackling a fifth one.
David will discuss the state of Go on the Android platform, what's coming up, and demonstrate some of the current capabilities.
David Crawshaw is a Software Engineer at Google's NYC Go team, where is leads the Go on the Android platform project. He once accidentally deleted 10 petabytes of data with a bad shell script. Luckily he had a backup. He recently moved from San Francisco to New York.
If you’ve read Effective Go and feel that you are missing context, you are not alone. This talk will bring more context to the developer trying to learn Go using patterns and concepts I’ve learned deploying Go to production at Digital Ocean.
Bryan Liles is an Engineer at Digital Ocean. Previously, Bryan has worn black and white hats, worked on red teams, simulated the world in multiple programming languages, and used expletives while writing software.
Benchmarking Go: Review profiling tools for Go and Linux and go into specifics on micro benchmarks for goroutines, channels, buffers, and and other Go features. Results will be presented of specific language features to guide in Go application writing, including some comparisons with other languages.
Brian Bulkowski has 25 years of experience writing high performance real-world software in routers, video insertion devices, embedded systems, and currently with the database company Aerospike.
Thank you StackExchange for hosting this meetup for us, and MediaMath for sponsoring the videos!
Thank you Golang NYC meetup for partnering with us on this meetup and the conference!