Go at Google I/O 2011: videos
23 May 2011
Tags: appengine, gopher, talk, video

Andrew Gerrand

* Introduction

The Go team had a great time at Google I/O 2011. It was a pleasure to meet so many programmers who share our enthusiasm for Go, and to share our work of the past few months. For those of you that couldn’t be there in person, you can now watch videos of our two Go presentations on YouTube.

* Writing Web Apps in Go

In “[[http://www.youtube.com/watch?v=-i0hat7pdpk][Writing Web Apps in Go]]” we announce the [[https://blog.golang.org/2011/05/go-and-google-app-engine.html][Go runtime for Google App Engine]] and walk through the development and deployment of [[http://moustach-io.appspot.com/][Moustachio]], the first Go App Engine app.

.iframe //www.youtube.com/embed/-i0hat7pdpk 349 560

(See the [[https://golang.org/doc/talks/io2011/Writing_Web_Apps_in_Go.pdf][presentation slides]].)

The [[https://code.google.com/p/appengine-go/source/browse/example/moustachio][source code]] for Moustachio is available as part of [[http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Go][the SDK]] along with some other examples, such as this [[http://mandelbrot-tiles.appspot.com/][Mandelbrot demo]].

Most important, this talk features the debut of the plush gopher.

.image go-at-google-io-2011-videos_gopher.jpg

For those that didn’t get one at the conference, we hope to make him available for purchase online soon.

* Real World Go

“[[http://www.youtube.com/watch?v=7QDVRowyUQA][Real World Go]]”, presented at [[http://io-bootcamp.com][I/O Bootcamp]], gives a brief introduction to Go and four case studies of its use in solving real problems:
- [[http://heroku.com][Heroku]] with [[https://github.com/ha/doozerd][Doozer]], a highly available consistent data store,

- [[http://mroffice.org/telephony.html][MROffice Dialer]], a VOIP system for call centers,

- [[http://www.atlassian.com][Atlassian]]’s virtual machine cluster management system,

- [[http://www.camlistore.org][Camlistore]], a content addressable storage system.

.iframe //www.youtube.com/embed/7QDVRowyUQA 349 560

(See the [[https://golang.org/doc/talks/io2011/Real_World_Go.pdf ][presentation slides]].)

Thanks to everyone who attended our talks and workshops. We look forward to seeing you again soon!
