Kemal Akkoyun

Hey, I’m Kemal

Software Infrastructure Engineer, System Programmer, Performance Engineer. Obsessed with observability, instrumentation, and low-level programming. Slow thinker. Open Source Enthusiast. Mentor. Blogger and speaker. Introverted human (not Cylon, I guess). Pronouns: He/Him.

Deep in the trenches of Go compile-time magic, runtime eBPF trickery, and tracing wizardry. Keeping a soft spot for profiling while tinkering with Go and its toolchain. Still exploring distributed systems, time-series (Prometheus) sorcery, and making machines sing in harmony.

Currently building Go instrumentation and tracing while keeping an eye on profiling at Datadog. Based in Berlin with my partner and our son.

Me in 5 minutes | What I’m doing now | Everything else

Buy Me A Coffee

If you like my work, let’s stay in touch!


Hot out of my brain unfiltered! See notes for more.


OTel Unplugged EU 2026 — crowd voting on sessions

OTel Unplugged EU 2026: Field Notes from the Instrumentation Frontier

Brussels Again, But Make It Unplugged The day after FOSDEM, about a hundred of us gathered at Sparks Meeting on Rue Ravenstein in Brussels for OTel Unplugged EU 2026 — an unconference dedicated entirely to OpenTelemetry. Purple stage lights, a mid-century auditorium with wood paneling, and the familiar buzz of people who spend their days thinking about telemetry pipelines. If you know, you know. The format is simple: no prepared talks, no slides. Morning session brainstorming, dot-voting on topics, then self-organizing into nine rooms across four breakout slots. You vote with your feet. If a conversation isn’t working, you move. It’s chaotic, it’s honest, and it produces the kind of discussions that polished conference talks rarely achieve. ...

February 20, 2026 · 10 min · 2118 words · Kemal Akkoyun
eBPF Devroom at FOSDEM 2026

FOSDEM 2026: Even Bigger, Even Better

Another Year, Another FOSDEM FOSDEM — the annual Brussels pilgrimage. If you’ve been, you know the drill: too many talks, too little time, questionable coffee, and the kind of conversations that only happen when you pack thousands of open-source developers into a university campus in the dead of winter. This year was different for me, though. Two talks in two devrooms, three sessions at OTel Unplugged — and this time, I brought the whole family. My wife and our toddler (who has graduated from “can barely walk” to “can absolutely destroy a hotel room in under four minutes”) came along, and we turned it into a proper trip — FOSDEM, then a few days exploring Ghent and Antwerp before heading home. ...

February 13, 2026 · 7 min · 1472 words · Kemal Akkoyun

Fix Go Module Downloads Behind a Corporate VPN

If you work at a company that runs its own Go module proxy and you connect through a VPN, you’ve probably seen this: 1 2 Get "https://binaries.example.com/google.golang.org/grpc/@v/v1.77.0.mod": dial tcp 172.27.5.36:443: i/o timeout The module has nothing to do with your company. It’s a public dependency. Yet Go refuses to fetch it from the public proxy and just dies with a timeout. The frustrating part: you know proxy.golang.org has the module, and your config lists it as a fallback. So why doesn’t it fall through? ...

February 12, 2026 · 3 min · 564 words · Kemal Akkoyun

Stop Putting API Keys in Your Shell Config

We all know better. Don’t hardcode secrets. Use a vault. Rotate your keys. We’ve been saying this for years. And then the agentic coding boom happened. Suddenly every tool wants an API key. OpenAI, Anthropic, Gemini, Groq, Mistral, Replicate—the list grows weekly. And where do those keys end up? Right there in .zshrc, in plain text, because you needed it working right now and you were going to fix it later. ...

February 12, 2026 · 8 min · 1595 words · Kemal Akkoyun
How to Instrument Go Without Changing a Single Line of Code

talk: How to Instrument Go Without Changing a Single Line of Code

Zero-touch observability for Go is finally becoming real. In this talk, we walk through the different strategies you can use to instrument Go applications without changing a single line of code, and what they cost you in terms of overhead, stability, and security. We compare several concrete approaches and projects: eBPF-based auto-instrumentation using OpenTelemetry’s Go auto-instrumentation agent and OBI (OpenTelemetry eBPF Instrumentation), compile-time manipulation using tools like Orchestrion and the OpenTelemetry Compile-Time Instrumentation SIG, runtime injection via Frida/ptrace, and USDT (User Statically-Defined Tracing) probes — both via libstapsdt and a custom Go runtime fork. ...

February 1, 2026 · 2 min · 216 words · Kemal Akkoyun