GoSF Meetup at Bigcommerce

Last night, we had the pleasure of hosting the GoSF meetup in our San Francisco office. 

The attendance was great (over 100 people) and we were able to listen to three awesome speakers.

By the way, we love hosting tech meetups in our offices. If you know of any meetup that’s looking for a host (with good beer) in San Francisco, Sydney, or Austin, reach out to us on Twitter!

RPC Options in Go

The first speaker was Jonathan Boulle, a technical product lead at the excellent CoreOS (probably one of the coolest and game changing pieces of OSS software).

Jon showcased the multitude of different RPC options available to use with Go, covering everything from REST to Protocol Buffers to automatic client generation.

I’m really excited about the the RPC space heating up, especially the automatic client generation— no one wants to write a million boilerplate clients.

Jon also talked about a new, next-generation, RPC system from Google, called gRPC. gRPC builds on Protocol Buffers 3.0, by adding an HTTP/2 RPC framework with auto-generation of clients in Golang, C++, Ruby, PHP, Javascript, Java, and more. I’m really looking forward to seeing gRPC pick up momentum.

Even cooler, there’s a new OSS project called grpc-gateway that acts as a reverse proxy for your public JSON API to translate calls to your gRPC services— I can’t wait to try it out.

Handling Authentication and Trusting 3rd Party Identity Providers in Distributed Systems

The next speaker was Alex Toombs, a software engineer from Apcera. Alex talked about various different ways to handle identity management, without having to become an identity provider.

For instance, Apcera has no "users" table in their application— authentication is handled 100% by external providers.

The other interesting bit that Alex talked about was how they used cgo to integrate Golang with Kerberos— pretty neat stuff, and I highly recommend watching the video for this part. I haven’t had a chance to play with cgo yet, but being able to work with C libraries seems incredibly useful, especially when extending existing libraries.

Automatic Go API Doc Generation

The last speaker of the night was Sarah Adams— her talk was about experimenting with automatic API doc generation in Go.

I really enjoyed Sarah’s talk because it was about a problem that all developers face at one-point or another… keeping outdated documentation up to date.

Sarah showcased different attempts that ultimately didn’t allow her to accomplish her goal of completely hands-off API documentation— off the shelf tools ended up consuming hours of her time per week.

That is, until she invented her own documentation tool called test2doc. Test2doc is a really clever piece of code that injects itself as the HTTPServer for your tests, captures the request/response, and uses that information (along with comments in the tests) to build self-generating API documentation. Amazing!

Watch the full video of the meetup below: