Pings

These are short, focused notes – things I notice in real environments that are too small for a full article, but too important to ignore.

  • Observe behaviour, not just intent   2026-02-03

    If automation cannot heal configuration drift, the question is not how to automate better — but how to observe what actually governs behaviour at runtime.

  • Automation does not heal drift   2026-01-30

    Automation does not heal configuration drift. It removes randomness — and replaces it with consistent failure.

  • Automation faithfully enforces assumptions   2026-01-27

    Most incidents are not caused by bad automation. They are caused by automation faithfully enforcing assumptions that no longer match runtime reality.

  • Automation cannot explain behaviour   2026-01-23

    Automation enforces intent. It does not explain behaviour. As long as effective runtime configuration remains invisible, automation will keep propagating assumptions — just faster.

  • Standardization is not correctness   2026-01-20

    Standardization increases consistency. It does not increase correctness. That difference matters more than most automation strategies admit.

  • Automation makes mistakes consistent   2026-01-16

    Automation does not remove errors. It makes them consistent. If a configuration is wrong, automation ensures that everything is wrong in exactly the same way.

  • Documentation is useful — but only close to the work   2026-01-02

    Documentation becomes effective when it is written by the people who do the work, for the people who do the work. It helps with repeatability, clarity and avoiding mistakes. But this value rarely scales. Local documentation reflects reality. Organizational documentation reflects narrative.

  • IaC cannot govern what it does not model   2025-12-30

    Infrastructure-as-Code treats defaults as harmless, stable and irrelevant. But defaults drift, override explicit settings and define most runtime behaviour. If IaC ignores defaults, it governs only a fraction of the truth.

  • Default drift is invisible until it breaks something   2025-12-26

    Default values change silently through updates, framework patches or internal fallback logic. By the time the impact becomes visible, the original cause is already buried. Default drift is drift with no fingerprints.

  • Documentation creates the illusion of control   2025-12-23

    Many teams produce documentation to satisfy organizational expectations — to show that systems are structured, understandable and under control. But if documentation truly reflected reality, people would say: “Read the documentation first.” They rarely do. Instead, they tell you who to ask. Documentation often describes how systems should be, not how they actually work.

  • Nobody owns the technical truth   2025-12-19

    Teams own services, repos, pipelines and tickets. But almost nobody owns the job of keeping the technical truth of the landscape visible and coherent. That gap is where most confusion and friction comes from.

  • The repo is not the system   2025-12-16

    Version control shows what you intended to have in production. Runtime shows what is actually there. Those two pictures are rarely identical – and the interesting problems live exactly in that gap.

  • The missing contract in modern software   2025-12-16

    Modern systems expose health, metrics and traces. But they don’t expose the one thing that explains behaviour: the effective configuration at runtime. That missing contract is why configuration keeps surprising us.

  • Configuration is declared, not observed   2025-12-16

    We declare configuration in files and repositories. But systems behave according to configuration that only exists at runtime. Until configuration becomes observable, behaviour will remain unpredictable.

  • Effective configuration should be observable   2025-12-15

    Health is observable. Metrics are observable. Traces are observable. Configuration is not. That asymmetry explains many of today’s “mysterious” system behaviours.

  • Incidents reveal the real architecture   2025-12-12

    During normal operation, assumptions are cheap. During incidents, you learn how your systems actually behave – which components really matter, which dependencies were hidden, and which “temporary” workarounds became critical path.

  • Drift is the default state   2025-12-09

    If you assume that systems stay as-installed, you will have a bad time. Drift starts with the first emergency change and never really stops. The question is not whether drift exists, but whether you can see it.

  • Telemetry before governance   2025-12-05

    Most organisations try to enforce rules on systems they don’t really see. You can’t govern what you don’t understand. Telemetry comes first, then models, then rules – in that order.

  • Documentation is always past tense   2025-12-02

    Documentation does not describe what is. It describes what somebody believed was true at the time of writing. The longer the distance in time, the more you should treat it as an opinion, not as fact.

  • Dev, Test and Prod are never identical   2025-11-28

    You can use the same pipeline, the same artifacts and the same scripts. The environments will still diverge over time – through permissions, data, hotfixes and operational shortcuts. Reproducibility is the goal, not equality.

  • Defaults are production behaviour   2025-11-24

    Defaults are not “just” fallback values. They are production behaviour for every place where nobody made an explicit decision. Ignoring defaults is ignoring a big part of your real system design.

  • CMDBs don’t drift – they lag   2025-11-20

    Most CMDBs are not “wrong” in the malicious sense. They are simply late. By the time information arrives there, the systems have already moved on. Treat the CMDB as a hint, not as a source of truth.

  • Effective config is the only truth   2025-11-18

    Most configuration doesn’t live where people think it lives. What the system actually uses at runtime is the only truth.