I had a hard disk crash in early 1998 which lost me a load of software I'd written, including the most up-to-date sources of the program which later became PuTTY. Fortunately, I had an earlier copy of that stored elsewhere and resumed development from there; but the thing I was really cross about losing was the source to my Telnet answerphone program.
The idea of this was that since my computer at the time dual-booted between Linux and Windows, people might occasionally telnet into it in order to ytalk to me, only to find it was running Windows because I was playing a game. So I rigged up a small and simple telnetd for Windows, which gave the user the option to leave a message that would pop up on my screen in a dialog box. This turned out to be very useful, but I lost the source before getting round to fixing its many very annoying bugs.
Nowadays I wouldn't use such a program, because (a) I can now afford to buy one machine per OS instead of multi-booting, (b) nobody should be using telnet anyway these days and doing the same thing with a miniature sshd would be a lot more work, and (c) for people wanting to contact me remotely I have a telephone. But even so, there are traces in my SVN repository which betray the fact that I did once intend to get round to rewriting that program.
I started running backups a few years after that (after passing through a more ad-hoc phase of keeping really important data on more than one machine), but stopped again when hard disks grew by a factor of ten and tapes didn't. Last year I got some large USB hard disks and resumed backing up properly, and the improvement to my peace of mind is considerable.
How are you defining backing up, as distinct from keeping data on more than one machine?
By "backing up", do you mean in an incremental manner, so you can do back to data from any previous day/week (as the presence of an SVN repository for your personal data tends to suggest)?
Good question. Hmm. I said that without really thinking about it, but on reflection I think the idea of "proper" backups that I had in mind involves them being done with the deliberate intention, rather than merely the happy side effect, of protecting against data loss. In the ad-hoc phase I describe, I'd often have copies of code on more than one machine simply because sometimes it was more convenient for me to work on it on one machine and sometimes on another, so I'd copy it back and forth as necessary for that purpose – and if I didn't happen to use a particular machine for a while, then it wouldn't acquire an up-to-date copy for a while. Also, the code which got replicated was the code I happened to feel like working on at the time, rather than the code which would cost most time to rewrite if it was lost; if I'd been doing the copying with data loss in mind, I'd have preferentially copied the most valuable rather than the most active data.
Incrementality isn't a feature that defines proper backups, for me. It's handy for protection against some kinds of data loss (deleting or destructively modifying a file in error and not noticing until after the next backup run), but I wouldn't say that a backup solution which ignored this risk to focus solely on disk crashes and machine theft was fundamentally unworthy of the name. Just depends on what you see your risk model as.
The SVN repository is only for my source code. I also (these days) have lots of irreplaceable data which isn't source code.
(no subject)
Date: 2007-01-25 03:27 pm (UTC)The idea of this was that since my computer at the time dual-booted between Linux and Windows, people might occasionally telnet into it in order to ytalk to me, only to find it was running Windows because I was playing a game. So I rigged up a small and simple telnetd for Windows, which gave the user the option to leave a message that would pop up on my screen in a dialog box. This turned out to be very useful, but I lost the source before getting round to fixing its many very annoying bugs.
Nowadays I wouldn't use such a program, because (a) I can now afford to buy one machine per OS instead of multi-booting, (b) nobody should be using telnet anyway these days and doing the same thing with a miniature sshd would be a lot more work, and (c) for people wanting to contact me remotely I have a telephone. But even so, there are traces in my SVN repository which betray the fact that I did once intend to get round to rewriting that program.
I started running backups a few years after that (after passing through a more ad-hoc phase of keeping really important data on more than one machine), but stopped again when hard disks grew by a factor of ten and tapes didn't. Last year I got some large USB hard disks and resumed backing up properly, and the improvement to my peace of mind is considerable.
(no subject)
Date: 2007-01-25 03:48 pm (UTC)By "backing up", do you mean in an incremental manner, so you can do back to data from any previous day/week (as the presence of an SVN repository for your personal data tends to suggest)?
(no subject)
Date: 2007-01-25 04:15 pm (UTC)Incrementality isn't a feature that defines proper backups, for me. It's handy for protection against some kinds of data loss (deleting or destructively modifying a file in error and not noticing until after the next backup run), but I wouldn't say that a backup solution which ignored this risk to focus solely on disk crashes and machine theft was fundamentally unworthy of the name. Just depends on what you see your risk model as.
The SVN repository is only for my source code. I also (these days) have lots of irreplaceable data which isn't source code.
(no subject)
Date: 2007-01-26 03:03 am (UTC)