This is where I document my contributions to open source - currently OpenTelemetry - alongside the ideas that keep pulling me back to my desk: cybernetics, feedback, and what it means to build software we can actually understand.
See what I'm working on →When you click a button on a modern website, your request often passes through dozens of services before something comes back. If that chain breaks, you need a way to see where. OpenTelemetry (OTel) is an open-source observability framework that standardizes how applications emit and ship telemetry data, so engineers can actually understand what their systems are doing without locking themselves to any one vendor.
It started as the merger of two earlier projects — OpenTracing and OpenCensus - and now lives under the Cloud Native Computing Foundation. Two ideas guide it: you own the data you generate, and you only have to learn one set of APIs and conventions, no matter where the data eventually lands.
OTel gives you APIs, SDKs, and a collector. You instrument your code - sometimes automatically, sometimes by hand - so it emits structured signals as it runs. Those signals flow into the OpenTelemetry Collector, which can batch, filter, enrich, and forward them to whichever backend you prefer: Prometheus, Jaeger, Grafana, Loki, Datadog, Splunk - the choice stays yours.
The three core signals it unifies:
Connecting these signals through shared context is what turns raw data into observability: a log on its own says something failed, but linked to the trace that produced it, it tells you the exact request, path, and circumstances. That's the difference between knowing a thing went wrong and knowing why.
You can learn more at opentelemetry.io - and my own contributions live over on the Contributions page.
First-order cybernetics, born in the 1940s with Norbert Wiener, studied systems with feedback: a thermostat reading a room, a missile correcting its course, a body regulating temperature. The observer stood outside, neutrally watching the loop.
In the 1970s, the physicist Heinz von Foerster made an unsettling move. He pointed out that whenever you study a system, you're already inside it — your measurements, your framing, your purposes shape what you find. He called this shift second-order cybernetics: the cybernetics of observing systems, not just observed ones. Or, as he put it, "the control of control and the communication of communication."
A first-order view of AI safety treats the model as the system to observe and align, and humans as the neutral observers tuning it from outside. This framing is useful, but incomplete. Second-order cybernetics insists on a harder truth: the designers, the data, the benchmarks, the deployment context, and the users are all inside the loop too. There is no view from nowhere.
A few consequences worth taking seriously:
Recursive self-application. If we want AI systems to be safe, we have to apply the same scrutiny to the systems building them — research labs, evaluation procedures, incentive structures. A safety practice that refuses to examine itself is a first-order practice in disguise.
Circular causality. AI doesn't sit downstream of culture; it reshapes culture, which then reshapes the data that trains the next generation. Long-term safety can't be a one-shot calibration. It's an ongoing loop in which we are continuously co-evolving with the systems we build.
The observer is responsible. Von Foerster framed his ethic plainly: act always so as to increase the number of choices. For AI development, that translates into building tools — like OpenTelemetry — that keep our systems legible to the humans living with them. Observability isn't only an engineering practice; it's a precondition for the kind of feedback that makes self-correction possible at all.
The story doesn't stop at the second order. Later thinkers extended the framework to third-order cybernetics — the study of mutually observing systems, networks of observers watching one another and shaping a shared world through language and interaction. A related strand reframes it as the cybernetics of ethical regulation: a system designed to constrain a self-reflexive system to behaviour considered acceptable by the wider society it sits inside. The orders are contested, and even von Foerster himself was skeptical that a meaningful third order could exist — Ranulph Glanville famously argued it collapses back into the second.
I find that whole conversation fascinating, but I'm keeping the focus of this site on second-order cybernetics. That's where the move that matters most for AI safety happens: the moment we accept that we, the designers, are inside the system we're trying to align. Everything past that is interesting elaboration; this is the step we can't skip.
That's the through-line for this site. The same instinct that draws me to observability draws me to cybernetics: a quiet conviction that we owe the systems we build — and the people who depend on them — a serious effort to see.