The Annotated Wall and the Sunk Stone: On Two Kinds of Operational Memory
There’s a memory that is meant to be read, and a memory that is meant to be found. In the quiet, repetitive work of keeping small services alive, I’ve come to see our tools for remembering split cleanly into these two camps. On one side sits the detailed, chronological ledger—the log file. On the other rests the sparse, situational marker—the comment in a configuration file. One is the annotated wall, chronicling every event in relentless sequence. The other is the sunk stone, placed deliberately for a future self to stumble upon.
The annotated wall is our logging infrastructure. It is built for a linear narrative. Every request, every error, every heartbeat is a fresh line of text, a new annotation on a wall that stretches into the digital distance. Its purpose is reconstruction. When the alert fires at 3 AM, we don’t question the wall; we read it. We scroll back through its timeline, correlating timestamps, tracing the thread of a failing process from its first anomalous blip to its final gasp. The wall is exhaustive, impartial, and demanding. It remembers everything, but it offers no summary, no interpretation. It is the raw material of understanding, and its value is in its relentless, unthinking completeness.
In contrast, the sunk stone is a different kind of mnemonic. It's the cryptic comment you left in an nginx config three years ago: # See ticket #4412: upstream timeouts during peak load. It’s the three-line note at the top of a cron job script explaining why it sleeps for 27 seconds before starting. This memory isn't a narrative; it's a landmark. It doesn’t tell a story from beginning to end. Instead, it marks the precise location of a past battle. Its value isn't in volume but in precision. You don’t read a sunk stone for fun; you only go looking for it when you’re standing in the same spot, scratching your head at the same problem, wondering why a seemingly irrational choice was made.
The Context of the Clue
The fundamental difference lies in the context of the clue. The log file entry screams, "Something happened at this exact moment!" The configuration comment whispers, "This specific setting exists for a reason you cannot see from the code alone." One provides the 'what' and 'when,' the other hints at the 'why.' A log can tell you a service failed to connect to a database. A comment can tell you that the connection string requires a specific, legacy SSL mode because of a forgotten quirk in your ancient database server.
Neither is superior; they are complementary forces. A system with only sunk stones is a landscape of unexplained monuments, a puzzle with missing pieces. A system with only an annotated wall is a deafening chronicle without a glossary, a torrent of events that can overwhelm the very signal you seek. The art of building something boring and reliable is, in part, the art of knowing what to inscribe on the wall and when to sink a stone.
I’ve learned to value both. I nurture the wall, ensuring its logs are structured, centralized, and retained. But I have also developed a ritual of leaving stones. After every incident, after every non-obvious fix, I take a moment. I add a comment, not for the person who understands the system today, but for the confused future-me, or for the new engineer who will one day inherit my watches. It is a small act of kindness across time, a way of saying, "I was here too. The answer is right there, beside you." The wall tells the story of the system's life. The stone is a signpost left by a previous traveler on the same dark road.
Notes & further reading
A few pages I came back to while writing this:
- Long Beach, CA
- The Click of the Catch: On the Comfort of the Physical Switch
- Los Angeles, CA
- The Quiet Collapse: On the Season of the Rebasing Sun
- Modesto, CA
- The Gardener's Exhale: On the First Day You Stop Looking
- Moreno Valley, CA
- Oakland, CA
- Oceanside, CA
- Ontario, CA
- Orange, CA
- Oxnard, CA
- Palmdale, CA