Undo

23/07/2025 << back to Debugging Myself

Undo is a modern superpower. For most of human history, going back wasn’t an option. There’s no such thing as un-hunting an animal or un-picking a berry — those were irreversible acts. Some things, like vomiting a poisonous mushroom or reconciling after a fight, had a limited fix. But even in those cases, the cost was high.

In the world of craft and art, repetition used to be expensive. Painting, carving, writing — these were all high-stakes activities where precision and perfection mattered from the first try. A monk might spend months copying a single book, embellishing it with intricate illustrations. There was no room for failure, only discipline.

Then came computers.

And with them, the simplest yet most powerful idea: undo — a historical trail of our changes, recorded with such granularity that we can go back as far as we need, instantly and without penalty.

This changed everything.

Suddenly, we were free to experiment, to fail fast, and to fix even faster. No need to trace every step manually or fear every change — just explore. Break things. Try again.

In programming, we take it further with version control systems. A commit is a checkpoint, a safe place to return to. Done right — small, meaningful, and frequent — it makes experimentation safer and projects more resilient. It ensures that one dead-end doesn’t undo hours of work.

Undo doesn’t just fix mistakes — it gives us permission to try.

exit(0);

<< back to Debugging Myself