diff --git a/GoTalks.md b/GoTalks.md
new file mode 100644
index 0000000..411558a
--- /dev/null
+++ b/GoTalks.md
@@ -0,0 +1,204 @@
+# Go talks
+
+Check out http://talks.golang.org for presentations for some of the talks.
+
+# Official
+
+## Introductory Talks
+
+An introduction to Go.
+
+### Russ Cox's Tour of Go
+
+[[video and discussion](http://research.swtch.com/gotour)]
+
+Three things that make Go fast, fun, and productive:interfaces, reflection, and concurrency. Builds a toy web crawler to demonstrate these.
+
+### Go: a simple programming environment
+
+[[video](http://vimeo.com/53221558)]
+[[another video](http://vimeo.com/69237265)]
+[[slides](http://talks.golang.org/2012/simple.slide)]
+
+Go is a general-purpose language that bridges the gap between efficient statically typed languages and productive dynamic language. But it’s not just the language that makes Go special – Go has broad and consistent standard libraries and powerful but simple tools.
+
+This talk gives an introduction to Go, followed by a tour of some real programs that demonstrate the power, scope, and simplicity of the Go programming environment.
+
+### Get Started with Go
+
+[[video](http://www.youtube.com/watch?v=2KmHtgtEZ1s)]
+
+Get a feel for the language and its standard libraries and tools in thissession, where we go through installing Go and writing some simple but useful
+programs.
+
+### Go Programming
+
+[[video](http://www.youtube.com/watch?v=jgVhBThJdXc)] [[code](http://talks.golang.org/2010/io/)]
+
+A presentation delivered by Rob Pike and Russ Cox at Google I/O 2010.  It
+illustrates how programming in Go differs from other languages through a set of
+examples demonstrating features particular to Go.  These include concurrency,
+embedded types, methods on any type, and program construction using interfaces.
+
+### The Go Tech Talk
+
+[[video](http://www.youtube.com/watch?v=rKnDgT73v8s)]
+[[slides](http://talks.golang.org/2009/go_talk-20091030.pdf)]
+
+An hour-long talk delivered by Rob Pike at Google in October 2009.
+The language's first public introduction. The language has changed since it was made,
+but it's still a good introduction.
+
+## Development in Go
+
+### Writing Web Apps in Go
+
+[[video](http://www.youtube.com/watch?v=-i0hat7pdpk)] [[slides](http://talks.golang.org/2011/Writing_Web_Apps_in_Go.pdf)]
+
+A talk by Rob Pike and Andrew Gerrand presented at Google I/O 2011.
+It walks through the construction and deployment of a simple web application
+and unveils the [Go runtime for App Engine](http://blog.golang.org/2011/05/go-and-google-app-engine.html).
+
+### Real World Go
+
+[[video](http://www.youtube.com/watch?v=7QDVRowyUQA)] [[slides](http://talks.golang.org/2011/Real_World_Go.pdf)]
+
+A talk by Andrew Gerrand presented at Google I/O Bootcamp 2011.
+It gives a broad overview of Go's type system and concurrency model
+and provides four examples of Go programs that solve real problems.
+
+### Building Integrated Apps on Google's Cloud Platform
+
+[[video](http://www.youtube.com/watch?v=Mo1YKpIF1PQ)]
+
+A talk by Andrew Gerrand presented at Google Developer Day Japan 2011.
+It discusses the development of a web application that runs on Google
+App Engine and renders raytraced that it stores on Google Cloud Storage.
+
+### High Performance Apps with Go on App Engine
+
+Google I/O, May 2013
+
+[[video](http://www.youtube.com/watch?v=fc25ihfXhbg)] [[slides](http://talks.golang.org/2013/highperf.slide)]
+
+### Practical Go Programming
+
+[[video](http://www.youtube.com/watch?v=2-pPAvqyluI)] [[slides](http://wh3rd.net/practical-go)] [[code](http://github.com/nf/goto)]
+
+This talk presents the development of a complete web application in Go.
+It looks at design, storage, concurrency, and scaling issues in detail, using
+the simple example of an URL shortening service.
+
+### Lexical Scanning in Go
+
+[[video](http://www.youtube.com/watch?v=HxaD_trXwRE)]
+
+This GTUG talk by Rob Pike discusses the detailed design of a lexical scanner that uses Go's
+features in expressive combinations. (The discussion near the end about avoiding goroutines
+at initialization is obsolete: Go 1 allows goroutines in init functions so the extra complexity
+is unnecessary.)
+
+### Go in Production
+
+Google I/O, June 2012
+
+[[video](http://www.youtube.com/watch?v=kKQLhGZVN4A)]
+
+Since Go's release in 2009 many companies (besides Google, of course) have used the language to build cool stuff. In this session programmers from several companies will share their first-hand experience using Go in production environments.
+
+### Go: code that grows with grace
+
+[[video](http://vimeo.com/53221560)]
+[[slides](http://talks.golang.org/2012/chat.slide)]
+
+One of the Go Programming Language’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. Although the function of the program changes dramatically, the inherent flexibility of Go allows the original design to remain intact as it grows.
+
+## Concurrency in Go
+
+### Go concurrency patterns
+
+Google I/O, June 2012
+
+[[video](http://www.youtube.com/watch?v=f6kdp27TYZs)]
+
+### Advanced Concurrency Patterns
+
+[[video](https://www.youtube.com/watch?v=QDDwwePbDtw)]
+[[slides](http://talks.golang.org/2013/advconc.slide)]
+
+Google I/0, May 2013
+
+Concurrency is the key to designing high performance network services. This talk expands on last year's popular Go Concurrency Patterns talk to dive deeper into Go's concurrency primitives, and see how tricky concurrency problems can be solved gracefully with simple Go code.
+
+## Design of Go
+
+### The Expressiveness Of Go
+
+[[slides](http://talks.golang.org/2010/ExpressivenessOfGo-2010.pdf)]
+
+A discussion of the qualities that make Go an expressive and comprehensible
+language.  The talk was presented by Rob Pike at JAOO 2010.
+The recording of the event was lost due to a hardware error.
+
+### Another Go at Language Design
+
+[[video](http://sydney.edu.au/engineering/it/videos/seminar_pike) from Sydney University]
+[[slides](http://assets.en.oreilly.com/1/event/45/Another%20Go%20at%20Language%20Design%20Presentation.pdf)]
+
+A tour, with some background, of the major features of Go, intended for
+an audience new to the language.  The talk was presented at OSCON 2010.
+This talk was also delivered at Sydney University in September 2010.
+
+
+
+### Go Emerging Languages Conference Talk
+
+[[slides](http://assets.en.oreilly.com/1/event/45/Go%20Presentation.pdf)] [[video](http://confreaks.com/videos/115-elcamp2010-go)]
+
+Rob Pike's Emerging Languages Conference presentation delivered in July 2010.  Talk abstract:
+
+> Go’s approach to concurrency differs from that of many languages, even those
+> (such as Erlang) that make concurrency central, yet it has deep roots. The path
+> from Hoare’s 1978 paper to Go provides insight into how and why Go works as it
+> does.
+
+## Miscellaneous
+
+### The Go frontend for GCC
+
+[[paper](http://talks.golang.org/2010/gofrontend-gcc-summit-2010.pdf)]
+
+A description of the Go language frontend for gcc.
+Ian Lance Taylor's paper delivered at the GCC Summit 2010.
+
+### The Go Promo Video
+
+[[video](http://www.youtube.com/watch?v=wwoWei-GAPo)]
+
+A short promotional video featuring Russ Cox demonstrating Go's fast compiler.
+
+### Meet the Go team
+
+Google I/O, June 2012
+
+[[video](http://www.youtube.com/watch?v=sln-gJaURzk)]
+
+A panel discussion with David Symonds, Robert Griesemer, Rob Pike, Ken Thompson, Andrew Gerrand, and Brad Fitzpatrick.
+
+### Fireside Chat with Go team
+
+Google I/0, May 2013
+
+[[video](http://www.youtube.com/watch?v=p9VUCp98ay4)]
+
+A fireside chat with Andrew Gerrand, Brad Fitzpatrick, David Symonds, Ian Lance Taylor, Nigel Tao, Rob Pike, Robert Griesemer, Sameer Ajmani.
+
+# Unofficial
+
+Talks by members of the community.
+
+### Let's Go, or introduction to Go
+
+[[video (starting at 14:35)](http://live.digicast.ru/view/1582)] [[slides](http://talks.godoc.org/github.com/AlekSi/LetsGo/lets-go.slide)] [[source](https://github.com/AlekSi/LetsGo)]
+
+This talk gives an introduction to Go in Russian.
\ No newline at end of file
