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...

    • A basic description of the actor model
    • Different styles of implementation of actors in Go
    • Limitations of Go compared to an ideal actor model
    • Experience from actors as used in Weave Net, the Open Source container network written in Go

    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 analysis...

    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

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.