GopherCon and dotGo Liveblogs by Sourcegraph

Subscribe to the GopherCon 2019 Liveblog

Get notified as each post goes live.

GopherCon 2019 Liveblog proudly hosted by Sourcegraph

GopherCon 2019 - What got us here, won't get us there

There's never been a better time to adopt Go. The language is attracting more newcomers every day and by all accounts, its community has a lot to do with it. If, however, we want to retain what makes Go special beyond the language itself, we, as a community, must recognize and amplify what makes ... Read more

GopherCon 2019 - Two Go programs, three different profiling techniques, in 50 minutes

Go, being a relatively recent statically typed, compiled language, is known to produce efficient programs. But writing a program in Go is not sufficient for good performance. Read more

GopherCon 2019 - How I write HTTP web services after eight years

A look at how Mat Ryer builds web services after doing so for the past eight years. Extremely practical, tried and tested patterns that everybody can start using today. Read more

GopherCon 2019 - Tracking inter-process dependencies using static analysis

Using a service-oriented architecture instead of a monolithic architecture adds flexibility but also increases complexity. How will we keep track of which parts of our system depend on each other? To help solve this problem, I've been working on a project to analyze Go code (using Go!) to detect ... Read more

GopherCon 2019 - Dynamically instrumenting Go programs

Ever wanted to ask arbitrary questions about your program while it is running with minimal impact on performance? In this talk, we go beyond static instrumentation and look at specific techniques for gathering information about your programs so that you can understand what your gophers are up to! Read more

GopherCon 2019 - Go Linters: Myths and best practices

Go contains over 50 different linters. For linter adepts, I'll reveal how to use their full power, as well as little-known tips and tricks to get ahead. For linters beginners, this presentation explains what they are, the benefit of their use, and the best way to introduce them into a workflow. Read more

GopherCon 2019 - Detecting incompatible API changes

Detecting whether your package's API is backwards-compatible is an important problem. You want to know whether your change could break existing users, or whether you're just adding new features. In this tutorial, I'll begin by discussing what we mean by API compatibility. I'll talk about how comp... Read more

GopherCon 2019 - Socket to me: Where do Sockets live in Go?

Have you ever used HTTP server functions surfaced by the net/http package? Or gone down a couple of network levels and used TCP and UDP Listeners? Sockets are the secret sauce underlying these networking tools in Go. While Go abstracts away sockets, there are circumstances where knowing about soc... Read more

GopherCon 2019 - Death by three thousand timers: Streaming video-on-demand for Cable TV

Can Go handle soft real-time applications? Learn about the challenges my team overcame to deliver video-on-demand MPEG streams to millions of cable TV customers using pure Go. Along the way we'll dig deeper into how Go manages timers and goroutine scheduling. Read more

GopherCon 2019 - Optimizing Go Code without a blindfold

Making code faster is exciting, and benchmarks in Go make that easy to do! Not really. Optimizing a program can be complex and requires careful consideration to do so properly. This session will demonstrate techniques and tools which are a must for any performance aficionado. Read more

GopherCon 2019 - Small is going big: Go On microcontrollers

TinyGo takes the Go programming language to the 'final frontier' where we could not go before... running directly on microcontrollers like Arduino and more! In this talk I will introduce TinyGo ( a new miniature version of the Go language that uses the LLVM compiler toolchain to... Read more

GopherCon 2019 - You can't Go your own way: The standardization of Go at GitHub

Ever feel like moving code bases, even in the same language, can feel like working at an entirely new company? Over the past year, GitHub has been working on standardizing its usage of Go to mitigate issues like this. This talk will cover challenges faced and lessons learned throughout this process. Read more

GopherCon 2019 - Generics in Go

Advantages and requirements for generics in Go. Read more

GopherCon 2019 - The Athens project: A proxy server for Go modules

Go 1.11 was a big release for all of us because we got a new package management system called modules built right into the go CLI. If you tried out vgo before 1.11, you'll be familiar with modules. There's some really cool stuff in there, but there's one piece that a lot of us missed that we need... Read more

GopherCon 2019 - Contributing to the os Package: How deep do you Go?

When the core of a language fails you, and you can't remove a file, how can you fix it? Oliver will share his contribution journey from bug to merge in a crucial part of Golang: the os package. Discover how Golang manages platform independence and how even novices can contribute Unix system calls. Read more

GopherCon 2019 - Contributing to the os Package: How deep do you Go?

When the core of a language fails you, and you can't remove a file, how can you fix it? Oliver will share his contribution journey from bug to merge in a crucial part of Golang: the os package. Discover how Golang manages platform independence and how even novices can contribute Unix system calls. Read more

GopherCon 2019 - Design Command-Line Tools People Love

It is a joy to build command-line tools that are not only easy to learn, but that other developers are willing to maintain. Often a team's engineering efforts are spent on the backend, while the cli doesn't receive the same level of attention. This can result in hard-to-test tools and dumping mai... Read more

GopherCon 2019 - PKI for Gophers

TLS is easy, PKI is hard. Learn about Go primitives for generating certificate hierarchies, instrumenting mTLS, hardware backed keys, and public infrastructure like Let's Encrypt and Certificate Transparency. Along the way we'll discuss roots of trust for automated issuance, nuances of revocation... Read more

GopherCon 2019 - The Gopher's manual of style

Our industry has borrowed ideas and practices from a range of industries to improve the design and production of software. In this talk, we'll look to the publishing industry for ways to improve software development for our industry and within the Go community. Read more

GopherCon 2019 - Better x86 Assembly Generation from Go

This talk will equip you with the tools to safely write lightning fast assembly functions for Go. We will introduce Go assembly and the role it plays in the Go ecosystem, promote best practices for assembly development and demonstrate how code generation tools can manage complexity in large assem... Read more

GopherCon 2019 - Go Module Proxy: Life of a query

The Go team has built a module mirror and checksum database, which adds reliability and security to the Go ecosystem. This talk discusses the technical details of authenticated module proxies, following the journey of a request through the go command, proxy, and checksum database. Read more

GopherCon 2019 - Controlling the go runtime

Sometimes we need to tell the go runtime what to do. This talk explains how to control the runtime, why we should, and describes two new ways to control it better. Read more

GopherCon 2019 - Get Going with WebAssembly

Presenter: Johan BrandhorstLiveblogger: Alex BotenCurious about WebAssembly and how we can use it with Go? In this session, Johan introduces the technology, shows how to get started with WebAssembly and Go, discusses what is possible today and what will be possible tomorrow.What is WebAssembly… Read more

GopherCon 2019 - Handling Go errors

Let's talk about programmable errors and how you can design your own architecture that allows you to legibly master your system failures. Read more

GopherCon 2019 - Go, pls stop breaking my editor

The Go community has built many amazing tools to improve the Go developer experience. However, when a maintainer disappears or a new Go release wreaks havoc, the Go development experience becomes frustrating and complicated. This talk will cover the details behind a new tool to solve these issues... Read more

GopherCon 2019 - Simple, Portable and Efficient Graphical Interfaces in Go

Gio is a new open source Go library for writing immediate mode GUI programs that run on all the major platforms: Android, iOS/tvOS, macOS, Linux, Windows. The talk will cover Gio's unusual design and how it achieves simplicity, portability and performance. Read more

GopherCon 2019 - How Uber 'Go'es

Maintaining a large codebase with maximum readability and minimal overhead is hard. This is the story of how Go went from a few enthusiastic Gophers to the most popular language for microservices at Uber. Learn where we failed, and how that led us to solutions that we think are pretty darn neat! Read more

GopherCon 2019 - On the road to Go 2

We're on the road to Go 2. But where exactly are we? Where are we headed? Come find out. Read more

GopherCon 2018 - Rethinking Classical Concurrency Patterns

Presenter: Bryan C. MillsLiveblogger: Dmitri ShuralyovIn this talk, Bryan Mills from the Go team at Google invites us to rethink and reinvent some classical concurrency patterns in the context of Go.SummaryThis talk will cover two principles related to the Go concurrency primitives (goroutines and… Read more

GopherCon 2018 - The Importance of Beginners

Presenter: Natalie PistunovichLiveblogger: Ryan BlundenTitle Graphic: Amy ChenimageSummaryNatalie talks about the massive growth in the GopherCon community and the need to prepare for and embrace the huge amount of beginners that will become Gophers in 2018 and beyond.When Natalie first started… Read more

GopherCon 2018 - Demystifying Binary Search Tree Algorithms

Presenter: Kaylyn GibilterraLiveblogger: Geoffrey GilmoreLearning algorithms can be overwhelming and demoralizing, but it doesn't have to be. In this talk, Kaylyn explains binary search tree algorithms in a simple and straightforward manner with code examples in Go.IntroductionKaylyn started writing… Read more

GopherCon 2018 - Adventures in Cgo Performance

Presenter: Mr. Sean T. AllenLiveblogger: Keegan Carruthers-SmithCovers hard-won knowledge about using cgo in performance sensitive code including: ways in which cgo makes interoperation with other languages difficult, how you can work around common sources of performance and scaling problems, and an… Read more

GopherCon 2018 - Writing Accessible Go

Presenter: Julia FerraioliLiveblogger: William KennedyTitle Graphic: Amy ChenimageSummaryJulia spoke to the importance of writing code that was accessible to all developers. She shared the story of her disability and how it affects her ability to read and write code. She provided examples of how her… Read more

GopherCon 2018 - Go in Debian

Presenter: Michael Stapelberg, [email protected] Creator of the i3 Linux window managerLiveblogger: Larry ClappUsing Go in and with DebianSummaryDebian services and tools written in Go. Developing and packaging Go software for use in Debian. Upstream best practices.This is a broad overview… Read more

GopherCon 2018 - Going Serverless

Presenter: Kelsey HightowerLiveblogger: Ryan BlundenSummaryIn this talk, Kelsey demonstrated what a simple Serverless application looks like, highlighted some best practices and inspired Go developers who haven't experimented with Serverless yet to give it a try. While he doesn't suggest we all… Read more

GopherCon 2018 - gRPC, State Machines, and ... Testing?

Presenter: Amy Codes, @TheAmyCodeLiveblogger: Larry ClappIntroduction to Finite State Machines (FSMs), touching on gRPC, and testing of the FSM.SummaryAmy walks us through her usage of a Finite State Machine to implement automatic upgrades of clients running in a Kubernetes (k8s) cluster, also… Read more

GopherCon 2018 - How to Write a Parser in Go

Presenter: Sugu SougoumaraneLiveblogger: Nick SnyderSugu Sougoumarane is the co-creator of Vitess, which contains a SQL parser that is now used by many other projects. In this talk he demonstrates how to write a parser using goyacc.Summarygoyacc is almost an exact translation of the original yacc… Read more

GopherCon 2018 - Micro-optimizing Go Code

Presenter: George TankersleyLiveblogger: Matt JaffeeEveryone knows: if you need to go fast, bust out the assembly. But what if there's better performance to be had just by writing Go more carefully?SummaryIn this tutorial session, George will optimize a hash function in pure Go, starting from a… Read more

GopherCon 2018 - The Go Programmer's Guide to Secure Connections

Presenter: Liz RiceLiveblogger: Keegan Carruthers-SmithTitle graphic: Amy ChenA practical guide to what is happening under the covers when applications or users need to identify themselves, or need a secure channel for communications.imageSummaryThe motivation of the talk is to understand what is… Read more

GopherCon 2018 - 5 Mistakes C/C++ Devs make writing Go

Nyah Check (@nyah_check, slides) is a software engineer at Altitude Networks.Nyah comes from a C/C++ background and subsequently wrote a lot of bad Go code early on. He hopes others can learn from his mistakes.He has classified his mistakes under 3 topics:Heap vs. StackMemory & Goroutine leaksError… Read more

GopherCon 2018 - C L Eye-Catching User Interfaces

Presenter: James BowesLiveblogger: Ryan DThis blog was written by @ryan0x44 from Cloudflare. If you want to write Go and help build a better Internet, Cloudflare is hiring!James' tutorial session will teach you how to use the many features and techniques available for building interactive CLIs, from… Read more

GopherCon 2018 - gRPC reflection and grpcurl

Presenter: Joshua HumphriesLiveblogger: Alan Shrevegrpcurl: Dynamic CLI interface for grpc services via protobuf descriptors and grpc reflection.Summarygrpcurl is a CLI tool that can provide a human-friendly CLI experience to dynamically invoke grpc services. Built on top of protobuf descriptors and… Read more

GopherCon 2018 - Becoming a Go Contributor

Presenter: Kevin BurkeLiveblogger: Farhan AttamimiA guide to becoming a contributor to the Go project.SummaryKevin Burke talks us through his journey to becoming a contributor to Go. He encourages developers to start contributing with small changes to build trust and ownership, and gives tips on how… Read more

GopherCon 2018 - From Prototype to Production: Lessons from Building and Scaling Reddit's Ad Serving Platform with Go

Presenter: Deval ShahLiveblogger: Farhan AttamimiHow Reddit built its ad-serving system using Go, and the lessons learned from the process.SummaryThe Reddit engineering team recently introduced Go into their stack to write a new ad-serving system to replace a third party system. Deval Shah talks us… Read more

GopherCon 2018 - Implementing a Network Protocol in Go

Presenter: Matt LayherLiveblogger: Beyang LiuAn very detailed walkthrough of implementing a networking protocol (NDP in IPv6) in Go, with many, many code snippets.Matt Layher (@mdlayher, talks) is an engineer at Digital Ocean.IntroThe IPv6 Neighbor Discovery Protocol (NDP) is our focus for todayIPv… Read more

GopherCon 2018 - Asynchronous Networking Patterns

Presenter: Filippo ValsordaLiveblogger: Nick SnyderFilippo Valsorda, a Cryptogopher on the Go Team at Google, demonstrates how to write a TCP network listener using package .Summarygvt is retired.You can build a network proxy using package net that is:About 100 lines of Go.As performant as Nginx… Read more

GopherCon 2018 - Go for Information Displays

Presenter: Anthony StarksLiveblogger: Alan BraithwaiteGo for "programming pictures" -- turning data into compelling displays and visualizations.SummaryGo, while typically used primarily for systems programming, is an excellent language for visualization tools given it's rich image processing… Read more

GopherCon 2018 - Machine Learning in Go

Presenter: Francesc Campoy FloresLiveblogger: Steven KlassenWe've all wondered how to use Machine Learning with Go, but what about turning the tables for once? What can Machine Learning do for Go? During this presentation, we will discover how different Machine Learning models can help us write… Read more

GopherCon 2018 - The Scheduler Saga

Presenter: Kavya JoshiLiveblogger: Keegan Carruthers-SmithThe Go scheduler is the behind-the-scenes magical machine that powers Go programs. It efficiently runs goroutines, and also coordinates network IO and memory management. This talk will explore the inner workings of the scheduler machinery… Read more

GopherCon 2018 - An Over-Engineering Disaster with Macaroons

Presenter: Tess RinearsonLiveblogger: Guillaume J. CharmesThis is a story about cool new technology, over-engineering, and coconut cookies.SummaryMacaroon is an exciting new technology that promises to solve the authentication/authorization problem.Tess Rinearson, VP of Engineering at Chain, walk us… Read more

GopherCon 2018 - Go says WAT?

Presenter: Jon BodnerLiveblogger: Alan BernsteinDespite our smugness, Go has some weird corners where the "obvious" behavior is not the "actual" behavior.SummaryGo developers watch videos like Gary Bernhardt's Wat and feel smug. After all, Go is a typesafe language with no automatic type promotion… Read more

GopherCon 2018 - How Do You Structure Your Go Apps?

Presenter: Kat ZieńLiveblogger: Matt Kingdltmtnluyaemt6p (Photo credit: arbourdx)How should I structure my Go code?” is probably one of the most commonly asked questions, by new and experienced programmers alike. There is almost always more than one answer and it can be tricky to decide what will… Read more

GopherCon 2018 - Painting with Light

Presenter: Hunter LoftisLiveblogger: Farhan AttamimiSummaryThis talk covers the history of path tracing, what basic path tracing is, and how to build a path tracer in Go. Specifically, it covers rendering images using path tracing in Go, explores tradeoffs between concurrency schemes for simulating… Read more

GopherCon 2018 - Allocator Wrestling

Presenter: Eben FreemanLiveblogger: Beyang LiuSummaryA whirlwind tour of the Go memory allocator and garbage collector, with tools and tips on how to optimize.The allocator and garbage collector are pretty ingenious!Single allocations are fast but not freeThe garbage collector can stop individual… Read more

Gophercon 2018 - Computer Vision Using Go and OpenCV 3

Presenter: Ron EvansLiveblogger: @beyangSummaryAn introduction to and tour of computer vision programs written in Go using GoCV––with code snippets and live demos!Ron Evans is the creator of open source robotics projects and, and the leader of The Hybrid Group, the "software company… Read more

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 isn't a functional language… 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.ioRon… 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 is a great language for writing network servers. Cindy's talk explains what under the hood when you call .Note: This post… 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, including… 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:… 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: Schlesinger (@arschles) is a Microsoft Azure Gopher. He leads or contributes to development on much of the Go codebase in the Kubernetes, and SIG… Read more

Fallacies Of Distributed Gomputing

Liveblog by Linda Xie (@lindeexie)screenshot-20 2017-07-14Michael 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… Read more

Evolutionary optimization

Liveblog by Emmanuel Odeke (@odeke_et)Selection 012BackgroundPeter 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… Read more

Understanding Channels

Liveblog by Jaana B. Dogan (@rakyll)About the speakerKavya 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 delving… Read more

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

Liveblog by Carlisia Pinto (@carlisia)waldemarAbout the speakerWaldemar @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

Advanced Testing in Go

Liveblog by Beyang Liu (@beyang)Selection 012Mitchell 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… 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 Grand… Read more

Idiomatic Go

Liveblog by Renfred Harper (@renfredxh)The video for this talk has been posted here.IMG 9383Edward 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

My Journey to Go

Liveblog by Kristie Howard (@kristiehow)ashley-speakerIn 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… Read more

The New Era of Go Package Management

Liveblog by Alan Shreve (@inconshreveable)Update: Slides for this talk have been posted here.Boyer-1AuthorPresentation 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 KingAbout the speakerJon 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

A Go Programmer’s Guide to Syscalls

Liveblog by Matt KingIMG 4097.JPGOverviewEven 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… Read more

Building a High Performance Key/Value Store

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

Creating a Custom Serialization Format

Liveblog by Renfred Harper (@renfredxh)Update: slides for this talk have been posted here.DEogyASVoAEn0jjScott 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

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 by the… Read more

Encrypting the Internet with Go - Tutorial

Liveblog by Carlisia Pinto (@carlisia)filippoOverviewTalk 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… Read more

Go Reliability and Durability at Dropbox

Selection 012Tammy 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… Read more

Forward Compatible Go Code

Liveblog by Linda Xie (@lindeexie)Selection 012Joe 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… Read more

Liveblog articles from GopherCon 2017

(See an overview of all GopherCon talks with links in this post).GopherCon bannerWe’re excited to be the official live-blogging 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… Read more

Self Deploying Kubernetes Applications

Liveblog by Quinn Slack (@sqs)Selection 012Kelsey 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… 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 the… Read more

Writing a Go Tool to Parse and Modify Struct Tags

Liveblog by Matt KingIMG 4098.JPGOverviewStruct 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… 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

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 programsIan Schenck, software engineer, Infrastructure at Oscar Insurance ([email protected]). "I am a SWE who ends up in SRE… Read more

The Future of Go

Liveblog by Dmitri Shuralyov (@shurcool)coxGo historyOn 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 updated… Read more

gRPC in Production

Liveblog by Beyang Liu (@beyang)Alan Shreve is an hacker, entrepreneur and creator of 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 to… Read more

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

jp robinsonJP Robinson, principal engineer at the New York Times, has "drunk Peter's koolaid" with respect to Go 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… 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

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

bourgonPeter 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… Read more