Jon Calhoun Avatar

Jon Calhoun

Jon started programming at an early age (around 8-9) when introduced to Apple Basic. Since then he has been hooked, learning about web development, scripting levels in videos games, algorithm competitions, and more. He eventually discovered Go and loved the language, but felt the resources for newcomers was lacking which lead to him starting to create videos, tutorials, and other educational resources. Some of his more popular courses include Gophercises, a course composed of mini coding exercises each designed to teach something unique aspects of Go, and Web Development with Go, an in depth course that teaches how to build production grade web applications from the ground up in Go.

PA, USA · Twitter · GitHub · Website
81 episodes

Go Time Go Time #119

Stop the presses

Play
2020-02-27T18:30:00Z #go +1 🎧 13,617

Newsletters play a unique role for developers. As the Go community continues to grow and mature, these newsletters provide a much-needed filter for the oft overwhelming stream of new articles, talks, and libraries produced by the community on a weekly basis.

In this episode Johnny, Jon, and Mat are joined by Peter Cooper of the Golang Weekly newsletter to discuss his role as a newsletter curator. We explore difficult topics that touch on ethics and responsibilities of a curator and of course, the impact Peter and his team have on shaping, at least in part, what many in the Go community get exposed to.

Go Time Go Time #118

Quack like a wha-?

Play
2020-02-20T12:00:00Z #go 🎧 15,640

Interfaces are everywhere in Go. The basic error type is an interface, writing with the fmt package means you are probably using an interface, and there are countless other instances where they pop up. In this episode Mark, Mat, Johnny, and Jon discuss interfaces at length, exploring what they are, how they are using them in their own projects, as well as tips for how you can leverage them in your own code.

Go Time Go Time #117

Telemetry and the art of measuring what matters

Play
2020-02-13T15:50:00Z #go 🎧 15,935

Telemetry is tricky to get started with. What metrics should you be tracking? Which metrics are important? Will they help you predict and avoid potential issues? When is a good time to start? Should you put it off until later? In this episode we discuss some common metrics to collect, how to get started with telemetry, and more with guest Dave Blakey of Snapt.

Go Time Go Time #116

Unusual uses for Go: GUIs

Play
2020-02-06T17:00:00Z #go 🎧 14,876

Johnny and Jon are joined by Andy Williams to talk about some of the unusual ways developers are using Go. In this particular episode they deep dive into building GUIs and discuss all of the challenges imposed by trying to build a UI that is both cross platform and functional. How do you create buttons that work on both mobile and a desktop app? Should you even be designing both apps at the same time? Tune in to find out!

Go Time Go Time #115

Grokking Go.dev

Play
2020-01-30T15:30:00Z #go +2 🎧 14,223

Carmen, Mat, and Jon are joined by Steve Francia and Julie Qiu to discuss the new Go.dev website. What was the motivation behind it? What technology was used to build it? How are they working to make package discovery better? And what resources are there to help you convince your manager to use Go on that upcoming project?

Go Time Go Time #113

Go at Cloudflare

Play
2020-01-14T16:51:21Z #go +1 🎧 14,458

Jaana, Jon, and Mat are joined by John Graham-Cumming, the CTO of Cloudflare, to discuss Go at Cloudflare along with John’s unique involvement in Gordon Brown’s apology to Alan Turing. How did Cloudflare get started with Go? What problems do they use Go for and when to they turn to other languages? And how exactly did John’s petition for an apology to Turing get so popular?

Go Time Go Time #112

defer GoTime()

Play
2020-01-07T17:00:00Z #go +1 🎧 14,678

Mat, Carmen, and Jon are joined by Dan Scales to talk about Mat’s favorite keyword in Go - defer. Where did the defer statement come from? What problems can it solve? How has it shaped how we write Go code? How are other languages solving similar problems? And what exactly was changed in Go 1.14 to improve the performance of defer?

Go Time Go Time #110

The fireside edition 🔥

Play
2019-12-17T16:30:00Z #go +2 🎧 13,089

Grab a hot beverage and a warm blanket because it’s time for a fireside chat with the Go Time panel! We discuss many topics of interest: what we’d build if we had 2 weeks to build anything in Go, the things about Go that “grind our gears”, our ideal work environments, and advice we’d give ourselves if we were starting our career all over again.

Go Time Go Time #106

Code editors and language servers

Play
2019-11-11T18:00:00Z #go +1 🎧 15,088

In this episode we talk with Ramya Rao about code editors and language servers. We share our thoughts on which editor we use, why we use it, and why we’d switch. We also discuss what a language server is and why it matters in connecting editors and the languages they support. We also dive into various ways to be effective with VS Code including shortcuts, plugins, and more.

Go Time Go Time #100

Creating the Go programming language

Play
2019-09-25T19:00:00Z #go +1 🎧 24,019

Carmen and Jon talk with Rob Pike and Robert Griesemer (the creators of Go) about its origins, growth, influence, and future. This an epic episode that dives deep into the history and details of the how’s and why’s of Go, and the choices they’ve made along the way in creating this awesome programing language.

Go Time Go Time #99

Hiring and nurturing junior developers

Play
2019-09-20T19:00:00Z #go +2 🎧 13,759

Johnny, Carmen, Jon, and returning guest Stevenson Jean-Pierre talk about hiring engineers with a focus on junior roles. Why do we keep running into these ridiculous job listings that nobody could ever live up to? What benefits do junior developers bring to the team? Why don’t teams put more focus on developing junior engineers? What can we do better?

Go Time Go Time #98

Generics in Go

Play
2019-09-11T18:00:00Z #go 🎧 16,472

Mat, Johnny, Jon, and special guest Ian Lance Taylor discuss generics in Go. What are generics and why are they useful? Why aren’t interfaces enough? How will the standard library change if generics are added to Go? How has the community contributed to generics? If generics are added, how will this negatively affect the language?

Go Time Go Time #94

Structuring your Go apps

Play
2019-08-09T20:00:00Z #go 🎧 17,956

Jon, Mat, Johnny, and special guest Cory LaNou discuss the ins and outs of structuring Go programs. Why is app structure so important? Why is it hard to structure Go apps? What happens if we get it wrong? Why do we confuse folder structures with application design? How should a new Go app be structured?

Go Time Go Time #93

If you've never been to GopherCon...

Play
2019-08-05T16:00:00Z #go +1 🎧 10,639

Jon, Mark, Johnny, and special guest Jamal Yusuf discuss what to expect when attending a conference like GopherCon. What should you be doing before you attend GopherCon? What should you bring to the conference? What shouldn’t you bring? What are the training sessions about? What about the hacking sessions and talking with the Go team? What if you don’t know anyone?

Go Time Go Time #89

The art of execution

Play
2019-06-12T17:00:00Z #go 🎧 12,749

Panelists Mat Ryer, Johnny Boursiquot, Jon Calhoun, and guest panelist Egon Elbre discuss what they build, why, and how they do it. Everybody has their own unique process for getting things done, so today we’re going to learn about them. Too often processes get in the way and slow things down. How do we look for signs of those slow downs? How do we create a space where people are free to discuss their thoughts and struggles?

Go Time Go Time #85

Go for beginners

Play
2019-05-15T17:00:00Z #go +1 🎧 16,005

How do beginners learn Go? This episode is meant to engage both non-Go users that listen to sister podcasts here on Changelog, or any Go-curious programmers out there, as well as encourage those that have started to learn Go and want to level up beyond the basics. On this episode we’re aiming to answer questions about how to learn Go, identify resources that are available, and where you can go to continue your learning journey.

Player art
  0:00 / 0:00