Go Fundamentals Workshop
2 May 2018
9am to 6pm, registration starts at 8:30am
Learning Institute, Event Hall 2-1
11 Eunos Road 8, Singapore 408601
Ultimate Go Workshop
3 May 2018
9am to 6pm, registration starts at 8:30am
Lifelong Learning Institute, Level 2 Lecture Theatre
11 Eunos Road 8, Singapore 408601
Conference
4 May 2018
9am to 6:30pm, registration starts at 8am
Marina Bay Sands Expo & Convention Centre
This class provides an idiomatic introduction to the Go programming language supported by extensive examples and hands-on exercises. We focus on both the specification and implementation of the language including topics ranging from language syntax, Go’s type system, testing and more. We believe this class is perfect for anyone who wants a jump start in learning Go.
This is for any intermediate-level developer who has some experience with other programming languages and wants to learn Go. This class will provide a jump start in learning Go and provide a more thorough understanding of the language and its internals.
William Kennedy is a managing partner at Ardan Studio in Miami, Florida, a mobile, web, and systems development company. He is also a co-author of the book Go in Action, the author of the blog GoingGo.Net, and a founding member of GoBridge which is working to increase Go adoption through diversity.
It’s time to add versioning to the Go toolchain, the Go ecosystem, and Go workflows. Go 1.11 will add opt-in support for package versions. This talk will explain the background, motivation, and rationale for the new version support and help you understand how to use it effectively.
It’s inevitable to feel overwhelmed when learning any programming language, especially for those who come from a non-software development background. It takes time and patience to get used to syntax, let alone understanding, exploring and implementing the underlying concepts. How will you strategise and optimise learning within a short period? What will you prioritise learning first? Being new to Go, Elissa shares her learning journey through a data analysis project.
Running distributed systems with high uptime is hard. Faults always occur in a complex distributed environment with too many moving parts. Systems need to be designed from the start to be resilient against some of the common faults in live production systems at scale such as sudden surge in traffic, bad or failed dependencies, network outages, hosts going down etc. To safe guard against these failures and potential business loss, we discuss some of the basic patterns to be followed in designing resilient distributed systems at scale such as Circuit Breakers, BulkHeads, Fallbacks, Redundancies, Metrics and Monitoring. This talk is for everyone who is interested in building highly reliable distributed systems in Go and also hate answering pagers at 3 am in the morning.
Profiling and tracing is an important part of program development and management. The Go tooling echosystem offers various tools to aid in the task. In this talk, I will discuss challenges we often encounter while debugging Go programs, for example, analyzing request execution latencies or finding memory leaks. I will present some of the recent improvements in the tooling to help tackle the challenges.
An inside look at how Go drives all our critical system development, from overall architecture down to tools and utilities to support our engineering processes
Many of us when we are writing code focus on doing things that will result in faster performance as a priority. What’s interesting is, unless you have solved the same problem several times, you don’t really know if the code you are writing is performant. Until you have a working program, you can’t measure how fast it is. Wes Dyer said, Make it correct, make it clear, make it concise, make it fast. In that order. In this talk, we will explore what it means to optimize for correctness as a priority and why Go allows us to do this so effectively.
Have you ever wanted to make a custom database? In this talk we will deep dive into how distributed databases and Blockchains make consensus. We will review how Raft and Paxos compare to Byzantine fault-tolerant systems in Blockchains such as Ethereum. You will learn how to build your own Database
There are overlooked corners of our codebases. Ignored, unloved. Unimportant. Or so we thought. What was once inconsequential has—somehow—grown into ghastly mess. This talk tells the story of one such mess, and the taming of it
Go and Erlang each have a fantastic runtime model for lightweight concurrency. This talk will introduce the Erlang actor model, supervisors, supervision trees, and other concepts which can be built on top of Go’s CSP concurrency primitives to build distributed systems.
Beverly will share how they were able to leverage Go to build Spacemob’s coworking ecosystem from scratch. From their API, marketing website, members’ portal, meeting room booking, payment, checkin, to various reporting and dashboard applications. She will also share how they are using it now that they are part of WeWork’s Technology department where they continuously build applications that connects the physical to digital and making spaces self-sufficient and more interactive.
Most of us take our compilers for granted. In goes our code, out comes our binary that is supposed to behave the way we expect it to. In my talk, I’ll attempt to do a proof of concept demonstration to show how can one build virtually undetectable malicious compiler.
Not very often do developers need to create bindings written in other languages. The Go ecosystem is so rich. But in the rare occasion one has to develop bindings, some thought should be given.
TBC
GopherCon Singapore 2018 will be held at:
Russ Cox is the tech lead for the Go project at Google. He wrote the go command, including “go get”, and is responsible for most of what you love and hate about it.
Ajey is the Group CTO of Go-Jek. With 17 years of experience in building core technology strategy across diverse domains, Ajey has helped several businesses through technology transformations at ThoughtWorks and CodeIgnition. Ajey is the founder of CodeIgnition and an active influencer in the technology community.
Head of GrabPlatform Stephen joined Grab in June 2017 with 20 years of experience, holding titles of Master Inventor at IBM, and as chief architect for multiple Saas offerings. Currently charged with bringing to fruition the vision of a Grab platform ecosystem to support our customers and partners across the SEA region.
William Kennedy is a managing partner at Ardan Studio in Miami, Florida, a mobile, web, and systems development company. He is also a co-author of the book Go in Action, the author of the blog GoingGo.Net, and a founding member of GoBridge which is working to increase Go adoption through diversity.
At the heart of Beverly’s 17-year engineering career, is the belief that building great software means creating products and tools that help people live with more ease, efficiency, and enjoyment. This passion has given her the opportunity to work on a variety of online technologies at Chikka, Yahoo!, travelmob, where she’s worked with and learnt from the best. She led Spacemob’s Engineering team that built the company’s systems from the ground up. Now, she is leading WeWork Singapore Engineering team where she continues her legacy through creating relevant solutions that are driven by personal passion to care.
Xuanyi is the chief data scientist at Ordermentum. In his free time he builds neural networks and deep learning systems for fun and profit. His goal in life is to ensure the rise of Skyne.
Chris is a core engineer and cofounder at Heroic Labs. Prior to founding Heroic Labs he worked on scalable server systems at Basho Technologies for Riot Games, Rovio Entertainment, Demonware, and others. His background is in database technology and the design and implementation of distributed server systems.
Elissa is a business analytics fresh graduate from NUS. Prior to joining SP Group as a software engineer doing frontend development and a blockchain project, she has had logistics project management and business analytics internships at Apple and Singtel respectively.
Hana is a Go team member in Google. She worked on various Google infrastructure monitoring and tracing projects. Now she works on developing tools for monitoring and debugging Go programs. She is also one of the main contributors to the Go Mobile project.
Katrina is an ecosystem engineer at GitHub. She accidentally became a developer while pursuing a degree in molecular biology. When programming, her focus is on automation, workflow optimization, and refactoring. She works primarily in Go and Ruby, contributes to several open source projects, and is the creator of exercism.io, a platform for code practice and programming mentorship.
Matthew Campbell is the founder & CEO of a Loom Network (TechStars Winter ‘18) a Blockchain company focused on scaling Ethereum. Most famously known for CryptoZombies. Matthew has been building tools for developers around the blockchain in Go. Matthew has also worked for large Technical firms like Digital Ocean, Bloomberg, Thomson Retuers and has been a software developer for last 15 years.
Rajeev is working as a Product Engineer helping build Resilient Distributed systems at Scale. His primary focus and interest areas are Distributed Systems, Security and Data. He is a Long distance Runner and Cyclist, Amateur Musician, and an Avid Trekker.
Suthen is the Head of Engineering for Grab’s Singapore R&D Centre. He has been with Grab for over five years - from the time it was called MyTeksi and based in a store room in Petaling Jaya, Malaysia - and played a number roles including its first Technical Lead, Head of Business Operations, and Chief of Staff.
Kheng Meng is a software engineer at SP Digital IoT team. He is also an avid hardware hacker and volunteers for Repair Kopitiam, a community repair meetup group in his free time, helping to repair electrical appliances to reduce eWaste disposal.
All attendees, speakers, sponsors and volunteers at our conference are required to agree with the following code of conduct. Organisers will enforce this code throughout the event. We expect cooperation from all participants to help ensure a safe environment for everybody.
Our conference is dedicated to providing a harassment-free conference experience for everyone, regardless of gender, gender identity and expression, age, sexual orientation, disability, physical appearance, body size, race, ethnicity, religion (or lack thereof), or technology choices. We do not tolerate harassment of conference participants in any form. Sexual language and imagery is not appropriate for any conference venue, including talks, workshops, parties, Twitter and other online media. Conference participants violating these rules may be sanctioned or expelled from the conference without a refund at the discretion of the conference organisers.