This repository has been archived on 2017-04-03. You can view files and clone it, but cannot push or open issues/pull-requests.
blog_post_tests/20101116195329.blog

10 lines
2.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

INTERCAL justifies its existence
<p>(This is a repost. The original went of on 2010-11-14, a few hours before the <a href="http://esr.ibiblio.org/?p=2733">spambot rape.)</a></p>
<p>Last night I made a classic n00b mistake. I was in a rush to get a test finished because my wife had just gotten home and it was time for us to haul off for the weekly Friday night with the regulars at our friendly local game store. I typed the rm -fr * to clear a scratch directory in the wrong window.</p>
<p>“Huh…” I thought, “thats taking longer than it should have…” then realized with horror that it was clobbering my home directory and hastily interrupted it. Fortunately, I had a full backup on my laptop. Unfortunately, the full backup was ten days old; I stood to lose a lot of recent email and work.</p>
<p>Instead of gaming, I spent the next couple of hours recovering from this. I pulled the backup onto a scratch directory on my main machine, made file lists of the damaged $HOME and the backup with find(1), diffed them, and braced myself to discover how much I had irretrievably lost.</p>
<p>Nothing, as it turns out. I interrupted the rm -fr as it was still chewing through the alphabetically low directories under $HOME. The big one was dead.projects, my archival graveyard of superannuated stuff. When I killed it, it was busily munching on the huge directory full of tarballs and archives that I pulled together during the great INTERCAL Reconstruction Massacree.</p>
<p>Yes, thats right. INTERCAL saved my butt, preoccupying the grim reaper rm <em>just long enough</em>…</p>
<p>In the end, no harm done except Cathy and I didnt get our weekly gaming debauch I urged her to go without me but she went all wifely and supportive and stuff.</p>
<p>Lessons: Make backups early and often. And instead of throwing old code away, archive it where rm -fr will hit it first because you never know, someday it might interpose its body between you and the deadliest typo.</p>