GopherCon Europe 2023
2023-06-26..2023-06-29
Berlin, Germany
[GopherCon Europe 2019, GopherCon Europe 2020, GopherCon Europe 2021, GopherCon Europe 2022, GopherCon Europe 2023, GopherCon Europe 2024, GopherCon Europe 2025]
who it's for
Go developers, backend engineers, library and module maintainers, systems programmers, observability engineers, site reliability engineers, game and desktop app developers
topics
Go modules and checksum database; generics in Go 1.21; WASI WebAssembly with wazero; Service Weaver single-binary framework; memory optimizations: struct reordering and preallocation; TSDB performance techniques (VictoriaMetrics); sync patterns: errgroup and singleflight; vulnerability management and govulncheck; fast structured logging (slog); eBPF introduction and use cases; CGO-less migration roadmap; desktop and 2D game development with Fyne and Ebiten
| title | author | length |
|---|---|---|
| Keynote: The State Of Go | Cameron Balahan | 28m |
Go claims long-term stability via the Go compatibility promise while shipping concrete features: modules with a module mirror and checksum database (immutable… | ||
| Reaching the Unix Philosophy's Logical Extreme with Webassembly | Xe Iaso | 24m |
Proposes compiling third‑party libraries (Rust, C) to WebAssembly/WASI and invoking them as stdin→stdout filter modules, embedding the .wasm bytes into Go via… | ||
| Towards Modern Development of Cloud Applications | Robert Grandl | 27m |
Service Weaver is a Go framework that compiles a modular app into a single binary, auto-generates RPC stubs and metrics, and places components into processes… | ||
| API Optimization Tale: Monitor, Fix and Deploy | Maciej Rząsa | 24m |
Green build goes to production under a feature flag percent rollout while a fallback to the old direct call keeps users working. The team adds instrument every… | ||
| Go Right Ahead! Simple Hacks to Cut Memory Usage by 80& | Yiscah Levy-Silas | 21m |
Cubescape reduces memory usage by ~80%, dropping a hot function from 33.64 GB to 0.85 GB by applying concrete fixes: reorder struct fields to avoid padding… | ||
| Writing a TSDB from Scratch: Performance Optimization | Roman Khavronenko | 26m |
VictoriaMetrics is a Go TSDB built from scratch and sustains about 17 million samples/sec ingestion with roughly 100 RPS reads, so optimizations focus on… | ||
| How to Avoid Breaking Changes in your Go Modules | Björn Rabenstein | 27m |
Prometheus is used as a concrete example (35,000 imports) and a go.mod audit finds 181 dependencies with many still at 0.x while only ~11% are v2+, exposing… | ||
| Go Sync or Go Home | Yarden Laifenfeld | 29m |
Walks through concrete uses of the standard sync and x/sync packages and shows working code: a file-transfer function that uses errgroup.WithContext to… | ||
| Go Panel | Cameron Balahan, Julie Qiu, Todd Kulesza, Alice Merrick, Jonathan Amsterdam | 43m |
Panel discusses concrete Go tooling and language moves: recommends staticcheck for daily static analysis, highlights the new runtime/metrics API and testing… | ||
| Vulnerability Management for Go | Julie Qiu | 24m |
Go vulnerability data aggregates GHSA, NVD/CVE, stdlib fixes and maintainer reports into a curated go vulnerability database and exposes details on vol.go.dev… | ||
| A Fast Structured Logging Package | Jonathan Amsterdam | 26m |
New structured logging package slog for Go 1.21 aims for zap-level speed and exposes a concrete Logger plus a more-complex Handler API that enables backend… | ||
| Go Beyond the Console: Developing 2D Games in Go | Drishti Jain | 29m |
Builds a working 2D "find the differences" image-explorer that lets the player zoom on image regions and detect changes; code is a few hundred lines and runs… | ||
| Gentle Introduction to EBPF | Ayesha Kaleem | 20m |
eBPF runs sandboxed bytecode inside Linux so you can attach a small program to an event such as execve and print a hello world without changing the kernel… | ||
| The Road to CGO-Less is Paved | Mohammed Al Sahaf | 31m |
Disabling CGo does not guarantee a C-free, static binary across platforms: building with CGO_ENABLED=0 can still pull in libc or DLLs on macOS, OpenBSD and… | ||
| Useful Functional-Options Tricks for Better Libraries | Julien Cretel | 27m |
Functional options in Go become a practical library design recipe: use a custom functional options type, apply options to an internal, non‑exported config… | ||
| Why Integration Tests Might be Better than Unit Tests | Elena Grahovac | 26m |
Argues that for FerretDB (a MongoDB-compatible server in Go with a PostgreSQL backend) integration tests catch real incompatibilities that unit tests missed… | ||
| A Small Update on Tiny Go | Ron Evans | 09m |
TinyGo 0.28.1 ships with 300+ commits and reflection support plus working encoding/json and ongoing WASI/WebAssembly work. Big Go hello world binaries measure… | ||
| Race Conditions in Details | Yusef Mohamadi | 07m |
Explains that Go’s built-in detector runs with -race and can inflate memory by about 5–10x and execution time by ~20x, and still misses races (a slice example… | ||
| TLOCK: Encrypting Messages to the Future in Go | Yolan Romailler | 05m |
Claims a working, open source implementation that lets a sender encrypt a symmetric data key so it cannot be opened until a specified future time. Uses a… | ||
| I'm Excited to Use Generics in Go 1.21 | Robert Burke | 07m |
Go 1.21 tightens generic type inference so callers can omit type arguments in more cases: generic functions as arguments now infer, methods considered for… | ||
| Unleashing Desktop App Development with Go and Fyne | Giuseppe Scaramuzzino | 05m |
Fyne is an open-source cross-platform UI toolkit written entirely in Go. Example code creates a window, label, set content, set size and runs with go run… | ||
| GoTime Podcast Live | Mat Ryer, Elena Grahovac, Björn Rabenstein, Alice Merrick | 29m |
Live podcast runs a survey game called Gophers Say where an audience of Go devs names top answers: the most-used keyword is func (63 votes) with if (29) and… | ||
| nothing matches | ||