8.00am

$GOPHERCONSG/doors/open

Registration

Clear is better than clever

Well socialised Gophers often cite readability as one of Go’s core tenets, I disagree.

In this talk I’ll discuss the differences between readability and clarity, show how to write clear Go code, and argue that Go programmers should strive for clarity, not just readability, in their programs.

Go, pls stop breaking my editor

This talk will cover the motivation behind, implementation of, and future plans for gopls, the Go implementation of the Language Server Protocol. This tool is currently being developed by the Go team and Go tools community, and it will ultimately serve as the backend for any LSP-compatible editor.

Using and Writing Go Analyses

The Analysis API is used to write analyses (like those in go vet and go lint) that can help surface bugs and show code improvements to users. I’ll show how to use and write analyses, and see their results, so you can help improve your code quality.

High(er) Reliability Software Patterns for Go

Software reliability is often neglected, but is increasingly important. This talk discusses why certain high-reliability software engineering practices exist and how they can be implemented in Go. This talk features real world software failures and describes how such instances can be prevented.

Going Secure with Go

Natalie will discuss a broad range of aspects of Go application security by taking on writing secure code, dependency management and Docker images and containers security.

Optimizing Go code without a blindfold

Making code faster is exciting, and benchmarks in Go make that easy to do!

Not really. Optimizing a program can be complex and require careful consideration to do properly. This talk will demonstrate techniques and tools which are a must for any performance aficionado.

Deep learning in Go - Present and future

After hypnotizing the large scale cloud software community with its capabilities, Go now starts to stare at the exciting area of deep learning. Deep learning in Go?!! But why? And how? What’s next? Curious? Let’s explore it with a fun-filled, fast-paced deep dive into deep learning in Go.

Understanding Allocations: the Stack and the Heap

Like C, Go uses both stack and heap memory. How can a Gopher know which is being used? Can you influence this decision? What effect does it have on your program? Are there any tools to help? This talk answers those questions and more.

Controlling Distributed Energy Resources with Edge Computing and Go

With advancing technologies, energy distribution model has changed from being centralised to being distributed. We created a platform for distributing and running IoT apps, written in Go, on edge devices to monitor and control distributed energy resources such as photovoltaic and battery systems.

Writing Microservice Integration Tests in Go (Finally)

Integration testing microservices is an extremely difficult task when systems are large, but it doesn’t have to be that way. Golang’s native concurrency enables developers to easily run and communicate with mocked versions of downstream dependencies within their integration test code.

Data Journey with Golang, GraphQL and Microservices

A unique experience from one of the big online travel agents in SEA, Traveloka, in migrating the internal data platform from a monolith Java app into microservices app in Golang & GraphQL. I will also discuss how we use Kubernetes & Istio to efficiently deploy, monitor and scale this system.

6.30pm

GOODBYE

7.00pm to 11.59pm

$GOPHERCONSG/after/party/🎉