GopherCon 2024
2024-07-07..2024-07-10
Chicago, United States
[GopherCon 2014, GopherCon 2019, GopherCon 2020, GopherCon 2021, GopherCon 2022, GopherCon 2023, GopherCon 2024, GopherCon 2025]
who it's for
Go developers, testing engineers, developer experience engineers, backend engineers, database engineers, systems programmers, technical leads
topics
gob-based serialization; go replace directive; gRPC to Flutter GUI; go benchmark harness and benchstat; ORAS-Go OCI artifacts; channels-of-channels matchmaking; Go generics for APIs; AVX2 and AVX512 Parquet optimizations; template Postgres databases; internal-package mocks; coverage with -toolexec; Dapr enriched error model
| title | author | length |
|---|---|---|
| Embracing the Replace: Our Journey to Fixing the Plugin System in HashiCorp Packer | Wilken Rivera | 12m |
Fixes a broken Gob-based serialization in the shared cty type library by forking cty, reinstating Gob, backporting features and automating propagation to 40+… | ||
| Would You Like a GUI With That? | Andy Joseph | 07m |
A small Go library called Gob module defines UI primitives and a Flutter app renders them over gRPC to Flutter app with Material design embodiments; the demo… | ||
| Miles to Go: Golang for Competitive Programming? | Jacob Hochstetler | 07m |
Compares concrete trade-offs: uses the Go testing package to implement a benchmark harness (main_test.go) for LeetCode 350 (array intersection), generates… | ||
| You Can Store That in a Container Registry?! | Siva Manivannan | 08m |
Claims that container registries can store arbitrary blobs and shows how ORAS-Go writes and reads OCI Artifacts (photos, Helm charts, binaries, multi‑GB AI… | ||
| Chan Chan Chan T: A Generic Tale | Branden J Brown | 06m |
Five concurrent websocket connections (example uses five players) start as a fragile system held by a single mutex and leaking memory and cancellation races… | ||
| Parquet, Go, and Unreasonable Amounts of SIMD | Achille Roussel | 07m |
Parquet-go is a production-ready Go library that achieves extreme throughput by implementing core codecs and filters in hand-written assembly using AVX2 and… | ||
| Lightning-Fast Database Tests | Robin Hallabro-Kokko | 06m |
Library called PG test DB uses template databases to spin up isolated ephemeral Postgres instances for each test, integrating with pgx and migration tools like… | ||
| Build It! With or Without Tools | Matthew Sanabria | 07m |
Compares renovating a kitchen to evolving production code and shows concrete outcomes: replaced rusting galvanized steel drains with PVC drains and proved them… | ||
| How to Mock Fellow Gophers While Avoiding HR | Dylan Bourque | 07m |
Mocks cause cross-team breakage when exported: gomock gets archived, Uber forks it, CI fails because controller types differ. Advice is concrete: don't export… | ||
| Implementing Code Coverage with -toolexec | Ehden Sinai | 07m |
Explains how Go’s coverage works by recreating it with -toolexec, showing the actual instrumentation format (legacy text), the runtime limitation that forces a… | ||
| Standardizing Errors in Go: A Practical Guide with Dapr | Cassie Coyle | 07m |
Dapr’s errors package (dapr/kit/errors) implements the gRPC Richer Error Model and Google API Errors Model using a builder pattern that creates immutable… | ||
| 7 Surprising Features of the Go Playground | Matt Dale | 05m |
Go Playground does more than run snippets: it supports a UDP local-network example so separate goroutines communicate over localhost, and it pulls third‑party… | ||
| How About Now? Can ChatGPT Do My Job Yet? | Michael Richman | 07m |
Answer is still no but the landscape changed: large models help with scaffolding and boilerplate but require human review. Uses include GitHub Copilot and… | ||
| nothing matches | ||