Keeping regular backups is important - even famous computer bloggers sometimes lose their data. Backing up my computer used to be an unfriendly experience. The built-in software in older versions of Windows was terrible, and third party software was expensive, bad, or both. Apple got it right with Time Machine (a rare OS X feature of which I am actually jealous), but Microsoft has finally gotten their act together, too. Windows 7 introduced a very effective, user-friendly backup system, and it's already saved me once when I had a catastrophic hard drive failure. It backs up all user data, and lets you go back and find previous version, and most importantly, keeps a system image to let you restore everything to exactly how it was, even if you get a completely new HDD.
Really, there's no excuse not to use it. The only downside is that it does take a while. With most users keeping hundreds of gigs of data, it can take hours using a USB 2.0 drive, and is still time consuming even with a fast eSATA or USB 3.0 drive. I run backups every night, but wanted to be able to set the backup to go, then leave my computer and not have it running all night. Since no good solutions were built in, I wrote a small program to do just that. A scheduled task runs whenever a backup completes (whether or not it was successful), triggering the program. The program warns the user that the computer is going to shut down, and counts down for however many minutes have been specified. The user can cancel the shut down if they are present, and if they're away, it will go ahead and turn it off. The user can also specify whether it should hibernate or suspend when turning off.
I still haven't decided on a good name for this, but for now it's called Sleep Counter. It may still have bugs, so please let me know if you find any problems. This is only designed to work on Windows 7, though it may work on Vista; I'm not sure. It requires the .NET Framework 4.0, which is not included in the installer. Eventually I'll have the installer automatically download .NET 4.0 if it isn't installed, but that takes more work than I can put in at the moment.