Video archive

Golang Tutorial Videos

  • Building a Bank with Go
    0:54:38
    Building a Bank with Go

    Large banking systems are incredibly dated, often as a result of a series of mergers between banks, leading to a patchwork of different systems & technologies. As a result, the...

    Watch video
  • Building APIs
    0:52:10
    Building APIs

    Go is great for quickly putting together APIs addressing all kinds of problems, from simple data persistence or composing external services, to exposing complicated business logic that makes up you...

    Watch video
  • CockroachDB
    0:52:08
    CockroachDB

    CockroachDB aims to bring the best aspects of Google’s next generation database, Spanner, to the rest of the world via open source. Databases should scale horizontally with minimum fuss, survive...

    Watch video
  • Complex Concurrency
    0:53:45
    Complex Concurrency

    There is a lot of power available through Go’s concurrency primitives, but they are still just that: primitives. Typical examples of channel and goroutine usage show pipelines and worker pools,...

    Watch video
  • Crossing the Language Chasm
    0:24:32
    Crossing the Language Chasm

    What makes millions of developers choose a particular programming language? Is it the community? Is it the features? Is it the platform compatibilities? Maybe it’s just all the hype, or...

    Watch video
  • Dependency Management
    0:51:10
    Dependency Management

    The “go get” tool is brilliant but the tool is also its own worse enemy. It is a major reason for the problems we have with dependency management. There is...

    Watch video
  • Go Kit A Toolkit for Microservices
    1:00:34
    Go Kit A Toolkit for Microservices

    Go is the language of the server, but it’s not yet reached a critical mass in the modern enterprise. This talk describes Go kit, a toolkit for microservices in larger...

    Watch video
  • Program Analysis
    0:49:41
    Program Analysis

    Go is a simple language with a very small grammar, which makes building tools for the language quite enjoyable. This talk covers different techniques that you can use to analyze...

    Watch video
  • Stupid Gopher Tricks
    0:53:10
    Stupid Gopher Tricks

    They say you can’t teach an old dog new tricks, but what about a gopher? In this talk we’ll investigate a bunch of odd corners of the language, libraries, and...

    Watch video
  • The Go Community
    0:27:15
    The Go Community

    We often think of “The Go Community” as a single entity. But different species of Gopher interact in different ways: Email, IRC, Twitter, in person, or perhaps not at all....

    Watch video
  • Understanding Memory Allocation in Go
    0:37:45
    Understanding Memory Allocation in Go

    Go’s clean syntax and built in garbage collection make it a breeze to write programs quickly. But as you go further down the rabbit hole, understanding your program’s memory consumption...

    Watch video
  • Whispered Secrets
    1:03:54
    Whispered Secrets

    A fun mashup of networking, file IO and cryptography using Go’s standard package library. There’ll be cipher streams for files and TCP connections, hybrid encryption between web services using AES...

    Watch video
  • A Beginners Guide to Context
    0:25:26
    A Beginners Guide to Context

    The context package offers some great features that any go programmer can take advantage of to build great apps. However, it can be a little tricky when you first pick...

    Watch video
  • A Go IDE - Because Semantics Matter
    0:27:01
    A Go IDE - Because Semantics Matter

    With Go, developers use many different setups, one of the most common being editors in combination with command line tools. So one might question how using this setup differs from...

    Watch video
  • Advanced Patterns with io.ReadWriter
    0:18:51
    Advanced Patterns with io.ReadWriter

    io.Reader, io.Writer, and io.ReadWriter are some of the most powerful, yet surprisingly subtle, tools in the Go standard library. In this talk, we’ll explore two concrete examples leveraging these building...

    Watch video
  • Advanced testing concepts for Go 1.7
    0:24:37
    Advanced testing concepts for Go 1.7

    Go 1.7 introduces the Run method to tests and benchmarks in the testing package. These innocently looking methods enable a wide range of functionality as often seen in other testing...

    Watch video
  • An Actor Model in Go
    0:31:38
    An Actor Model in Go

    The actor model makes it easier to reason about the behaviour of concurrent systems. Languages such as Erlang and Scala provide actor support as standard, but it can be added...

    Watch video
  • Applied Go kit
    0:31:17
    Applied Go kit

    Ladies and gentlemen, don’t miss this public bludgeoning of the microservices horse for its sweet hypeglue! We will survey the complex and often contradictory landscape of microservices, explain the numerous...

    Watch video
  • Developing Apps for Developing Countries with go-mobile
    0:30:16
    Developing Apps for Developing Countries with go-mobile

    What is the connection between go-mobile, GOMAXPROCS and app development for developing countries? App development for developing countries introduces a a different mindset and a slew of new challenges: smartphones...

    Watch video
  • Let’s build a CI/CD pipeline
    0:22:17
    Let’s build a CI/CD pipeline

    Continuous integration/deployment is a methodology for making small, iterative changes that get deployed frequently. Many companies have reservations about adopting this strategy, from small startups with important deadlines to large...

    Watch video
  • Building an enterprise service in Go
    0:25:32
    Building an enterprise service in Go

    Go has been widely successful for creating tools and infrastructure, but the simplicity of the language also makes for an excellent fit for implementing core business applications. We will look...

    Watch video
  • Building Cloud Native applications with Go
    0:30:06
    Building Cloud Native applications with Go

    Seems that everywhere you look now large scale, bleeding edge cloud technology projects are being written in the Go Programming Language including many of the the current wave of ‘Cloud...

    Watch video
  • Building Mobile SDKs for iOS and Android - Ain’t nobody got time for that!
    0:24:23
    Building Mobile SDKs for iOS and Android - Ain’t nobody got time for that!

    You have built your shiny backend API for your Kitten as a Service platform and whilst you’ve tried to keep the API contract small and succinct the the uptake has...

    Watch video
  • Building your own log-based message queue in Go
    0:24:14
    Building your own log-based message queue in Go

    As applications become more data-intensive and with the rise of event based architectures, terms like stream processing, ETL and data integration, become normal vocabulary for many organizations. At the center...

    Watch video
  • Cloud in your Cloud
    0:28:15
    Cloud in your Cloud

    How is the cloud built? We will go into detail how we write microservices that run the cloud at scale. With tens of the thousands of customers, and 10+ datacenters....

    Watch video
  • Design patterns in Microservices architectures and Gilmour
    0:29:10
    Design patterns in Microservices architectures and Gilmour

    Microservices is a talk of the town. Newer protocols like GRPC and frameworks like Gokit make us the armchair architects who have seen it all. But let’s take a step...

    Watch video
  • Dropping down: Go functions in assembly
    0:28:18
    Dropping down: Go functions in assembly

    Writing functions using Go’s assembler can be tricky. Used judiciously however a little sprinkling of assembly can seriously improve the performance of your program on modern hardware. This tutorial will...

    Watch video
  • Go from Dev to Prod
    0:30:56
    Go from Dev to Prod

    You finished working on your new Go project and now you’d like to share it with the world. Now what?

    This talk aims to highlight what are the...

    • logging
    • monitoring
    • deployment
    • versions
    • and many more

    Watch video
  • GoBridge and the Go Community: Initiatives and Opportunities
    0:31:32
    GoBridge and the Go Community: Initiatives and Opportunities

    The Go community is fairly homogeneous and missing out on what a more diverse community can accomplish. More diversity can have a greater impact on our community’s ability to be...

    Watch video
  • Grand Treatise of Modern Instrumentation and Orchestration
    0:26:57
    Grand Treatise of Modern Instrumentation and Orchestration

    Go plays a major role in modern distributed systems. It is a great choice to implement microservices, as exemplified by the popular Go kit. Even more convincing is the...

    Watch video
  • How to Raise a Gopher in Record Time
    0:21:22
    How to Raise a Gopher in Record Time

    As an electrical engineer, both in college and at Intel, my exposure to software development was limited. I have been interested in software development, began learning on my own and...

    Watch video
  • Idiomatic Go Tricks
    0:27:57
    Idiomatic Go Tricks

    Using only the Go language, you can do some pretty powerful things. In my five years experience, I have picked up a selection of powerful, elegant, simple, and cool tips...

    Watch video
  • Implementing Software Machines in Go (and C)
    0:43:57
    Implementing Software Machines in Go (and C)

    I’ve been interested in the design and implementation of virtual machines since encountering the source code for a simple Forth interpreter written in Basic when I was 15. It was...

    Watch video
  • Inception, Go programs that generate Go code
    0:26:56
    Inception, Go programs that generate Go code

    Go is amazing, but sometimes we need to code lots of boiler plate. Fortunately, there are different ways you can reduce boilerplate by having programs generate all the boring code...

    Watch video
  • Managing and Scaling Real-Time Data Pipelines using Go
    0:28:13
    Managing and Scaling Real-Time Data Pipelines using Go

    Go’s concurrency model lends itself nicely to building real-time data pipelines, but how does this work out at scale? At Riot, we handle millions of player events, metrics and logs...

    Watch video
  • Real-Time Go
    0:45:38
    Real-Time Go

    Garbage-collected languages like Go usually don’t have the reputation of being particularly well-suited for real-time applications. As an online advertising company with a focus on the travel industry, we extensively...

    Watch video
  • Real-time machine learning in Go for smart energy applications
    0:28:29
    Real-time machine learning in Go for smart energy applications

    The smart energy sector is poised to deliver huge savings through efficiency improvements and ancillary services such as Open Energi’s Dynamic Demand.

    This talk, aimed at Go programmers...

    Watch video
  • Revolutionising Retail with Go
    0:22:02
    Revolutionising Retail with Go

    In a competitive market, Sainsbury’s is on a technology transformation process which involves the adoption of Go and a journey to cloud based distributed systems at scale.

    The...

    Watch video
  • Seven ways to profile Go applications
    0:30:04
    Seven ways to profile Go applications

    Microbenchmarks are all fine and good, but the first step from benchmarking one function and understanding the performance of a complex application in production is a doozie.

    This talk...

    Watch video
  • Simplifying building and managing microservices with Micro
    0:27:08
    Simplifying building and managing microservices with Micro

    We’re moving towards a world of infinite compute with the public cloud but leveraging it still proves to be difficult. Containers are naturally guiding us towards developing distributed systems but...

    Watch video
  • SOLID Go Design
    0:27:30
    SOLID Go Design

    David is a software engineer, author, blogger, and speaker from Sydney, Australia as well as a long time contributor to the Go project, focussing on performance and the application of...

    Watch video
  • Static Deadlock Detection for Go
    0:23:55
    Static Deadlock Detection for Go

    Go’s concurrency features differ from mainstream programming languages in that they are based on the high-level and formal model of CSP (or process calculi) by Tony Hoare in 1978. Over...

    Watch video
  • The dark side of microservices
    0:26:42
    The dark side of microservices

    The term “microservices” has been around for a while now. We’ve seen a lot of information on why you should adopt this type of architecture, but no one tells you...

    Watch video
  • What every developer should know about logging
    0:26:14
    What every developer should know about logging

    Go is one of the most popular languages to write applications structured into (micro)services, which gives developers lot of freedom, fun and possibilities to explore new solutions. Such applications are...

    Watch video
  • What is a container, really? Let's write one in Go from scratch
    0:23:00
    What is a container, really? Let's write one in Go from scratch

    Everyone has heard of Docker, but what is a container? Is it really “a lightweight VM”? In this talk we’ll dispel the magic by writing a container in about 100...

    Watch video
  • When Idioms Become Bottlenecks
    0:23:35
    When Idioms Become Bottlenecks

    Idiomatic Go code is composable and easy to understand, greatly improving the experience of writing new code and contributing to unfamiliar code bases. This allows Go to compete as a...

    Watch video
  • Betting on Go
    36:05
    Betting on Go

    This talk discusses HashiCorp’s journey with Go from its infancy to the mature, production-ready language it has become today. We will discuss the decision-making process which ultimately landed on Go,...

    Watch video
  • Bringing Go to the Enterprise
    43:29
    Bringing Go to the Enterprise

    In this talk I’ll share my unique experiences as a trainer and author bringing Go to enterprise companies. We’ll talk about what works well, what needs improvement, and what we...

    Watch video
  • Buffalo: Rapid Web Development in Go
    45:02
    Buffalo: Rapid Web Development in Go

    Put the fun back in writing Go web applications using the Buffalo framework. A Ruby on Rails inspired, idiomatic, web framework written in Go. Fun, Fast, and easy!

    Watch video
  • Building a RESTful API using go-swagger
    33:33
    Building a RESTful API using go-swagger

    Learn how to define a RESTful API by writing a Swagger specification and using go-swagger to generate a go server skeleton and client package. This talk focuses on developer productivity...

    Watch video
  • Building Go with Bazel
    26:22
    Building Go with Bazel

    Tired of Makefile hacks? Bazel offers fast, reproducible builds for software of any size. Why is it better than go build? Bazel makes polyglot projects easy, has remote build workers,...

    Watch video
  • Can you write an OS Kernel in Go?
    42:29
    Can you write an OS Kernel in Go?

    Go is a great language for building server applications but can you use it to write an OS kernel? Let’s talk about the challenges involved in writing, compiling and linking...

    Watch video
  • Command Line Scripting with Templates
    43:54
    Command Line Scripting with Templates

    Go’s template language is often used to enable scripting in command line tools. In practice, however, it can be difficult to take advantage of these scripting capabilities. This talk will...

    Watch video
  • Concurrency Patterns in Go
    31:52
    Concurrency Patterns in Go

    We all know that go comes with great concurrency tools like go routines and channels. But is this really everything? This session starts with an overview of common concurrency patterns...

    Watch video
  • Creating interactive frontend apps with GopherJS and React
    46:40
    Creating interactive frontend apps with GopherJS and React

    Fed up of Javascript? Do you pine for Go’s simplicity and fantastic tooling? Learn how to painlessly create interactive UIs in your favourite language… and never write a line of...

    Watch video
  • Deep Learning with Go
    49:54
    Deep Learning with Go

    You’ve heard about self-driving cars, self-organizing drone swarms, conversational interfaces, and emotion recognition. That’s all ‘deep learning’ - a powerful AI taking the world by storm! In my talk, I’ll...

    Watch video
  • Embedding
    45:21
    Embedding

    Embedding. It sure is weird, isn’t it? it’s unlike traditional inheritance, and it can be uncomfortable at first. But it does have a lot of positives to it that might...

    Watch video
  • Fighting latency: the CPU profiler is not your ally
    38:29
    Fighting latency: the CPU profiler is not your ally

    When we talk about a ‘fast’ service we often don’t mean one that can process 500MB/s per core, but one that can respond in less than 5ms. However, many causes...

    Watch video
  • Go routines optimization
    42:49
    Go routines optimization

    Go routines can become the star or the bottleneck of your application. Learn how to select the best approach for reaching efficient concurrency by analyzing bottlenecks related to go-routines, comparing...

    Watch video
  • Going on the Road Less Bumpy
    27:29
    Going on the Road Less Bumpy

    In this presentation Vlad Galu, VP of Engineering at GlobalSign, describes the experience of basing a greenfield project on Go, the build-up and the evolution of the team and GlobalSign’s...

    Watch video
  • Golang's Realtime GC in Theory and Practice
    35:50
    Golang's Realtime GC in Theory and Practice

    Go’s GC is optimized for low latency applications. In this talk we’ll see how it works (the tricolor algorithm), why it works (achieving such short GC pauses), and most importantly,...

    Watch video
  • How to build an SDK in Go
    33:06
    How to build an SDK in Go

    Dropbox offers a well documented API with SDKs in 7 different languages including Python and Java, but not Go (which is used heavily within Dropbox). In this talk, I’ll share...

    Watch video
  • How to correctly use package context
    32:21
    How to correctly use package context

    Go 1.7 introduced package context to the standard library. Using context is a very powerful way to orchestrate go routine cancellation and debugging information during a request. This talk lays...

    Watch video
  • How we built and launched Gopherize.me
    16:55
    How we built and launched Gopherize.me

    Watch video
  • It doesn't have to be REST: Websockets in Go
    37:40
    It doesn't have to be REST: Websockets in Go

    The speed of Go should make us reconsider well estabilshed paradigms. When developing APIs it is practically impossible not to mention REST yet many applications would benefit from real-time interactivity....

    Watch video
  • Making My First Go Contribution
    40:38
    Making My First Go Contribution

    Want to contribute to Go but don’t know how? Neither did I when I hacked a solution for the Go Presenter Tool. Learn about my motivations, how I approached the...

    Watch video
  • Production-ready Go
    34:48
    Production-ready Go

    When you’re new to Go, it’s easy to build and deploy production systems quickly - and learn the hard way what ‘production ready’ means. This is a rundown of the...

    Watch video
  • Ruby to Go - What to expect when you switch
    17:55
    Ruby to Go - What to expect when you switch

    An overview of the differences between the two languages from a seasoned Rubyist and a complete Go newbie perspective. What to expect from your everyday coding when you switch to...

    Watch video
  • State of the Gopher Nation
    35:04
    State of the Gopher Nation

    Watch video
  • Static Analysis in Go
    39:58
    Static Analysis in Go

    Tools like go package provide static analysis. This session shows step by step how to use it. This session makes you that you can start to use static...

    Watch video
  • The Beginner's Guide to Linux Syscalls
    38:34
    The Beginner's Guide to Linux Syscalls

    Don’t think you’ve ever made a syscall? Trust me, you have! In this talk we’ll explore what syscalls are, how they work and what you can do with them, with...

    Watch video
  • Translating Go to Other (Human) Languages
    43:45
    Translating Go to Other (Human) Languages

    Like most programming languages, Go uses English keywords. But Go’s unique approach to byte and string handling makes it the ideal candidate for a universal programming language that can be...

    Watch video
  • Understanding concurrency with behavioural types
    48:01
    Understanding concurrency with behavioural types

    Concurrent programming is difficult. This talk is about applying programming languages & concurrency research, specifically behavioural types as an abstraction, to verify concurrent Go programs. The talk covers what behavioural...

    Watch video
  • Writing Beautiful Packages in Go
    38:47
    Writing Beautiful Packages in Go

    Whether for internal use, or destined for open-source stardom, writing good packages with clean and clear APIs will greatly increase the chance that the code is used and reused. Explore...

    Watch video
  • Athens: The Center of Knowledge
    22:55
    Athens: The Center of Knowledge

    In the classical period of Greece, Athens was the center of knowledge, learning, and arts. The ideas that were born during that time are often considered as the birth of...

    Watch video
  • Black Box Monitoring in Go
    26:47
    Black Box Monitoring in Go

    You’ve set up your favorite monitoring agent on all of your services and you have incredible visibility into the internals of your infrastructure. All seems good in the world, but...

    Watch video
  • Blockchain Apps in Go
    42:18
    Blockchain Apps in Go

    Ever wonder how blockchains work? Why is it that many popular blockchains are using Go? In this talk we will explore how blockchains work at a protocol level, what Go...

    Watch video
  • Broadcasting Channels
    46:38
    Broadcasting Channels

    Channels - they sure are fun. You can do a lot with channels, but by default, only in a one-to-one manner. In this talk, I’ll show you how to enable...

    Watch video
  • Building Resilient Data Pipelines in Go
    21:43
    Building Resilient Data Pipelines in Go

    The modern world runs on Data. In this talk we will cover how Gophers of any level can easily build Data Pipelines in Go with Kafka and Cassandra. At the...

    Watch video
  • Code, Content, & Crafting Your Voice
    25:45
    Code, Content, & Crafting Your Voice

    Hi, my name is Amy! By day, I’m a systems software engineer and work in the fabulous world of distributed systems. However, outside of writing code, I also care a...

    Watch video
  • Component & Integration Tests for Micro-services
    29:38
    Component & Integration Tests for Micro-services

    Having a microservices architecture, the challenge comes with setting up a testing framework. Sometimes the structure of the project allows only unit tests and end-to-end and acceptance tests. This talk...

    Watch video
  • Debuggers From Scratch
    37:49
    Debuggers From Scratch

    At some stage in your programming life you may well have used a debugger, but did you wonder how it was able to step into and control your executable? In...

    Watch video
  • Deep Learning, Ready? Go!
    33:19
    Deep Learning, Ready? Go!

    Imagine that you need to develop an Optical Character Recognition system using neural networks. Why is not Go your first choice for this kind of project? In this talk I’m...

    Watch video
  • Documenting Go Code with Beautiful Tests
    36:24
    Documenting Go Code with Beautiful Tests

    Whether you believe in TDD or not, you must agree that it’s unwise to build production code with no tests. They verify your application, but also act as a perfect...

    Watch video
  • Experimental Refactoring with Go
    45:20
    Experimental Refactoring with Go

    Refactoring is essential to the software lifecycle. Can we make it safe enough to be a part of every company’s CD workflow? In this talk attendees will learn how to:...

    Watch video
  •  From source code to Kubernetes, a Continuous Deployment tale
    37:47
    From source code to Kubernetes, a Continuous Deployment tale

    This talk will cover the basics of creating good Docker images for your Go projects using multi-stage builds. Once we have that image ready we will need to run it...

    Watch video
  • Go Test: Under the Hood
    48:25
    Go Test: Under the Hood

    This talk will cover a brief introduction to go test, before diving into the more interesting parts of using the tool and the library itself. Covering topics like enabling testing...

    Watch video
  • Going GraphQL
    39:21
    Going GraphQL

    REST is the current leader in client-server interactions. Our services have better tooling like grpc and better formats like protocol buffers and avro. Being well typed, GraphQL can bring these...

    Watch video
  •  GoPro: More Concurrent than Parallel!
    43:56
    GoPro: More Concurrent than Parallel!

    Complex systems call for better controllability over various design parameters (data and control widths, on-/off- chip memory, topology etc.). Unlike software based simulations, rapid FPGA-accelerated prototyping (using GoPro) will allow...

    Watch video
  • Goroutines: The Dark Side of the Runtime
    37:42
    Goroutines: The Dark Side of the Runtime

    Have you ever wondered what really lies behind the “go” statement? Did you ever stop and think about differences between goroutines and standard operative system threads? Is there something you...

    Watch video
  • Go's role in publishing data at the Office for National Statistics
    33:13
    Go's role in publishing data at the Office for National Statistics

    ONS needed to take obtuse datasets and publish them in a searchable way - so citizens can start to make sense of statistics the affect them. Using Go we’ve rebuilt...

    Watch video
  • Growing a Community of Gophers
    27:53
    Growing a Community of Gophers

    What it the true impact of community? In this talk we will go over what is important for community health, and what makes a healthy open source project. We will...

    Watch video
  • How do you structure your Go apps?
    44:42
    How do you structure your Go apps?

    “How should I structure my Go app?” is one of the most common questions asked by new and experienced developers alike. It certainly was one of my first questions, and...

    Watch video
  • Orchestration of Microservices
    44:42
    Orchestration of Microservices

    Microservices, DDD, distributed systems, serverless. All trends decompose to the max, which moves the complexity to the collaboration of these pieces. I want to tell some war stories around that...

    Watch video
  • Production Ready Go Service in 30 Minutes
    44:38
    Production Ready Go Service in 30 Minutes

    We always hear how Go is a simple language, how it can enable developers to be productive. In this talk, we’ll start from scratch and develop a production-ready service in...

    Watch video
  • Scorch! a New Index for Bleve
    52:11
    Scorch! a New Index for Bleve

    Bleve, an open-source full-text search library for Go, has moved beyond the general-purpose key/value store and now implements its own custom binary index format named Scorch. Learn about the data-structures...

    Watch video
  • Secrets about using Machine Learning and Go
    40:33
    Secrets about using Machine Learning and Go

    After a year doing Machine Learning at Machine Box and with Go being my favorite language, I’d like to share my experiences. Covering best practices for training models and serving...

    Watch video
  • The Best Feature of Go
    34:44
    The Best Feature of Go

    The Go community is definitely the best feature of the language, but how may we engage with it and become more than just a bystander on the crowd? How do...

    Watch video
  • Three Billy GOats Gruff: A Dev's Tale from VMs to Serverless
    43:47
    Three Billy GOats Gruff: A Dev's Tale from VMs to Serverless

    Watch video
  • Understanding Go's Memory Allocator
    47:15
    Understanding Go's Memory Allocator

    Ever wondered how does Go manage memory allocation? In this talk we are going to explore Go’s memory allocator and understand how its algorithm interacts with the operating system to...

    Watch video
  • Using Go for Healthcare
    37:39
    Using Go for Healthcare

    DeepMind is a British artificial intelligence research company, dedicated to using that research to help address the toughest social challenges. In this talk, we’ll cover our working in healthcare, and...

    Watch video
  • When to Choose a Monolith: Reducing Fragmentation in System Architectures
    38:45
    When to Choose a Monolith: Reducing Fragmentation in System Architectures

    Telling the true story of moving from a very fragmented architecture to a monolith built entirely in Go. This tale conveys many foundational building blocks of Go in a way...

    Watch video
  • You Might Be a Go Contributor Already and Not Know It
    41:17
    You Might Be a Go Contributor Already and Not Know It

    Contributing to Go is more than just writing code for the compiler and standard library. Between other official Go projects, third-party projects, articles, workshops, and conference talks, you can even...

    Watch video
  • A Go Security Journey
    34:55
    A Go Security Journey

    As we approach the tenth anniversary of Go 1.0, Bryan Boreham looks at how Go is being used to build larger and larger systems. What works well at scale, how...

    Watch video
  • Advanced Testing Techniques
    28:01
    Advanced Testing Techniques

    When using the right patterns, testing in Go is more powerful than any other language. In this talk I present those patterns and show how they can save massive amounts...

    Watch video
  • Building APIs in Go The Stack Without a Framework
    20:53
    Building APIs in Go The Stack Without a Framework

    While there are many frameworks to build APIs in Go, each of them has extra overload in terms of the features available and the packages that are going to be...

    Watch video
  • Building a net Conn Type From the Ground Up
    23:27
    Building a net Conn Type From the Ground Up

    Package net is a one-stop shop for Go networking with TCP or UDP, but there are many other interesting and unusual socket types in the wild. This talk will demonstrate...

    Watch video
  • Dr Jekyll and Mr Hyde, Embracing the Dual Nature of State
    31:28
    Dr Jekyll and Mr Hyde, Embracing the Dual Nature of State

    You are halfway through processing some business logic in one of your micro services then boom! something fails. This may be due to network issues, or a 3rd party API...

    Watch video
  • Energy Implications of Your Go code
    31:44
    Energy Implications of Your Go code

    Data movement accounts for almost 65% of energy usage in edge devices. It is important for every programmer to be aware of the energy aspect of their code, particularly when...

    Watch video
  • Experimenting with Golang and Webassembly
    28:48
    Experimenting with Golang and Webassembly

    Ever wanted to know what WASM means? Do you wonder why we need WASM when we have Javascript? Do you dream of your Golang code running in the browser? This...

    Watch video
  • Finding Dependable Go Packages
    25:32
    Finding Dependable Go Packages

    At some point, we all find ourselves wanting to use a third-party Go package in our Go code. This talk discusses strategies for discovering, evaluating and maintaining Go packages and...

    Watch video
  • Fun With Pointers
    32:33
    Fun With Pointers

    In this talk you will learn how to use pointers effectively in Go. We’ll cover from the basics of pointer declaration and usage, to the implications of allocating memory on...

    Watch video
  • Gio Cross Platform GUI Programming for Mobile, Desktop, WebAssembly
    37:25
    Gio Cross Platform GUI Programming for Mobile, Desktop, WebAssembly

    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 and WebAssembly. The talk...

    Watch video
  • Go as a Scripting Language in Linux
    23:11
    Go as a Scripting Language in Linux

    Do you like Go so much and use it in every software project? Do you think Go is a truly universal language? How about taking it to the next level...

    Watch video
  • Going Infinite: Handling 1 Million Websocket Connections in Go
    29:19
    Going Infinite: Handling 1 Million Websocket Connections in Go

    Go HTTP server provides great scalability, allocating a goroutine per connection, and reusing the efficient multiplexing and scheduling of the Go runtime. While this technique is almost ideal for most...

    Watch video
  • Going Serverless For Fun and Profit
    31:17
    Going Serverless For Fun and Profit

    This talk looks at what are the options available for a Go developer to work in such environments and showcase going from scratch to a full project in less than...

    Watch video
  • Implementing a Search Index
    25:52
    Implementing a Search Index

    Current production search solutions are not taking advantage of the latest research on NLP (Natural language processing) and Machine Learning. We are going to explore how you can apply ML...

    Watch video
  • Impossible Go!
    44:04
    Impossible Go!

    You know how to code in Go, don’t you? Let’s see! This talk shows Go snippets that seem easy, difficult, wrong or impossible. Through these different obfuscated Go constructs and...

    Watch video
  • Improving Dependencies for Everyone
    32:11
    Improving Dependencies for Everyone

    Go 1.11 introduced modules, the new standard package management system for Go. It’s a massive step forward for the community, especially because we can build proxy servers instead of just...

    Watch video
  • Lock-free Observations for Prometheus Histograms
    27:11
    Lock-free Observations for Prometheus Histograms

    Implementing metrics in a client library for Prometheus comes with an interesting challenge: Those metrics are typically updated a lot (like a counter that gets incremented each time a service...

    Watch video
  • Lost in Transaction?
    31:28
    Lost in Transaction?

    Consistency gets incredibly hard in today’s architectures as ACID transactions are not available in distributed systems. Most techies are not really aware of the complexity they face. I want to...

    Watch video
  • Monolith Decomposition
    30:51
    Monolith Decomposition

    At Deliveroo, we had a scaling problem, which had some serious business implications. Luckily, Go came to the rescue! We picked Go up quickly and created a super-scalable service. I...

    Watch video
  • Productionise any Application in Kubernetes Using Sidecar Containers
    26:34
    Productionise any Application in Kubernetes Using Sidecar Containers

    The sidecar pattern in Kubernetes allows you to add other functionality alongside an application for things like monitoring, TLS termination, circuit breaking etc. This talk will demonstrate how to easily...

    Watch video
  • Robotics with Go is a Breeze
    42:00
    Robotics with Go is a Breeze

    Ever wanted to control a drone with Go? Of course, who wouldn’t want to do that?! With gobot that’s as easy as goblin pie. Here, let me show you how...

    Watch video
  • Tackling Contention: The Monsters Inside the 'sync.Locker
    25.35
    Tackling Contention: The Monsters Inside the 'sync.Locker

    Watch video
  • Using and Writing Go Analyses
    25:37
    Using and Writing Go Analyses

    The Analysis API is used to write analyses (like those in go vet and go lint) that can help surface bugs and show code improvements to users. I’ll show how...

    Watch video
  • Write Less (Code), Generate More
    30:20
    Write Less (Code), Generate More

    Want to write less code and let the machine do the work? In this talk, Paul will give an introduction to code generation in Go, show you how to write...

    Watch video
  • Writing REST Services for the gRPC curious
    31:13
    Writing REST Services for the gRPC curious

    Ever wished you could use gRPC for your new service instead of tired old JSON/REST? I will introduce and demo the gRPC-Gateway, which makes it possible to expose a JSON/REST...

    Watch video
  • Go Large!
    26:54
    Go Large!

    As software engineers, if we ask users to trust us with their data, it’s our responsibility to make sure that their privacy is maintained. We know our apps will be...

    Watch video
  • Engineering Innovation
    26:54
    Engineering Innovation

    Constraints are by definition limiting. So why is it that time and time again we see that constraints unlock innovation? In this talk André digs into how constraints and innovation...

    Watch video
  • Generics Unconstrained
    28:30
    Generics Unconstrained

    This talk explores some ways that Go’s previous generic functionality (interfaces, closures) can make life easier in the brave new world of type parameters. By the end of the talk,...

    Watch video
  • Zero to Hero: How we make great Golang engineers at Luno
    29:53
    Zero to Hero: How we make great Golang engineers at Luno

    At Luno they hire engineers that collaborate well, are keen problem solvers, and take their work seriously without taking themselves too seriously. This means they hire engineers with no Golang...

    Watch video
  • eBPF Superpowers for Go programmers
    38:41
    eBPF Superpowers for Go programmers

    eBPF has been called “Superpowers for Linux”, and in this talk Liz discusses why it’s a foundational technology for a new generation of networking, security and observability tools, answering questions...

    • What is eBPF?
    • How is it unleashing a new wave of innovation in the Linux kernel?
    • Can I write eBPF applications in Go?
    • How can I use eBPF tools to help me write better Go applications? Even if you’re not a Linux kernel aficionado you’ll leave this talk understanding how eBPF enables high-performance infrastructure tooling.

    Watch video

Stay up-to-date with GopherCon UK

Enter your email address to join the GopherCon UK mailing list and be the first to hear our latest news and announcements.