Cyberspace Winter 2011 Early Registration Deadline Tonight

This is just a reminder to those out there who enjoy the Cyberspace Open that registration closes tonight. It’s a fun contest, and a good way to spend a weekend. In a nutshell, you are given a prompt and you have a weekend to write a scene that would fit in a a feature-length screenplay that fits the prompt.

CORRECTION: Originally in this episode I said tonight was the deadline for entering. It turns out tonight is the deadline for early entry, which is cheaper. You can still register after today.

Even if you don’t pay to participate officially, I encourage the writerly types out there to play along. Just because you won’t be judged doesn’t mean you can’t have fun writing to the prompt.

As usual, I’ll be posting my round-one entry here. Even if I don’t make it to round two, I’ll write to that prompt as well, and post that here for the amusement of all.

See you in the winners’ circle!

Iron Angel

I bought Iron Angel by Alan Campbell last summer at the recommendation of a friend and fellow aspiring writer. It sat on my shelf for a while (I have a pretty depressing backlog right now, and that doesn’t even include a host of more literary works I know I should read at some point), but the time came for me to dive into a good fantasy novel, and there it was waiting for me.

Fantasy stories are subject to the same standards of criticism as any other genre — characters, plot, compelling language, and so forth — but there are a couple of genre-specific criteria against which they are measured as well. Foremost among those is world building. Fantasy writers get to throw out all the rules that govern our universe (except the rules of human interaction) and build new worlds from scratch. Anne Rice built such a compelling world that there have been (probably) hundreds of stories set in it by lesser writers who do not possess her world-building skills.

Mr. Campbell has built himself a hell of a world here. It’s a sort of Steam Punk/Fantasy mashup. Mashups are all the rage these days, but it’s still refreshing to find one that’s actually done well. Here we have a world with magic and whatnot, and also giant steam-powered war machines (imbued with human souls). The world is an Earth sandwich, with an unresponsive heaven above, expansionist hell below, and angels and demons slugging it out on mortal man’s turf. From the human point of view, there’s not a whole lot of difference between an angel and a minion of hell.

The cover of the book says “By the author of Scar Night.” In fact the book is a sequel. Had I stumbled into the middle of a series? The answer to that was a pretty clear ‘yes’. In the first chapters the author went to great lengths to bring me up to speed on the events of the previous book, and while a crash course is never as fun as a well-paced story, I was nevertheless encouraged by the author’s effort to make the book I was holding a stand-alone story. Specifically, I was confident that there would be an end to at least one major story line by the time I reached the back cover of the book.

About halfway through, I began to worry. Characters had been introduced but not revisited for hundreds of pages. The vectors of the characters’ storylines were parallel. I became more worried after a part of the story that goes like this:

Leader of Good Guys: You must not be caught! I’ll sacrifice myself so you can get away!
Unlikely Hero: OK.

Unlikely hero wanders through hell, avoiding capture. There is a section where he outsmarts a magical door. It’s a nice anecdote, the sort of thing that the Odyssey is composed of, but when the little mini-story is over, the larger story is advanced… not at all. (As I recall, Odysseus didn’t learn much either.) Then, to top it off:

Unlikely hero gets caught.

Now, the unlikely hero’s adventures could have been meaningful. UH might have learned a key fact that he could use later, or he could have an experience that would teach him about himself — he could find strength or expose a weakness. In this case, none of that happened. He had interesting adventures, but in the grand scheme, they mattered not at all.

After I got through that part, I started to worry. Spending so many pages on anecdotes that don’t move the plot does not indicate an author who intends to put any sort of closure at the end of the current volume. I checked the cover again, for anything like “Book two of…” but there was nothing to warn me that this book was dependent on others. OK, no worries; the story is entertaining and the prose is solid if not magical, Just enjoy the ride.

As an aside, in a long adventure story, ‘solid’ is often preferable to ‘magical’ when it comes to the prose. When you’re spinning a yarn, you don’t want your language upstaging your story. You want the words to disappear, the same way the letters do.

On we went. Campbell pulled out some pretty cool inventions, and a transparent train that bugged me immensely. Still, the story vectors were starting to converge, the sudden appearance on the scene of a new secret society was handled with brevity and grace, and it all came down to a final cataclysmic battle. We’ll get to that in a moment.

First I have a brief quibble about economics. Humans are slaughtered in this book. Lots of them. Legions of them. And down in hell their souls are chewed up and spit out, presumably reduced to ultimate nonexistence. At the rate things are going, the world would be depopulated in short order, and not long after that, hell would run out of souls to play with. I think on our current Earth, we send about 8500 souls down to hell on any given day. Iron Angel’s world is much less populous, yet the folks down in Hell chew through souls like they’re peanuts. Somewhere in there the demand curve has to kick in, and human life becomes more valuable in the eyes of both angels and demons.

Although, in this story human extinction is a real possibility, and that’s pretty cool. It’s just that neither side is making good use of available resources.

So: the final cataclysmic battle. I don’t want to give away too much, but…

It wasn’t final. It was a trap! The “book” (actually a volume) ends with the bad guys pulling a major coup and the real evil army arriving on the scene. We ran out of pages with not even a pretense of an ending. AAAAHHHHHHH!

So here we have a peeve of mine — a book that does not have an end at the end. At least most of the time when this happens the publisher has the grace to put “Book 2 of the Steampunk Angel series” or something like that on the cover. Not this time. “By the author of” does not communicate that you are not buying a complete story. Quite the opposite. This was not a novel. It was not a story. It was a well-written fragment. In the back pages where they tried to sell me the next installment, I found the words “book three.” HA! They knew all along it was simply an episode in a series, they just didn’t put that information on the cover.

Why would they hide that fact? There’s only one reason I can think of. They want to trick people like me into buying volume two. Man, this gets my goat. Mr. Campbell probably had no control over this; he wrote a big-ass story that took three volumes to tell, and sold it to unscrupulous people who actively hid that fact to the naïve book-buying public.

So, here’s the label I would put on the cover of this book: WARNING: This well-written and downright clever work has study hall at the beginning and CONTAINS NO END! The next book will have an end, we promise — and if you read this volume study hall next time will be really easy.

Personally, I think I’ll wait for the box set.

Note: if you use the above link to buy this book (or a Kindle, or a new car), I get a kickback.


The Nerf of These People!

On my second day of work, at 3:38 pm, the first shot was fired. Within moments my co-workers were bristling with sophisticated foam-dart-launching technology, and my first Nerf battle was underway. Someone loaned me a long, bolt-action sniper “rifle” with a magazine that held about ten darts. I didn’t dive into the thick of the conflict, but I did take opportune shots when targets presented themselves. I also experimented with bouncing shots off the ceiling, trying to hit my coworkers from above. That wasn’t very successful.

One thing was clear: If I intend to survive among Apple’s finance help line employees, I’d better start packing heat. Plastic-tipped foam heat, to be precise.

Toward that end the light of my life visited our local Target, where she discovered just how elaborate the Nerf arsenal has become. Not knowing what my co-workers were packing, she didn’t want me to have some completely over-the-top weapon if no one else was that crazy. So, she bought a pistol that fired suction-cup darts (which I have dubbed “hollow points”) and had a cool little laser-like sight mechanism.

My sweetie brought it home and, much like a ten-year-old on Christmas morning, I liberated the weapon from the confines of its packaging and checked it out.

The gun used a pneumatic plunger driven by a spring to propel the darts. Unfortunately, the plunger was not very good a plunging, and the darts barely made it out the end of the gun. I was thwarted by plastic/pneumatic impotence. Sad times.

My ever-supportive sweetie has made another trip to Target to trade in The Little Pistol that Couldn’t for another model. I have assured her that it will not be possible to upstage my co-workers. “Large magazine, short barrel,” I have told her.

When I get home this evening my new cubicle warfare equipment might be waiting for me. What will it be like? I can’t wait!


First Day of Work

I went to bed last night almost-employed, knowing that my start date would be soon. This morning I was awakened by the phone ringing, and learned that today was my first day. I got my act together, shoveled down a bowl of cereal, brushed my teeth and off I went.

I am now an Apple employee. Well, a contract employee working at Apple. I have my own cubicle, a phone (hooked up tomorrow), a laptop and big monitor, and a badge that gets me into buildings I couldn’t get into before. I’ll be putting together tools to help their Finance department to finance stuff more easily. On the side I’ll throw the WebKit team some code now and then.

I am told that tomorrow afternoon I may regret not having a nerf gun.


Sticky Music

My sweetie and I both woke up with Christmas songs stuck in our heads. For me, the song was “Toy Jackpot” by Blackalicious, with its super-catchy chorus “Is it time yet? Is it time? I can’t wait” in a smooth hip-hoppish vibe. My sweetie emerged from slumber with “10,000 Watts” by Crystal Antlers, a high-energy song about Christmas lights, made to be turned up loud.

Now I have “10,000 Watts” in my head, too.

While very different in sound, these songs have two things in common: They are both really cool, and they both came from Target. In fact, you’ve probably heard parts of the songs already, along with a bunch of others, in Target ads. It was after watching an ad with a song called “You’ll Never Find My Christmas” that the light of my life encouraged me to go in search of the original music to download.

Well, what do you know? There’s a whole Christmas album for download for free at, and there’s not a dud in the bunch. Target found a bunch of different up-and-coming bands and gave them a great opportunity, and got themselves some fun advertisements built around the music at the same time. To me, this seems like exploitation done right.

For the Ebenezer Scrooges among you: Yes, Target is a big, giant retail corporation, and I’ve just become a shill for them. Lighten up, would you? It’s Christmas! These are good songs you wouldn’t get to hear otherwise!

So hop on over and give a listen — you just might find your new holiday favorite.


Trying a Different Spam Filter

Every day, literally hundreds of spam comments are sent to this blog. I have a a couple lines of defense, and generally they work pretty well. My first defense is a product called Bad Behavior, which inspects incoming messages and blocks the ones that look malicious before the WordPress code is even started up. Stopping evil at this stage can save a lot of server resources, as well as prevent this site from being hijacked by an unknown WordPress vulnerability.

Comments that get through that layer are then inspected to see if they look suspicious. Ones that the inspection service doesn’t like get thrown into a bucket behind the scenes where I can inspect them and approve innocent comments that were mistakenly flagged as spam.

I have been using Akismet for that, and in general I’ve been pleased with the results. The only downside is that now there are so many suspicious comments that I’m afraid that I’ll miss actual legit comments that were improperly flagged. Scanning through a list of hundreds of comments each day is not effective and, really, not a good use of my time. So, I began to look for alternatives.

Defensio is similar to Akismet, in that comments are shipped off to some service somewhere and then returned with a grade. The main difference is in the administration interface that I see, where Defensio sorts the rejected spam comments to allow me to more quickly spot legitimate comments that were falsely flagged as spam.

You may have noticed a surge in the amount of spam around here. This is (I hope) a learning phase for Defensio, and eventually it will stop allowing 3% of the spam comments to get through. (Akismet is still running, but mostly in a “see? I told you so” capacity right now.) I’m a little confused, because some of the comments Defensio displays are rated at 100% spamminess by Defensio’s own service.

Please bear with me through this somewhat-more-spammy-than-usual phase. I’ll be checking for spam comments regularly, and watching to see if Defensio’s performance improves. Also, this is a particularly good time to leave comments, from a training-the-filter perspective.

A (Not So) Simple Task

Even the most reliable cars require occasional maintenance, like changing the battery. Happily, this is a very simple operation — unclamp, remove, replace, clamp, and away you go. Simple, right? Right? It’s not like it’s the kind of task that would take more than a week to accomplish.

A little more than a week ago I was working here in my office when my sweetie went out to run errands. The sound of the car starting wasn’t quite right, but she got it going and away she went. A couple hours later she called from her parents’ house. “My battery is dead. I’ll be home as soon as I get a jump start from Dad.”

The battery is the original that came with the car, ten years ago. Not terribly surprising that it needed replacing. (And it’s worth noting that this is the first trouble of any sort with the car.) I opened the hood to take a look-see. The negative terminal was badly corroded, along with some pieces that connected to it. The pair of nuts that clamped the connector onto the lead battery post were not really recognizable anymore. I realized it was going to be tricky to loosen them.

Although in the end it turns out there was no need; the clamp itself was cracked through. That explains the sudden loss of electricity, rather than a slow decay of battery performance. I would need a new battery terminal connector as well as a new battery.

I looked closer and realized that there were two parts connected to the old terminal – one a fairly typical heavy-gauge wire connected to the chassis nearby, as you will find in dang near every car, and another elbow-shaped copper piece that was fused into a plastic connector that had a pair of other plastic connectors snapped into it. A Dealer Part. The metal was badly corroded, and I thought it would be a good idea to replace that bit, too.

I tabled that thought, however, and ambled off to the local Kragen to get the new battery and a standard terminal connector. I brought them home and set to work loosening the nut that held all the pieces together.

I quickly realized that I didn’t have the tools to loosen a nut that has been corroded almost beyond recognition. Off I went to Sweetie’s Father’s house to borrow his socket set. Home again, to discover that the smaller sockets weren’t deep enough to get all the way down the shaft of the bolt and onto the nut. There were some box wrenches in the set, but they were all too big. I was faced with another decision. I judged that it was time I had a decent set of wrenches of my own, and so away once more I went, this time to the local Ace hardware.

After a long time considering options, it boiled down to two choices: a set of wrenches with both metric and SAE, or a set with a wider variety of SAE sizes. I didn’t think the metric-and-SAE set went small enough, so I went with the comprehensive SAE set (it also had a holder for storage, which in our current situation is a big plus).

Home once more with new wrenches (always good to have anyway), I dove back under the hood and discovered that Americans building cars in American plants are putting metric nuts in their cars now. While overall I’m behind this movement to get in sync with the rest of the world, I still didn’t have the right wrench. It was late, I was tired; I put some penetrating oil on the mess and resolved to finish with the car the next day.

The following day I took another trip to Ace and bought the metric version of the set of wrenches I’d bought the day before. I also bought a pair of vice-grips, in case things got ugly. Home again and back under the hood, things got ugly. The nuts were too corroded, and were chemically welded. The vice grips could lock on with mechanical ferocity, but the material of the nuts was not able to withstand the force necessary to unfreeze them.

During this operation I made another discovery. Normally the clamp that goes over the battery terminal is a separate piece that the ground wire bolts to. Not in this car. The broken metal strap was a contiguous piece crimped directly onto the ground wire. I figured I could work around that, but it was looking more and more like the other Dealer Part was not coming off the car intact. To the Internet I went.

There was no mention of a part like this on any Ford Web site. Finally in a Ford Escort owner’s group I found my answer: the part could only be obtained by buying an entire wiring harness for $350. Say what, now? Also the broken terminal strap that started this whole mess was only included in that $350 purchase.

We ruled out that option and I went back to unscrewing The Nuts That Were No Longer Nuts. Failure, fatigue, and another day lost ensued. That night I decided that bolt cutters were called for, but I wasn’t sure how to get them down into the recess where the nuts lay. Perhaps a little saw would be better. I called Father-of-Sweetie the next day and of course he had all those things. “Do you have a little Dremel tool?” I asked, suddenly realizing what the right tool for the job was.

Sparks fly as I cut through the reluctant bolt.

Sparks fly as I cut through the reluctant bolt.

We have a Dremel tool,” my sweetie informed me. Hot dog! I opened up the case, and there was a little cutting-wheel attachment, smiling up at me. It looked like a light at the end of a tunnel. On a gloomy Tuesday afternoon (the car first failed the previous Thursday), I opened the hood once again and set to work cutting the bolt, while being careful not to harm the Irreplaceable Dealer Part (IDP) any further. Sparks flew! Get the camera!” I hollered to my sweetie. She took some great shots. Now I wish I’d gotten more pictures up to this point, like a time-lapse of the slow aggregation of more and more tools.

Success! After cutting through nut and bolt about two millimeters above the surface of the IDP and then slowly carving away at that, at last the bolt came free! Now all I had to do was cut back the main ground terminal so it could be mounted on the new terminal strap, slip on the IDP, and go have a beer.

bits and pieces of the old terminal connector

bits and pieces of the old terminal connector


The place to connect the Irreplaceable Dealer Part to the new terminal connector wasn’t flat enough for the IDP to sit flush. It would have to do, I decided, and cranked down on it to get the best contact I could and forged ahead. Not very far ahead, as it turns out; I dropped one of the nuts for the new connector. It fell under the battery tray. Probes with a magnet were fruitless. Shaking the car didn’t free it. We couldn’t get to the damn nut. We were thwarted for another night.

I’d been thinking about using a good old-fashioned lead terminal connector anyway, rather than the steel one I’d first purchased, so while on another shopping mission we flew by Sears Automotive and got what I thought was exactly the ticket. We got home and I told my sweetie it would only be a few more minutes. Hah.

On with the lead connector, on with the… What the #$%[email protected]#! The corroded and truncated connector at the end of the main ground wire didn’t fit over the terminal post. *sigh* I used a screwdriver, twisting it in the hole, to widen the opening until I could just get it over the terminal. I was worried about that connector, though, corroded and abused as it was. I managed to get the IDP onto the clamping screw, and tightened everything down.

At last, the battery was installed.

I got in and the hazard lights blinked and the chime went “beep-beep… beep-beep” which I took as a sign that a) there was electricity, and b) the car was trying to tell us something. Like, that it had lost power and its electronics needed to readjust. I turned the key.

Nothing. Not even a click.

Well, crap. Back under the hood I went. Primary suspect: The used and abused ground connector. I cut the ground wire and stripped back the insulation. Holey moley – the copper was corroded right on up the wire, beneath the insulation. Powdery light-blue copper oxide fell like snow. I cleaned off what I could and clamped on a new connector that had come with the first terminal connector kit. I used parts from both kits to get the IDP bolted on with good contact as well. This was about as good as it was going to get without replacing the entire wiring harness. Key in ignition, lights came on, beepers beeped. I turned the key. Nothing. Not even a click.

Perhaps the battery didn’t have enough charge to turn over the starter. The Miata was standing nearby, so my sweetie and I pushed the Escort out into the gentle rain to the other end of the carport. We hooked up the jumper cables (using an entirely different ground point), waited a couple of minutes, then turned the key. I think you can guess what happened. Yep, lights flash, beeper beeps, turn the key and nothing — that’s what happened. We pushed the car back, managing the slight uphill better than I thought we would, and I turned once more to the Internet.

After striking out finding any sort of answer myself, I found, a place where, for a fee, I could ask a certified Ford mechanic what the heck was going on. I went through the preliminary steps, plunked down fifteen bucks, and asked my question to a guy named Chuck.

“Is it a dealer or aftermarket anti-theft device?” he asked.

“I specifically told the dealer I didn’t want any of that,” my sweetie said when I relayed the question.

“Well, you have one,” Chuck informed us. “You need to find the reset button.”

The anti-theft module we didn't want

The anti-theft module we didn't want

Long story (that had me contorting myself underneath the dashboard) short, we did have an anti-theft device, and it didn’t have a reset button. That was the part that the dealer was trying to sell my sweetie when she declined to be upsold.

To emphasize: Frontier Ford of San Jose sold my sweetie a car that would become completely disabled any time the battery was disconnected. What if she’d been out in the middle of nowhere when something happened to interrupt the electricity? What else might have activated the device? The irresponsibility of the dealer is simply mind-boggling. There really are no words to express the depth and breadth of my anger, and it pales next to the world-class ire my sweetie felt.

After a couple of hours tracing wires, we called it a night. At least we knew the problem. I would be able to remove the module, but I needed wire and connectors to restore wires that the anti-theft module interrupted. The next day I went out to the car again and got my only pleasant surprise of this whole endeavor: merely removing the plastic anti-theft module but leaving all the wiring in there actually allowed the car to start again. I’m a little surprised at this outcome, but I’m not questioning it.

When she heard her car start, my sweetie came down and hugged me and congratulated me on getting the damn thing fixed. Honestly, though, when you consider I made six trips, bought wrenches, vise-grips, multiple redundant parts, had my sweetie pushing a car in the rain, and torqued my back, all to change a battery, it doesn’t sound so great. But there it is.