17–19 October 2016: Conference & Tutorials
19–20 October 2016: Training
London, UK

Visualizing concurrency in Go

Ivan Danyliuk (Typeform)
14:25–15:05 Monday, 17/10/2016
The new stuff
Location: Balmoral Level: Beginner
Average rating: ****.
(4.00, 1 rating)

Prerequisite knowledge

  • General programming knowledge
  • A basic understanding of the Go language (useful but not required)

What you'll learn

  • Understand complex concurrency systems written in Go or any CSP-based language/framework


One of the primary strengths of Go programming language is a built-in first-class support for concurrency. Go is designed with concurrency in mind, backed by solid mathematical theory, and has incredibly good tooling for testing and developing concurrent software.

The ease of creating complex concurrent constructs and pipelines in Go raises a new set of questions: How do we teach concurrency? How do we master the skill of building concurrent pipelines? How do we represent concurrent algorithms? And how do we share increasingly complex concurrency models?

Ivan Daniluk offers a completely new approach to understanding and representing concurrency by visualizing it in 3D space. This new approach allows you to see what’s happening inside the real codeā€”from a simple “Hello, World” to real production-level high-loaded servers. It leverages the power of open source technologies, such as Go and WebGL, to help you understand the complex but astonishing world of modern concurrent software. You’ll learn Go concurrency basics as Ivan covers the main concepts and approaches and explore common concurrency patterns and ways to build complex pipelines. . .and you’ll do it all in 3D.

Photo of Ivan Danyliuk

Ivan Danyliuk


Ivan Daniluk is a senior software engineer at Typeform. Ivan has more than a decade of experience in writing networking software for security market. He’s an active member of the Go community, a conference speaker (most recently at GopherCon 2016), the host of the GolangShow podcast, and organizer of Golang meetups, the author of numerous articles about Go, and the author of a few popular projects for Gophers. Ivan enjoys helping people to learn about Go and programming and is highly interested in neural networks, artificial intelligence, neuroscience, visualizations, and new approaches to education in general. His hobbies include figure skating, the Argentine tango, yachting, and astronomy.