In this article, I’ll discuss a data-loss problem I had over the weekend, why it doesn’t matter in the end, and how to avoid it in the future.
Over the weekend, I managed to break my laptop. An operating system upgrade went wrong, and when I went to re-install, the operating system totally cleared the contents of my drive, despite me carefully choosing options that should have done the reinstall and left everything else alone. (thank you Fedora)
I’m not really all that angry though. I was worried for a few minutes that I had lost a load of important stuff, but all I can think of that I’ve lost is a budget forecast, and some work I was doing offline before placing it online. In all, about two days of work is gone. That’s not bad – it could have been much worse!
Taking stock, here’s how I use my computer:
Email
Every email account that I have is loaded through IMAP. This means that the email is kept on the server, so that if I ever need to read the email from another computer (or have a hard-drive crash!) then I can do that.
The alternative is POP3. This was the default for most people for years. In this case, email is downloaded to the computer and removed from the server. The reason this was done was that in the old days, bandwidth was slow, so it was better to download your email so it was quicker to load. And, server space was expensive, so if you kept your emails online, you’d have to pay a bill to the ISP.
The problem with POP3 is that if you lose your hard-drive’s contents, then you also lose all your emails.
Source Code
I’m a programmer. All my work involves either writing code, or doing something manually and then figuring out how to automate it later.
Luckily, my work is based online anyway. As a PHP programmer, everything I do lives on a server online, except when I’m writing it and testing it offline.
There are three ways that my code is safe:
- It’s kept on a server that’s not near me – that way when I destroy something locally (oops, coffee spill!), it’s not affected.
- All my code is open source, and the source code is available in Google’s repositories (KV WebME, KFM, SaorFM).
- My online server is backed up every single night to a hard-drive in my house.
Task lists
All companies have some sort of task list that they keep current – whether it’s in a notebook, or a word-processor document, etc., there’s always a list somewhere.
Personally, I have two kinds of task – day to day tasks, and “bugs”.
The day-to-day tasks are tasks such as “check the DNS for this site”, or “move email to that server”. One-line descriptions of items where there is little-to-no discussion needed for it, and usually it’s just an internal “want” list. I keep these in an account at RememberTheMilk.com. As an aside, I love the interface on that thing!
For larger tasks, which require feedback from either other company members (none as yet
) or from the public or resellers, I keep a copy of Mantis Bug Tracker on one of my servers.
Accounts
KV Sites is only a small company so far, so I’ve no need for anything too fancy. My method of accounting is actually to gather up all my receipts and invoices in a pile, and hand them to my accountants. They’ve never complained about this!
When I need to create an invoice, I again use an online service. I have a copy of Simple Invoices which I have on a server.
Heh – and as of yesterday, I use Google Docs for my budget forecasts.
Backups
At home, I have a media centre running XBMC, to which I’ve attached a 1TB hard-drive specifically for backups.
Every night, the entire hard-drive of my online server is backed up to that external drive. I keep the last seven days of backups, and one backup from evey week before it.
Conclusion
Because I have all my business processes online, I haven’t really lost all that much.
In a way, this was a “wake-up” call. It was yet another reminder that if you keep all your eggs in one basket, some day that basket will drop.
Solution
To keep me on my toes, I’ve decided that every single month, on the 1st, I’m going to completely wipe my laptop and reinstall everything.
This serves two purposes:
- Installing from scratch means I always have a nice fast machine. Upgrading from older versions of operating systems generally makes the machine slow down eventually.
- Wiping the hard-drive forces me to make sure the data on the drive when I do that is either non-essential, or already backed up somewhere else. The ideal is that there is never any essential data on the machine in the first place.