Gophercon 2016 recap

25
RECAP Austin Go Language User Group [email protected]

Transcript of Gophercon 2016 recap

Page 1: Gophercon 2016 recap

RECAP

Austin Go Language User Group

[email protected]

Page 2: Gophercon 2016 recap

Monday

Page 3: Gophercon 2016 recap

Understanding nil

• presented by Francesc Campoy Flores

• WTF is nil? … no what is it really?

• not the same as null

• many nils

• useful by design

Page 4: Gophercon 2016 recap

Navigating Unfamiliar Code with the Go Guru

• presented by Alan Donovan

• guru (née oracle)

• given a position in a .go file … tell me about it

• practical vs completeness – speed + search space

• https://godoc.org/golang.org/x/tools/cmd/guru

Page 5: Gophercon 2016 recap

Go for Data Science

• presented by Daniel Whitenack

• s/go/(R|python)/ … yes, with advantages

• very capable for numbers, stats, graphing

• Go based Notebook in the works

• https://github.com/gonum

Page 6: Gophercon 2016 recap

Don’t Just Check Errors, Handle Them Gracefully

• presented by Dave Cheney

• errors should be opaque as possible

• can errors be a bit more like Exceptions?

• https://github.com/pkg/errors

Page 7: Gophercon 2016 recap

Go Vendoring Deconstructed

• presented by Wisdom Omuya

• pre-1.5; GO15VENDOREXPERIMENT; post-1.6

• practical concerns from a working team

• https://golang.org/cmd/go/#hdr-Vendor_Directories

Page 8: Gophercon 2016 recap

Visualizing Concurrency in Go

• presented by Ivan Daniluk

• how do humans visualize things … like concurrency?

• goroutines & channels in cylindrical coords

• interesting challenges to getting data

• https://github.com/divan/gotrace

Page 9: Gophercon 2016 recap

Communicating Sequential Goroutines

• presented by Adrian Cockcroft

• many insightful tidbits

• CSP code etc. > Pi-calculus style notation

• simulations of distributed systems (in Go)

Page 10: Gophercon 2016 recap

Handling Text from Around the World in Go

• presented by Marcel van Lohuizen

• internationalization is a huge engineering challenge

• the [intimidating] basics of i8n

• how go is solving these challenges

• https://godoc.org/golang.org/x/text

Page 11: Gophercon 2016 recap

Go for Mobile Games

• presented by Takuya Ueda

• What Go Mobile is (& isn’t) capable of [today]

• lots of examples: basic cmd; native activity; SDK

• goes deep

• https://godoc.org/golang.org/x/mobile/

Page 12: Gophercon 2016 recap

Tuesday

Page 13: Gophercon 2016 recap

Mind the Gap

• presented by Katrina Owen

• Go is for programmers, does it have to be?

• How do people (not) learn Go?

• uses empirical evidence to answer this question

• http://exercism.io/

Page 14: Gophercon 2016 recap

Inside the Map Implementation

• presented by Keith Randall

• how do you make the map type for Go?

• Go maps are different [from other langs]

• significant engineering

Page 15: Gophercon 2016 recap

Go Without the Operating System

• presented by Bernerd Schaefer

• how to run a Go program atop a hypervisor (Xen)

• Go + a bit of ASM replaces the OS

• https://github.com/atmanos/atmanos

Page 16: Gophercon 2016 recap

The Design of the Go Assembler

• presented by Rob Pike

• cross compiling taken for granted, why?

• all assemblies are the same [if you squint your eyes]

• common language for ASM -> target all architectures

• text processing, not microprocessor problem

Page 17: Gophercon 2016 recap

Go Mobile as the Backbone of Lantern for Android

• presented by José Carlos Nieto

• Lantern: circumvents censorship

• Go’s excellent networking capabilities is enabling it

• Big win is mobile – not only HTTP proxy but also VPN

Page 18: Gophercon 2016 recap

The Go Gopher: A Character Study

• presented by Renee French

• not computer related! but in depth about comics

• history of the gopher and gopher-like things

• how a kidney [bean] appear to do so many things?

• derivative art – called out ATX Gopher with cowboy hat

Page 19: Gophercon 2016 recap

Building Microservices with gRPC - A Practical Introduction

• presented by Kelsey Hightower

• lost presentation material

• tutorial of Kubernetes instead

• overview of customer Scheduler

Page 20: Gophercon 2016 recap

The Power and Elegance of Reflection

• presented by Emily Gu

• given interface{} how can use it?

• step by step examples

• don’t abuse reflection … but don’t be intimidated

• you will pleasantly understand reflection

Page 21: Gophercon 2016 recap

Packet Capture, Analysis, and Injection with Go

• presented by John Leon

• capture network data … in Go

• wraps libpcap … in Go

• very fun talk

• https://github.com/google/gopacket

Page 22: Gophercon 2016 recap

Wednesday (HACK DAY)

Page 23: Gophercon 2016 recap

Hackday

• lots of topics … but gobot

• Hybrid Group!

• parrot drones; spheroes & ollies; edison & arduino; btle

• learning; making support; doing stuff

• blast was had

• https://gobot.io/

Page 24: Gophercon 2016 recap

overall

Page 25: Gophercon 2016 recap

resources

• https://github.com/gophercon/2016-talks

[email protected]