David is an open source contributor and project member for the Go programming language. David is a well-respected voice within the tech community, speaking on a variety of topics such as software design, performance, and the Go programming language.
Contact information
Community activity
- Co-organiser of the Sydney Go User’s group 2012–2016.
- Editor, Goadvent 2013, Go Birthday Bash 2014, GoAdvent 2014,
- Gophercon organiser 2014–.
Code
- Contour, an Envoy based Kubernetes ingress controller.
- gb, a project based build tool for the Go programming language, github.com/constabulary/gb.
- Artisanal, hand crafted, barrel aged, Go packages, github.com/pkg.
- Personal, github.com/davecheney.
Past and upcoming presentations
2012
- Presenter, Sydney Go user’s group, August 2012 (Sydney, Australia)
2013
- How Go uses Go to build itself, Sydney Go user’s group, April 2013 (Sydney, Australia)
- Presenter, GoSF May 2013 (San Francisco, California)
2014
- PDP Emulation, Melbourne Go users group, March 2014 (Melbourne, Australia)
- How Canonical uses gccgo, Sydney Go user’s group, March 2014 (Sydney, Australia)
- Five things that make Go fast, Gocon May 2014 (Tokyo, Japan)
- Tiny Term, Sydney Go user’s group, July 2014 (Sydney, Australia)
- Introduction to Go, Canberra Go meetup, August 2014 (Canberra, Australia)
- Functional options for Friendly APIs, dotGo October 2014 (Paris, France)
- Introduction to Go, School of Computing Science, Glasgow University, October 2014 (Glasgow, Scotland)
2015
- Functional options for Friendly APIs, GDG Korea, January 2015 (Seoul, Korea).
- Five things that make Go fast, Code Craft Dunedin, February 2015 (Dunedin, New Zealand)
- Simplicity and collaboration, closing keynote Gophercon India, February 2015 (Bengaluru, India)
- Reproducible builds, GDG Berlin, April 2015 (Berlin, Germany), video is also available.
- Reproducible builds (part ii), Sydney Go Users Group, May 2015 (Sydney, Australia)
- gb, a project based build tool, GoSF, July 2015 (San Francisco, California)
- Performance without the event loop, OSCON, July 2015 (Portland, USA)
- The legacy of Go, GothamGo, October 2015 (New York, New York)
2016
- Go 1.6 Release Party, Sydney Go Users Group, February 2016 (Sydney, Australia)
- Opening keynote, GopherCon Dubai, February 2016 (Dubai, UAE)
- Writing high performance Go, GopherChina, April 2016 (Beijing, China)
- Keynote, Gocon, April 2016 (Tokyo, Japan)
- SOLID Go design, Yow! West 2016, May 2016 (Perth, Western Australia)
- Don’t just check errors, handle them gracefully, GopherCon 2016, July 2016 (Denver, CO, USA)
- SOLID Go Design (video), GolangUK, August 2016 (London, United Kingdom)
- Seven ways to profile a Go Program (video), GolangUK, August 2016 (London, United Kingdom)
- Don’t fear the first class function, dotGo 2016, October 2016 (Paris, France)
- Gopher Puzzlers (video), golang.io meetup, October 2016 (Paris, France)
- Gopher Puzzlers, Sydney Go Users’ Group, November 2016 (Sydney, Australia)
- Simulating old computers using Arduino microcontrollers, builderscon.io, December 2016 (Tokyo, Japan)
2017
- Go 1.8 Release Party, Sydney Go Users Group, February 2017 (Sydney, Australia)
- Go’s hidden #pragmas, Melbourne Go Users Group, March 2017 (Melbourne, Australia)
- Go’s hidden #pragmas, GopherChina, April 2017 (Shanghai, China)
- Concurrency made Easy, Sydney Go Users Group, May 2017 (Sydney, Australia)
- Concurrency made Easy (Video), GopherCon Singapore, May 2017 (Singapore, Singapore)
- Go 1.9 Release Party, Sydney Go Users Group, August 2017 (Sydney, Australia)
- Performance without the event loop, DevFest Siberia, September 2017 (Novosibirsk, Russia)
- Understanding the Go execution tracer, DevFest Siberia, September 2017 (Novosibirsk, Russia)
- Understanding the Go execution tracer, Go Taiwan Meetup, September 2017 (Taipei, Taiwan)
- Performance without the event loop, GDG Vladivostok, October 2017, (Remote)
- High Performance Go (video), QConSF, November 2017, (San Francisco, USA)
- What Have We Learned from the PDP-11, Papers We Love, November 2017 (San Francisco, USA)
- Gopher Puzzlers, Seattle Go, November 2017 (Seattle, USA)
2018
- High Performance Go Workshop, Mercari, April 2018 (Tokyo, Japan)
- How the Go runtime implements maps efficiently (without generics), GoCon, April 2018 (Tokyo, Japan)
- How Heptio Built Contour (and what you can learn from our experiences) (Slides), KubeCon EU, May 2018 (Copenhagen, Denmark)
- How Heptio Built Contour (and what you can learn from our experiences), Container Camp AU 2018, May 2018 (Melbourne, Australia)
- How Heptio Built Contour (and what you can learn from our experiences), O’Reilly Velocity, June 2018 (San Diego, USA)
- Go’s hidden #pragmas, Sydney Go Users Group, June 2018 (Sydney, Australia)
- High Performance Go Workshop, GopherCon, August 2018 (Denver, CO, USA)
- The Past, Present, and Future of Go 2, QCon Shanghai, October 2018 (Shanghai, China)
- Practical Go: Real world advice for writing maintainable Go programs, QCon Shanghai, October 2018 (Shanghai, China)
- Going without, Sydney Go Users Group, November 2018 (Sydney, Australia)
- Addressing the limitations of Kubernetes’ Ingress object, GDG DevFest Melbourne 2018, November 2018 (Melbourne, Australia)
- Lessons learnt building Kubernetes controllers, YOW! Sydney, November 2018 (Sydney, Australia)
- Lessons learnt building Kubernetes controllers, YOW! Brisbane, December 2018 (Brisbane, Australia)
- Lessons learnt building Kubernetes controllers, YOW! Melbourne, December 2018 (Melbourne, Australia)
2019
- Absolute Unit (test), Go Sydney Users’ Group, February 2019 (Sydney, Australia)
- Absolute Unit (test) (slides), Go London User Group, March 2019 (London, UK)
- Constant Time, dotGo 2019, March 2019 (Paris, France)
- Workshop: High performance Go, dotGo 2019, March 2019 (Paris, France)
- Workshop: High performance Go, GopherChina, April 2019 (Beijing, China)
- Testing: how, what, and why, GopherChina, April 2019 (Beijing, China)
- Workshop: Practical Go, GopherCon Singapore, May 2019 (Singapore, Singapore)
- Clear is better that clever, GopherCon Singapore, May 2019 (Singapore, Singapore)
- IngressRoute: A Path Towards a Better Ingress Object for Kubernetes, KubeCon China, June 2019 (Shanghai, China)
- High Performance Go Workshop, GopherCon, July 2019 (San Diego, CA, USA)
- Two programs, three profiling tools in 45 minutes, GopherCon, July 2019 (San Diego, CA, USA)
- Five things that Go taught me about open source, Velocity, November 2019 (Berlin, Germany)
- SOLID Go Design, GDG DevFest Berlin, November 2019 (Berlin, Germany)
- How the Go runtime implements maps efficiently (without generics), GDG Berlin Golang, November 2019 (Berlin, Germany)
- Two programs, three profiling tools in 45 minutes, CodeMotion Berlin, November 2019 (Berlin, Germany)
- Gopher Puzzlers, Sydney Go Users’ Group, December 2019 (Sydney, Australia)
2020
- Practical Go workshop, GopherCon Israel, February 2020 (Tel Aviv, Israel)
- The Zen of Go, GopherCon Israel, February 2020 (Tel Aviv, Israel)
- Introduction to Go workshop, March 2020 (Singapore)
- Introduction to Go workshop, GopherCon Russia, March 2020 (Moscow, Russia)
- Go’s hidden #pragmas, GopherCon Russia, March 2020 (Moscow, Russia)
- What’s in a name?, GoGetCommunity, May 2020
- Building a high performance JSON parser, Nairobi Gophers meetup, June 2020
- What’s in a name?, GoWayFest 4.0, July 2020
- Building a high performance JSON parser, GopherCon Turkey, July 2020
2021
- Numbers Are Just Numbers, GopherCon EU, May 2021 (Berlin, Germany)
- The Zen of Go, GopherChina, June 2021 (Beijing, China)
2024
- The things I keep repeating about Go, GopherConAU 2024, November 2024 (Sydney, Australia)