The Functional Design of Dep (and Package Managers in General)

Sam Boyer (@sdboyer) is a Site Reliability Engineer at VividCortex who, among other things, also works on the official dep dependency management tool . Beyond his work in the Go community, Sam helps coordinate package management improvement efforts at package.community . Go isn't a functional… Read more

Preparing for the Next Wave

Go has enjoyed success as a language for writing services and command line applications. But that success has largely been contained to Open Source enthusiasts and startups. In this talk I’ll discuss the next wave of developers coming to Go, and what we need to do to be ready for them. Note: This… Read more

Debuggers from Scratch

I learned over time that it’s best to forget about how channels are structured and focus on how they behave. So now when it comes to channels, I think about one thing: signaling. A channel allows one goroutine to signal another goroutine about a particular event. Signaling is at the core of… Read more

Machine Learning and Go

Francesc de Campoy Flores (@francesc) is VP of Developer Relations at source{d}. Previously, he was a developer and advocate at Google for Go and Google Cloud. He also runs the popular video series #justforfunc . All the cool kids are doing machine learning, but they're doing it in Python. Can we… Read more

Go's Work Stealing Scheduler

Go scheduler’s job is to distribute runnable goroutines over multiple worker OS threads that runs on one or more processors. With its work stealing strategy and spinning threads, it does a lot to minimize context switches and aim better CPU utilization. This talk will a dive into the runtime… Read more

Thunder Talks

The thunder talks are the second round of lightning talks from many speakers. Note: This post was live-blogged at dotGo 2017 . Let us know on Twitter ( @srcgraph ) if we missed anything. All content is from the talk; any mistakes or misrepresentations are our fault, not the speaker's. gocv.io Ron… Read more

Unmasking netpoll.go

Cindy Sridharan (@copyconstruct) is a software engineer at imgix working on APIs, infrastructure, and other backend systems in Go. She also blogs at medium.com/@copyconstruct . Go is a great language for writing network servers. Cindy's talk explains what under the hood when you call http… Read more

Lightning Talks

The lightning talks are the first round of lightning talks from many speakers. Note: This post was live-blogged at dotGo 2017 . Let us know on Twitter ( @srcgraph ) if we missed anything. All content is from the talk; any mistakes or misrepresentations are our fault, not the speaker's. Reducing Go… Read more

Behaviors of Channels

I learned over time that it’s best to forget about how channels are structured and focus on how they behave. So now when it comes to channels, I think about one thing: signaling. A channel allows one goroutine to signal another goroutine about a particular event. Signaling is at the core of… Read more

The Art of Testing

Note: This post was live-blogged at dotGo 2017 . Let us know on Twitter ( @srcgraph ) if we missed anything. All content is from the talk; any mistakes or misrepresentations are our fault, not the speaker's. Mat Ryer is talking about the art of testing. He contributes to several Go libraries… Read more

Go Lift

This talk is about how Category Theory can help you write better code, but without using the words "Category" or "Theory" (or monad or functor or any of the scary terminology). We'll look at how the idea behind "Errors are Values" from the Go blog can be applied to different kinds of programming… Read more

Simulating a Real-World System in Go

Note: This post was live-blogged at dotGo 2017 . Let us know on Twitter ( @srcgraph ) if we missed anything. All content is from the talk; any mistakes or misrepresentations are our fault, not the speaker's. Slides for Sameer's talk can be found here: https://speakerdeck.com/sajmani/simulating-a… Read more

Liveblogging dotGo 2017

We’re excited to be running the official liveblog for dotGo 2017 in Paris on Monday, November 6. With the help of volunteer Gophers at dotGo in Paris, we’ll be blogging concise technical summaries of all dotGo talks, so people from all around the world can follow along and learn. Liveblogging… Read more

Functional Programming in Go

Liveblog by Renfred Harper ( @renfredxh ) Editor's note: This talk makes frequent reference to this repository: https://github.com/go-functional/core Aaron Schlesinger ( @arschles ) is a Microsoft Azure Gopher. He leads or contributes to development on much of the Go codebase in the Kubernetes, and… Read more

Fallacies Of Distributed Gomputing

Liveblog by Linda Xie ( @lindeexie ) Michael Hausenblas is a developer advocate for OpenShift and Kubernetes Hat Red Hat. His background is in large-scale data processing and container orchestration. He also contributes to open source software, mainly using Go. Fallacies of distributed computing… Read more

Go at the DARPA Cyber Grand Challenge

Liveblog by Beyang Liu ( @beyang ) Slides for this talk have been posted here . Will Hawkins , graduate student at the University of Virginia. He's much more of a C/C++ programmer than a Go programmer. He takes Dave Cheney's pop quizzes about Go on Twitter very seriously. What is the DARPA Cyber… Read more

Writing Network Clients in Go: The Design and Implementation of the NATS Client

Liveblog by Carlisia Pinto ( @carlisia ) About the speaker Waldemar @wallyqs is a Senior Software Engineer at Apcera, where he develops the Apcera Trusted Platform and is part of the NATS team. Previously, he formed part of the PaaS team at Rakuten in Tokyo which was one of the early adopters of… Read more

Evolutionary optimization

Liveblog by Emmanuel Odeke ( @odeke_et ) Background Peter was at a Prometheus meetup in San Francisco and he lamented on the lack of logging. That lamentation made him wonder why there wasn't a Prometheus buffer log, so he decided to take on the challenge, why not? In this talk, he chronicles the… Read more

Understanding Channels

Liveblog by Jaana B. Dogan ( @rakyll ) About the speaker Kavya writes Go for a living at a start-up in San Francisco. She's primarily a backend/ systems developer, but has of late been dabbling in firmware too. Her favorite aspects of being a programmer are reasoning about systems at scale, and… Read more

Idiomatic Go

Liveblog by Renfred Harper ( @renfredxh ) The video for this talk has been posted here . Edward Muller @freeformz is a software engineer @Heroku , where he has worked on databases, infrastructure, metrics and logs before becoming the Go language owner. In that capacity he's seen a lot of Go code… Read more

Advanced Testing in Go

Liveblog by Beyang Liu ( @beyang ) Mitchell Hashimoto is the founder of HashiCorp and creator of popular DevOps tools such as Vagrant, Packer, Terraform, Consul, Vault, and more. Mitchell is an O'Reilly author and one of the top GitHub users by followers, activity, and contributions. He has been… Read more

My Journey to Go

Liveblog by Kristie Howard ( @kristiehow ) In an inspiring and thoughtful close to Friday's opening keynote, Ashley McNamara explained her journey to Go - and what you can do to get involved in the Golang community. A self-proclaimed "accidental gopher", Ashley detailed her path to becoming a… Read more

The New Era of Go Package Management

Liveblog by Alan Shreve ( @inconshreveable ) Update: Slides for this talk have been posted here . Author Presentation by Sam Boyer @sdboyer . Sam fell into software engineering by accident, but decided to stick around. He loves complex, ecosystem-class problems, cares deeply about building healhty… Read more

Runtime Generated, Typesafe, and Declarative - Pick Any Three

Liveblog by Matt King About the speaker Jon Bodner is part of the Technology Fellows Program at Capital One, currently working on a fork of the LGTM project with the hopes of open sourcing it soon. His team is helping to transform Capital One through introduction and integration of new technologies… Read more

Valuable Lessons in Over-Engineering the Core of Kubernetes kops, Kris Nova

This post was originally written as liveblog coverage of GopherCon 2017 by @beyang . It has since been updated with the help of the speaker to include more detailed coverage of the technical details of the talk. Slides for this talk are available here . Kris Nova , of Microsoft, shares lessons on… Read more

Liveblog articles from GopherCon 2017

(See an overview of all GopherCon talks with links in this post). We’re excited to be the official liveblogging partner for GopherCon 2017! That’s right — we’ll be writing up concise technical summaries of as many of the amazing talks by Go experts this year as we can. For folks tuning in from home… Read more

Self Deploying Kubernetes Applications

Liveblog by Quinn Slack ( @sqs ) Kelsey Hightower ( @kelseyhightower ) is a technologist and Googler who regularly comes up with refreshing new ideas for using Go and deploying software. We live-blogged his talk at GopherCon 2017 about self-deploying Go applications using Kubernetes. Note: This… Read more

A Go Programmer’s Guide to Syscalls

Liveblog by Matt King Overview Even if you’ve never used Go’s syscall package - in fact even if you’ve only ever written “Hello, world” - you have definitely used syscalls. They provide the interface between your code and the operating system. Liz goes under the hood to explore what syscalls are… Read more

Go Reliability and Durability at Dropbox

Tammy Butow ( @tammybutow ) is an Engineering Manager in Developer Infrastructure at Dropbox. Tammy manages code workflows—the entire experience of using Go at Dropbox, from coding to shipping. She talked at GopherCon 2017 about how Dropbox engineers build and run large-scale services in Go. Note… Read more

Writing a Go Tool to Parse and Modify Struct Tags

Liveblog by Matt King Overview Struct field tags are an important part of encode/decode types, especially when using packages such as encoding/json. However, modifying tags is repetitive, cumbersome and open to human errors. We can make it easy to modify tags with an automated tool that is written… Read more

Creating a Custom Serialization Format

Liveblog by Renfred Harper ( @renfredxh ) Update: slides for this talk have been posted here . Scott Mansfield ( @sgmansfield ) is a Senior Software Engineer at Netflix. He works on EVCache, a high-performance, low latency persistence system. He is the primary author of Rend, an open-source… Read more

Operability in Go

Liveblog by Beyang Liu ( @beyang ) Update: slides for this talk have been posted here , and the video for this talk has been posted here . Improving operations in Go programs Ian Schenck , software engineer, Infrastructure at Oscar Insurance ([email protected]). "I am a SWE who ends up in SRE… Read more

Encrypting the Internet with Go - Tutorial

Liveblog by Carlisia Pinto ( @carlisia ) Overview Talk by Filippo Valsorda. Starting at the beginning of this year, a lot of your internet traffic probably is going through Go. That is because Cloudflare delivers content for a great number of websites, and they have have build their TLS 1.3 using Go… Read more

Building a High Performance Key/Value Store

Liveblog by Matt King Slides for this talk have been posted here . About The Speaker Marty Schoch is a Senior Software Engineer at Couchbase and the lead developer at Bleve , an open-source full-text search library for Go. Overview Marty explores the internals of a high-performance key/value… Read more

Forward Compatible Go Code

Liveblog by Linda Xie ( @lindeexie ) Joe Tsai is a Software Engineer on Google's Go team. He is a regular contributor to the Go standard library and other open source projects. Gophers often use "Go 1 compatibility" as a magic phrase to indicate that all present Go1 code will always work on all… Read more

Generating Better Machine Code with SSA

Liveblog by Beyang Liu ( @beyang ) Keith Randall ( GitHub ) is a principal software engineer at Google and works on the Go compiler. Last year he gave a talk on high-frequency trading with Go. Previously, he was a research scientist at Compaq's System Research Center (SRC) and a student of the MIT… Read more

An Introduction to go tool trace

Liveblog by Beyang Liu ( @beyang ) Slides for this talk are available here . Rhys Hiltner , software engineer at Twitch, works on improving developer experience there. He is the author of critical parts of the Twitch chat server (which he wrote in Go) and works on controlling the latency introduced… Read more

gRPC in Production

Liveblog by Beyang Liu ( @beyang ) Alan Shreve is an hacker, entrepreneur and creator of ngrok.com. ngrok is the best way to connect expose services behind a NAT or firewall to the internet for demos, webhook development and IoT connectivity. Today, he's giving us a whirlwind tour of gRPC and how… Read more

The Future of Go

Liveblog by Dmitri Shuralyov ( @shurcool ) Go history On September 25, 2007, together with Rob Pike, they decided on the name. Go. On November 10, 2009, Go was open sourced. Go 1, the first stable release, was released on March 28, 2012. Before Go 1, Go was broken every week. Programs had to be… Read more

Peter Bourgon on the history of Go kit and what's next

Peter Bourgon is the creator of Go kit. Strong majority of audience here has heard of Go kit. What is Go kit? Go kit is a toolkit for microservices. In the early days, that meant something very specific at SoundCloud (where Peter worked at the time). They were using Finagle for microservices, but… Read more

JP Robinson of NYTimes on Go kit, Gizmo, and Marvin

JP Robinson , principal engineer at the New York Times, has "drunk Peter's koolaid" with respect to Go kit. github.com/NYTimes/gizmo adapts Go kit for use inside a production ecosystem with a bunch of existing legacy services. The NYTimes uses it across almost all their production Go services. About… Read more

Liveblogging GopherCon 2017

We’re excited to be the official liveblogging partner for GopherCon 2017! That’s right — we’ll be writing up concise technical summaries of as many of the amazing talks by Go experts this year as we can. For folks tuning in from home, the liveblog will be a great way to stay on top of conference… Read more