GopherCon and dotGo liveblogs

  • 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 (http://tinygo.org) 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 Brandhorst Liveblogger: Alex Boten Curious 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. Mills Liveblogger: Dmitri Shuralyov In 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. Summary This talk will cover two principles related to the Go concurrency primitives (goroutines… Read more

  • GopherCon 2018 - Demystifying Binary Search Tree Algorithms

    Presenter: Kaylyn Gibilterra Liveblogger: Geoffrey Gilmore Learning 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. Introduction Kaylyn started… Read more

  • GopherCon 2018 - The Importance of Beginners

    Presenter: Natalie Pistunovich Liveblogger: Ryan Blunden Title Graphic: Amy Chen image Summary Natalie 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… Read more

  • GopherCon 2018 - Writing Accessible Go

    Presenter: Julia Ferraioli Liveblogger: William Kennedy Title Graphic: Amy Chen image Summary Julia 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… Read more

  • GopherCon 2018 - Adventures in Cgo Performance

    Presenter: Mr. Sean T. Allen Liveblogger: Keegan Carruthers-Smith Covers 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… 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. Stack Memory & Goroutine leaks… Read more

  • GopherCon 2018 - C L Eye-Catching User Interfaces

    Presenter: James Bowes Liveblogger: Ryan D This 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… Read more

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

    Presenter: Deval Shah Liveblogger: Farhan Attamimi How Reddit built its ad-serving system using Go, and the lessons learned from the process. Summary The Reddit engineering team recently introduced Go into their stack to write a new ad-serving system to replace a third party system. Deval Shah ta... Read more

  • GopherCon 2018 - Go in Debian

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

  • GopherCon 2018 - Going Serverless

    Presenter: Kelsey Hightower Liveblogger: Ryan Blunden Summary In 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 reflection and grpcurl

    Presenter: Joshua Humphries Liveblogger: Alan Shreve grpcurl: Dynamic CLI interface for grpc services via protobuf descriptors and grpc reflection. Summary grpcurl is a CLI tool that can provide a human-friendly CLI experience to dynamically invoke grpc services. Built on top of protobuf descript... Read more

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

    Presenter: Amy Codes, @TheAmyCode Liveblogger: Larry Clapp Introduction to Finite State Machines (FSMs), touching on gRPC, and testing of the FSM. Summary Amy 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 Sougoumarane Liveblogger: Nick Snyder Sugu 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. Summary goyacc is almost an exact translation of the original… Read more

  • GopherCon 2018 - Implementing a Network Protocol in Go

    Presenter: Matt Layher Liveblogger: Beyang Liu An 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. Intro The IPv6 Neighbor Discovery Protocol (NDP) is our focus for… Read more

  • GopherCon 2018 - Micro-optimizing Go Code

    Presenter: George Tankersley Liveblogger: Matt Jaffee Everyone 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? Summary In 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 Rice Liveblogger: Keegan Carruthers-Smith Title graphic: Amy Chen A practical guide to what is happening under the covers when applications or users need to identify themselves, or need a secure channel for communications. image Summary The motivation of the talk is to understand w... Read more

  • GopherCon 2018 - Becoming a Go Contributor

    Presenter: Kevin Burke Liveblogger: Farhan Attamimi A guide to becoming a contributor to the Go project. Summary Kevin 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... Read more

  • GopherCon 2018 - Allocator Wrestling

    Presenter: Eben Freeman Liveblogger: Beyang Liu Summary A 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 free The garbage collector can stop… Read more

  • GopherCon 2018 - Asynchronous Networking Patterns

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

  • GopherCon 2018 - An Over-Engineering Disaster with Macaroons

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

  • Gophercon 2018 - Computer Vision Using Go and OpenCV 3

    Presenter: Ron Evans Liveblogger: @beyang Summary An 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 Gobot.io and Gocv.io, and the leader of The Hybrid Group, the "software… Read more

  • GopherCon 2018 - Go for Information Displays

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

  • GopherCon 2018 - Go says WAT?

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

  • GopherCon 2018 - How Do You Structure Your Go Apps?

    Presenter: Kat Zień Liveblogger: Matt King dltmtnluyaemt6p (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 w... Read more

  • GopherCon 2018 - Machine Learning in Go

    Presenter: Francesc Campoy Flores Liveblogger: Steven Klassen We'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 - Painting with Light

    Presenter: Hunter Loftis Liveblogger: Farhan Attamimi Summary This 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… Read more

  • GopherCon 2018 - The Scheduler Saga

    Presenter: Kavya Joshi Liveblogger: Keegan Carruthers-Smith The 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

  • 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 langu... 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 Ev... 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 . Note: This… 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, includ... 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-real… 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 SIG… Read more

  • Fallacies Of Distributed Gomputing

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

  • Advanced Testing in Go

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

  • Evolutionary optimization

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

  • My Journey to Go

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

  • The New Era of Go Package Management

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

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

    Liveblog by Carlisia Pinto (@carlisia) waldemar 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 adopt... Read more

  • Idiomatic Go

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

  • Building a High Performance Key/Value Store

    Liveblog by Matt King Selection 012 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… 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 to… Read more

  • A Go Programmer’s Guide to Syscalls

    Liveblog by Matt King IMG 4097.JPG 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… Read more

  • Creating a Custom Serialization Format

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

  • Encrypting the Internet with Go - Tutorial

    Liveblog by Carlisia Pinto (@carlisia) filippo 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.… 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

  • Forward Compatible Go Code

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

  • Go Reliability and Durability at Dropbox

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

  • Liveblog articles from GopherCon 2017

    (See an overview of all GopherCon talks with links in this post). GopherCon banner We’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

  • 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

  • Self Deploying Kubernetes Applications

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

  • The Future of Go

    Liveblog by Dmitri Shuralyov (@shurcool) cox 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

  • 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 King IMG 4098.JPG 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 t... Read more

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

    jp robinson 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… 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

    bourgon 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 microservi... Read more