Schedule

Our talks and speakers

Wednesday 1st August 2018

GopherCon UK is proud to work with Gopher Guides and Red Hat OpenShift to bring to you three options for a full day of training on Wednesday, 1st August 2018, a day before the conference.

All three course options are a full day (9am-5pm) of hands on immersive training with top professional trainers. Tickets include breakfast, lunch and coffee breaks. Please bring your laptop; power and wifi will be available.

    • 09.00
    • Workshop - Beginner/intermediate Daily Go: Fundamentals Speaker: Mark Bates

      Go is a modern programming language with a heavy focus on developer productivity, scalability, and speed. Whether you're a recent grad or an industry veteran, there's no better time to learn the core concepts of the Go programming language. This course introduces language fundamentals, such as primitives, language structure, design, and concurrency. If you have little or no experience with Go and want to jumpstart your knowledge, this course is for you.

      More details or Buy tickets

    • Workshop - Intermediate Gophercon UK: Advanced Speaker: Cory LaNou

      Go is a modern programming language with a heavy focus on developer productivity, scalability, and speed. Concepts such as concurrent programming, testing, and performance testing were designed into the language from the beginning. If you want to learn about concurrent programing, or how to performance test and profile your code, this course is for you.

      More details or Buy tickets

    • Workshop - Kubernetes Using and extending the Kubernetes API programmatically Stefan Schimanski & Michael Hausenblas

      Kubernetes is the de-facto standard for container orchestration. In this workshop you’ll learn how to program Kubernetes using Go. We will start with the basic concepts (pods, workloads, events, etc.) and provide step-by-step guidance on implementing a variety of tasks against the Kubernetes API. We will provide a GitHub repo with all code samples used in the workshop.

      More details or Buy tickets

    • 18.00
    • Pre-Conference Social

      The pre-conference social is a traditional style pubcon, open to anyone, where conference attendees and locals can meet up before the conference to network and socialise.
      More details »

Thursday 2nd August 2018

Thursday kicks off the main conference, where you will be able to attend a morning keynote followed by six talk slots throughout the day. During each talk slot you'll have the choice between three different tracks. There will be 3 cake & coffee breaks, a 3 course lunch, and rolling tea, coffee and soft drinks included. The day will then close with our mid-conference social.

    • 08.00
    • Registration and Refreshments

      Please bring a copy of your ticket either printed or on a mobile device.

    • 09.00
    • Opening Keynote

      You Might Be a Go Contributor Already and Not Know It
      Speaker: Aditya Mukerjee

      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 be a contributor to Go without ever even signing up for a Gerrit account.

    • 09.45
    • Refreshment break

      Light refreshments will be served in the exhibition hall where you will also be able to network with fellow delegates and our sponsors.

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 10.15
    • Three Billy GOats Gruff - a developer's tale from VMs to serverless Speaker: Michael Hausenblas Level: Intermediate

      As developers we’re dealing with an increasing pressure to deliver features ever faster. This talk will walk you through a number of development and delivery models for Go. We’ll be starting with the traditional binary-running-on-a-VM setup, then move on to container-based development and further on to the serverless/Function-as-a-service model using AWS Lambda and Apache OpenWhisk on Kubernetes. We’ll be using the same codebase, effectively starting with a monolith, breaking in down into (containerized) microservices and further on breaking it down to a dozen functions. For each of the development and deployment models we’ll discuss pros and cons and trying to determine their respective sweet-spot. This is a hands-on, minimum-slides session.

    • Debuggers From Scratch Speaker: Liz Rice Level: Intermediate

      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 this talk we'll see how debuggers work by building one from scratch in a few lines of Go.

    • Blockchain Apps in Go Speaker: Matthew Campbell Level: All

      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 libraries you can use to interact with them. By the end of the talk you will be able to build your first Blockchain App.

    • 11.00
    • Room change

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 11.15
    • Going GraphQL Speaker: Christopher Biscardi Level: Intermediate

      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 together to become the next step in client/server interaction.

    • Secrets about using Machine Learning and Go Speaker: David Hernandez Level: Intermediate

      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 them in production, as well as little tips and tools that we use with Go to make your life a little bit easier.

    • Broadcasting Channels: Writing a timeout-aware abstraction to enable asynchronous fanout in Go Speaker: Sean Kelly Level: All

      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 one to many broadcast semantics in a thread-safe way, that can even gracefully handle shutdowns, failures, and panics.

    • 12.00
    • Lunch

      A 3 course buffet lunch will be served in the exhibition hall where you will also be able to network with fellow delegates and our sponsors.

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 13.00
    • Orchestration of microservices Speaker: Bernd Rücker Level: All

      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 in this talk and give people some guidance.

    • GoPro: More Concurrent than Parallel! Speaker: Mahdi Jelodari Level: Intermediate

      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 faster simulation and exploration of large scale systems.

    • Contributor Workshop - First Session Level: All

      Love Go? Ever wanted to give something back? Come to the Go Contributor Workshop, where attendees will learn how to contribute to the Go project via Gerrit. To take part in the workshop, all you need is a laptop with Go and Git installed, and a basic understanding of Go. And, of course, an appetite for contributing to open source software! More Info

    • 13.45
    • Room change

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 14.00
    • Black Box Monitoring in Go Speaker: Grant Griffiths Level: Beginner

      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 can your end user actually use your service? In this talk we'll write a simple app that simulates end user activity.

    • Using model driven code generation with Go Speaker: Mark Hermeling Level: All

    • Contributor Workshop - First Session Level: All

      Love Go? Ever wanted to give something back? Come to the Go Contributor Workshop, where attendees will learn how to contribute to the Go project via Gerrit. To take part in the workshop, all you need is a laptop with Go and Git installed, and a basic understanding of Go. And, of course, an appetite for contributing to open source software! More Info

    • 14.45
    • Refreshment break

      Light refreshments will be served in the exhibition hall where you will also be able to network with fellow delegates and our sponsors.

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 15.15
    • Documenting Go Code with Beatiful Tests Speaker: Paweł Słomka Level: All

      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 documentation for the development team. I would like to show a couple of tips and tricks of how you can write pretty and effective tests.

    • Using Go for Healthcare Speaker: Carmen Ruiz Vicente Level: All

      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 how we use Go to power Streams, our mobile application used by NHS clinicians.

    • Contributor Workshop - Second Session Level: All

      Love Go? Ever wanted to give something back? Come to the Go Contributor Workshop, where attendees will learn how to contribute to the Go project via Gerrit. To take part in the workshop, all you need is a laptop with Go and Git installed, and a basic understanding of Go. And, of course, an appetite for contributing to open source software! More Info

    • 16.00
    • Room change

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 16:15
    • TBA

    • TBA

    • Contributor Workshop - Second Session Level: All

      Love Go? Ever wanted to give something back? Come to the Go Contributor Workshop, where attendees will learn how to contribute to the Go project via Gerrit. To take part in the workshop, all you need is a laptop with Go and Git installed, and a basic understanding of Go. And, of course, an appetite for contributing to open source software! More Info

    • 17.00
    • Mid Conference Social

      The conference social is open to all conference attendees and gives you a chance to relax and meet other delegates after a big day of learning. More details »

Friday 3rd August 2018

Friday continues with the second day of the main conference. Again, you will be able to attend a morning keynote followed by six talk slots throughout the day. During each talk slot you'll have the choice between three different tracks. There will be 3 cake & coffee breaks, a 3 course lunch, and rolling tea, coffee and soft drinks included. The conference will close on Friday with a final featured keynote, a prize raffle from our sponsors, and then on to the evening post-conference social.

    • 08.00
    • Registration and Refreshments

      Please bring a copy of your ticket either printed or on a mobile device.

    • 09.00
    • Opening Keynote

      TBA

    • 09.45
    • Refreshment break

      Light refreshments will be served in the exhibition hall where you will also be able to network with fellow delegates and our sponsors.

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 10.15
    • From source code to Kubernetes, a Continuous Deployment tale. Speaker: Alexandre González Level: Intermediate

      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 somewhere, I think that a Kubernetes cluster could be a nice place to start. Of course, we don’t want to repeat those steps by hand everytime we want to do a new deployment so we will probably need to learn how to use a CI/CD tool to automate all the steps. And finally, the icing on the cake would be make this automagically run everytime we push code to our repository.

    • Experimental Refactoring with Go Speaker: Jelmer Snoeck Level: All

      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: utilise multi-step deploys; tame feature flags; run multiple code paths concurrently in production without influencing users.

    • Abusing Go's net package for fun and profit Speaker: Michal Witkowski Level: Intermediate

      Armed with Go’s composition-based philosophy, we present how it can be (ab)used to significantly extend the functionality of the `net` and `net/http` packages. On the way we'll present libraries we built using this philosophy as well as take a dip in the deep sea of HTTP1/HTTP2 handling in Go.

    • 11.00
    • Room change

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 11.15
    • go-ns - Go's role in publishing data at the Office for National Statistics Speaker: Eleanor Deal Level: All

      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 how data gets prepared, a pipeline for custom queries and extended our go-ns library - learning more about the practical sides of Go.

    • Goroutines: the dark side of the runtime Speaker: Roberto Clapis Level: Advanced

      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 should know to avoid bugs or weird, unintended behaviours?

    • Production Ready Go service in 30 minutes. Speaker: Florin Pățan Level: All

      This talk focuses on the productivity that GoLand can bring to a Go developer. We'll explore the ways the IDE adapts to your workflow, how it can help you detect and fix issues, integrate with other languages, all while keeping the same experience regardless of the platform you are working on.

    • 12.00
    • Lunch

      A buffet lunch will be served in the exhibition hall where you will also be able to network with fellow delegates and our sponsors.

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 13.00
    • Go as a scripting language in Linux Speaker: Ignat Korchagin Level: All

      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 and trying Go as a scripting language for your favourite Linux distribution?

    • Understanding Go's Memory Allocator Speaker: André Carvalho Level: All

      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 manage memory!

    • When to choose a monolith: reducing fragmentation in system architectures Speaker: Nathan Davies Level: All

      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 that is accessible and informative. Based on real experience it will help any team looking at their architectural choices.

    • 13.45
    • Room change

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 14.00
    • Building Resilient Data Pipelines in Go Speaker: Grant Griffiths Level: Beginner

      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 end, we will look at how GE has written a Data Pipeline in Go that can handle over 800,000 writes per second of industrial time series data.

    • Scorch! a New Index for Bleve Speaker: Marty Schoch Level: Intermediate

      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 and Go libraries we've chosen to build this solution.

    • The best feature of Go Speaker: Daniela Petruzalek Level: Intermediate

      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 we contribute to the Go language OSS? Too much for you? What about a community built library? Contributing with code is too scary? What about building samples and documenting? Maybe you are a local leader and you can start a meetup, or join an active one… Do you like to write? Record videos? Literally the options are endless, so I want to explore some of those while sharing my personal experiences with the hopes of inspiring other people to engage with the community as well.

    • 14.45
    • Refreshment break

      Light refreshments will be served in the exhibition hall where you will also be able to network with fellow delegates and our sponsors.

    • Red Hat OpenShift Track
    • Glint Pay Track
    • Smeaton Vaults
    • 15.15
    • How do you structure your Go apps? Speaker: Kat Zien

      "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 is something I keep coming back to. Let's discuss a few patterns and trends used in the industry these days.

    • Deep learning, ready? Go! Speaker: Diana Carolina Ortega Muñoz Level: All

      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 going to show you a traditional solution using tensorflow and python, and also, how we can achieve a similar result using Go.

    • Go Test: Under the hood Speaker: Sean Kelly Level: All

      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 of un-exported objects in separate testing packages, interesting or unconventional flags, and the newly added caching mechanisms, the talk will aim to raise folks understanding and capabilities with go test beyond just the basics, to help gophers become better testers by simply introducing them to more of the test tool and library itself.

    • 16.00
    • Room change

    • 16.15
    • Closing Keynote

      TBA

    • 17.00
    • Post Conference Social

      The conference social is open to all conference attendees and gives you a chance to relax and meet other delegates after a big day of learning. More details »

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.