What did you see at GopherCon 2019 (San Diego)?

406 views
Skip to first unread message

Akram Ahmad

unread,
Aug 6, 2019, 7:35:08 AM8/6/19
to golang-nuts
For me, attending GopherCon 2019 recently in San Diego was tremendous fun (The Gopher community is so amazing!) 

This is what I saw, the following being the coordinates to my (incredibly unofficial) writeup: 


You'll be able to tell—a whole minute and a half into the writeup above—that I’m taking inspiration from the inimitable Irish playwright and polemicist George Bernard Shaw when he spilled his beans and said that, My method is to take the utmost trouble to find the right thing to say, and then to say it with the utmost levity 👻

Oh, and the following—it happens to be Section 4—will probably qualify as the single most serious section in this GopherCon 2019 roundup:

4. Woohoo, Speaker Highlights 📣


In full candor, I was oh-so pleased by the high quality of the talks. I sure learned a ton of Go programming tactics, techniques, and strategies to bring back and apply to my own work. For the past one year—and this is to establish some context so we’re on the same page—yours truly, an industry veteran in the area of architecting and implementing distributed computing software systems, and used to extensively wielding tools from the Java and Scala ecosystems, has been swimming full-time in the ocean that has arisen from the amazing language that is Go.


Relax, I’m not about to go meta; to drive the marine metaphors home, though, let’s just say that the beaches of San Diego were an especially appropriate venue for hosting the conference.


Back to the GopherCon 2019 talks now. These are the ones that stand out, and here I present merely a snapshot impression each. So in no particular order, other than this being the order in which I recall them, they were by the following speakers:

    • Elena Morozova: I appreciated a lot how Elena’s talk (How Uber “Go”es) was delightfully replete with helpful, thoughtful, and often times humorous illustrations which shone a new light on an indispensable subject: How does one go about maintaining a large codebase for maximum readability and minimal overhead? In addition to being really well done, the talk was candid. Elena shared the challenges Uber faced in that process—including places where they ran into the occasional failure or two—yet emerged with successful solutions. Referring back to my notes, I remember now that Elena had also talked about actually introducing a software tool to actually enforce consistent code structure (“Glue” was that project name, and I’ll definitely be visiting that soon). All in all, excellent talk. Neat stuff.
    • Marwan Sulaiman: The terrific thing about Marwan’s talk (Handling Go Errors) was the incredibly deftness with which he walked us through an actual use case of going about solving a complex problem by thinking in the unique paradigms of Go (Anyone remember the excellent Thinking in Java book from way back when? Hint: I want its counterpart for Go!) Anyhow, I can attest to the wisdom of resisting the urge to go your own way; instead, the way to go is to lean on the philosophy with which Go has been designed to solve programming problems. And hey, even if error-handling is not your heartthrob topic—I honestly can’t claim it has ever been mine—the way Marwan brought programmable errors to life (in how you can design your own architecture in this area, enabling you to get a solid grip on system failures) was cool. I was wowed. Frankly, an outstanding talk.
    • Mat Ryer: If I were asked to point to (only) one talk which did an outstanding job of stripping away all accidental complexity, leading me and others in the audience to keep a laser sharp focus instead on the essential complexity of problem-solving in the domain at hand—adhering to the elegance of the Go way of doing things—it would be Mat’s talk (How I Write HTTP Web Services After Eight Years). So I’ve done this sort of thing at least 17 different ways in the past—using assorted tools from  libraries that have evolved around more mature languages such as Java and Scala—Mat demonstrated just how elegantly (and simply!) it all can be done with Go. A talk (whose recording now) is not to be missed.
    • Katie Hockman: What made Katie’s talk (Go Module Proxy: Life of a Query) so compelling was the command with which she had masterfully assembled a whole boatload of hardcore tech subtopics into a unified whole and the conviction with which she presented her stuff. Trust me, delving into the intricacies of how her team built a module mirror and checksum database is not for the faint of heart. But Katie somehow managed to pull it off, never for a moment shying from the guts of what makes authenticated module proxies tick (Merkle Trees and all!) The delightfully humorous (running) backdrop of “the dog people” versus “the cat people” was well done and genuinely engaging. And hey, from now on I will remember her advice to “Trust on your first use”! (At least that’s what my scribbled notes say; more on that later.)
    • Russ Cox: I was expecting nothing less than exceptional quality from the talk (On the Road to Go 2) by Russ and came away really pleased. Let me remind you that this list of speakers that I’ve assembled here is in no particular order, other than this being the order in which I recall some of the stellar talks. For those not familiar with his name—is there anyone, really?—Russ leads the development of the Go programming language. His talk was methodical, precise, and enlightening. I got a really good feel for how the Go language (itself) is being shepherded and evolved (Simplify by reshaping, by redefining, etc. Abandoning failed experiments, growing stronger from the learnings. Etc.). Given that we’re on the road to Go 2, the talk answered the questions of (1) Where exactly are we? and (2) Where are we headed? I sure am glad I came to the fantastic talk by Russ to get the answers to exactly those burning questions.
    • Ian Lance Taylor: The subject of Ian’s talk (Generics in Go) is incredibly dear to me, making it virtually a guaranteed success even before I heard a word of his splendid talk. I was pleased. Very pleased. Coming from a heavy background in Java and Scala—where generics rule the day—I’ve been hankering for generics since the day I immersed myself in Go programming over a year ago. Fast-forward one year to today, and Ian’s team continues to work hard to make genetics a reality for us gophers. He rightly pointed out that when it happens (i.e. when generics become a part of Go), programming should feel no different—become no more esoteric—than when working with the usual constructs: Yep, while there are clear advantages to introducing generics into Go, there also happen to be associated a bunch of requirements. Keep up the good work, Ian and team.

Oh, and FWIW, I took copious notes. I felt compelled to; yes, to be sure, the awesome conference organizers do make the slide decks available, yet this inveterate note-taking engineer continues to find that the best way to internalize complex subject matter is by way of pen and paper. (Physical) action does shape thought, methinks. (Hey, if it isn’t you again, in your naysayer splendor, kind of! Looks like you want to see for yourself my Good Housekeeping seal-of-approval of sorts… Let me tell you, I’ll prove myself trustworthy. Should you still need to see my seal-of-approval, I’ve got that, too. You stay tuned.)


Speaking of the sections such as the above (to be found in the writeup), they are:
  • 0. Welcome to the Show, Gophers! 🐭
  • 1. First Impressions 🍎
  • 2. So Is This Where Lemmings Jump Off? 🐹
  • 3. Thou Shalt Register 📒
  • 4. Woohoo, Speaker Highlights 📣
  • 5. There Is No Middleware 📬
  • 6. Gophers, Too, Get Hungry 🍩
  • 7. We Do ML & AI With Go! 📺
  • 8. Inside The Wizards’ Room 🚧
  • 9. Go Code Even Powers Bike Logistics 🚴
  • 10. I Took Notes (Lots Of Them!) 📕
  • 11. When Nighttime Falls 🌒
  • 12. Breakfast Is Served ☕
  • 13. Your Lips Move, But… 👏
  • 14. I Inventoried (The Cover Of) My Mac’s Lid… 📈
  • 15. The GopherCon Floor 🏄
  • 16. We Dive Right Back Into More Awesomeness 🏊
  • 17. How Does One Stop A Rhino From Charging? 💳
  • 18. Your Blogger Comes To His Senses 😴
  • 19. Gulp. The Swallows, Akram, The Swallows 🐝
  • 20. Afterword 🎬
Did I say that you all—aka the Gopher community—are amazing?

My Best Wishes,

jake...@gmail.com

unread,
Aug 6, 2019, 5:16:35 PM8/6/19
to golang-nuts
Sadly I could not make it. Any idea when, or if, video may be available?

Akram Ahmad

unread,
Aug 7, 2019, 8:36:22 AM8/7/19
to golang-nuts
  • I checked (in the GopherCon Slack channel, the one we had going while I was attending the conference in San Diego recently, and which is still very active), and the latest is that, according to a GopherCon 2019 update (on July 25th), "Videos should be online in a couple weeks to a month."
  • I can update here as soon as I find out...
  • Meanwhile, I thank you and others for checking out my (non-video) coverage at What I Saw at GopherCon 2019.

JuciÊ Andrade

unread,
Aug 8, 2019, 11:34:14 AM8/8/19
to golang-nuts
Very nice of yours, Akram. Thank you.

Akram Ahmad

unread,
Aug 9, 2019, 9:43:18 AM8/9/19
to golang-nuts
You're very welcome, JuciÊ Andrade. Meanwhile, to keep my promise, here's an update on what's available in terms of videos of the various talks at GopherCon 2019. 

I haven't seen an update, yet, in the GopherCon Slack channel itself. But did find some related info elsewhere--It turns out each GopherCon session was live-blogged, with links as follows, next to the name of the speaker each in the list ([]) below:

GopherCon Talks

Thursday, July 25

Russ Cox - On the Road to Go 2

Elena Morozova - How Uber "Go"es

Elias Naur - Portable, Immediate Mode GUI Programs for Mobile and Desktop in 100% Go 

Rebecca Stambler - Go, pls stop breaking my editor

Patrick Hawley - Controlling the go runtime

Johan Brandhorst - Get Going with WebAssembly

Marwan Sulaiman - Handling Go Errors

Michael McLoughlin - Better x86 Assembly Generation from Go

Kaite Hockman - Go Module Proxy: Life of a Query

Carolyn Van Slyck - Design Command-Line Tools People Love

Eric Chiang - PKI for Gophers

Kris Brandow - The Gopher's Manual of Style

Oliver Stenbom - Contributing to the os Package: How Deep Do You Go?

Friday, July 26

Aaron Schlesinger - The Athens Project - A Proxy Server for Go Modules

Ian Lance Taylor - Generics in Go

Jessica Lucci - You Can't Go Your Own Way: The Standardization of Go at GitHub

Ron Evans - Small is Going Big: Go on Microcontrollers

Chris Hines - Death By Three Thousand Timers: Streaming Video-on-Demand for Cable TV

Daniel Marti - Optimizing Go Code Without a Blindfold

Gabbi Fisher - Socket to Me: Where do Sockets Live in Go?

Jonathan Amsterdam - Detecting Incompatible API Changes 

Jason Keene - Dynamically Instrumenting Go Programs

Denis Isaev - Go Linters: Myths and Best Practices

Mat Ryer - How I Write HTTP Web Services After Eight Years

Mike Seplowitz - Tracking Inter-process Dependencies Using Static Analysis

Dave Cheney - Two Go Programs, Three Different Profiling Techniques, in 50 Minutes

Johnny Boursiquot - What Got Us Here, Won't Get Us There

Go Gophers!

 ~Akram

Akram Ahmad

unread,
Sep 3, 2019, 8:09:45 AM9/3/19
to golang-nuts
To everyone who has (patiently) been biding time, your wait is finally over—The video recordings of the talks at GopherCon 2019 are now available at the following coordinates: GopherCon 2019 Talks.

Jake Montgomery

unread,
Sep 3, 2019, 12:39:29 PM9/3/19
to golang-nuts
Yay! Thanks for the heads up.

Akram Ahmad

unread,
Sep 3, 2019, 12:45:35 PM9/3/19
to golang-nuts
Yep, enjoy :) A ton of great talks in there. And if you haven't yet checked out the lavishly-illustrated writeup (on GopherCon 2019), head over to: What I Saw at GopherCon 2019!
Reply all
Reply to author
Forward
0 new messages