Reflection · · 4 min

Parkinson's Law in Reverse: Garbage Collecting My Work Before a Team Change

“It is a commonplace observation that work expands so as to fill the time available for its completion.” That’s the first sentence of C. Northcote Parkinson’s essay in The Economist, November 1955, better known as Parkinson’s law. His example is an “elderly lady of leisure” who spends a whole day sending one postcard to her niece at Bognor Regis, a job a busy man would finish in three minutes. Fun fact: that sentence isn’t even the law. The rest of the essay is about why government offices keep growing, with rules like “Officials make work for each other.” I never needed an official. I made work for myself just fine. ...

October 23, 2026 · 4 min · 816 words · Kemal Akkoyun
A paper receipt headed HYPERFOCUS, itemised for one session. Under DELIVERED, working code worth three days, the interesting part reached, proof of concept shipped. Under CHARGED, lunch skipped, coffee cold, 6pm hard stop blown. Total due, one evening. The footer reads "payable on receipt, no longer accepting Sundays". Beside it, the line "Hyperfocus is a superpower with an invoice attached."
Reflection · · 6 min

New world as an ADHD person

Six hours. I had planned to spend thirty minutes on a proof-of-concept. Engineers overrun estimates all the time. But this wasn’t a planning failure, it was something I’d spent my whole adult life recognizing too late: hyperfocus. The kind where time doesn’t slow down, it simply stops existing. My coffee went cold. I missed lunch. I blew past my 6pm hard stop with more working code than I’d shipped in the previous three days combined. ...

August 28, 2026 · 6 min · 1108 words · Kemal Akkoyun
Technical-Findings · · 7 min

My Second Brain System: PARA, Readwise, and an LLM captures my thoughts

At 9:14 a.m. on a Wednesday, I open the laptop. The daily briefing for today is already there. Above the fold: a Whoop recovery score of 62 (fine), a Wakatime row showing 4h 21m on the OpenTelemetry Go compile-time instrumentation repo yesterday, three GitHub PRs waiting on review, and a Things 3 task that has been sliding forward for nine days: Review that thing from X. Each previous day the task migrated, and the journal entry from that day is one click away. The reason it kept slipping is in those entries somewhere. ...

August 21, 2026 · 7 min · 1435 words · Kemal Akkoyun
Jonathan Hall, Kemal Akkoyun and Shay Nehmad recording an episode of Cup o' Go
Talks · · 2 min

podcast: Cup o' Go — Instrumentation and Blast Radius

Jonathan Hall and Shay Nehmad had me on Cup o’ Go for episode 167, straight after their GopherCon US recap. We spent about forty minutes on instrumentation: what an APM tool is actually measuring, and the three ways you can get telemetry out of a Go program without asking every team to rewrite their handlers. The part I enjoyed arguing about most was blast radius. Manual instrumentation is precise and tedious, and it never finishes. eBPF buys you one agent covering every language on the box, at the cost of running code in the kernel, where a bad program can take the whole host down with it. Compile-time instrumentation rewrites the syntax tree behind go build through the -toolexec hook, which keeps failures scoped to one service and works anywhere Go compiles. People love this dark magic, which I find either reassuring or alarming depending on the day. ...

August 11, 2026 · 2 min · 336 words · Kemal Akkoyun
Engineering · · 9 min

Making zero-touch Go observability agent-actionable

You can’t reproduce the bug locally, so you add a log line and redeploy. Wrong place. You add another one and redeploy again. That is the debugging loop from my GopherCon UK talk, and in this last part we’re going to shorten it: a decision rule for two zero-touch tools, then a runbook an AI coding agent (not a Java-style one) can execute. The runbook starts with one boring question: is this Go service already running, or can I rebuild it? If the service has to stay untouched, OBI (OpenTelemetry eBPF Instrumentation) is the default. If I can rebuild it and need function-level spans, otelc (OpenTelemetry Go compile-time instrumentation) is the default. The rest of the decision tree is checking privileges, Go version, collector endpoint, and whether RED metrics are enough. ...

August 6, 2026 · 9 min · 1898 words · Kemal Akkoyun