GOCON CANADA

May 31, 2019, St. James Cathedral Centre, Toronto

mountie-gopher-mascot

About

Go has become a critical tool in the arsenal of software development teams across Canada.

Rated the “Most promising programming language” of 2018 in a recent JetBrains survey, the language has grown by leaps and bounds in the last year. Communities from coast to coast have popped up to support the language, and it’s become clear that there’s a strong appetite for a conference that can bring everybody together.

Gocon Canada seeks to do just that. We’d love to work with you to grow the bonds between communities. Our goal is to host an event with strong technical discussions and plenty of opportunities to network, right here in Canada.

Gocon Canada is the first Go conference in Canada. Non-profit event from the community for the community.

gophermega The gopher mascot was designed by Renee French / CC 3.0. For more info check out the Go Blog


Event schedule

8:00 Registration
9:00 Opening
9:30 Peter Kieltyka

Peter Kieltyka

Peter Kieltyka

Peter Kieltyka

webrpc: a simpler way to write api services for modern Web apps

Ever written a REST API server? but even to just add a single endpoint to a service is a lot of work to coordinate and then implement across different api client libraries and apps. Webrpc offers a schema-driven approach to writing Web services, declare your data types and methods in a documentation-like format called RIDL, and use the webrpc-gen cli to generate your bindings between client+server for Go, Javascript, Typescript and other languages. Think of it like a lighter/simpler gRPC made for the Web.
10:00 Topher Bullock

Topher Bullock

Topher Bullock

Topher Bullock

Effective Goroutine Cancellation

Concourse is a CI/CD tool written in Go, which requires high concurrency, but managing and cancelling Goroutines is a problem on its own. This experience report will present real-world problems, and the application of packages and patterns to effectively manage and cancel Goroutines.
10:30 Dmitri Shuralyov

Dmitri Shuralyov

Dmitri Shuralyov

Dmitri Shuralyov

Demystifying Modules: under the hood of the Go toolchain

Go 1.11 introduced a new concept called modules, an alternative to GOPATH with support for versioning and reproducible builds. This talk aims to provide a conceptual model about how modules operate by explaining them from an abstract and a low-level technical perspective. It should give you a better idea of what happens when you run commands like go build or go mod tidy, and help inform your decisions when using and publishing modules.
11:00 Break
11:15 Aaron Wislang

Aaron Wislang

Aaron Wislang

Aaron Wislang

A day in the life of a Cloud Native Gopher

Ask your doctor if Cloud Native is for you! Explore what cloud native means from a developer perspective. We will build beyond the buzzwords to develop, containerize, deploy, and document an application with Go and the open source tools and techniques Aaron and other busy Gophers use at Microsoft.
11:45 Jessica Xie

Jessica Xie

Jessica Xie

Jessica Xie

How NOT to DDOS Servers with Your Go Service

We wrote a service so efficient that it accidentally DDOS'ed our cluster and caused an outage. I will be discussing the lessons that we learned from our mistake, and what we can do to prevent it in the future so you won't repeat the same error.
12:00 Lunch
13:30 Matt Layher

Matt Layher

Matt Layher

Matt Layher

Using unsafe.Pointer to explore Linux system calls

Package unsafe is one of the most powerful tools in the Go standard library, but it has some sharp edges. During this talk, you will learn techniques to make effective use of package unsafe, and real world examples with Linux system calls will be used to demonstrate its true power and flexibility.
14:00 Denise Yu

Denise Yu

Denise Yu

Denise Yu

Intro to Test-Driven Development in Go

Test-Driven Development (TDD) is often misunderstood as a test coverage process. Rather it’s a design tool: TDD helps you explore the solution and align your mental model with where your implementation is going. Let’s look at how to get started with TDD in Golang for more sustainable code design.
14:30 Nicole Tibaldi

Nicole Tibaldi

Nicole Tibaldi

Nicole Tibaldi

'Tech hiring is broken' is broken

Sure, “tech hiring is broken,” but what’s broken, exactly, and how can we fix it? We’ll examine how to best evaluate technical skills, while also addressing topics we don’t discuss often enough, like how to hire diverse candidates and what we should really explore when looking for “culture fit.”
15:00 Break
15:15 Jon Bodner

Jon Bodner

Jon Bodner

Jon Bodner

Evil Go: Doing Well by Doing Bad

There are lots of talks about best practices in Go, and they are all boring. Evil Go is about ensuring job security by following the worst practices for your Go code. In addition to teaching bad practices, it also introduces a pair of frameworks to help implement all of the evil covered in the talk.
15:45 James Bowes

James Bowes

James Bowes

James Bowes

A Token Of Respect: Implementing Microservice Identity And Access Management In Go

How do you balance robust access management features with the distributed nature of a microservices ecosystem? This talk will walk you through how we built our IAM system at Manifold, explore the tradeoffs we made, and look at the features of Go that helped in our implementation.
16:15 Break
16:30 Christine Dodrill

Christine Dodrill

Christine Dodrill

Christine Dodrill

WebAssembly on the Server: How System Calls Work

A trip through the fundamentals of Unix system calls, why they matter and how to implement them with WebAssembly. A tool will be released with the talk to demonstrate these system calls using Gopher.
17:00 Raffle + Closing

Our Sponsors

Platinum


Gold


Silver


Bronze


Diversity


Subscribe for updates

Subscribe to our mailing list if you want to receive updates about the event.