TL;DR Some liveblogs from the conf if only the sessions interest you: about.sourcegraph.com/go.
A week ago (July 25 - July 27) I went to the beautiful city of San Diego and attended GopherCon 2019. For Go developers in North America, GopherCon is probably the most exciting and biggest Go meetup that takes place annually. In two days, gophers around the world gathering together, networking, sharing their knowledge, excitement and feedback about the Go programming language. It was an event I had been eagerly anticipating since the beginning of the year.
It was my 2nd time at GopherCon. Last year I went to Denver and attended the conference when it was hosted at Colorado Convention Centre. I still remember the moment when I stepped into the main theatre before the opening keynote, seeing all the fellow gophers, I was deeply touched. I also recall Kelsey Hightower’s amazing talk Going Serverless, and his great humor when he said “good developers copy; great developers paste”.
After 5 years in Denver, this year the conference was moved to San Diego, and hosted at Marriott Marquis San Diego Marina. Lots of great talks, learnings, and of course, some nice swags collected there :)
The opening keynote On the road to Go 2 was given by Russ Cox. Last year he gave an update on Go 2 through a recorded video Go 2 Drafts Announcement. It was nice to see the Go team had been working with the community. Having the decisions driven by a feedback loop, and only ship changes when they are thoroughly experimented and simplified.
It was pleased to see the Go team listened to the voices from the community on the controversial
err != nil proposal, and moving forward with generics experiments, which was later covered by
another awesome talk Generics in Go
presented by Ian Lance Taylor. Even
before Go 2, we could still get nice things like the new error handling helpers
errors.As in the upcoming Go 1.13 release. Go please (
gopls) was recently
introduced to consolidates all the tools used by our editors into one, and hopefully my vim will
after upgrading to newer versions of Go.
Ron Evans, aka. @deadprogram, gave a high quality talk on TinyGo and running Go code on microcontrollers. I’ve always dreamed of writing Go for Arduino. The approach TinyGo took by using Go language tools and LLVM to optimize the size of the binary was very inspiring. As always, Ron got to fly his drone and demonstrated TinyGo + GoCV working together.
In addition to those, more stunningly presented talks I went to and learned a ton from:
- Dave Cheney’s Go profiling:
live coding preso for demonstrating
go tool pprof,
go tool traceand troubleshooting performance issues with those tools.
- Patrick Hawley’s Controlling the Go runtime:
what are runtime functions, eg.
Gosched(), why we would want to use them, and what else we could do with them.
- Where do Sockets live in Go?
from Gabbi Fisher: TIL - in Go we could use
SO_REUSEADDRto bind two services on the same TCP/UDP address + port.
- Detecting incompatible API changes from Jonathan Amsterdam: deep dive in API compatibility for Go packages.
The city of San Diego
In my opinion, last year’s venue at Colorado Convention Centre was better and more convenient. My hotel was only 2 minutes away. That said, between Denver and San Diego, the latter had my heart <3
I love the weather, the view from the hotel, mexican food, USS Midway Museum, etc.
While in the city, I tried e-scooters rental with Lime and Bird, and rode e-scooters a couple times between my hotel (Hilton) and the venue (Marriott). It was a fun experience, and I almost wanted to buy one for myself, but riding it on a road was scary without a helmet. Also very sadly, e-scooters are banned in BC, and riding those on the street could cost you $600…
It seems a trend that more conferences are moving to San Diego. Personally I wouldn’t mind going there again. It’s a very nice place with many interesting attractions.
Yet another year another successful GopherCon. This year 1800 gophers attended the conference, the number of attendees is seeing a steady liner increase since 2014. With improvements on tools, libraries and the language itself, Go is becoming the first choice for many companies and developers when building infra platforms, web apps and microservices. With the help from community, Go will continue expanding itself into more domains like WebAssembly, microcontrollers and machine learning.