Today was the official first day of GopherCon. The conferences day to put it someway (but was my second one!). I arrived early because I assumed the breakfast lines will be similar to the ones we had yesterday for lunch, and considering it was only “half” the expected attendees I really wanted to make sure I avoided not having enough food.
After having breakfast, and before the first talk, I was able to explore the exhibitors booths, I got some really cool Gopher pins from the Microsoft booth:
Then the conferences officially started, the first talk was The Scheduler Saga by Kavya Joshi, it was phenomenal, I recall watching her talk about channels, that one was great as well. Kavya as expected did a great job describing the internals of the scheduler, explaining everything in such simple terms.
Next was An Over-Engineering Disaster with Macaroons by Tess Rinearson, I was a bit curious about this one since I read the agenda, and silly me I thought it was really about some obscure reference to the french cookies (doh!), but I quickly realized this macaroons thing was a reference to the old well known browser cookies, I did learn something for sure.
Next, we got a surprise announcement from Russ Cox (via a video projected to all the audience) regarding Go 2 and the efforts to improve Error Handling and Generics. Interesting stuff:
I took a long break to explore the other exhibitor booths, I was able to get more stickers and talk to some of them, the DataDog and BugSnag people were friendly and the registry solution by jFrog was really interesting.
After that I attended How Do you Structure your Go Apps by Kat Zien, she covered some known ways to structure Go code, not surprisingly the one she seemed to recommend was the Onion/Hexagonal Architecure, also suggested by Peter yesterday.
Then I went to attend Allocator Wrestling by Eben Freeman, which described ways to write Go code so it helps the Garbage collector, plus some cool techniques for profiling code to measure and improve performance.
After that I attended Rethinking Classical Concurrency Patterns by Bryan C. Mills, this one was quite interesting because it revisited all the common concurrency patterns in Go, Bryan went through the code snippets really quick so watching this talk again (a few times) is required for everything to sink in.
What a fun day was Day 2, I must to say that.