Agree on Optical Media. Here is my backup solution - if you don't want to spend the money on the commercial software, roll your own.
I use Dantz Retrospect. I have two completely separate "sets" of backups. Each set gets an incremental update on alternating Fridays. When you start a set, you will get a full backup (in my case 5 DVD+R's). Incremental updates then keep getting written to a disk until the disk is full or you get paranoid and throw it in the safe.
This means that all files including a back-log of revisions are available on two completely different sets of disks. Even if both sets become defective, the software can rescue whatever files it can from the functioning media.
Every 6 months or a year, I close out the set and move them off-site. Their only purpose now is in case an entire newer set fails or in case I want a really old revision.
DVDs live at home in my fire-proof safe, at work, and eventually with a friend or family member elsewhere.
This is extremely convenient and meets the need. Any time I am nervous about the state of the discs I can toss them in and have the entire set tested for integrity.
I get really nervous about people backing up to additional hard drives or even hard drives on other systems. If your fear is simple mechanical failure, then a RAID would have been your answer. You must be anticipating malicious or accidental erasure of your content. Well if the system you store all of this on is vulnerable to these attacks, what makes you think a second drive or even a second system will be immune? Get it on a removeable medium and get it out of electrons' reach.
I have spent considerable time on multiple revisions of this solution myself.
My daughter wakes often and my wife and I very much want to keep an eye on her. She can hear us if we come within ten feet of her door, so using a camera was a necessity.
Practical issues - her room is dark. Do not underestimate the importance of low lux (slow shutter) functionality. I extensively use the Toshiba IK-WB11A (specs). It offers 0.03 LUX minimal illumination. This can connect wired or wirelessly (802.11b) back to your network.
The Java interface is a complete joke with a ridiciulous memory leak. Simply Ethereal capture the device, grab the "hidden" url for the underlying static graphic and write your own JavaScript for downloading that graphic. I accomplish this simply with two image buffers (in DIV tags) that alternate on loads. Build in error catching and timeouts for these loads.
More interesting than this for me was replacing the audio monitor (and being able to keep the doors closed). For this, I have only begun the implementation. Basically, I have a laptop in her room (old 300MHz system). It ties directly into the microphone via Windows APIs. I then sample the spectral range on a 5 Hz basis. By creating a very, very simple "shrillness" algorithm along with volume determination - it is easy to get a simple "detection" of the cry.
With this audio detection, I simply have the monitor mute the audio of my daughter until a certain amount of time has passed with continuous audio. Thus priority 0 audio (noise characterized like her just-changing-positions audio) must be maintained for 30 seconds before the audio is passed into my bedroom. Higher priority signals have shorter durations. A simple "scoring" system based on audio "shrillness" and audio amplitude yields the minimum duration value before audio passthrough.
For the tuned assembly loops I have written (multimedia or otherwise), I have gotten the same loop timing from L1 cache as from the registers. Essentially L1 is a big bunch of GP registers already.
Agree on Optical Media. Here is my backup solution - if you don't want to spend the money on the commercial software, roll your own.
I use Dantz Retrospect. I have two completely separate "sets" of backups. Each set gets an incremental update on alternating Fridays. When you start a set, you will get a full backup (in my case 5 DVD+R's). Incremental updates then keep getting written to a disk until the disk is full or you get paranoid and throw it in the safe.
This means that all files including a back-log of revisions are available on two completely different sets of disks. Even if both sets become defective, the software can rescue whatever files it can from the functioning media.
Every 6 months or a year, I close out the set and move them off-site. Their only purpose now is in case an entire newer set fails or in case I want a really old revision.
DVDs live at home in my fire-proof safe, at work, and eventually with a friend or family member elsewhere.
This is extremely convenient and meets the need. Any time I am nervous about the state of the discs I can toss them in and have the entire set tested for integrity.
I get really nervous about people backing up to additional hard drives or even hard drives on other systems. If your fear is simple mechanical failure, then a RAID would have been your answer. You must be anticipating malicious or accidental erasure of your content. Well if the system you store all of this on is vulnerable to these attacks, what makes you think a second drive or even a second system will be immune? Get it on a removeable medium and get it out of electrons' reach.
I have spent considerable time on multiple revisions of this solution myself.
My daughter wakes often and my wife and I very much want to keep an eye on her. She can hear us if we come within ten feet of her door, so using a camera was a necessity.
Practical issues - her room is dark. Do not underestimate the importance of low lux (slow shutter) functionality. I extensively use the Toshiba IK-WB11A (specs). It offers 0.03 LUX minimal illumination. This can connect wired or wirelessly (802.11b) back to your network.
The Java interface is a complete joke with a ridiciulous memory leak. Simply Ethereal capture the device, grab the "hidden" url for the underlying static graphic and write your own JavaScript for downloading that graphic. I accomplish this simply with two image buffers (in DIV tags) that alternate on loads. Build in error catching and timeouts for these loads.
More interesting than this for me was replacing the audio monitor (and being able to keep the doors closed). For this, I have only begun the implementation. Basically, I have a laptop in her room (old 300MHz system). It ties directly into the microphone via Windows APIs. I then sample the spectral range on a 5 Hz basis. By creating a very, very simple "shrillness" algorithm along with volume determination - it is easy to get a simple "detection" of the cry.
With this audio detection, I simply have the monitor mute the audio of my daughter until a certain amount of time has passed with continuous audio. Thus priority 0 audio (noise characterized like her just-changing-positions audio) must be maintained for 30 seconds before the audio is passed into my bedroom. Higher priority signals have shorter durations. A simple "scoring" system based on audio "shrillness" and audio amplitude yields the minimum duration value before audio passthrough.
For the tuned assembly loops I have written (multimedia or otherwise), I have gotten the same loop timing from L1 cache as from the registers. Essentially L1 is a big bunch of GP registers already.