Jian Sword Dancing: I can’t say that this put the biggest grin ever on my face… but it was a pretty big grin.

Teenage Mutant Ninja Noses: the site’s closed down between when I found it and now, but the content is still hilarious.

Before I start work on my Rails app to track video games (a branch of bookoff, of course), I need to make the most critical decision of all: what to call it.

This is important!

rsync Time Machine

I’ve long had the idle idea that I wanted to write my own backup program. Time Machine is pretty great, but also pretty limited. Most other Mac “backup” programs, these days, are really just disk cloners. The old king of backup, Retrospect, has been fairly thoroughly disgraced during the OS X years. Really, there aren’t that many options for Mac users wanting incremental backups–it’s pretty mind-boggling to me, as someone who has lost a bunch of hard drives.

I last tried rolling my own backup program in mid-2009, cobbling together something in Ruby that theoretically worked. (It even tapped into FSEvents to know which folders to examine for changes–not the most trivial thing for a Ruby script!) In reality it was completely broken by the fact that it wanted to store everything (everything) in a database. (I’m probably talking out of my ass here, but I don’t recall the various NoSQL databases–which might have a chance in heck of being able to store files in the database–being very prominent back then.) I knew it was busted when I wrote it, and never actually used it to store anything.

Fast forward to this last weekend, when I discovered Incremental Backup. This AppleScript file held the core to what I wanted to do years ago–multiple custom incremental backups–and that all boiled down to an rsync flag that I didn’t know existed: --link-dest. That miracle flag tells rsync to look at the specified folder for an existing copy of the file it’s examining–and if the file is unchanged, creates a hard link to the existing file instead of copying it anew. Smart use of that flag allows rsync to effectively mimic Time Machine’s behavior (albeit somewhat slower, as rsync doesn’t use Apple’s FSEvents shortcut)–but with all the flexibility that rsync provides.

Yes, using that script requires you to compile your own version of rsync, at least for now. Yes, it’s a bit clunky (it keeps a log of backup folder names as a quick way to determine the most-recent backup, rather than just examining what folders exist, and you have to be careful to escape special characters, like spaces, in your pathnames), and a tiny bit buggy (if you have a backup source directory whose name contains spaces, it’ll get backed up to a folder named whatever text follows the final space). It’s still the best-looking customizable backup script/program/what-have-you that I’ve found.

I think I’ve managed to hack my own version to sidestep the issues I’ve found… my final hurdle is figuring out how to schedule the script to run regularly. Recent versions of OS X rely on launchd instead of cron. Thing is there only seems to be one launchd editor out there, Lingon, and I’ve had absolutely no luck getting that program to work.

Oh, and the general rsync --link-dest theory should work on all Unix variants, not just Mac OS X. (Looking at the date on that article, I can’t help but wonder why I never thought to Google “rsync time machine” back in the day. I would have saved myself a whole lot of time.)

Matsue Shrine: I’m pretty sure I walked through this very shrine, and did not make use of its powers. Dammit!

I try not to be an ass about spelling (Brian could attest that I’ve mangled my fair share of words), but I can’t help but think poorly of the person who writes that “[this app] has been completely overhalled.”

Birthoween 2011

Nick’s wife, Lindsay, was born around (on?) Halloween, so they often throw a combination birthday/Halloween party dubbed “Birthoween.” This year saw Birthoween’s revival, after a couple years’ dormancy.

When Nick & Lindsay throw Birthoween, they go all-out. Cauldron of (spiked) punch, cobwebs and orange lights everywhere, blacklight strobe light and fog machine (they had to disable the smoke detector partway through the party), bathroom with blood spots and bloody footprints. The food spread was also large and varied: bat (chicken) wings, Exorcist (split pea) soup, Witch’s finger cookies (dyed green with a red-dyed almond slice for a fingernail), worms (gelatin set in straws and then squeezed out)… A bunch of alcohol (of course), the most salient to me being Kraken rum. Nick was dressed as The Joker (purple suit and all); Lindsay was (I imagine suffering horribly as) Catwoman, in a whole-body latex suit.

Nate and I carpooled up. We historically do as little as possible for Halloween; this year Nate taped a “404: This costume could not be found. Please try again later” sign to his chest. I was sporting a Pokéball and 10,000 pokébucks, posing as a pokémon trainer hanging out on Route 1 between Nuvema and Accumula towns. (I might have overdone the amount of money I’d have as a beginning trainer.) Note that I was not attending as Ash (i.e. one of the main characters)–I was portraying one of the trainers that Ash would run into and do battle with.

For some reason (favoritism!), Nate’s costume passed muster while mine did not. I was then provided a costume–a spade from the Queen’s army of Alice in Wonderland. So I portrayed a spade soldier who also battled Pokémon.

Brian arrived as a “budget ninja,” wearing all-black clothing and wrapping a black scarf around his head. He later wrapped the scarf around his neck and attached a glittery spider (one of a bunch of little things that Nick and Lindsay had scattered around), claiming he was an “arachnomancer.” Kevin was wearing a monkey hat and sporting a monkey tail beard, which he promptly shaved off the next morning.

I didn’t take a shot of Kevin, but I did take one trying to illustrate how a budget ninja drinks: through a straw that somehow winds from below the head wrapping (i.e. about neck level) into his mouth. (Photo courtesy of my iPod’s crappy camera.)

Later in the evening Jeremy (who came as some sort of beastmaster) decided that his claw-glove (think something like Nightmare from Soul Calibur) wasn’t doing much for him, so he passed that off on me… making me a spade soldier with a demonic hand that battled Pokémon.

Greg showed up without a costume, and was given a lab coat and sombrero–turning him into Señor Doctor.

And I don’t know if I have the DC reboot to thank or not, but good Lord Wonder Woman.

It was an entertaining party, but a blow-by-blow probably isn’t worth the time (mine or yours). Perhaps my favorite invention of the evening (by Neil, as usual) was this trap self-inflating (!) whoopee cushion:

Whoopee cushion on severed arm on chair seat

Oh, and I demonstrated my value as a friend to Brian by refusing to draw a cock and balls on his face with a sharpie when he was passed out (from tiredness, in all seriousness) next to me. Had people been demanding a funny moustache… that might have been a different story.

Halloween AAR: Seventy-odd kids over a period of about two hours. One and one-half bags of Costco candy decimated. Things have definitely changed, now that there are actually people living on my street.

powered by wordpress