media, windows comments edit

For a while I’ve been using MozyHome in a sort of weird, confusing fashion to back up the share content from my Windows Home Server. There were two problems with this setup:

  1. Lots of moving pieces. The way I had it, there was a scheduled copy task from the WHS to a remote machine, then that remote machine would do the MozyHome backup. That, of course, relied on the remote machine to always be on and running, the process to properly run, etc. A lot of indirection and moving pieces to get around the MozyHome shortcoming that it won’t install on Windows Home Server.
  2. MozyHome’s pricing is changing. They’re moving away from the $55/year unlimited storage plans and going to a tiered storage plan. Probably not so bad for most folks, but for the 250GB of data I have, it’d cost me around $350/year - seven times what I’m already paying. For that I can definitely find a different solution, even if it’s buying a bunch of 1TB USB drives.

For a while I started looking into the built-in WHS backup thing where you can attach a USB drive and use the WHS console to back up your shares… but it’s a totally manual process. Why they wouldn’t make that something I could run on a scheduled basis is beyond me. But, that being the case, I took it out of the running. It’s gotta be automated.

Luckily, I found a solution:CrashPlan.

I’m not sure why these guys didn’t come up in my initial research, but they seriously solved all my problems.

  • $50/year for unlimited storage. And if you get multiple years’ worth of storage, you can get it down to $35/year. For unlimited storage. That addresses the pricing problem.
  • Installs directly on Windows Home Server. Technically it’s not “officially supported” but it works like a charm. They even have a wiki page explaining how to install it.
  • Allows you to automate backup to the cloud and to a local drive. With the multiple-backup-destination feature CrashPlan offers, you can automatically back up your data to the cloud (“CrashPlan Central,”), to another machine on your network, to a local drive/folder, or even to a friend’s machine. The local drive/folder support addresses my too-many-moving-pieces issue: back up to a USB drive right on your home server.

So, goodbye, Mozy - hello, CrashPlan.

Follow the wiki instructions and get CrashPlan installed. That wiki page also tells you how to configure the WHS shares to be backed up.

Once you have the shares configured, you’ll see them in the CrashPlan app on the “Backup” tab listed in the “Files” section.

CrashPlan Backup tab showing files to back

Next, attach your USB drive to the WHS. Make sure you don’t add it to the storage pool or set it up as a server backup. You want it unincorporated so CrashPlan can use it.

Your drive is attached, so in CrashPlan, jump down to the “Destinations” tab and select “Folders.” In here, click the “Select…” button and select the location you want your backups sent to. I made a folder at “E:\CrashPlan” for my backups. Once it’s selected, the name of the folder shows up in the destination list - that’s why you see “CrashPlan” there in my list. Don’t start the backup yet, you’re not done.

Something to note about the folder you select there: The stuff that gets dumped in there won’t be human-readable. It’s all random numbered files and indexes and things. CrashPlan encrypts the stuff that gets dumped in there (just as it will encrypt it if you back up to a friend’s house, so your friend can’t get your stuff). It just means you can’t take the drive and plug it in elsewhere and copy/paste stuff off of it. You will have to restore through the CrashPlan app.

CrashPlan Destinations showing my local folder as a

Now, still under “Destinations,” click “Online.” Make sure you’ve got “CrashPlan Central” listed and going. It should already be there, but it’s good to check.

Hop up to the Settings tab and configure your alerts. CrashPlan can notify you on a periodic basis of your backup status and data usage. It can also notify you if there’s any problem. Very slick, and something MozyHome never did. The buttons for that are at the bottom under “Backup Status and Alerts” on the “General” tab.

My alert

Finally, still in Settings, select the “Backup” tab and configure how many revisions of each file to keep in your backup archive. Do this by clicking the “Configure…” button next to “Frequency and Versions.” This was the most confusing part for me since there really isn’t any documentation.

You sort of have to read it like sentences:

  • Backup a new version every six hours. (Basically, this selects how often to run the backup process.)
  • For backups in the last week, keep all the versions found every six hours.
  • For backups beyond the last week but within the last 90 days, keep a daily version.
  • For backups beyond the last 90 days but within the last year, keep a weekly version.
  • Beyond the last year, keep a monthly version.
  • If I delete a file, remove the deleted file from my backup archive after six months.

Since the files on my home server don’t change much, this is reasonable. I have a feeling I may have too many versions of things being retained, but I can always change the policy later.

Now you can run the backup. Go back to the main “Backup” tab and you’ll see a little arrow next to each of the backup sources. It looks like a “Play” button in a media player program. Click that on each source and the backup will start. Only one backup will run at a time, so if you click the button on both CrashPlan Central and your local folder, the last one clicked will run first; after it completes, the other source will run. It doesn’t really matter what order they run in that first time since they both have to complete anyway. After that it’ll all be automatic. (You can see these little arrows in my first screenshot at the top, grayed out since my backup is complete.)

If you ever need to restore a file, you can do that through the “Restore” tab in the CrashPlan app:

CrashPlan restore

The links at the bottom there allow you to change which version of the files you want to restore, where they get restored to, and what happens when there’s a naming collision.

The only real downside I’ve seen so far is the lack of shell integration. I can’t just right-click and look at previous versions of a file or something like that. On the other hand, for my home server, that’s not as big of a deal.

Last thing to mention: If you start running out of disk space, you need to compact the backup database. On the Destinations tab, under “Folders,” select the folder you’re backing up to and you can see the amount of space currently taken. Use the “Compact” button to compact the database.

There’s a similar button for the online source at CrashPlan Central. You can read more about compacting the database and what that means on the CrashPlan wiki. Anyway, I’m not quite there yet so I can’t really vouch for this part of things.

If you’re looking for a nice way to back up your Windows Home Server, I’d recommend CrashPlan. Easy to set up, easy to use, and totally automatic. I wish I’d found this a long time ago.

For the past few years, Jenn and I have been involved in running professional fireworks shows on the Fourth of July. It’s a lot of fun, not like anything else most folks have done. We’re taking a break this year, though, for a few reasons.

First,**the recent release of Me 2.0, also known as “my daughter,” has added some complexity to things that wasn’t previously there. She’s a joy, and usually a pretty happy baby, but we can’t have her on-site with us and we want to spend her first Independence Day with her.

Second, and probably more influential in the decision, is the amount of work involved in organizing the whole thing. I don’t think it’s stuff that the crew normally thinks about when they’re on the shoot. When you’re crew, you basically show up, work, shoot, and clean up. When you’re running the thing, it’s a bit more complicated.

You have to go check out the site and make sure things are looking good. Even if you’ve been there before, things change, so checking it out ahead of time, say a week or so before, is pretty key. We’ve run into all sorts of little things that people didn’t think about - gates that may need to be opened, new signs or buildings that weren’t there the year before, that sort of thing. You don’t want to discover that on the day.

You have to go pick up and return the truck. That’s actually not such a big deal, but the place where you pick up and return is not quite an hour and a half out from our house, so you have to set aside some time to go get that thing the night before. Also, driving big trucks stresses me out like nothing else. I am a small car guy. I can’t gauge the size of a moving van for crap, and not knowing where I am in the road, basically, means I’m white-knuckled the whole way. (Jenn doesn’t seem to have any problem with it, so sometimes I make her drive.)

The real pain, though, is gathering a crew. There’s a ton of pretty hard physical labor involved in setting up and tearing down everything, so more people is generally better. I try to get between four and six additional people besides Jenn and I. There are a couple of good friends we have who really dig on this that we know we can count on, but that still means two to four folks need to be found, and those people really need to commit 100% to being there because if they don’t show up, they leave the rest of the crew high-and-dry with a lot of work to do. That’s easier said than done. People, on the whole, fall into one of a few categories:

  • They’re not interested in fireworks. Totally legit.
  • They’re interested, but it’s a holiday and they have other plans. This sometimes comes along with a “next year, I promise” as if there will always be another opportunity.
  • They’ve done the show once, had fun, but it’s too much work to do again. Once was enough.
  • They commit to “definitely, 100%, no question” be there… and then cancel a couple of days before (or on the day). This is my favorite category of people because there’s not enough time to get a replacement person.
  • You ask them if they’re interested and you get no response, like your voice mails and emails were never received.

It’s not just sending out an eVite and hoping for the best. You have to make sure people know what to bring, know where to meet, know when to meet, and so forth.

Honestly, aside from the couple of folks I know I can count on, I’ve pretty much burned through my list of friends and relatives. They all fall into one of the aforementioned categories. None of Jenn’s friends are interested, so there goes that.

I sort of feel like I’m letting folks down - the fireworks company, who are a group of really cool people, and my friends who truly are interested in doing the show - but I just don’t have it in me this year.

I’m going to see how it feels to be on the spectator side of things this year. Maybe we’ll go back to it next year. I have a feeling that I may be done, though. I really haven’t missed fighting the logistics of getting the whole thing set up. It doesn’t always balance out the rush of actually shooting the show.

About a year and a half ago I updated my Subtext database maintenance page from the original I had posted about three years ago. While the database hasn’t changed much between Subtext and (the maintenance page does still work), I updated the page to provide a little more info and do the cleanup in a more automated fashion.

As a refresher, this page lets you…

  • Clear the error log.
  • See how many referrals you have in your database.
  • Remove search engine and spam referrals from the database.
  • Reindex the referrals table.
  • Shrink the database.
  • See additional stats like table and overall database size.

This new version adds some [super rudimentary] AJAX goodness so you can click the button to remove the junk referrals and it will iterate over the set in blocks of 1000 until they’re cleaned up - so the database connection doesn’t time out.

(The whole reason I have this page is that I don’t really have SQL Server Management Studio access; I have to maintain my stuff entirely over the web.)

Anyway, drop the two enclosed pages into your /aspx/Admin folder and you’ll be able to access them after logging into the Admin console by visiting http://yourblog/admin/DatabaseMaintenance.aspx. It won’t add any navigation links to the site into the page, so you’ll have to manually enter the URL to get there.

UPDATE 2/20/2012 Based on some logic from Tim Heuer I added the ability to enable or disable referrals to the bottom of the maintenance page. Click the appropriate button and the referral stored proc will be modified to track referrals (or not).


I’m hoping that Subtext enables the ability to either stop tracking referrals altogether or enables some sort of spam filter on referrals so these never make it into the logs to begin with.I shrank my database from 245MB to 23MB just by running this maintenance.

personal comments edit

I associate Radio Shack with the DIY crowd

  • folks who probably know more than average about electronic componentry, or at least enough to be dangerous, and need someplace to get raw materials.

Now, people can talk about how there’s retail competition and all that noise, but I think differently. Let me lay the scene:

I just put up some new surround speakers in my game room. The receiver I have in there doesn’t have the fancy Audyssey sound balance microphone thingamajig on it so I have to balance the sound the old-school way: either by ear or with a meter. Where do you get a sound meter? Radio Shack.

I went into the store and the floor space of the place was only about 1000 square feet. The front half of the store was all cell phones and RC cars and so forth. The back half consisted of three aisles, each of which had the gadgets and doo-dads I normally associate with Radio Shack. Being the only customer in the store, I walked up to the desk and asked the lady there, “Where would I find a sound meter?”

“…Sound meter?”

“Yes, a sound meter… SPL meter… sound pressure level meter… you know, something that measures the volume of sound. A sound meter.”

She stood there for a second with a blank look on her face, then looked around the shop. “Um…” She came out from behind the counter and started walking down each aisle, in turn, gazing around without actually looking at anything on the shelves. Then she called to the back for help.

A guy came out of the back and we went through the whole “what-is-a-sound-meter” thing again. After that he, too, went down each aisle, but he went much faster, emulating “purpose.” After visiting each of the three aisles a couple of times, we finally ended in the middle aisle where, lo and behold, they had not one but two models available

  • a digital ($50) and an analog ($15).

“What’s the difference between these two models?” I asked.

Two blank faces. “Um…”

“You know what? $15. Done.” I bought the analog meter (which, by the way, worked perfectly for my purposes) and that was that.

Thing is, if I was looking for something more technical than a sound meter, what would have happened? I mean, I don’t expect much from people, but you’ve only got 1000 square feet of product, and only half of that is actually anything of substance. You don’t know where stuff is or even what you have?

That, my friends, is why Radio Shack is failing.

In iTunes, if you have a track that is missing artwork you have the ability to right-click the track and opt to automatically download artwork for it. This works well if you play the track in iTunes or an iTunes-connected device (e.g., iPod)… but if you also use the same library in a UPnP server to stream your music on your network (like Asset UPnP) then you’ll notice the artwork doesn’t show up. That’s because iTunes stores the downloaded artwork in a separate database outside the actual physical music track file, but other servers/devices expect artwork to be embedded in the track.

Luckily, with a little scripting, you can fix this.

I wrote this script to run on a Windows machine and copy the downloaded artwork directly into the track.

WARNING: THIS SCRIPT MODIFIES THE TRACKS IN YOUR LIBRARY. BACK YOUR FILES UP BEFORE RUNNING IT. That seems obvious, but just in case it wasn’t clear, there you go.

I’ve run this pretty extensively in a test environment and I’ll be running it on my 15K track library shortly. Again, though, BACK UP YOUR LIBRARY BEFORE RUNNING THIS SCRIPT and USE AT YOUR OWN RISK. If your tracks all end up corrupted, you’re on your own.