# Go Conferences and Major Events


## Upcoming

Please keep all items in chronological order.


| Name |  Date | Location | Website |
|-------|-----------|----------|------------|
| Golab | 2015-12-15 | Florence, Italy | http://www.golab.io |
| Gopher Gala | 2016-01-22 | Earth | http://gophergala.com/ |
| FOSDEM | 2016-01-30 | Brussels, Belgium | https://fosdem.org/2016/ |
| GopherCon India | 2016-02-19 | Bengaluru, India | http://gophercon.in |
| GopherCon Dubai | 2016-02-23 | Dubai, UAE | http://www.gophercon.ae |
| GopherCon China | 2016-04-16 | Beijing, China | |
| GopherCon Denver | 2016-07-11 | Denver, CO | http://gophercon.com |
| dotGo | 2016-10-10 | Paris, France | http://2016.dotgo.eu |

## Archives

Please keep all items in reverse chronological order (most recent first)

| Name | Date | Location | Talk, Video Archives |
|------|------------|----------|----------------|
| GoCon Tokyo | 2015-12-06 | Tokyo, Japan | http://gocon.connpass.com |
| GopherFest SV | 2015-11-18 | Facebook, Menlo Park, CA | [meetup.com](http://www.meetup.com/golangsf/events/223166840/) |
| dotGo    | 2015-11-09 | Paris, France | [videos](https://www.youtube.com/playlist?list=PLMWwKlp9xoYX4mlNDdkCOfsUG_40WCMCX) |
| GothamGo | 2015-10-02 | NY, NY | [videos](https://www.youtube.com/playlist?list=PLeGxIOPLk9ELh9tsPZMzau6CzMjfMzp9-) |
| Yapcasia | 2015-08-22 | Tokyo, JP | [bradfitz](http://yapcasia.org/2015/talk/show/6bde6c69-187a-11e5-aca1-525412004261) |
| GolangUK | 2015-08-21 | London, UK | [videos](https://www.youtube.com/playlist?list=PLDWZ5uzn69ezRJYeWxYNRMYebvf8DerHd) |
| GopherCon Denver | 2015-07-07 | Denver, CO | [keynotes](https://www.youtube.com/playlist?list=PL2ntRZ1ySWBf-_z-gHCOR2N156Nw930Hm), [lightning](https://www.youtube.com/playlist?list=PL2ntRZ1ySWBeHqlHM8DmvS8axgbrpvF9b) |
| GoCon Tokyo | 2015-06-20 | Tokyo, Japan ||
| GopherfestSF | 2015-06-25 | San Francisco, CA | [videos](https://www.youtube.com/playlist?list=PLtLJO5JKE5YB55ExLApKU0S8_eN5eaGkU) |
| GopherCon India | 2015-03-17 | Bengaluru, India | [videos](https://www.youtube.com/playlist?list=PLxFC1MYuNgJTY3uQ5Ja4F5Sz305nnrBOq) |
| Go Devroom FOSDEM | 2015-03-04 | Brussels, Belgium | [videos](https://www.youtube.com/playlist?list=PLtLJO5JKE5YDK74RZm67xfwaDgeCj7oqb) |
| GopherCon China | 2015-04-25 | Shanghai, China | |
| London Go Gathering | 2015-02-03 | London, UK | [videos](https://www.youtube.com/playlist?list=PLtLJO5JKE5YCZYDAt8-uyJbVgq1FIUpVM)|
| GothamGo | 2014-11-15 | NYC, NY | [videos](https://vimeo.com/channels/852217) |
| dotGo | 2014-09-10 | Paris, France | [videos](https://www.youtube.com/playlist?list=PLMW8Xq7bXrG58Qk-9QSy2HRh2WVeIrs7e) |
| Go Devroom FOSDEM | 2014-06-30 |Brussels, Belgium | [videos](https://www.youtube.com/playlist?list=PLtLJO5JKE5YDKG4WcaNts3IVZqhDmmuBH) |
| GopherCon Denver | 2014-04-24 | Denver, CO | [videos](https://www.youtube.com/playlist?list=PL2ntRZ1ySWBcD_BiJiDJUcyrb2w3bTulF) |
