- Workshops:
- Conference:
GopherConAU believes Go is the way to go! We wish to showcase this modern language here in beautiful Australia both as a successful tool for commercial programming and a viable career path. Part of our vision is to attract a diverse crowd both to the audience and to the stage. We aim for GopherCon Australia to reflect how we developers want the future of the industry to look.
For the first year of GopherCon Australia, we will use sponsorships to attract and accommodate for international speakers and workshop hosts. By showing that GopherCon Australia is a welcoming conference, we wish to create a sense of community coming from different backgrounds, supporting traditionally underrepresented groups in the technology industry. We invited prominent contributors to the Go tech scene, who share and represent our vision of inclusion and who come from diverse gender and ethnicity groups.
Many well known Australian companies use Go, including Google, Atlassian, VMware, Seek, Siteminder, Freelancer.com, Campaign Monitor, Sajari, and many more.
GopherCon Australia is the latest in a series of conferences originating from the first GopherCon held in Denver, Colorado in 2014. The conference founders are Katie Fry and Xuanyi Chew, both organisers of the successful Sydney Go Users’ Group, and a committee of volunteers.
GopherCon Australia is happening in Sydney between 30th October and 1st November 2019. Yes, you read it right - conveniently before the weekend, so that you can extend your stay. We encourage you to take your partner, family, or friends with you, as we will provide you with recommendations on how to spend time in Sydney to enjoy the culture, art, and fun.
An introduction with lots of hands on practice
• Development Environment
• Programming Fundamentals
• An introduction to the basic syntax of the language
• Debugging
• Learning in a friendly environment
• The initial setup to get started with Go
Leah Garrett has over 20 years experience working in software development, and was recently lead educator at a coding bootcamp. Active in the developer community, Leah is co-organiser of the Melbourne Golang Meetup group and is part of the team that organises the DDD Melbourne conference.
This class has been designed over the past several years and goes beyond just being a Go service class. There will be very little time spent on specifc Go syntax. Our time will be spent learning how to re-engineer a web service and talk about application design, semantics and guidelines for building services in Go.
Building Production Web Services In Go
• Start/Stop
• Logging/Configuration
• Web Framework Design
• Database Support
• Testing
• Metrics/Tracing
• Modules/Docker/Compose
Everyone is going to be mentally exhausted by the end of the day. We will be challenging every student to think about what they are doing and why. In the 4 years we have taught this material, we never had someone not appreciate the class and feel like they are a better developer for it. If you want to be a better Go developer, code reviewer, designer and architect, this is the class you want to take.
William Kennedy is a managing partner at Ardan Labs in Miami, Florida, a group of passionate engineers, artists and business professionals focused on building and delivering reliable, secure and scalable solutions. 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.
This workshop is for team leads, agile coaches and senior developers.
The main goal is to workshop approaches to the biggest issue in software engineering; too much unverifiable code and not nearly enough human scale formal specifications.
It covers topics from developer productivity to capturing system semantics. Using enterprise-ready features of Go 1.13 to advanced uses of protocol buffers.This is a hands on workshop, programming experience required, but experience with Go is not necessary.
We will be using a combination of pairs and mob programming (pairs of mobs) to refactor and add features to a synthetic code base.
Expect digressions into development process and economics of software engineering.
• Fast & painless reproducible builds
• Development & operations metrics collection
• Traceability of production issues
• Painless & productive approaches to APIs & contracts
• Contract based regression testing
• Speed of developers coming up to speed in development teams
Gary Miller is a creative technologist, across a broad spectrum of web, cloud and enterprise IT systems and technologies. He is a senior engineer at a local Sydney spin-off, GotoBlink. Previously he was Macquarie Group's (COG - Infra) Computer Scientist in Residence, where he applied a small amount of theory with large amounts of practical software engineering nous, to unblock some of their most intractable problems.
Continuous Delivery can drive the design of your code for Great Good. I'll share some of the tricks and strategies I've used to deploy Go services safely, smoothly, and without ceremony. I'll cover integration testing, db migrations, zero-downtime deploys, feature flags, and some useful go tooling.
I've been an avid Gopher since 2012 - roughly as long as I've been living in New Zealand. I discovered such an immediate productivity boost, that I haven't looked back from Go, or NZ, since. I helped start the Go Auckland meetup group in 2013, and I've hosted and spoken at many meetups since then.
About four years ago, a wise man persuaded me that "setting up a new stack is the right time to begin CD". I claimed I was too busy getting product and platform to market, but he won me over: "it's much harder to add CD later". I went with it, and I was so chuffed with the results that I've been championing CD-related approaches ever since.
This talk is about how to start using go's profiling tools, instrument your code so that you can profile your services running in production and have less mystery in your life.
Viewers will learn how to use trace and pprof tools, and guidance on doing it in production for their own services.
Alexander is an infrastructure software engineer, currently working at Atlassian on the Observability team. I like to build distributed systems. Sometimes things catch on fire and need putting out. When I'm not doing those things I enjoy working on electronics projects, making music and spending time with my family.
Many modern software product developers work close to the top of a powerful open source software stack and focus on their customer problems.
This talk is about how I worked further down the Go software stack to write a PDF Full Text Search library and solve customer problems in unexpected ways.
Peter Williams is the lead developer of enabling technologies at PaperCut. He develops libraries and features for PaperCut´s products.
Peter has been developing in Go for the last few years. Some of the features and components he has recently written in Go for PaperCut are
Building an API with the net/http library is incredibly easy…until it isn’t. Even in 2019 the advice you find online when doing routing is often to “use X framework” or “just use net/http” without a lot of context for how to use them well. In this talk I will cover request parsing, writing middleware, using context, and other useful skills to level up your standard library-only APIs.
Kaylyn Gibilterra is a tech lead for modernizing core banking systems in Go at Capital One. She has been programming Go since 2014 and has been introducing developers to the language through talks and trainings ever since. She is a Recurse Center alum and is currently working on her masters in Computer Systems from Georgia Tech
Have you ever wanted to dabble in Deep Learning? Here's your chance to get started doing it in Go. We'll take you through a quick example of a new model - and then how to continue your learning process through more commonly found Tensorflow projects lying around the Internet.
Recommendation systems suck. I buy one vacuum cleaner and all of a sudden I'm a Hoover enthusiast. Enjoyed a nice video about politics? YouTube is unusable now.
This talk covers a new way to build these systems using Deep Reinforcement Learning to improve the quality & diversity of recommendations.
Many new Gophers come from dynamic languages and frameworks that have an emphasis on productivity vs engineering, but what happens when your application doesn’t fit the mold of a framework like Ruby on Rails? What happens when your problems don’t scale in the way the framework expects you to? What does it look like to build a full web stack from scratch for a production environment
Jeff Levin is the Founder of Legalverse and the Alaska Developers Alliance. He has been a web developer since Microsoft Frontpage and recently accepted the title of software engineer. When he’s not coding you’ll find him running and skiing in the mountains
Relying on binary floating point can kill; they are inherently imprecise and can lead to technical complications later down the road. A decimal system would solve many of these complications. Go has been lacking a fast and efficient decimal data type, until now...
Josh is a software engineer at ANZ working on implementing an open source decimal datatype in Go as well as spreading the word about Go by co-organising a corporate Go training course. Outside of work, Josh likes to get lost by following the forgotten art of hitchhiking where he´s traveled to many places, and many are still to come.
Sloc cloc and code. How a death march project lead to learning Go, the creation of a source lines of code counter which is faster and more accurate then the Rust/ATS/C equivalents, while learning about some really bizarre performance characteristics.
This is the story of how Atlassian moved from a multi-million dollar contract with one vendor to another for their monitoring system. To help them migrate the thousands of engineers and microservices onto the new platform in just a few months, they built a new data pipeline using Go.
Julia works as a developer in Atlassian´s Observability team. She loves learning about all things Go, especially the cute Gopher, and is passionate about teaching the younger generation how to code.
In this talk, I want to introduce the Fyne GUI toolkit ... A modern application framework and desktop environment focused on design, ease of development and distribution. Targeting cross platform desktop applications, as well as Mobile (Android / iOS) and more. TDD support is built in, and its written 100% in Go, so you know its good.
Fyne is a very well engineered, and exceptionally well managed project, driven by an experienced, diverse all-volunteer team distributed around the Globe.
This will be a fast paced, highly visual dive through the possibilities for application development, if you dare to throw out the rulebook and look at a fresh new approach that the Go tooling makes possible. Attendees will be challenged to let their imaginations loose, and get excited about writing "that app" that they have always wanted to finish off one day. Now is your time !
I am a systems programmer that has been working exclusively with Go since 2014. I wrote my first lines of code in the early 80s ... on a Z80, in machine code, and then quickly fell into full time work from there.
Its been non-stop ever since, and taken me many places in many interesting projects over the last 4 decades. I got to see the Unix wars first hand, and contribute to many opensource projects in their infancy (Gtk Toolkit).
I have been lucky to have worked on pretty much all the machines, from Mainframes with JCL, to SGI workstations on Submarines, to embedded systems, and now 'the cloud'. I still use my SGI Octane sometimes.
I still haven't finished my Pet Project after all these years. However, since I discovered Fyne in 2018, and joined as a contributor, that is about to change.
Time | Slot | Description |
---|---|---|
9:00 | Check-In | Doors open! Go! Go! Gophers! |
9:30 | Intro | Welcome & Acknowledgements. |
9:45 |
Carmen Andoh |
10 years of GoSimple. Reliable. Efficient. These words defined Go on Nov 10 2009. As we celebrate 10 yrs, we add one more: Sustainable. A reflection of Go: technological & industry advances during the last decade, while exploring what it means to be sustainable amidst constant change. |
10:25 | Break | Break for 10 minutes. |
10:35 |
Am Laher |
Designing Go services for Continuous DeploymentContinuous Delivery can drive the design of your code for Great Good. I'll share some of the tricks and strategies I've used to deploy Go services safely, smoothly, and without ceremony. I'll cover integration testing, db migrations, zero-downtime deploys, feature flags, and some useful go tooling. |
11:05 | Break | Gophers have 25 minutes to chill. |
11:30 |
Alexander Else |
Eliminate the guess work: Profiling a go service in productionThis talk is about how to start using go's profiling tools, instrument your code so that you can profile your services running in production and have less mystery in your life. Viewers will learn how to use trace and pprof tools, and guidance on doing it in production for their own services. |
12:00 |
Peter Williams |
PDF Full Text Search in Pure Go. Why and How I Wrote it.Many modern software product developers work close to the top of a powerful open source software stack and focus on their customer problems. This talk is about how I worked further down the Go software stack to write a PDF Full Text Search library and solve customer problems in unexpected ways. |
12:35 | Lunch | Lunch break for 85 minutes. |
14:00 |
Kaylyn Gibilterra |
Unlocking net/http APIsBuilding an API with the net/http library is incredibly easy…until it isn’t. Even in 2019 the advice you find online when doing routing is often to “use X framework” or “just use net/http” without a lot of context for how to use them well. In this talk I will cover request parsing, writing middleware, using context, and other useful skills to level up your standard library-only APIs. |
14:30 |
Darrell Chua |
Getting Started with Deep Learning in GoHave you ever wanted to dabble in Deep Learning? Here's your chance to get started doing it in Go. We'll take you through a quick example of a new model - and then how to continue your learning process through more commonly found Tensorflow projects lying around the Internet. |
15:00 | Break | Relax for 30 minutes. |
15:30 |
Gareth Seneque |
Game of Clicks: Reinforcement Learning for News Recommendation
Recommendation systems suck. I buy one vacuum cleaner and all of a sudden I'm a Hoover enthusiast. Enjoyed a nice video about politics? YouTube is unusable now. This talk covers a new way to build these systems using Deep Reinforcement Learning to improve the quality & diversity of recommendations. |
16:00 |
Jeff Levin |
Let’s build our own webstack in Go!Many new Gophers come from dynamic languages and frameworks that have an emphasis on productivity vs engineering, but what happens when your application doesn’t fit the mold of a framework like Ruby on Rails? What happens when your problems don’t scale in the way the framework expects you to? What does it look like to build a full web stack from scratch for a production environment |
16:30 | Outro | Goodbye for the Day! |
Time | Slot | Description |
---|---|---|
9:30 | Check-In | Doors open! Today a bit later. |
9:40 | Intro | Welcome & Acknowledgements. |
9:45 |
William Kennedy |
ModulesGo 1.13 made Modules a first class citizen. But what do they do exactly? In this talk, Bill will walk through what he has learned about modules and the developer experience. |
10:25 | Break | Break for 10 minutes. |
10:35 |
Joshua Carpeggiani |
Go for DecimalsRelying on binary floating point can kill; they are inherently imprecise and can lead to technical complications later down the road. A decimal system would solve many of these complications. Go has been lacking a fast and efficient decimal data type, until now... |
11:05 | Break | Gophers have 25 minutes to chill. |
11:30 |
Ben Boyter |
Sloc Cloc and Code - Can a crusty Go program outperform a well written Rust Project?Sloc cloc and code. How a death march project lead to learning Go, the creation of a source lines of code counter which is faster and more accurate then the Rust/ATS/C equivalents, while learning about some really bizarre performance characteristics. |
12:00 |
LIGHTNING TALKS |
Lightning Talks |
12:35 | Lunch | Lunch break for 85 minutes. |
14:00 |
Julia Wong |
Migrate to a New Platform by Creating a Pipeline in GoThis is the story of how Atlassian moved from a multi-million dollar contract with one vendor to another for their monitoring system. To help them migrate the thousands of engineers and microservices onto the new platform in just a few months, they built a new data pipeline using Go. |
14:30 |
Steve O'Connor |
The Fyne GUI Toolkit - Fun + No Constraints + High Performance = CreativityIn this talk, I want to introduce the Fyne GUI toolkit ... A modern application framework and desktop environment focused on design, ease of development and distribution. Targeting cross platform desktop applications, as well as Mobile (Android / iOS) and more. TDD support is built in, and its written 100% in Go, so you know its good. Fyne is a very well engineered, and exceptionally well managed project, driven by an experienced, diverse all-volunteer team distributed around the Globe. This will be a fast paced, highly visual dive through the possibilities for application development, if you dare to throw out the rulebook and look at a fresh new approach that the Go tooling makes possible. Attendees will be challenged to let their imaginations loose, and get excited about writing "that app" that they have always wanted to finish off one day. Now is your time ! |
15:00 | Break | The last, 45-minute long, break for this year's GopherConAU! |
15:45 |
Adel Smee |
Inclusiveness - It’s In Your HandsResilient, effective teams are diverse teams, teams that feel safe throwing around ideas, teams that look out for each other, teams where the needs of the individuals in the team are (mostly) met, teams that can learn and grow with your company. Nurturing environments in which such teams can form and flourish is an endlessly challenging and rewarding task that belongs to everyone in the company. And yet, a lot of the work to identify issues, champion change and improve a company’s culture and the diversity of its workforce is done by the same few people, or left entirely to HR. These folks could do with a hand. A hand from you! This talk will encourage you to get involved in diversity and inclusion work at your company in whatever way makes sense to you. It includes a few pointers to get you started and some stories to motivate you along the way. |
16:30 | Outro | Goodbye & Thanks! |
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.
If someone makes you or anyone else feel unsafe or unwelcome, please report it as soon as possible by emailing hello@gophercon.com.au, or by speaking to a member of the conference staff. Conference staff will be wearing orange GopherConAU teeshirts.