Choosing a database is hard. They each have their pros and cons, and without much experience it is hard to determine which is the best fit for your project. In this episode Johan Brandhorst joins us to talk about Postgres. When is it a good fit? How well does it scale? What libraries exist in Go for using Postgres?
Building a new app in Go can involve a lot of technical decisions. How will your code be structured? How will you handle background jobs? What will your deploy process look like? In this episode we will walk through the decisions made while building the public release of Pace.dev.
Mat Ryer talks to a new full-time Go programmer, an intern at Google, and a high-school programmer about the tech world from their perspective.
We often try new frameworks and tools in side projects or throwaway contexts, but you don’t learn that much about a thing until you use it to build something real. That’s why we have Mat Ryer and David Hernandez joining us to share their experience of using Svelte while building their new startup, Pace.dev.
Mat, Jon, and Jaana discuss reflection and meta programming. How do other languages use reflection, and how does that differ from Go’s approach? What libraries are using reflection well? What are some examples of bad times to use reflect? What alternative approaches exist? And what are those weird struct tags I keep seeing in Go code?
Databases are tricky, especially at scale. In this episode Mat, Jaana, and Jon discuss different types of databases, the pros and cons of each, along with the many ways developers can have issues with databases. They also explore questions like, “Why are serial IDs problematic?” and “What alternatives are there if we aren’t using serial IDs?” while at it.
Distributed systems are hard. Building a distributed messaging system for these systems to communicate is even harder. In this episode, we unpack some of the challenges of building distributed messaging systems (like NATS), including how Go makes that easy and/or hard as applicable.
Put on your dark hoodie, turn all the lights off, and join the author of Black Hat Go as we explore the darker side of Go.
Mat, Johnny and Jon are joined by Elias, creator of Gio, to discuss GUIs. Specifically, we explore the pros and cons of immediate vs retained mode and explore some examples of each, as well how some frameworks like React are attempting to bring the benefits of immediate mode to a retained mode world (the DOM).
The gang discusses WebRTC with Sean DuBois, creator of the Pion project and author of a pure Go WebRTC implementation. What exactly is WebRTC? Why is it so popular for video chatting? How does it work under the hood, and how does it compare with other real-time communication options?
Today we’re featuring conversations from different perspectives on working from home from our JS Party, Go Time, and Brain Science podcasts here on Changelog.com. Because, hey…if you didn’t know we have 6 active podcasts in our portfolio of shows. Head to changelog.com/podcasts to collect them all!
What is a microservice, and what is a monolith? What differentiates them? When is a good time for your team to start considering the transition from monolith to microservice? And does using microservices mean you can’t use a monorepo?
What does it take to organize a community event? How do you ensure it is diverse? What does diversity even mean? Tune in to learn directly from organizers of some of the most diverse Go meetups (Gophercon EU and Go Bridge).
Bryan Liles joins Johnny and Mat for a wide-ranging discussion that starts with the question: what even is enterprise Go?
Working from home can be challenging, especially amid school closings and everything else caused by COVID-19. In this episode panelists Jon, Mat, Carmen, and Mark share advice and experiences they have accumulated over many years of working from home. They cover separating your work space from your personal space, signaling to your family that you are busy, ways to keep track of the time, and suggestions for getting some exercise in when you can.
Dave Cheney talks to us about the Zen of Go (ten engineering values for writing simple, readable, maintainable Go code). What makes code good in Go? What guiding principles should we bear in mind when writing Go?
This is THE podcast for diverse discussions from around the Go community.
Go Time’s panel hosts special guests like Kelsey Hightower… (clip from episode #114)
picks the brains of the Go team at Google… (clip from episode #100)
shares their expertise from years in the industry (clip from episode #102)
and has an absolute laugh riot along the way… (clip from episode #110)
It is Go Time! Please listen to a recent episode that interests you and subscribe today. We’d love to have you with us.
In this episode Jaana and Mat are joined by Daniel and Miriah to dive into AI in Go. Why has python historically had a bigger foothold in the AI scene? Is machine learning in Go growing? What libraries and tools are out there for someone looking to get started with AI? And where do you start if you don’t have enough data for your own models?
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.
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.