As 2016 draws to a close, I decided to put together a list of my favorite talks from 2016 in no particular order.
- Profiling and Optimizing Go, Prashant Varanasi
The first time this talk was presented was at the January 2016 GoSF meetup. I wasn’t in San Francisco in January to watch this talk in person, but it sure was the first thing I heard about from my friends when I returned to San Francisco in late January. In fact, it was so loved and popular that Cassandra, the organizer of the GoSF meetups was badgered by people for months on end for the video, and eventually she had to schedule the talk again for Gopherfest in May. Unfortunately, I was in Austin, TX for OSCON during that time, so I couldn’t watch the talk the second time around either, but luckily this time around the talk was recorded.
2. Understanding emerging Web Performance technologies once and for all, Stephen Ludin
This talk was presented at the San Francisco and Silicon Valley Web Performance user group in February. One of the reasons I signed up for this event was because I’d started at imgix a few months ago and a lot of the topics this talk covers, albeit in broad brushstrokes, is what we work on and talk about everyday at work.
Watch this talk for a primer on how the internet works — covering at a high level how TCP, TCP slow start, congestion control, congestion avoidance, UDP, HTTP, Speedy, H2, QUIC and TLS 1.3 work as well as a comparison of the protocols and an overview of the tradeoffs each protocol makes.
I also went to a couple of other talks on H2 which I thought were really good:
HTTP2: Protocol overview, use cases and benchmarks, Nick Shadrin, OSCON
I’m not able to find the video from OSCON but the same talk was presented at SCALE 14x.
HTTP2 in Go 1.6, Brad Fitzpatrick
This was a really good talk from the March 2016 GoSF meetup.
Another talk I really enjoyed watching at OSCON was Tyler McMullen’s Load Balancing is Impossible. The video from OSCON isn’t available online, but a video of the same talk from CodeMesh is available.
3. Advanced Testing With Go, Mitchell Hashimoto
This was a talk presented at a meetup in Berlin, but fortunately there’s a video of the talk. These talks are always a personal favorite of mine since they draw from years of practical experience and have meaningful, actionable advice. I highly recommend anyone working with or interested in Go watch this talk or at the very least have a look at the slides.
4. Debugging Distributed Systems, Donny Nadolny
I was at this talk at Velocity Santa Clara but could only find the video from another conference. Brilliant piece of debugging involving the kernel’s TCP stack, Zookeeper and the concurrency in the JVM.
5. Building Protocol Libraries The Right Way, Cory Benfield
This was one of my top 3 talks at PyCon. The basic premise of the talk is that most libraries make the mistake of not separating protocol parsing from I/O, which makes both testing and code reuse really hard. I’m excited about the sans-io movement in the Python ecosystem that aims to address this problem.
While we’re on the topic of PyCon, it’d be terribly remiss on my part to not list a couple of other PyCon talks I thought were particularly good.
A tale of concurrency through creativity in Python: a deep dive into how gevent works, Kavya Joshi
I’ve been working with gevent for years and was familiar with most of what was discussed in this talk, but Kavya is a brilliant speaker who always manages to showcase concepts in a way that seems refreshing and lucid.
Better Testing With Less Code: Property Based Testing With Python, Matt Bachmann
I’m personally championing Hypothesis at work to be used in conjunction with pytest to test our Python code. It makes writing tests a breeze and surfaces many edge cases that wouldn’t have otherwise been handled or tested for.
6. go test -race” Under the Hood, Kavya Joshi
Or what is now commonly referred to as “the race detector talk” in the Go community. It’s one of the best talks from 2016. Kavya does a brilliant job explaining how the Go race detector works, better than anyone else I can think of. Why, even the author of the race detector believes so.
I was also super stoked to see the talk presented again at SystemsWeLove, since I got to watch one of my favorite talks in person. It’s a shorter version of the StrangeLoop talk, but worth watching again.
I’m still working my way through the StrangeLoop talks. StrangeLoop is definitely a conference I want to go to in 2017. Two other StrangeLoop 2016 talks I greatly enjoyed were:
Distributed Commit Log: Application Techniques for Transaction Processing by David McNeil
Practical Data Synchronization with CRDT’s by Dmitri Ivanov
7. Interrupts, that which scared Djikstra, Irfan Ahmad
This was another fantastic talk from SystemsWeLove which charts the history of interrupts over the course of half a century. Watching this talk wanted me to go back to grad school to nerd out about these things even more.
While we’re on the topic of SystemsWeLove, I also want to mention that I’d recommend watching all talks from SystemsWeLove. The entire conference was utterly brilliant. If you can’t watch all the talks, at the very least watch the following talks:
The Design of the UNIX Terminal, Jesse Hathaway
8. Practical Advice for Go Library Authors, Jack Lindamood
One of my favorite talks from GopherCon. I’ve watched Jack Lindamood at GoSF in September 2015 where he spoke about debugging and troubleshooting Go applications. Jack is one of those people I’ve grown to expect great content from. If you don’t follow Jack’s blog, then you’re missing out.
Another GopherCon talk I greatly enjoyed was Filippo Valsorda who spoke about cgo best practices.
Last, the talk I found most useful from GopherCon was Dave Cheney’s Don’t Just Check Errors, Handle Them Gracefully.
Another favorite Dave Cheney talk was Solid Go Design from the UK Go conference.
Yet another favorite Dave Cheney talk was Do Not Fear First Class Functions from DotGo.
9. Envoy: C++ L7 proxy and communication bus, Matt Klein
This was a presentation at the Reactive Systems and Microservices meetup in November 2016, and it is hands down the best meetup I’ve been to in 2016. I took extensive notes during the meetup and plan to blog about it separately. There’s quite a lot to unpack about Envoy, but the bit I was most fascinated about was eventually consistent service discovery. Also good conversation on Twitter.
10. LuaJIT FFI Deep Dive, Jeremy Larkin
My last pick also happens to be my most favorite talk of 2016, but unfortunately there’s neither a slide deck nor a video of this presentation. It was a talk at the Lua meetup where my CTO Jeremy spoke about LuaJIT’s FFI and how Lua interfaces with C. At imgix, a LuaJIT framework called levee powers the networking component of our image rendering pipeline. As one of my coworkers often says, imgix is a levee company. Levee (and siphon which is bundled with levee) is a fully open source, incredible piece of software that’s a culmination of decades of experience and experimentation. As I learn more about it in 2017, I hope to be blogging about it.