diff --git a/2014/state-of-the-gopher.slide b/2014/state-of-the-gopher.slide
new file mode 100644
index 0000000..d8aec55
--- /dev/null
+++ b/2014/state-of-the-gopher.slide
@@ -0,0 +1,369 @@
+The State of the Gopher (Oct)
+10 Oct 2014
+Tags: dotgo, gopher
+
+Brad Fitzpatrick
+Gopher, Google
+@bradfitz
+bradfitz@golang.org
+
+* The State of the Gopher
+
+- where we've been
+- where we're going
+
+.image state-of-the-gopher/gopher.jpg
+
+* bradfitz
+
+- Work on Go's standard library, builders, etc
+- Started contributing to Go May 2010
+- [[http://camlistore.org]], my big, old Go project: personal data storage & indexing for life
+
+* The Past
+
+* Userbase before November 2009
+
+- 3-10 people inside Google?
+
+* November 2009
+
+- Go is [[http://google-opensource.blogspot.com/2009/11/hey-ho-lets-go.html][open sourced]]:
+
+.image state-of-the-gopher/opensource.png
+
+* Website in 2009
+
+.image state-of-the-gopher/website1.png
+
+* Website in 2009
+
+.image state-of-the-gopher/website2.png
+
+* Compilers in 2009
+
+- already two: `gc` and `gccgo`
+
+* Aside: GC vs gc
+
+- `gc`: "Go compiler", based originally on Plan 9's C compiler. The main Go compiler.
+- `GC`: "Garbage Collector"
+
+* Ports in 2009
+
+- linux-386
+- linux-amd64
+- linux-arm, just starting to work
+- darwin-386
+- darwin-amd64
+- nacl-386 (first attempt)
+With gccgo, more.
+
+* Tools in 2009
+
+- gofmt
+- gofix
+- godoc
+
+* Release Highlights
+
+* weekly releases
+
+- "weekly.2009-12-09"
+- break users weekly, not daily
+- gofix appears
+
+* monthly releases
+
+- "r56" ... "r60"
+- break users monthly, not weekly
+- still painful to write and use packages (Makefiles)
+
+* Go 1.0 (2012-03-28)
+
+- the "error" type
+- delete(m, k)
+
+  // before Go 1:
+  latLong[storeID] = LatLong{}, false
+  name[userID] = "", false
+
+  // new:
+  delete(name, userID)
+
+- [[https://golang.org/doc/go1compat][stability promise]] + API check tool:
+
+  pkg net/http, const StatusOK = 200
+  pkg net/http, const StatusOK ideal-int
+  pkg net/http, type RoundTripper interface { RoundTrip }
+  pkg net/http, type Server struct, TLSConfig *tls.Config
+  pkg net/http, var DefaultServeMux *ServeMux
+  pkg time, method (*Timer) Reset(Duration) bool
+  pkg unicode/utf8, func ValidRune(int32) bool
+
+- the `go` tool (get, build, test, ...)
+
+* Go 1.1 (2013-05-03)
+
+- method values
+
+  type S struct { once sync.Once; ... }
+  func (s *S) init() { ... }
+  func (s *S) Foo() {
+      s.once.Do(s.init)
+
+- func "terminating statement"
+
+  func abs(n int) int {
+      switch {
+      case n < 0: return -n
+      default:    return n
+      }
+  }
+
+- 64-bit "int", large heaps
+- 30-40% speed improvement, stdlib++
+- more precise heap GC, usually
+
+* Aside: precise vs conservative GC
+
+Conservative GC: if it "looks like" a pointer, treat it like one.
+
+  [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ]
+  [ ptr? ] [ byte slice (skipped in Go 1.0)                             ]
+  [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ] [ ptr? ]
+
+Terrible for 32-bit (e.g. ARM) computers: many integers look like pointers.
+
+Precise GC:
+
+  [ int ] [ ptr     ] [ string      ] [ byte slice          ]
+  [ int ] [ t f t f ] [ ptr ] [ int ] [ float64     ] [ ptr ]
+
+Requires knowing what every position in memory _actually_ is.
+
+- no false retention, only look at some memory during GC
+
+* Go 1.2 (2013-12-01)
+
+- 6 month release cycle begins
+- setting slice capacity with s[i:j:k]
+
+  s := make([]byte, 10, 20)
+  foo(s[10:12:15])
+
+  func foo(s []byte) { fmt.Println(len(s), cap(s)) }
+
+- preemption in scheduler
+- go test -cover
+
+* Go 1.3 (2014-06-18)
+
+- no language changes
+- GOOS=solaris,dragonfly,plan9,nacl
+- precise GC of the stack (mostly)
+- contiguous stacks (mostly)
+
+* Aside: Segmented vs. Contiguous stacks
+
+- C++/Java: one huge stack per thread
+- Go <= 1.2: multiple discontiguous 4K stacks, bounce between
+- Go 1.3: one little stack, grow & shrink as needed
+.image state-of-the-gopher/contig-stack.png _ 550
+
+* The present (relative to Nov 2009)
+
+* More ports
+
+- Windows
+- FreeBSD, OpenBSD, NetBSD
+- Solaris, Plan 9, DragonFly BSD
+- NaCl (again)
+
+* Better docs
+
+- [[http://blog.golangorg][Blog]] articles,
+- Community [[https://code.google.com/p/go-wiki/w/list][Wiki]],
+- [[https://code.google.com/p/go-wiki/wiki/Books][Books]]
+
+* Users: up and to the right
+
+- Go [[https://code.google.com/p/go-wiki/wiki/GoUserGroups][user groups]], [[http://go-meetups.appspot.com/][meetups]]
+- GitHub commits, stars, forks
+- Since 2009: `golang-nuts@` (1450 → 14134), `-dev` (37 → 2152)
+.link http://redmonk.com/dberkholz/2014/03/18/go-the-emerging-language-of-cloud-infrastructure/ Go: the emerging language of cloud infrastructure
+
+.image state-of-the-gopher/oloh.png
+
+* The Cloud
+
+- Docker
+- CoreOS, etcd, fleet
+- Juju
+- NATS, gnatsd, Packer, Heka
+- dl.google.com, Vitess, Kubernetes
+- App Engine
+
+* Conferences
+
+[[http://connpass.com/series/312/][GoCon Tokyo]]
+
+* Conferences
+
+.image state-of-the-gopher/gophercon.png
+
+* Conferences
+
+.image state-of-the-gopher/dotgo.png
+
+* Conferences
+
+.image state-of-the-gopher/india.png
+
+* CoreOS
+
+.image state-of-the-gopher/bus.jpg
+
+- increasingly running [[http://build.golang.org]], each in a Docker container
+- Go powering Go development!
+
+* build.golang.org
+
+.image state-of-the-gopher/build.png 400 _
+
+* Better tools
+
+- go/parser: godoc, [[http://godoc.org]], gofmt, gofix →
+- [[http://godoc.org/code.google.com/p/go.tools/cmd/goimports][goimports]]: automatic import lines
+- go/types, gofix+types, 
+- go/ast, go/ssa, [[http://godoc.org/code.google.com/p/go.tools/cmd/oracle][oracle]],
+- [[http://godoc.org/code.google.com/p/go.tools/cmd/eg][eg]], example-based refactoring
+- [[http://godoc.org/code.google.com/p/go.tools/cmd/gorename][gorename]], safe global renaming tool
+
+Tooling begets better tooling!
+
+- goimports + go/types + go/parser == [[https://twitter.com/sqs/status/520203018957250560][goreturns]] (lazy "return err")
+
+* The Future
+
+* Go 1.4
+
+* Go 1.4 (2014-12-01?)
+
+- fully precise GC of the stack + heap
+- segmented stacks & conservative GC deleted
+- stack copier & shrinker requires precise stack types too
+
+- `runtime` conversion from C to Go: maps, channels, interfaces, type checks, println, defer, panic, etc.
+
+- Garbage collector and scheduler are still in C
+
+* Go 1.4
+
+- [[http://golang.org/s/go14android][GOOS=android]] (Elias Naur, David Crawshaw)
+- GOOS=nacl GOARCH=arm
+- [[http://golang.org/s/go14internal]["internal" packages]]
+- [[http://golang.org/s/go1.4-generate]["go generate"]]
+- [[https://docs.google.com/a/golang.org/document/d/1QXzI9I1pOfZPujQzxhyRy6EeHYTQitKKjHfpq0zpxZs][syscall package frozen, go.sys]]
+- "go tool pprof" converted from Perl (!) to Go
+- minor stdlib additions, improvements
+
+* Go 1.5
+
+* Go 1.5 (2014-06-01?)
+
+- Concurrent GC is main theme
+- Roadmap: [[http://golang.org/s/go14gc]] (GC in 1.4, 1.5, 1.6+)
+
+* Go 1.5: ports
+
+- GOOS=ios revival? (Minux, David Crawshaw)
+- GOARCH=ppc64 (minux)
+- GOARCH=arm64 (aram, dfc)
+
+* Go 1.5: removing more C
+
+Didn't make Go 1.4:
+
+- `cmd/link`: linker rewrite in Go
+- `cmd/asm`: assembler rewrite in Go
+- "gc" compiler in Go
+
+* "gc" Compiler in Go
+
+- lots of C
+- C → Go translator == kinda ugly Go
+- refactor that Go with tools: `eg`, `gorename`, etc
+- add packages, tests
+- unify all `8g`, `5g`, `6g`, `9g`
+- SSA form, new optimizations
+
+See rsc's GopherCon [[http://talks.golang.org/2014/c2go.slide#1][slides]], [[http://gophercon.sourcegraph.com/post/83820197495/russ-cox-porting-the-go-compiler-from-c-to-go][notes]], [[https://www.youtube.com/watch?v=QIE5nV5fDwA][video]].
+
+* Go 1.5 Tracing
+
+- Dmitry's GOTRACE + Chrome trace viewer
+
+.image state-of-the-gopher/trace.png
+
+* Go 1.6
+
+- More GC work
+- Ongoing compiler-in-Go cleanup & optimizations
+- PNaCl?
+- [[https://docs.google.com/a/google.com/document/d/1d3iI2QWURgDIsSR6G2275vMeQ_X7w-qxM2Vp7iGwwuM/pub][NUMA-aware scheduler]]?
+- unknown surprises
+Who knows.
+Find out next year at dotGo Paris 2015!
+
+* Go 2.0
+
+- maybe one day
+
+* Outside of the core
+
+* libraries & tools
+
+- HTTP/2, to be merged into `net/http`
+- go.tools: `goimports`, `eg`, `gorename`, `oracle`, ...
+- go.text: Unicode collation, normalization, ...
+- go.mobile: Android, iOS, gaming, 3D graphics, event handling
+- go.crypto
+- go.net
+- go.tools
+- go.syscall
+
+* gccgo
+
+- keeping up with spec
+- better in some ways (codegen, OS, arch)
+- worse in others (precise GC, escape analysis)
+- work underway to improve
+
+All checking & improving each other:
+
+- gc, gccgo, go/types, language spec, unit tests
+
+* Notable other compilers
+
+- [[https://github.com/go-llvm/llgo][llgo]], Go → LLVM → PNaCL, etc
+- [[https://github.com/tardisgo/tardisgo][TARDIS Go]], Go → Haxe → JS, anything
+- [[https://github.com/gopherjs/gopherjs][GopherJS]], Go → JS
+
+And all three written in Go, use `go/parser`, `go/types`, etc.
+We can't wait to join them.
+
+* In summary
+
+* The growth is exciting
+
+- things are getting cleaner,
+- things are getting faster,
+- things are getting more impressive,
+- everything is growing on top of everything else,
+- hard to keep up with golang-dev@, golang-nuts@, bugs, wiki, new github projects, code reviews,
+
+* You all are awesome 
+
+- keep being awesome
+- keep making awesome things
diff --git a/2014/state-of-the-gopher/build.png b/2014/state-of-the-gopher/build.png
new file mode 100644
index 0000000..0cd68ea
--- /dev/null
+++ b/2014/state-of-the-gopher/build.png
Binary files differ
diff --git a/2014/state-of-the-gopher/bus.jpg b/2014/state-of-the-gopher/bus.jpg
new file mode 100644
index 0000000..b8dba8c
--- /dev/null
+++ b/2014/state-of-the-gopher/bus.jpg
Binary files differ
diff --git a/2014/state-of-the-gopher/contig-stack.png b/2014/state-of-the-gopher/contig-stack.png
new file mode 100644
index 0000000..04559a4
--- /dev/null
+++ b/2014/state-of-the-gopher/contig-stack.png
Binary files differ
diff --git a/2014/state-of-the-gopher/dotgo.png b/2014/state-of-the-gopher/dotgo.png
new file mode 100644
index 0000000..1c357c8
--- /dev/null
+++ b/2014/state-of-the-gopher/dotgo.png
Binary files differ
diff --git a/2014/state-of-the-gopher/gopher.jpg b/2014/state-of-the-gopher/gopher.jpg
new file mode 100644
index 0000000..a27d109
--- /dev/null
+++ b/2014/state-of-the-gopher/gopher.jpg
Binary files differ
diff --git a/2014/state-of-the-gopher/gophercon.png b/2014/state-of-the-gopher/gophercon.png
new file mode 100644
index 0000000..9c29865
--- /dev/null
+++ b/2014/state-of-the-gopher/gophercon.png
Binary files differ
diff --git a/2014/state-of-the-gopher/india.png b/2014/state-of-the-gopher/india.png
new file mode 100644
index 0000000..7b43e4a
--- /dev/null
+++ b/2014/state-of-the-gopher/india.png
Binary files differ
diff --git a/2014/state-of-the-gopher/oloh.png b/2014/state-of-the-gopher/oloh.png
new file mode 100644
index 0000000..7ea9e66
--- /dev/null
+++ b/2014/state-of-the-gopher/oloh.png
Binary files differ
diff --git a/2014/state-of-the-gopher/opensource.png b/2014/state-of-the-gopher/opensource.png
new file mode 100644
index 0000000..dfaa92e
--- /dev/null
+++ b/2014/state-of-the-gopher/opensource.png
Binary files differ
diff --git a/2014/state-of-the-gopher/trace.png b/2014/state-of-the-gopher/trace.png
new file mode 100644
index 0000000..7b71532
--- /dev/null
+++ b/2014/state-of-the-gopher/trace.png
Binary files differ
diff --git a/2014/state-of-the-gopher/website1.png b/2014/state-of-the-gopher/website1.png
new file mode 100644
index 0000000..0c4e62f
--- /dev/null
+++ b/2014/state-of-the-gopher/website1.png
Binary files differ
diff --git a/2014/state-of-the-gopher/website2.png b/2014/state-of-the-gopher/website2.png
new file mode 100644
index 0000000..7fea6aa
--- /dev/null
+++ b/2014/state-of-the-gopher/website2.png
Binary files differ
