Category Archives: Books

Unison: File sync from Ubuntu to Windows 7

Hey, been awhile. Have been ignoring the blog (even my traditional New Year's Eve Post) and many of my other Internet habits in favor of various projects I've been hard at work on. I just pulled off a WordPress update; you're reading this so it looks like it went smoothly.

Anyhow. One of the aforementioned projects (and the thing you came here to read, if you found this page by Googling an error message — and if you did, you may want to skip my meandering explanation and go straight for the numbered steps at the bottom of this post): I recently decided to set up a file sync system across the computers in my house. It's useful for syncing things like savegames, RSS feeds, and the public-domain ebooks I've been grabbing from Project Gutenberg and MobileRead and comics from Digital Comic Museum across multiple devices.

I'd done some command-line RSS before, and also set up backup systems with Toucan, but figured I'd try something different on this one. I gave Ubuntu One a shot and it seemed promising until I realized it isn't open-source and I can't set up my own server. Canonical is swiftly becoming the Apple of the Linux world — good at taking open-source software and making it pretty and usable, but not so great at giving back to the open-source community.

Ultimately I settled on Unison, which proved to be a bit of a headache — frankly if anybody has a better solution I'd be happy to hear it, but here's how I got it to work.

First of all, the Unison GUI requires GTK. Hardly a problem on the Linux side, but under Windows, extracting the binaries from gtk.org and setting the PATH variable didn't work, no matter what I did. Maybe it's a Windows 7 thing, or maybe it's a Unison thing, but either way, Unison threw up "This application has failed to start because libgtk-win32-2.0-0.dll was not found. Re-installing the application may fix this problem." every time I ran it. Sticking it directly in the GTK\bin directory worked but is an ugly solution; multiple sites suggested installing Pidgin, which comes with GTK, but produces the same problem as Unison doesn't find it in the path.

(Actually, let me back up a bit: I couldn't get Unison to work with 64-bit GTK at all. The only Unison binaries I could find were 32-bit; I opted to install a 32-bit version of GTK rather than stick Cygwin on my HTPC and compile Unison from source.)

Ultimately, I found a binary Windows installer for GTK (conveniently the first Google match for gtk windows binary installer); whatever my PATH problem was, this installer fixed it. The Unison GUI was up and running, from its own folder.

Next problem, though: SSH. Unison did not play nice with PuTTy.

Googling the problem, I found a page called Unison-ssh, which includes a wrapper named ssh.exe for download. If you've read this far you've probably already installed PuTTy, but in case you haven't, you'll only need it if you want to use public key authentication — this ssh.exe will automatically install a copy of PuTTy's command-line SSH utility, plink.exe, if it can't find it. (Well, hypothetically. It tries to stick it in WINDIR and if you're not running it with admin privileges it'll fail.)

Now, I should add that this ssh.exe doesn't work properly under Windows 7; it'll prompt you for a username but only let you type one character and then automatically Enter it. Same problem with the password prompt. The comments thread in the page is filled with people who have the same problem. Maybe a clean compile would fix it, I don't know; again, I didn't want to go to the trouble of setting up compilers on my HTPC.

There's a solution a ways down the comments thread. Unison stores its data in the .unison directory, even under Windows. (That'd be \Users\name\.unison under Win7.) They're simple text files with the .prf extension. And you can add an "sshargs" line to give command-line arguments. If you're comfortable sticking your password in plain text, you can add the line "sshargs = -pw [pass]" and you're done. But if you're not, you can set it up with RSA keys. A later comment links a post on Palin's Technical Blog that runs down how to generate a keypair with puttygen — the problem is, I couldn't get my Linux server to accept it; I kept getting a "Server refused our key" error.

I found the solution on Andre Molnar's blog: you need to generate the keypair on the Linux server, using ssh-keygen, add the public key to your authorized_keys file, then move the private key over to the Windows machine and use puttygen to import it and then save as a PuTTy .ppk file. From there, add "sshargs = -i [path to private key]" to the appropriate .prf file.

Almost done, but the Unison GUI still has path issues, even if you stick ssh.exe in the same directory as PuTTy and add that to your PATH. I got around it by sticking a shortcut on the desktop with the PuTTy directory as the working directory.

In summary:

  1. Install openssh-server on your Linux server and PuTTy on your Windows client.
  2. Install Unison and its dependencies on your Linux server. (It's offered in the Ubuntu repos; command-line is unison, GUI is unison-gtk.)
  3. Install Unison on the Windows client.
  4. If you want to use Unison's GUI, install GTK on Windows.
  5. Download the ssh.exe wrapper for PuTTy. Stick ssh.exe in the same directory as PuTTy and put that directory in your PATH.
  6. Generate an RSA keypair on your Linux server using ssh-keygen. By default it will put the keys in ~/.ssh/id_rsa and id_rsa.pub.
  7. Copy the contents of the public key (id_rsa.pub) to ~/.ssh/authorized_keys. Remember to set perms on ~/.ssh to 700 and authorized_keys to 600.
  8. Move the private key (id_rsa) to the Windows machine. That's move, not copy; delete it from the Linux side as you don't want to store the same private key in more than one place.
  9. Run puttygen.exe. Import your existing private key, then save the result as a new .ppk file. Delete the original key file. Again, only the owner should have read perms on this file.
  10. At a minimum, your \Users\name\.unison\foo.prf file should contain the following:

    root = [Windows path]
    root = ssh://[user]@[host]//[Linux path]
    sshargs = -i [path to private key]

  11. To get the Unison GUI to run ssh.exe properly, create a shortcut and set its working directory to the PuTTy directory.
  12. You can schedule regular syncs using Windows Task Scheduler; run the command-line Unison executable, with args "-batch [name of pref file]". Don't include path or extension, just the filename ("foo" in my example above).

So there you go: a cross-platform syncing solution. Good for backups, for keeping files consistent between your desktop and your laptop, or for anything else that requires keeping the same files on multiple machines.


Playing: Just finished playing a fan translation of Act Raiser. Maybe a bit more on that soon.

Reading: Blood of the Elves. As I await The Witcher 2.

Revisiting NIMH

My mom read me Mrs. Frisby and the Rats of NIMH when I was a kid. A few times, as I recall.

I first saw Secret of NIMH on VHS when I was in fourth grade. Mostly I was put off by the divergences from the book.

Now, the movie's got a pretty devoted fanbase, and I do love me some Bluth, so I decided to give it another shot 18 years later and see what the fuss was about. I figured my older self would be more ready to appreciate the movie on its own merits.

On one level, I was right: it was much easier to appreciate the gorgeous animation, the superb voice casting, and the sheer scope and ambition of the project than when I was 10. On the other, my gripes with the movie remain surprisingly similar to what they were back then.

Some spoilers follow, as well as my dim recollections of how things went in a book I haven't revisited in twentyish years.

First, the good: the movie is fucking beautiful. Just amazingly animated. I love the character designs, from the scabby, scaly claws of Nicodemus and the owl to Dragon the cat, who resembles a nightmare version of the Cheshire Cat. Bluth was a visionary who helped drag animation from the dark ages after Disney's death, and he assembled one hell of a crew (I noticed a Bruce W Timm in the credits). And the cast — well, Derek Jacobi is currently touring internationally in a critically-acclaimed performance of King Lear.

It's also, as best I remember it, a decent if truncated recreation of the major arc of the book: Mrs. Frisby (Brisby in the movie) needs to move her house because her sick child can't travel, she's directed to a group of superintelligent rats living under the rosebush, and they help her because her husband was a compatriot of theirs. It turns out they were subjected to scientific experiments at the National Institute of Mental Health; they've escaped and are currently in hiding, stealing electricity from a farmer's house, but they want to move shop and survive on their own resources. This has to happen a lot faster than anticipated because the scientists from NIMH track them down and seek to destroy their lair.

The movie does a pretty good job of telling that story in under 90 minutes. But it's got its share of flaws, too.

First of all, I can see why the movie had trouble finding an audience on release: because it finds trouble finding its audience in its presentation. It's too scary for young children, but the humor is too dopey for older ones.

As for the changes — well, I think bringing Jenner in as a present antagonist instead of relegating him to flashbacks, and giving the film a clear villain, is a smart move. However, I have to go with 10-year-old Thad's assessment that all the nuance is drained out of his character from the book. Book Jenner was a tragic figure; not evil per se, just someone who had a fundamental disagreement with Nicodemus's plan. Here he's a conniving, mustache-twirling, murderous cliché. And an irrational one at that — when Mrs. Brisby warns the rats that the NIMH scientists are coming to destroy their lair, Jenner calls her a liar and attacks her. How does that make sense? He may be a power-mad murderer, but he has no reason to doubt her, and it's hardly in his best interest just to assume she's lying and go back home without investigating whether or not anyone actually is coming to kill him and undo the life's work he's fought so hard to preserve. All in all, the movie trades a complex character for a lame caricature.

And about that "NIMH is coming, you have to escape" bit? No payoff! We never see the rats scrambling to move; we just find out they got out of there, seemingly with no pain or trouble in the process. The climax of the book is completely gone, with the fight with Jenner taking its place.

And the fight with Jenner — well, I'm not as bothered by Nicodemus's death in the movie as 10-year-old Thad was; it's a tragic, affecting scene, and killing off the wise old mentor character is a classic storytelling component that is probably more satisfying to a general audience than the book's ending, where Nicodemus survives but Justin apparently, but not certainly, dies.

But then there's a swordfight.

Don't get me wrong, swordfights are awesome. And this particular swordfight is awesome. But it doesn't really fit. Those miniature swords look awfully well-made; they're not what you'd expect a group of rats living under a rosebush to make, no matter how highly developed they were. And what do they have them for? Justin's a guard, but we never actually see him turn a sword on anyone outside of this scene. The rats presumably don't want to swordfight the cat because it would risk revealing their existence to the farmer — so why do they have them in the first place?

And the swordfight leads to the movie's biggest weakness: the fucking amulet.

See, in the movie, Nicodemus has two magic artifacts: a screenie thing that lets him watch the outside world and show flashbacks, and a magic amulet. I'll come back to the amulet in a minute, but let me start by saying the screen contributes absolutely nothing to the story. We see Nicodemus looking through it at the beginning and narrating to the audience that Mrs. Brisby is going to ask him for help, and then later he has her look through it so she can see the origin story.

You don't need a damn magic screen for either of these things.

Nicodemus is sharp enough to know Mrs. Brisby is going to come knocking on his door following her husband's death without a damn magic screen. And Mrs. Brisby doesn't need to see the origin story flashback; only the audience does. The screen as a framing device is used as an excuse for some of the best animation in the film, but again, you don't need a magic screen to set up the use of special effects to frame a flashback; that's a movie trope that the audience already understands.

But the real irony of using the magic screen to show the origin story is that it effectively demonstrates why the magic screen doesn't fit the story. We're looking at a story about rats who become superintelligent as a result of medical experiments. It is fundamentally a science fiction story. The magic artifacts don't match the SF premise, and are never fucking explained; Nicodemus just has them, because wise old people in movies have magical artifacts.

Which brings us to the amulet. The movie doesn't bother explaining where it came from, just that Nicodemus has it for some reason, and that Jenner apparently knows what it is but doesn't know Nicodemus has it. Which really doesn't make a whole lot of sense, because you have to figure that if Jenner knew about a magic artifact but didn't know who had it, Nicodemus would be a really, really obvious guess.

So okay. The rats set up an elaborate pulley system to move Mrs. Brisby's house; Jenner sabotages it and causes the whole thing to collapse and kill Nicodemus. Jenner gets in a swordfight with Justin; Jenner's lackey, who's been reluctant about this whole "let's kill Nicodemus" plan for some time, saves Justin and then he and Jenner both die. Then, when all hope seems lost, Mrs. Brisby moves her house using her magic amulet.

So okay. My biggest problem with the amulet? It's not that it doesn't make sense in the context of the story, it's not that its origin and purpose are never explained, it's not that it's a MacGuffin and a deus ex machina. My biggest problem with the amulet is that fucking amulet is an asshole. Seriously. The fucking thing could have moved Mrs. Brisby's house any time, but it waited until three people were dead. And two of them seemed like pretty nice guys!

On the other hand…

Two posts ago, I argued for more 8-page comic book stories.

A couple weeks back, I picked up Nation X #4, because it had a Milligan/Allred story with Doop. Now, that was pretty awesome…

…but then I realized I'd paid $4 for an 8-page story. I would not have bought the book for any of the other stories in it. The one where the kids raid the fridge was fun, but still not enough to justify the purchase.

So, all this to say, I'd love to see more anthologies like Nation X…except, you know, good.


Playing: Mega Man 10

Reading: Just wrapped Men of Tomorrow.

Auld acquaintance

You know, having my New Year's Eve traditions rudely and abruptly yanked out from under me has itself become something of a New Year's Eve tradition — and, the childish drama inherent in such a change in plans notwithstanding, I think I'm all right with that.

The wonderful paradox about New Year's, and a significant portion of why it is my favorite holiday, is the balance of the old and the new, of tradition and change. (Also, beer.) I'm a guy who puts a lot of stock in his past, but who could sure use some forward momentum in his life about now.

Traditions are wonderful things, and seeing old friends is a joy — but shaking up a routine is something special in and of itself. I'll never forget New Year's Eve 2000/2001 — nothing special, perhaps; I just stayed home and watched Batman (the 1989 one) and Army of Darkness with my little brother. It wasn't the night I had expected or planned for, but it was a very pleasant capper to a very hard week. (It was also the first night I checked out #finalfight, starting another tradition — every year I'd show up there early on New Year's morn, even years after I quit my regular attendance of the channel. That's another tradition I'm breaking this year — with some pride, actually; it's important to know when to let traditions go.)

I've had a comfortable New Year's Eve routine for, if my count is correct, the past five years (and that image at the top of the main page is from the 2006 party). It didn't hold this year, but that opened the door for something new. I saw Lewis Black perform (second time; he always puts on a good show), and, running late to meet my friends at Four Peaks (as it turns out, they left at 11:30 — honestly, who leaves a New Year's Eve party half an hour before midnight?), my dad and I happened to be on the new light rail train passing over Tempe Town Lake when midnight hit. We saw fireworks over the lake. Then we walked around the downtown area until the 12:45 fireworks show, which was pretty spectacular — I don't understand how there were people simply walking away, with their backs to it, paying no attention.

Anyhow. In the spirit of the holiday, in the spirit of the balance of the past and the future, I have some thoughts on where I am and where I'd like to be — nothing quite so simple as resolutions, but a few ideas.

I have a steady job now — but I'd like a better one.

I have a lot of good friends — but I could stand to make more. And, I hate to say it, but the truth is maybe some of my auld acquaintances should be forgot.

I love my hometown — but I'm overdue for a change of scenery.

I'm an honest person, to a fault. I speak my mind and don't play games. But I could stand to keep my mouth shut more often than I do, and learn when to cut my losses rather than go down swinging.

And, as jaded a person as I am, I can never foresee a time in my life where I turn my back on a fireworks show.

I have no idea where I'll be come this time next year; I don't think I can count on seeing Lewis Black and then being on the light rail over the lake at precisely midnight. But that's a liberating thought — who knows what the future will bring? Maybe I'll start a new tradition, or maybe it'll be another satisfying one-off.

Think about your traditions — and think about new ones you can start.


Reading: Me of Little Faith, by Lewis Black; Our Dumb World (yes, still; it is a very long book best read in one- or two-page chunks)

Playing: Chrono Trigger DS, Final Fantasy IV DS, Super Smash Bros. Brawl

Love and Rockets: New Stories #1

So, people on the messageboard have recently been prodding me about the fact that there are threads there that consist largely of me posting and nobody replying, yet meanwhile I have let my blog languish since February. It is a fair point, and so I'm going to start putting my posts about things nobody else apparently wants to talk about up here instead of on the boards.

Sadly, Love and Rockets seems to be one of those things, and that's a shame — anything involving Skrulls or written by Mark Millar provokes lively discussion, yet when I bring up one of the seminal series in comics history (and, for my money, a fantastic piece of American literature)? Nada.

So this week marked the debut of Love and Rockets: New Stories, the third volume of the series and a new format — a beefy 100-page annual. I suspect that the reason they titled it New Stories instead of simply Volume 3 is that, at a glance, it looks like a trade; they want to emphasize that it is not, in fact, a collection of old stuff.

The presentation is 7 short Gilbert stories (one of which is written by Mario) bookended by a Jaime story in two 24-page installments.

Jaime's story is set, loosely, in Locas continuity — it features Penny Century and Xo, and Maggie appears briefly — but it doesn't fit with the series' usual realistic themes; it's a superhero story. It recalls the early Maggie the Mechanic stories, where dinosaurs and robots appeared as casual, everyday parts of life, and Love and Rockets was actually a fairly accurate description of what you were likely to see in the book.

That aside, needless to say, it's not everday superhero fare. There's plenty of Kirby love to go around, but this is still a Love and Rockets story — it's about family issues, old friends reuniting, and strong women.

That element of the familiar pervades Gilbert's stories, too, but he abandons his established world — there's no Palomar here, nor even any of its tangentially related characters like Venus or Fritz. They're also short — Jaime devotes 48 pages to a single story, while Beto's longest is 16.

Papa, The New Adventures of Duke and Sammy, and Victory Dance form a trilogy of sorts, increasingly surreal as they go. Mario's story, Chiro El Indio, is not so much surreal as whimsical, and has a certain 1920's vibe to it. Never Say Never is a funny animal story about luck and sharing the wealth, while the aptly-named ? is a thick-lined, surreal pictures-only story that recalls Owly or Frank.

Beto's stories show a good deal of stylistic range — I'm not an artist and I'm likely to stumble in trying to describe what he does with lines and shading, but each story is visually distinct.

Anyway. Love and Rockets. One of the all-time greats, and I love that it's still being published — even if we only get one a year now.

Looking forward to Beto's story in this year's Treehouse of Horror comic.


Playing: Just finished Mass Effect for the second time; working my way through various Mega Man titles in preparation for 9.

Reading: Our Dumb World, in-between various comics. The local Atomic Comics had a 20% off sale on Labor Day and I picked up a stack; so far I've read Astonishing X-Men vol 4: Unstoppable and Batman: Gotham by Gaslight.

WordPress

You've probably noticed the site looks different.

Or, if you haven't because you're reading this via RSS, you've probably noticed you just got ten duplicate entries in your reader.

That's because I just migrated my backend over to WordPress.

As I alluded in a recent post (and yes, I update so seldom that three months ago qualifies as "recent"), b2evolution reached a point where it made even the simplest tasks a chore. A quick rundown:

  • As noted before, it refused "id" and "name" attributes in <a> tags. In other words, it would not allow me to use anchor tags as anchors.
  • Its error messages were hideous. "Invalid URL" may be useful information in a post that has as many as three links in it, but when you have fifty, it's the coding equivalent of punching me in the gut and then pointing and laughing. And for those of you who have not yet taken a 100-level programming course, it bears noting here that telling me which URL was causing a problem would take maybe twenty characters of additional code.
  • Not only wouldn't it tell me which URL was a problem, it wouldn't tell me why. I had to poke through a gigantic list of blocked URLs before I discovered that b2evolution had for some reason automatically blacklisted all mac.com sites.
  • Okay, this is the best one. You think blocking mac.com is bad? Check this out. In the same post, I linked to a rather lengthy driver URL — go ahead and mouse over that link and see what I mean — and b2evolution rejected it.

    See anything wrong with it? No? Neither did I. It took me about an hour to figure out what was happening. Here's the problem:

    The link contains the string "&ProductID". See where I'm going yet? No, you probably don't; even if you know that the HTML code for an ampersand is "&amp;" it probably hasn't hit you what happened there.

    So okay, here's what happened: b2evolution saw the "&Product" in that link, expanded it to "&amp;Product", and then, on a second pass, turned the ;P into a smiley.

    Hang on, it gets better: there is no way to disable smileys in the b2evolution admin control panel; you have to hack the PHP manually.

    Hang on, it gets even better: there actually is a checkbox in the control panel to allow you to disable smileys…and it is grayed out by default. Someone went to the trouble of actually coding up an easy fix…just to make it impossible to use.

In short, b2evolution was like everything my old web host ever gave me: at first, it was a generous gift and gave me an outlet to share my thoughts with the world, but over a period of years it became less and less bearable up until it reached a point where I simply couldn't go about my daily business anymore without it making my life unpleasant.

Actually, catty remarks about Internet drama aside, this is a coincidence — I started this overhaul several days before Sharkey decided to pull up stakes. However, it's a happy coincidence, and it's nice to see him carve us out an alternative to Crazytown.

Anyway, on to the technical side, for anyone else who has WordPress questions. On the whole, I think WP is better so far. I absolutely despise "smart" quotes, and it parses text inside <code> tags just as poorly as b2evolution, if not even worse, but fortunately I found two plugins called Unfancy Quote and Preserve Code Formatting which take care of those two problems right out the gate.

I think I've done a pretty good job with the new theme, taking the old look and making a few modest changes to it. (I've finally retired that silly-ass old digits.com counter. It is the end of an era.) The CSS is my own, but the PHP code is largely adapted from Sandbox. As such, it's GPL'ed code, so once I'm finished tweaking it I'll put a zip file up just in case anyone wants to eyeball my source.

If there's anyone else trying to migrate old-ass b2evolution (0.9 series) to WordPress, there are a couple different ways to do it. You can convert to Movable Type and import natively (tutorial at Insert Witty Title), which preserves categories but hoses custom slugs, or you can use a conversion PHP script (tutorial at ibrian, though there are a few different versions of the script), which preserves custom slugs but hoses categories. I opted for the latter since it's less of a pain to recreate categories than slugs, but YMMV; if you never used custom slugs and just stuck with the default post titles, I'd say try the former. (There is something in there about how b2evo replaces spaces with underscores and WP replaces them with dashes, but there should be a tool to correct that too.)

Anyway. New blog, new forum. Let me know what you think. Maybe one of these days I'll get up the courage to dust the cobwebs off my Links page.


Playing: Super Mario Galaxy.

Reading: Just finishing Dune.

In which Thad makes oblique references to his personal life

There comes a time in every man's life when he must come to the sobering realization that the most normal person he knows is this gentleman:
Brad wearing a penis hat

It has recently come to my attention that every single person I know is currently campaigning for the position of Mayor of Crazytown. I wish them all the best of luck, but caution them that the incumbent is going to be very difficult to defeat.

I have further realized that Brad is doing a surprisingly poor job in his campaign for Mayor of Crazytown in comparison to everyone else I know.

Actually, it's not that surprising. He didn't do so well in his campaign for Mayor of Tempe, either.


Reading: Elric: Song of the Black Sword. I agreed to read it if Felipe would read Watchmen. So far he is more impressed than I am.

An Inauspicious Beginning

How I kicked off 2007:
With a nail in my tire.


Reading: The Areas of My Expertise, by John Hodgman

Playing: Final Fantasy 3, Final Fantasy 12, Guitar Hero 2

Just Like T's Class

You know, there's just something cathartic about cleaning house — about going through a few dozen old computers, finding out what works and what doesn't, wiping drives, keeping what may be of use at a later date and donating the rest. Sure it's boring and repetitive, and I inevitably manage to cut myself on something, but it reminds me of high school, and then my first job out of high school, and it's good honest work.

I sure as hell wouldn't want to do it every day, but it's a welcome break from mail server maintenance — and a whole lot more inline with my salary, too.

dd if=/dev/zero of=/dev/hda.


Reading: Neuromancer

Playing: Mega Man ZX

Keep Hydrated

Yeah, this is going to be one of those where I talk about living in the desert.

There's a lot I love about the desert. Oh, sure, it's a hostile environment, particularly to pigment-challenged individuals of Irish Honky descent such as myself, and sure, those same honkies who have the least resistance to the sun's rays have decided for some reason to fill this region with concrete and asphalt to make it that much more unbearable, but there are still some very pretty things to be seen.

I've spent a few hours over the past couple of weeks handing out flyers for our company. I hate to be one of those guys who waves his degree around, but that's really not what I got it to do. But we need business, and there are a hell of a lot of new businesses opening within a mile radius of here, and the boss thinks I should be the guy who hands flyers out, so that's part of what I've been doing.

The first day, I overdid it: I thought I had sunscreen, but it turned out I didn't. Must not have packed any when I moved in February (which, all things considered, makes sense). So I went out and handed out flyers for three hours and got good and sunburned and chafed. I spent Memorial Day Weekend unable to walk comfortably. I am amused by the mental image of the tableau of a very sunburned guy going up to the counter at Target with sunscreen, aloe gel, and talc in his basket — no explanation necessary.

Since then, I've limited myself to 90 minutes of flyering a day, and of course it goes without saying that this 90 minutes must be complete before 10 AM because I'm not going out when there's an excessive heat warning in effect. But I haven't been out there the past few days because things have been so busy at the shop. Mixed blessing — I'd rather not be out there handing out flyers, but at the same time if I don't find time for it soon the boss is going to yell at me again.

I don't like sunscreen. It's greasy, smelly, and invariably gets in your eyes, even if the label proclaims it's non-greasy, unscented, and sweat-proof. But it beats being baked alive.

Dad also leant me a hat which once belonged to a family friend who died of cancer. I think that's pretty cool.

And handing out flyers isn't all bad. I dig the desert landscaping surrounding most of the buildings. Often I will hear a rustling in the bushes and see a large lizard come out.

Meantime, I haven't had much time to relax when I've been home from work — work on a computer all day, go home and work on a computer. See, my grandma's been rocking Windows 98 for the past 8 years, and since Microsoft has ended support for it, I decided I should probably upgrade her to XP.

Have you caught the mistake in my thinking?

That's right: the word upgrade.

Let me explain something. I have never had a Windows upgrade go well. 95 turned out to be incompatible with my processor, 98 hosed my filesystem (which is why there is no complete extant copy of KateStory IX), and XP hosed my partition table. ME…actually upgraded smoothly and gave me no trouble, but I think the fact that it installed Windows ME on my computer means it still did serious harm to my system.

So I should have known better. I shouldn't even have attempted the upgrade. I should have backed up her files to CD, wiped the drive, and done a clean install.

But I didn't. I attempted an upgrade. Which went fine until the reboot, at which point the installation hung. No error, just a hang at boot time.

So then I made my second mistake: I tried to use Recovery Console.

Specifically, I used fixboot. Which hosed my partition table. I wound up with what looked like a 10MB FAT12 partition with only one file on it. Knoppix showed more files, but they were all gibberish.

Daunted, I retreated to lick my wounds and study the problem before going back the next weekend to attempt a fix. I found a useful MBR tool on UBCD4Win, which got the filesystem looking good enough to run a chkdsk on. After that, the files were visible, but the damn thing still wouldn't boot no matter what I did or how many times I installed an OS on top of it. (And yes, the partition is set bootable.)

It was about this point where I hit the Eject button on the CD-ROM drive and it launched my CD across the room. It bears noting that this is not even a slot-loading drive, it's the kind with a tray. I have never seen anything like it in my entire life.

There comes a point in a project where you know you need to stop for the day. Seeing your Windows XP disc fly across the room is such a point.

So I brought the computer home to work on it here. (Grandma's is thirty miles from here, meaning I logged roughly 120 in my two round-trips this past weekend.) So far I've made little progress — my flying WinXP disc does not look to be in very good shape; I made a copy of it last night but it took hours to do, so I'm betting there was some serious trouble reading the data on it. Hopefully it somehow made a good copy anyway. I haven't tried it today because I've been busy trying to revdep-rebuild my Gentoo install, because I can't upgrade KDE until I recompile a bunch of programs that used to have ungif support, which is now deprecated because the patent on the GIF algorithm finally expired. (You see what software patents do? Do you see?)

Also I bought Grandma a new CD burner. Now I'm trying to figure out how to get the mail-in rebate on it. It is possible that I did not pick up the appropriate form and will have to go back to Fry's to get it. The fun never ends.

All in all, it's been a stressful month. But on the plus side, I haven't been mugged by a hooker at knife-point, so I guess that means I know at least one guy who's had a worse month than I have. Hey, count your blessings.


Also, I don't intend to make a habit of mixing business with this blog, but I've been working on a website for a local musician named Devon Bridgewater at nuancemusic.org. Nuance Music (AKA Nuance Jazz Trio) is a local jazz group consisting of Devon, Dick Curtis, and Joel DiBartolo, director of jazz studies at my alma mater.

Anyway, I'm just throwing that link out because Devon's looking to drum up some publicity to his site, and unfortunately his Google page rank is pretty low right now, so he needs all the links he can get. So spread the word around, and, most importantly, link to his site. (I might add it to my links page if I ever drum up the courage to dust off the cobwebs and update the damn thing.)

Once again, that page is Nuance Music.

Hell, while I'm at it, Google hasn't even listed any of the other pages on the site, so here are links to them too: gigs, press, jazz, weddings, gallery, corporate clients, festivals, contact, Spanish.


Reading: A Scanner Darkly. Hoping the movie doesn't suck.

Playing: Suikoden 5. Basically at this point the series is openly hostile to newcomers — this game took 7 hours to get interesting (still better than the 30 hours of 3 and the never of 4), and there's no way anybody would play that far without having a tremendous amount of goodwill left over from the first two games.