16th*, 17th & 18th August 2017 info@golanguk.com @golangukconf

Schedule

Our talks and speakers

Wednesday 16th August 2017

  • 09.00
    • Workshop - Advanced Ultimate Go William Kennedy

      Ultimate Go is a class for any intermediate-level developer who has some experience with other programming languages and wants to learn Go. This class provides an intensive, comprehensive and idiomatic view of the language. We focus on both the specification and implementation of the language, including topics ranging from language syntax, Go’s type system, concurrency, channels, testing and more. We believe this class is perfect for anyone who wants a jump start in learning Go or who wants a more thorough understanding of the language and its internals. More details or Buy tickets

  • 09.00
    • Workshop - Intermediate Ultimate Web Jacob Walker

      Ultimate Web is a class for any Go developer who wishes to learn how to build robust and well tested HTTP based applications in Go. This class provides an intensive, comprehensive and idiomatic view build Web, SOA, and API applications using Go. We believe this class is perfect for anyone wishing to build scalable, fast, and highly concurrent HTTP based applications. 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 17th August 2017

  • 08.00
    • The Brewery Foyer Registration and Refreshments

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

  • 09.00
    • Opening address Welcome to The Golang UK Conference

      The conference team welcome all our delegates, speakers, and sponsors to the conference and provide an overview of the day's events to come.

  • 09.15
  • 09.45
    • Room change

  • 10.00
    • GlobalSign Track Writing Beautiful Packages in Go Level: Intermediate Mat Ryer

      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 best practices, goals, and idioms that help make beautiful packages.

    • Monzo Track Golang's Realtime GC in Theory and Practice Level: Intermediate Will Sewell and Jim Fisher

      Go's GC is optimised 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, whether it works (benchmarking these GC pauses, and comparing them with other languages).

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

  • 11.15
    • GlobalSign Track করো: Translating Go to Other (Human) Languages, and Back Again Level: All Aditya Mukerjee

      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 localized to allow English-speaking and non-English speaking developers to collaborate on the same projects.

    • Monzo Track Bare Metal Gophers: Can you write an OS Kernel in Go? Level: Intermediate Achilleas Anagnostopoulos

      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 Go code that runs in Ring-0 and code a simple "Hello World" demo in Go that runs inside QEMU.

  • 12.00
    • Room change

  • 12.15
    • GlobalSign Track Concurrency Patterns in Go Level: Intermediate Arne Claus

      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 and ends with best practices on lockless programming that won't let your head explode.

    • Monzo Track Building Go with Bazel Level: Intermediate Paul Bellamy

      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, and shared caching. Get started building Go projects, learn key concepts, and get ready to turbocharge your build.

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

  • 14.00
    • GlobalSign Track Betting on Go Level: All Nicholas Jackson

      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, the benefits we’ve gotten out of the standard library, the limitations we’ve hit along the way.

    • Monzo Track Building a RESTful API using go-swagger Level: All Myles McDonnell

      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 from inception to production and is based on real world experience.

  • 14.45
    • Room change

  • 15.00
    • GlobalSign Track Embedding, or how I learned to stop complaining and use the strengths of the language Level: Intermediate Sean Kelly

      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 not be obvious at first. In this talk, we'll go over highlights and pitfalls of embedding, and some interesting ways to use it.

    • Monzo Track Creating interactive frontend apps with GopherJS and React Level: Intermediate Paul Jolly

      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 Javascript again!

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

  • 16.15
    • GlobalSign Track Fighting latency: the CPU profiler is not your ally Level: Intermediate Filippo Valsorda

      "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 <5ms. However, many causes of latency are invisible to pprof: network operations, disk reads, locks, channels, scheduling. Let's see how to use the new tracer to profile them."

    • Monzo Track How to correctly use package context Level: Intermediate Jack Lindamood

      Go 1.7 introduced package context to the standard library. Using context is a very powerful way to orchestrate goroutine cancelation and debugging information during a request. This talk lays the foundation of best practice around how to use this package.

  • 17.00
    • Room change

  • 17.15
    • Keynote Making My First Go Contribution Level: All Audrey Lim

      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 problem with a beginner's mind, figured out Gerrit, how it's like having my code reviewed by the Go team, and how I finally got it merged.

  • 18.00
    • Main 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 18th August 2017

  • 08.00
    • The Brewery Foyer Registration and Refreshments

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

  • 09.00
    • Opening address Welcome to The Golang UK Conference

      The conference team welcome all our delegates, speakers, and sponsors to the conference and provide an overview of the day's events to come.

  • 09.15
  • 09.45
    • Room change

  • 10.00
    • GlobalSign Track Go routines optimization: spinning, balancing or avoiding Level: Intermediate Guido Patanella

      Goroutines 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 resource utilization, locks, queuing and sequential processing.

    • Monzo Track Buffalo: Rapid Web Development in Go Level: All Mark Bates

      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!

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

  • 11.15
    • GlobalSign Track Static Analysis in Go Level: All Takuya Ueda

      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 for creating tools which are useful for your daily development, such as a linter and a refactoring tool which can be customized for your project.

    • Monzo Track Command Line Scripting with Templates Level: All Mark Ryan

      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 explore why this is, propose some best practices and describe a new package designed to make scripting easier.

  • 12.00
    • Room change

  • 12.15
    • GlobalSign Track Production-ready Go Level: All Ian Kent

      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 things you really need to care about.

    • Monzo Track Deep Learning with Go Level: All Chris Benson

      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 show you how to build ‘deep learning’ models with Go to solve complex real-world challenges.

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

  • 14.00
    • GlobalSign Track How to build an SDK in Go: Lessons from creating the Go SDK for Dropbox’s API Level: All Diwaker Gupta

      "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 my experiences developing a Go SDK for Dropbox: lessons and best practices for building SDKs in Go."

    • Monzo Track Ruby to Go - What to expect when you switch Level: All Irina Bednova

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

  • 14.45
    • Room change

  • 15.00
    • GlobalSign Track It doesn't have to be REST: Websockets in Go Level: All Konrad Reiche

      HTTP REST is seen as irreplaceable technology when designing APIs yet many applications require real-time interactivity. There are different WebSocket and WebSocket emulation implementations in the Go ecosystem. This talk will give an overview of the current state of the art of WebSockets in Go.

    • Monzo Track Understanding concurrency with behavioural types Level: Intermediate Nicholas Ng

      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 types are and how they can be used to reason in Go's concurrency model.

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

  • 16.15
    • GlobalSign Track The Beginner's Guide to Linux Syscalls Level: Intermediate Liz Rice

      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 a good measure of live-coding demos to keep things real.

    • Monzo Track Going on the Road Less Bumpy Level: All Vlad Galu

      "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 next generation PKI platforms along with the wider ecosystem."

  • 17.00
    • Room change

  • 17.15
    • Keynote Bringing Go to the Enterprise Level: All Brian Ketelsen

      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 can do as a community to foster Go adoption in more companies. In 2016 I quit my job and set out to train the world on how to use Go and Kubernetes. Over the course of the last 18 months I've learned a lot of things about Go, and I want to share them with you in this talk.

Stay up-to-date with Golang UK

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