Normally here on OpenSourceBB we focus more on the How To of coding; this article is more a How To on not having the worst day ever: backing up your data.
It seems like every few weeks I talk to someone who had some sort of catastrophic data loss regardng their app development - anywhere from losing a few hours of coding work (which sucks, but can be redone), to losing their BlackBerry signing keys and being unable to ever update their apps again (BlackBerry seeks to prevent that with their new signing tokens, but that's no excuse to not be safe).
Now, there's no wrong way to back up your apps, signing keys, and other personal data that has nothing to do with coding. But I'm listing here a couple that I personally use. If you have a few tips or tricks of your own, we'd love to here about it at http://forums.crackberry.com/opensourcebb-f402/how-your-development-pc-set-up-836667/.
Now, on to some tips:
1. Automatically Syncing Cloud Storage
This is probably the easist thing you can do, and the best place to start (although make sure you check what rights you give the cloud service!). I personally have every app I have developed in my Dropbox folder, which not only syncs them between my laptop and my desktop PC, but keeps a copy backed up on DropBox's servers. If you don't want to use DropBox, there's lots of other services like Google Drive, SugarSync, Box, etc etc. Just make sure it automatically syncs.
2. Partitoning your hard drive
This step is slightly more complicated, but is worth considering if you're worried about OS failure (hint: use a seperate PC for any questionable internet activities you do, viruses are real).
The theory is simple: a hard drive can be split into different partitions, like different rooms in a house. You can shrink the partition your OS is on, and create a new one to keep your data on. This ensures that if you have to wipe your OS, your app files won't be deleted. A good (and free) partitioning tool for Windows is Easeus: http://www.partition-tool.com/personal.htm.
Keep in mind that this is a more advanced option; if you're not comfortable with it, don't do it!
3. Create a server (your own cloud storage).
I personally don't use this option, but it's a great option if you have a spare PC lying around. There's a great article on LifeHacker about doing this, http://lifehacker.com/362062/create-your-own-cross+platform-backup-server.
4. Make sure you back up everything you need!
There's no worse feeling than thinking you have everything backed up, and then realizing you don't (believe me, I know). So make sure everything is backed up. All your apps, all your code, make sure it's all duplicated and triplicated. This especially includes your signing keys (or, in the future, signing tokens). There's backup information for that here: http://supportforums.blackberry.com/t5/Testing-and-Deployment/Backup-and-Restore-BlackBerry-Code-Signing-Keys/ta-p/837925
5. If you DO lose your data...
All may not be lost (although it probably is). If you just have a corrupted OS, you may be able to regain your files by connecting your old hard drive to a different PC (although this is risky). If your data is on a seperate partition (see #2 above), it'll be even easier. If you just accidently deleted it, there's some PC programs that might be able to help you. For a few examples, check out http://pcsupport.about.com/od/filerecovery/tp/free-file-recovery-programs.htm.
So that's about it. Just make sure it's all backed up, because all computers will eventually fail. And while replaceing hardware can be expensive, replacing lost data might not even be possible.
And again, if you have your own backup tips, share them either in the comments or in the OSBB Forum on CrackBerry.
Co-founder and legal nay-sayer of OSBB. Owner of SCrApps Application Development, WebWorks aficionado, Open Source contributor. SCrid2000 on most blogs. I build awesome BlackBerry apps when I'm not doing legal work or spending time with my wife and two boys.
Follow me on Twitter - @GShaneC
Check out my apps in BlackBerry WorldWebsite: SCrApps.org