Saturday, August 1, 2009

What I am doing here?

The whole story started the day when I read Jeff Atwood's post about backup strategies, in which he is discussing Jamie Zawinski's public service backup announcement.

Those two posts finally inspired me to take some action. First and foremost because I didn't have good backup strategy. I mean, copying some files from here to there once in a while cannot be really called 'backup strategy'. And I should know better, after witnessing several fatal hard disks failures, of which some inflected significant losses, either in time, money, or precious memories. But, those data losses didn't happen to me, and I continued living on the edge,
careless and backup-free.

Of course, 10-15 years ago all zeros and ones on my hard disks didn't carry that much value to me. Loosing data at that time meant saying farewell to just a few scanned photos, and some music which I grabbed from the CDs or even downloaded from Internet. Without being aware of the fact, at that time I had backup of all data important to me, either on paper, or on tapes and CDs.

Nowadays situation is totally different. Few years ago digital cameras become affordable, and file sharing copyrighted music started being sanctioned by the law. Now I have all new photos only in digital form, I don't remember when was the last time that I bought music on physical medium and I payed some money for the downloading music (DRM-free, please!). Also, I produced some code here and there, and I have some data in several databases. Loosing data now will hurt me dearly.

So, what is my backup strategy? Jamie basically recommends two approaches:
  1. Learn not to care about your data, or
  2. Mirror your data on 3 hard disks
Jeff recommends putting everything public, and make somebody else worry about your data.

Jamie's option 1 is not real option, at least not for me. Returning back to old days when all valuable things were tangible is simply not going to happen. World moved on to XXI century, and I was taken by that tide. Although, I can worry less about wellbeing of my data by letting somebody else take care of it. If one wants such service for free, it usually means making data available to everybody else. But for the most of data I don't care giving public access as long as I have access to it any time I need it. Unfortunately, public access to all of my data is not possible, nor advisable.

Finally, I decided to have hybrid solution:

  1. backup most valuable data on 3 disks
  2. 'outsource' rest of the data
Buying and installing 3 disks for step one was rather straightforward task. Putting data on them, for self-respected programmer like me, meant making some backup software. At the end I settled down with Python script (I love this language!), which invokes fsck and rsync to make daily mirroring to the second disk, and occasional backup on third disk. I put it as cron task, and now I'm getting e-mail every morning about result of its execution.

This blog is example of 'outsourcing' step. Here I will put anything which I find interesting related to PCs, Linux and programming in general. Let's see how that will go, although I'm confident it will work nice. I just realised that I outsourced my data for the first time when I started used Firefox extension Foxmark, which synchronises bookmarks between all of my machines. This is my favourite extension and it was working flawlessly for last year or so.

It will not be practical to put some code of mine in this blog, and I am considering putting it somewhere else under GPL license. At the moment, I'm closer to Google Code than to SourceForge, but I don't like putting all of my eggs in one basket (Google's). Hmmm... it looks like I learned my backup lesson very well!

Now I just need to decide which data stays here with me and which goes to see and be seen by the world...