| Live Stream | https://live.fosdem.org/watch/ub5132 |
|---|---|
| Format | devroom |
| Sprache | Englisch |
| 01.02.26 |
<p>What is new since Go 1.25. In this talk we'll bring you up to date with all upcoming changes to the Go language and the community! Go 1.26 will be released in February 2026, we will be taking a look to all upcoming features as well as give an update on important changes in Go 1.235 This includes traditionally updates about the language, tooling, libraries, ports and most importantly the Go Community.</p>
|
| 01.02.26 |
<p>Most Go codebases begin as straightforward layered monoliths, but years of growth often turn those layers into a web of hidden coupling, unclear ownership, and hard-to-predict side effects. Small changes start requiring deep context, and compile and test times slowly creep up, turning routine work into risky work. Rewrites promise a clean slate but rarely succeed in practice. What the Go community lacks are real examples of large open source Go projects that have successfully evolved toward a ...
|
| 01.02.26 |
<p>Go’s runtime has always prided itself on efficient, low-latency garbage collection. But modern hardware brings new challenges. More cores, bigger caches, and heavier workloads. In this talk, we’ll start by exploring how Go’s current garbage collector and memory allocator work together to manage memory. Then we’ll dive into the new GreenTea GC, an experimental redesign that cleans memory in groups (“spans”) instead of object-by-object. You’ll learn how it works, why it matters, ...
|
| 01.02.26 |
<p>Reflection is a form of metaprogramming that often feels like magic — letting you inspect and manipulate your code at runtime. But there's no magic here at all — just clever engineering that makes your programs simpler and more flexible.</p> <p>In this talk, we'll take a look at how reflection actually works under the hood in Go. We'll explore how types and values are represented at runtime, what really happens when you call <code>reflect.ValueOf</code> or <code>reflect.TypeOf</code>, and ...
|
| 01.02.26 |
<h2>The Problem</h2> <p>Go's pprof tells you <em>where</em> your CPU time is spent, but not <em>why</em> the CPU is slow. Is it cache misses? Branch mispredictions? These hardware-level performance characteristics are invisible to pprof but critical for optimisation.</p> <h2>The Solution</h2> <p>perf-go bridges this gap by leveraging Linux's <code>perf</code> tool and CPU Performance Monitoring Units (PMUs) to expose hardware performance counters for Go programs. It translates perf's low-level ...
|
| 01.02.26 |
<p>Go 1.25 introduced <code>testing/synctest</code>, a package that brings deterministic scheduling and control over concurrency during tests. For developers who struggle with flaky tests, hidden data races, or hard-to-reproduce timing issues, synctest offers a powerful solution: it lets you run concurrent code in a bubble, so you can efficiently explore interleavings, force edge cases, and prove correctness.</p> <p>In this talk, we’ll explore the motivation behind synctest, and dive into the ...
|
| 01.02.26 |
<p>Open source is under attack. Most notably the xz/liblzma backdoor incident (CVE-2024-3094) has shown how even trusted and widely adopted libraries can be compromised. Also, since February 2025, the Go language community has been observing an enormous amount of malicious Go modules being published with fake GitHub stars and very plausible contents.</p> <p>This session introduces gomodjail, an experimental tool that “jails” Go modules by applying syscall restrictions using seccomp and ...
|