Category: Stream of Consciousness

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.

Security Flaw Found in Door Technology: A Machinist Exclusive

Howdy, folks; it's yer old pal, Crispus T Muzzlewitt!

As you fellers well know, when I ain't writin' fer Salon's Machinist blog, I spend most o' my nights sleepin' on park benches or in boxcars. And as I have so often remarked, it's the good life -- except fer them damnable folk what live in houses. Always yammerin' on about how good they got it. "Hey Crispus," they'll say, "it sure is harder to get rained on with a roof over your head." Or "Hey, bum, you could sure use a shower." Or "Hey there, Mr. Muzzlewitt, it looks like somebody stole your bindle while you were passed out on that park bench."

Smug bastards. I hate them all so very, very much. With their clean clothes and their straight teeth and their "Hey Crispus, you'd probably have a lot fewer headaches in life if you had a bed to sleep in and if you didn't smell like gin and urine."

So it is with no small amount of glee that I announce my recent discovery that houses are actually no more secure than the wide open spaces where I rest these bones. Sit down, young'uns, and let me tell you a tale.

'Tweren't long ago I was approached by the right honorable representative of a local security firm, and he done dropped a bombshell on me: houses don't keep folk out at all!

And my esteemed colleague Battlin' Joe Frickinfrack confirmed he done saw it with his own two eyes: a seedy-lookin' feller walked right up to the front door o' one o' those fancy houses like you see sometimes, and when the owner unlocked the door, let him in, and then wandered off somewheres, why, the seedy-lookin' feller done robbed him blind. So you see, it's just like my bindle -- front doors don't offer you no more protection than a park bench in the moonlight on a mild autumn night.

Another thing: I keep hearin' about folk who keep their valuables in safes, 'cause they think it's safe, on account o' the name maybe. But truth is, safes ain't no safer'n a lady's purse. Sure, you see a lot more purse-snatchin's than safe-crackin's, but that's only 'cause more folk got purses than has safes -- safes just don't make no sense as a target; why crack a safe when it's so much easier to snatch a purse? But it can be done, and easy, too: Battlin' Joe says that there burglar I wuz talkin' 'bout a minute ago also managed to get all the money outta that man's safe, on account o' the man gave him the combination.

I talked with a gentleman from Norton Home Security about this problem, and he said that, rare as it may seem today, it'll be an epidemic in the comin' months, and every homeowner everywhere needs to go right out and buy a Norton Home Security System. He then went on to add that he has absolutely no conflict of interest in makin' that partic'lar recommendation. And shucks, I believed him, but just to be thorough, Salon sent out its star reporter, Judith Miller, an' she confirmed that her source has absolutely nothin' to gain by exaggeratin' the threat posed by this enemy.

So there you have it, you smug sumbitches, with all yer fancy "doors" and "walls" -- now we know the truth. Houses ain't no more secure than parks, 'cause you can unlock the front door and let somebody in; safes ain't no more secure than purses, 'cause you can tell people the combination and then they can crack them, and OSX is just as vulnerable as Windows, on account o' if you allow root access to a suspicious program it can do bad things to yer computer. So wipe them smirks off them damn faces; yer house ain't no safer than my bench nohow.

So that'll do fer now, but I reckon this'll be the first in a three-part series. Next time, I'll talk about how roofs are overrated 'cause rain still gets in if you knock giant holes in them with sledgehammers, and in our final installment, I'll examine how showering and that there underarm deodorant them rich folks use don't do nothin' to make you smell better if'n you rub pig shit all over yer body immediately after.

Thank you, and goodnight.

Hobo names supplied by John Hodgman.

Triple-Booting a Mac Pro

Updated 2007-10-14. Scroll down to where it says "Update 2007-10-14". I'd put a link here, but for some reason b2evolution will not let me use the "id" or "name" attributes; expect a presumably silly and useless "rant" on that subject very, very soon. (Update 2008-01-17: Switching to WordPress fixed the problem.)


So I got that Mac Pro I was talking about earlier. No, I still can't afford the thing, so if you notice me living a life of indentured servitude for the rest of my days, well...I'm Irish. We're used to it.

The bastard about being on the bleeding edge is that there aren't a whole lot of guides to walk you through your setup. For example, I found quite a number of guides on how to multiboot a MacBook Pro with 3 OS's on different partitions of the same drive, but approximately bupkis on how to do it on a Mac Pro with each OS on its own drive.

So, in case anyone winds up Googling for the same information I couldn't quite find, here's how I finally did it. Hopefully this'll make it easier for you than it was for me.

Installation and booting

I can't say for certain, but I think order of drives and order of installation are both important.

After some trial and error, I wound up laying my drives out like this:

Drive 1 is Kubuntu.
Drive 2 is OSX.
Drive 3 is Windows XP x64.

Leastways, that's how they're set up in hardware. For reasons I'm not altogether clear on, they show up in software as Kubuntu on sda, Windows on sdb, and OSX on sdc. Still more curiously, both the Kubuntu drive and the OSX drive are assigned SCSI ID 0,0,0. (Could be some holdover from the old master/slave days? Maybe the drives are on different controllers? Something to do with MBR vs. GPT? Is it because the Kubuntu drive is physically first but the Mac drive boots first? Don't know.)

Order of installation seems to be important too. I say this because my first time through, I installed Kubuntu, it ran fine, and then I installed Windows and Kubuntu wouldn't boot anymore. I'd click on the Linux icon and it would boot the wrong OS. (Actually, it still does; more on that later.) So, as with most things in life, everything was going great until I installed Windows.

But after a day and a half of banging my head against the wall, I finally got all 3 OS's moving by rearranging the drives (see above) and installing Windows first and then Kubuntu. (OSX, of course, was preinstalled.)

Things to keep in mind: since we're talking 64-bit Windows, the Boot Camp program is useless. You can ignore it. It might be useful for resizing your OSX partition since Windows insists, for no reason whatsoever, on writing system files to the first drive. I say "for no reason whatsoever" because you can move those files -- boot.ini , ntdetect.com , and ntldr -- to the drive Windows is installed on and it'll run just fine. There's more info at x(perts)64; that guide is specifically for dual-booting XP and Vista, but I found it useful anyway.

(Also, "the first drive" noted above is actually the second drive in my case, which caused a good deal of confusion; as I mentioned earlier, both the Kubuntu drive and the Mac drive show up as 0,0,0.)

It's also worth noting that the much-ballyhooed rEFIt doesn't work for me; I have to hold down Option at startup to get a working boot menu.

That menu gives me the following:
rEFIt, Windows, Windows, Windows
because EFI very helpfully assumes anything that's not Mac is Windows.

The first "Windows" is actually Kubuntu. The second gives me "Error loading operating system". I assume that the first "Windows" is the MBR of the drive and the second is the first partition, which is flagged bootable but doesn't have Grub on it.

The third "Windows" is actually Windows.

Now, rEFIt looks similar -- it offers "Boot Mac OS X from Mac", then "Boot Linux from HD", "Boot Legacy OS from HD", "Boot Windows from Partition 1", not always in that order -- but the last three all open the same OS, either Linux or Windows depending on which I booted more recently.

So I'm stuck with holding Option at boot and selecting the left Windows or the right Windows, but at least it works. I'm hoping future versions of rEFIt fix this problem.

Windows

Here's where you can find the necessary 64-bit drivers for Windows:

(Sources: Triple Boot thread on the Apple forums; Airport Driver thread on driverguide.com forums)

Kubuntu

Boot issues aside, this is the single most painless Linux installation I have ever experienced. I know there's no dearth of people singing the praises of Ubuntu and how close it is to being ready for desktop use, but I'm afraid I'm going to have to add my own redundant voice to the chorus. It was almost painless.

I still had to install the nVidia drivers by hand -- either get us some free drivers that work or stop being so damn concerned about ideological purity, guys; I need support for my video card, and this would make life pretty rough for the average user. But by my standards as a Linux vet...I didn't even have to touch xorg.conf. Kubuntu, how I love you.

Setting up wireless was another concern, especially when I read there was no native support for the adapter and I'd have to use ndiswrapper. Let me explain something about ndiswrapper: it was a bastard to install under Gentoo, and is responsible for every single kernel panic I've experienced in the past year and a half.

Under Kubuntu, on the other hand, it was over in minutes. And I don't want to jinx it, but it hasn't panicked my kernel yet.

There's a HowTo at ubuntuforums.org. Steps 1-3 are outdated now; Feisty comes with a current version of ndiswrapper, so you won't need to update it. As for the bcmwl5.inf file, it's the same one in the Dell package I linked above.

To get wireless to work immediately at boot, you'll also need to set your access point up. In Kubuntu, you do go to K → System Settings → Network Settings, click "Administrator Mode", enter your password, click wlan0, then Configure Interface, and enter the ESSID and WEP key. (DHCP and "Activate when computer starts" should already be set.)

I will note that on one of my reboots wireless didn't start up automatically and I had to run iwconfig myself. I think that's most likely due to signal interference in my apartment, but I can't say for sure at this point.

Sound support was the biggest problem I hit. The ALSA driver for Feisty doesn't support the Mac Pro's audio adapter.

After poking around for awhile, I decided that rather than bother with the individual package, I'd just go ahead and upgrade to Gutsy RC. After all, if you've even read this far, I'm guessing you're somebody who's not afraid of the letters "RC"; I'd advise you just to go with Gutsy from the start. (Course, by the time anybody actually reads this guide, I'm betting Gutsy final will be out.)

So far Gutsy's working just fine for me. (Update 2007-10-14: Except that I can't adjust volume from the keyboard. The bar goes between 0 and 11 but doesn't actually make any change in the volume. This appears to be a known bug in Gutsy at the moment.)

I'll edit this post if anything changes or if I find anything else out -- I have a Bluetooth keyboard and Mighty Mouse that I haven't bothered trying to set up in Kubuntu yet; I intended it more for my media center/emulation rig Mac Mini anyway. But if I get that, or anything else set up, I'll make a note of it here.

Hoping this has been a help to somebody. I don't usually do this, but when I find myself running into problems that aren't well-documented, I figure I may as well document them myself in the hopes that I can make life a little easier for the next guy.

Good luck, next guy.


Reading: Cat's Cradle again, the first in my "My favorite recently-deceased science fiction authors" theme. I think A Wrinkle in Time is probably next.


Update 2007-10-14: Accessing the Mac drive from Kubuntu

It's easy enough to mount an HFS+ volume under Linux (FS type is just "hfsplus" in mount or fstab), but accessing your home directory or mounting with write permissions is a little trickier.

To access your home directory on the Mac volume from Kubuntu, your Mac user account and your Linux user account need to have the same UID. There are a number of ways to do this; the easiest involve simply creating a new user, but I changed the UID on my Mac login to 1000 with no real trouble.

Just go into Applications/Utilites and run NetInfo Manager, click Users, then your username, then scroll down to uid and gid and change them both to 1000 (or whatever your UID is under Linux -- 1000 is, of course, the default number for the first user account).

After that, you'll need to log out and back in, pull up a terminal, do a sudo chown -R <username>:<group> /Users/<username>, and then log out and back in again.

My source on all this is the Gentoo wiki (even though I'm using Kubuntu).

That should give you write access to your home directory on the Mac drive from Linux. To get read access, you'll need to disable journaling.

It occurred to me that I'd like to keep journaling enabled in OSX and only disable it when I want to access the data from Kubuntu. I came up with a relatively simple solution: I wrote a script to enable journaling when OSX boots, and added a line to the shutdown script to disable it.

For the startup script, I created a directory called /Library/StartupItems/EnableJournaling containing a filepair called EnableJournaling and StartupParameters.plist, as follows:

StartupParameters.plist

{
Description = "Enable Journaling";
Provides = ("Journaling");
OrderPreference = "Late";
}

EnableJournaling

#!/bin/sh

. /etc/rc.common

# Enables journaling on Mac volume

ConsoleMessage "Enabling journaling on /Volumes/Mac"
diskutil enableJournal /Volumes/Mac
exit 0

(Don't forget to make this file executable.)

(Source: Greg Neagle's blog)

And I modified /etc/rc.shutdown to the following:

#!/bin/sh
# Copyright 1997-2004 Apple Computer, Inc.

. /etc/rc.common

if [ -f /etc/rc.shutdown.local ]; then
sh /etc/rc.shutdown.local
fi

SystemStarter stop

# ADD THIS LINE:
diskutil disableJournal /Volumes/Mac

kill -TERM 1

exit 0

Seems to work all right; I get journaling when I'm running OSX, and I get write access when I'm running Kubuntu. (Update 2007-11-05: It appears rc.shutdown is gone in Leopard. I'll update when I learn more.)

The bad news is that it doesn't work both ways. At present I have Kubuntu installed on a ReiserFS volume, which is unsupported by OSX. I could have made it an ext3 FS instead and installed the ext2 driver for OSX, but, well, if I wanted compatibility over performance, I probably wouldn't have gotten a Mac Pro.

Another Love Letter to Microsoft

Here is what I love about Windows 2000's network configuration.

First of all, if you uninstall a network card -- say, for example, because you are having trouble getting it to work, perhaps trouble that suspiciously coincides with the latest round of Microsoft patches --, and then reinstall that card, you will find that your network settings have defaulted back to DHCP instead of static IP.

So you'll have to re-enter your IP.

If the machine you are currently working on happens to be a Web server that uses 250 different IP's, you will have to re-enter your 250 IP's.

But Thad, you say, that is awesome! How could life possibly get any better?

Well, it may seem difficult, but it does get better.

You can only enter one IP at a time.

And you can't copy and paste.

And no matter how many dozen times you enter the netmask 255.255.252.0, it will always default to 255.255.255.0.

And and every single time you tell it to add a new IP, it pops the new IP window up right on top of the list of existing IP's. So that if it is, just for the sake of argument, 11:30 at goddamnfuckinghellshitcock night and you are entering 250 different addresses, you have to scroll a bar and then drag a window to see the last one you entered. In the absurdly unlikely event that you somehow have trouble keeping your place under those conditions.

Awesome enough for you?

Yes, I am sure you are saying. Yes, that is just incredibly, unspeakably awesome. There is no possible greater threshold for awesomeness.

Well shut up, you're wrong.

Let's say you make a mistake. Let's say you somehow enter the same IP address twice. I know, there is absolutely no way of that happening under the circumstances, but bear with me in this thought experiment.

Let's say you enter an IP twice. It doesn't like it when you do that.

But does it tell you when you enter the redundant IP? No, that would make too much sense. Does it just delete the redundant IP itself seeing as the two are identical? Of course not. That would be stupid. That would require someone at Microsoft to write an entire extra line of code.

But Thad, you may say, surely they must at least tell you which IP is redundant?

My friend, where's the fun in that? Why tell you when they can instead just make you strain your eyes staring at every single IP you've entered?

Oh, and also, there's no way of sorting them.

They don't pay me enough for this shit.

Escape from Crazytown

A thief comes during the night and steals 13 oxen.

Hello!

I have migrated my site to a new server!

Because it turns out that my previous hosting provider is a shining example of what I mentioned in my previous post about how all my friends are currently campaigning for the office of Mayor of Crazytown.

I would like to thank my previous hosting provider for three and a half years of hosting which was relatively free of capriciously removing the site and pretending it was an accident. And even before that, a redirect to the ol' BBS waaaaay back in '01. We had some good times, buddy, and I wish you all the best; take your ice cream cone and run with it.

On another topic, I would like to share some useful information with random people who have found this site with Google!

If you are in the process of migrating your site and don't want to ask for help from your hosting provider because your hosting provider is currently campaigning for the office of Mayor of Crazytown, and if you need to export your MySQL DB (say, for example, because it has all your blog data on it), here is the operative command:

mysqldump -u username -p dbname --single-transaction > foo.sql

That "--single-transaction" flag is key if you're getting the following error:

mysqldump: Got error: 1044: Access denied for user 'username'@'localhost' to database 'dbname' when using LOCK TABLES

Because what that generally means is you have read access for the DB, but you don't have permission to lock it.

Don't say I never gave you anything, random Googler.

(Also, now that I have migrated the site to a server I control, I can set the whole mysqldump thing up as a cron job. Whoo redundancy! Whoo redundancy!)

I hope that you, my loyal readers, as well as random Googlers, will continue to follow my very boring exploits as I continue to chronicle them -- this time on a new server.

Huzzah!

Nomenclature

I have come to absolutely loathe it when people refer to the Web as "the Internet" -- as in, "E-Mail's not working, but the Internet is."

This is, of course, like so many problems in the wonderful world of computers, entirely Microsoft's fault.

Seriously. Internet Explorer? What the fuck is that? It's an effing Web browser. I guess I can get "Explorer" as a synonym for "Browser" (remember, these are the same guys who had to change "Trash" to "Recycle Bin" and "Bookmarks" to "Favorites"), but "Web" and "Internet" are not synonymous, and fuck you guys for making everybody think they are.

Do you know how many people don't know what a Web browser is thanks to that nonsense? If I had a nickel for every time I'd told somebody to open her browser and heard "How do I do that? ...Oh, you mean I go to the Internet," I'd probably have enough money to buy Windows Vista Ultimate Limited Numbered Signature Edition (though not nearly enough to buy hardware to run it on).

And guess what? Microsoft is now trying very hard to obfuscate things even further by slapping the word "Windows" in front of everything. So now it's not just Internet Explorer anymore, it's Windows Internet Explorer (ironically, they picked this name right as they decoupled the program from Windows Explorer -- which, oh yeah, they repeatedly claimed was impossible during that whole antitrust suit thing).

I used to work at a university computer store, and not a day went by but somebody came in who didn't know the difference between Windows and Office. And it's shit like this -- like Windows Internet Explorer -- that is directly responsible for people not being able to understand the difference between an operating system and a fucking Office Suite -- or, in this case, an operating system, a Web browser, and the Internet.

At least they're not calling it Windows Office -- yet.

Buffaloes in the House!

Arizona's Fifth Congressional District -- the Fightin' Fifth!

I was born there. I've lived most of my life there. I went to high school there -- more on that in a bit -- and I still spend a solid chunk of my time there most weekends. I live a ways northwest of there at the moment, but my permanent address is there and that's where I'm registered to vote. It's my district. And Tempe may not be my favorite place on Earth, but it's my hometown.

So, like most people from Tempe, regardless of political party or stripe, I like Harry Mitchell. He's widely regarded as the greatest mayor the city ever had; City Hall is named after him and has a 30-foot-high abstract statue of him out front. He and I went to the same high school, forty-some years apart, and he was a teacher there, though he retired four years before I started there.

In short, the man was a dedicated educator, and a good mayor, a bipartisan type -- in the Bill Clinton "reach across the aisle and accomplish things" sense, not the Joe Lieberman "capitulate to your opponents' every whim and say that criticism of the President imperils the nation" sense. He's still pretty moderate for my frothing-at-the-mouth liberal tendencies, but he's a good guy. Frankly I'd have voted for just about anybody over Hayworth, but -- in this race, at least -- it wasn't enough just to be the Democratic candidate. Harry won because he had Tempe at his back, the Democrats and Republicans alike, and because he got the endorsement of the Arizona Republic -- no small feat given that they endorsed Hayworth the last six times he ran. But with JD balls-deep in the Abramoff scandal, seen as an extremist on immigration even by Arizona standards, and widely regarded as a partisan bully (his last set of campaign ads included one that said Harry Mitchell was soft on child molesters -- the old Rovian tactic of trying to turn an opponent's greatest strength into a liability, but in this case executed extremely clumsily and backfiring spectacularly), a guy with bipartisan appeal like Harry was just what District 5 wanted.

Harry's also had the class not to declare himself the winner until all the absentee, provisional, and early ballots are counted. Which I appreciate, considering mine's in that stack somewhere. And even if it weren't, well, I'm a fan of democracy and, you know, counting votes.

...Speaking of immigration, I'm much less thrilled to report that all three of our immigrant-scapegoating propositions seem to have passed. (ThehTUHKerJUHBS!) But -- and it's a close call, with ballots still being counted -- it looks like the anti-gay amendment failed. 107 was disguised as a proposition banning gay marriage, but gay marriage is already banned in Arizona -- what it was really about was banning benefits for unmarried couples, whether gay or straight. The only reason it was even close is that it pretended to be something it wasn't -- like the "limit the government's power of imminent domain" prop that passed, which actually means if I don't want a corporation polluting my neighborhood, I have to pay him off based on hypothetical lost profits. Or, to be fair, the winner of the Best Orwellian Name contest, the Non-Smoker Protection Act, which was funded by big tobacco, which the voters had the good sense to see through and vote down.

Minimum wage is up too. And about to go up on a federal level, now that the Dems have the House.

I'm sure I'll have plenty more to say about this later. And I'm sure my cynicism will eventually settle back in. But at the moment, I can call myself a Democrat without any feelings of self-loathing for a change -- and really, that's a great place to start.

The Old Stomping Grounds

October was a busy damn month. Five couples I know -- five! -- got married. I attended three of the weddings.

The first -- technically at the tail-end of September -- involved a road trip to San Diego with Brad, Ian, and Ben to attend Jon and Gina's wedding.

Now, let me start by saying that San Diego is one of my favorite places on Earth.

And let me add that Jon and Gina are my favorite couple. Those kids are gonna do all right.

And let me finish by saying that we arrived at 3AM, picked up Jon, and took him back to our hotel room for 40's and Mario Kart. I don't drink 40's, but I'm not about to refuse the request of a groom 31 hours before his wedding.

I remember very little of the remainder of that morning, but I do remember that Jon and I totally owned at Mario Kart. Just like old times.

Then I hopped a plane back to Arizona to marry my cousin.

...As in performed the ceremony. But yes, I opened with that joke.

You know, it's been a long time since we really hung out and chatted, but the last time I saw her she was really into the whole church scene -- I didn't really expect her to invite a secular humanist to perform her wedding. But it went off pretty well -- and yeah, I quoted scripture (you know, that "love is patient" bit's pretty all right, actually), but I kept my humanist street cred by throwing some Bucky Fuller in there too ("love is metaphysical gravity," baby -- bam!).

It was also very much an Irish wedding. In that people got hammered and were told to leave by security.

The third was...rather abrupt and unexpected, but not entirely unprecedented. I did not attend because I had about a week and a half's notice, and it was the day before...

The fourth, in Sedona -- another of the most beautiful damn places in the world -- where they made us dress up in goddamn medieval attire, but also there was homebrewed beer and mead so I definitely think it was a net gain. Plus I reused my costume for Halloween, which was good because I'd been Brodie from 2001 through 2005 and I really needed something new.

Also there was a misunderstanding with my hotel reservation, because hotels.com tried to tell me that Munds Park was 15 miles away from Sedona. I can't prove anything, but I'm pretty damn sure MapQuest was to blame.

Switching gears, last weekend I went on back up to Flagstaff to see the old Rocky cast perform, and I swear that a visit to Flagstaff is just good for the soul. I stepped out of my car and at the very first breath of fresh air my life felt monumentally better.

I got me a room at the Super 8, crossed the street, and then walked the length of campus from north to south. Let's get one thing straight -- NAU is trying, hard, to be ASU Jr. There's construction everywhere you turn, the roads are FUBAR, and there's no parking anywhere. Oh, and of course the front page of the school paper is talking about another goddamn tuition hike.

The campus has changed a bit, but, contrary to what I was given to understand by Ian, the field back behind Gillenwater -- which I have waxed philosophical about on prior occasion -- is still there. He must've been talking about a different field that got paved over.

The modified engineering building is much prettier than the old one. And the new business building that used to be the anthro building is pretty damn cool.

I went to Burritos Fiesta, and ran into a friend I'd been meaning to see. The last time I saw her was sort of a downer, so repairing that breach was important to me. That worked out really well, and that alone was worth the trip.

The next day I grabbed a bite of lunch with an old classmate, and then watched The Muppet Show on DVD and went to dinner at the Beaver Street Brewery. Then I hit the old theatre on Beaver and Cherry for the midnight showing of The Rocky Horror Picture Show. I went downstairs to greet the cast and determined that the most nonchalant position to be discovered in was on the couch in the green room, obscured by a clothing rack and with my face half-covered by my hood (medieval attire, remember). I was told I resembled a Sith Lord.

They worked me into the preshow, where I did something that they would later tell me they found a little shocking. And let me tell you, getting your old Rocky Horror cast to say, "Man, I can't believe you did that!" is one of life's richest rewards.

And then I went out to a makeshift cast party afterward, with two old friends and two new ones, drank Corona, and watched Shock Treatment. As always, Tami and I enjoyed it and nobody else did.

At 7:30 my eyes were crusting over and I could barely keep them open. I decided I could hold out no longer and went back to my motel room, grabbed a two-hour nap, showered, checked out, and went to breakfast at Martann's, which, as always on a Sunday morning, was completely packed and had only one waitress on duty. If I hadn't been craving one of their enchiladas with the fried egg on top since I'd started the trip, I wouldn't have gone, let alone stayed the hour and a half or so it took me to get and eat my food. On the plus side, as I took one of my two trips back to the car to feed the meter, I ran into two women I knew from high school. We BS'ed a bit and they told me they'd just attended a wedding of some old friends of ours. (I'm guessing about half of you have been wondering this whole time what the hell happened to the fifth wedding, and the other half are now going, Oh right! There was a fifth wedding!) They were but the first of a cavalcade of familiar faces I ran into on my way out of town.

I managed to ingest enough coffee and tea to get me home, but by the end of the trip I was just about hitting the ol' caffeine crash. I grabbed me another two-hour nap and then kicked back awhile (Ben came over to visit) and finally went back to bed.

But I tell you, it was a beautiful damn weekend and it left me in really high spirits. So high that I spent the next day blocking IP's on our mailserver, whose SMTP port was getting hammered so hard by spam attempts as to result in a goddamn DoS, and still went home feeling good.

Flagstaff's got that kind of effect on me I guess. I should probably go back soon.

But in the meantime, it's good to be back in the valley so's I can vote for Harry Mitchell. Go Harry!

Wiggum

The East Valley has picked up a pair of serial killers, and I can't wake up to NPR in the morning without hearing about them.

Tuesday morning I woke up to the shocking announcement that the Baseline Killer may be concealing his identity by not always wearing the same hat.

"This is Papa Bear. Put out an APB for a male suspect, driving a...car of some sort, heading in the direction of, uh, you know, that place that sells chili. Suspect is hatless. Repeat, hatless."

Now, judging by an article in The Arizona Republic, it sounds like the Phoenix PD has actually gone a long way toward narrowing down the killer's physical appearance, but really, is the fact that he might sometimes wear a different hat newsworthy?

"Holy shit, it's that serial killer I heard about on the news! ...No, wait, that can't be him; where's his fishing hat?"


Reading: Finished American Gods; on to Catch-22. Finally working my way through my miles-high "to-read" list.

When a City Goes to War...

I'm involved, off and on, in a lengthy project to try and consolidate my nearly 20 years' worth of comics, bag, board, and sort them. (Precisely how to sort them presents a rub -- presumably first by year and then by title, but figuring out how many months' worth of comics will fit in any given box creates a huge headache. And many comics do not print the goddamn year on the cover.)

Tonight's run through about 100 different comics from ten to fifteen years ago was largely discouraging -- most of them were from my unfortunate X-Men phase. (There was even a Clone Saga ish of Spidey in there.) As I started going through issues of Generation X, I felt a burning desire to apologize to myself for all the stupid, stupid things that seemed like a good idea when I was a teenager. I'm big on taking responsibility for my mistakes, no matter how young and misguided I was when I made them.

But then I hit on my nearly-complete run of TMNT: City at War and that reminded me that, dammit, I made mistakes, but I still had pretty damn good judgement at times, too. It's a source of constant consternation to me that I am missing one issue of that arc -- #56, to be exact.

If you have a copy you want to part with, let me know. I'll trade you a #48, as I have two copies of it for some reason.

Meantime, guess I'll keep an eye on eBay -- I was briefly thrilled to see somebody selling a TMNT #56 there, but it turned out to be the Archie comic, not the Mirage one.

And I really should start checking out comic shops in my neighborhood. I've still been shopping at my old store in Tempe despite it being 30 miles away, because they've been good to me over the past ten years or more and I am a loyal customer. But they don't have a great back issue selection, and they're also 30 miles away.

Edit, 2007-05-20: I got a message today from somebody asking if I was still looking for TMNT #56. The answer is no; I found it -- and filled the rest of the gaps in my vol 1 collection, too -- on nostalgiazone.com a few months back. Thanks anyway.

I am still missing the bulk of the original Tales series, so if anyone has any hot tips on those, let me know. Thanks.