Drupal and WordPress

There is a lot of talk at Drupalcon about how they stack up against the competition. We are in the weeding-out phase of the Web Content Management System market, when most of the myriad contenders will fall by the wayside. Those who make a living building and using Drupal naturally want their platform to be among the survivors.

Drupal, according to their own assessment, powers about 1% of the Work Wide Web. The Drupalistas estimate that WordPress accounts for just north of 8%. There is another system called Joomla that is roughly even with Drupal. These three look to be the survivors in the Great-Web-site-in-a-box sweepstakes.

Honestly, I was a little surprised that Drupal considered WordPress to be a competitor. Sure, they both want to be used for more and more of the Web, but does Lego consider Tonka to be a competitor? Here’s the deal: Drupal says WordPress is the most popular Content Management System (CMS). I say WordPress is not a CMS at all.

That’s not to say WordPress isn’t a fine tool, in fact, this blog uses WordPress. But would I use WordPress for my current paying gig? No. Honestly I dread the day when WordPress becomes a big, fancy CMS like Drupal. That’s not what it’s for. There is a reason WordPress is the big dog, and it’s not because you can build sophisticated Web applications with it, it’s because you can install WordPress, find a nice skin, and get your stuff on the Web in an attractive and intuitive way. WordPress is a publishing platform, and a pretty good one at that.

Drupal, on the other hand, begins to shine at the next level up in terms of sophistication. It is the Lego to WordPress’ Tonka. There is considerably more design up front, and much critical functionality must be added as external modules that don’t come with the main (“core”) code. (Some of these things will be added to core in Drupal 7.) Maintenance of a Drupal site is more labor-intensive as well, as updating the parts is more complicated than with WordPress.

In exchange for the added complexity, you get a lot more flexibility. That’s not to say that WordPress can’t be used to make sophisticated Web sites, but generally speaking WordPress is optimized in putting a defined sort of information (like blog posts) on the screen in a very flexible way. There are hundreds of ways to add other pre-defined data types (for instance, there are shopping cart plugins), and all that works really well and most people are going to be happy with that.

Drupal is the tool you use when the data types in WordPress won’t do it for you. In Drupal you are building a Web application, where with WordPress you are using a Web application. Step one in building a site with Drupal is designing the data and the relationships between the various data types. Drupal allows you to design your data without having to design your database. Some of the ways Drupal implements your data design are pretty hokey, but it works. You can create pretty sophisticated data models without knowing a thing about how a database works – or even what kind of database you’re using. (In fact, you’re better off not knowing how the data is structured, because things can move unexpectedly as you tweak your design.) You are also presented with an almost dizzying set of options to decide who is allowed to see, edit, or create each little piece of each data type you define.

Once you get your content types defined, then you can move on to how to get actual content into the system (handled pretty much automatically), and how to present specific subsets of your data on the screen. To get at the data one often uses views, which are built using a tool that generates (frustratingly limited) database queries and then processes the results with a gratifying set of options tailored to each data type.

Then it comes time to put stuff on the screen. To control where things go and when, there are regions, blocks, panels, panes, pages, and so forth in a nonintuitive overlapping of roles. Blocks and regions and pages are built in, but the profusion of other options is a testament to the limited way they work together. For all the flexibility of Drupal, GUI building is still clumsy, though getting better (I’m told).

At last we come to the task of making the output pretty. For this purpose Drupal uses a maze of performance-sucking php template files that are invoked using a system of names that allows one to set up the display of information at just about any level of granularity. Many of these templates go hand-in-hand with specially-named preprocessor functions that allow you to customize how data is prepared for presentation.

Drupal separated the preparation of data and the presentation of data to allow people with different skill sets to do the different tasks. The template files can be done with only a minimal amount of php, while the preprocessors are where the real logic is implemented, unencumbered by HTML and CSS. This also has the effect of putting the risky code out of reach of those who aren’t expert in Web security. All good things.

I used the phrase “performance-sucking” above, and I meant it. The designers of Drupal made a conscious decision to emphasize good architecture and flexibility over fast execution. This was the same decision Google faced a few years back, as they developed ever-more-sophisticated pattern matching algorithms. While competitors kept things simple to reduce server load, the folks at Google decided that the cost of processing cycles and storage was tending toward free, and chose to emphasize the quality of the information they provided instead. Similarly, Drupal has decided to make things in a structurally sound way and spend the processor cycles and disk reads necessary to support that.

Drupal 7 will be even slower, but will be more scalable (they say). What that means is that although the software is not as fast as it could be, its behavior is predictable as demand increases, and it is easer to scale up your site as things go huge. Good structure pays greater and greater dividends as things get bigger.

All that stuff Drupal has makes it a more complicated to get up and running, and for a simple site (or even one of moderate complexity but with a relatively straightforward data model), WordPress is going to get you to the promised land with a lot less pain.

I am led to believe that the WordPress community feels it needs to compete with Drupal just as much as Drupal thinks they need to compete with WordPress. Toward this end WordPress 3.0 will have new features that answer some of Drupal’s flexibility advantages. All I can say is “PLEASE, WordPress, don’t try to be everything Drupal is.” That WordPress is not everything Drupal is constitutes its greatest advantage. Stay with your market, WordPress!

Drupalcon Day 1 – notes from the floor

I’m working on a project right now that is based on a Web development platform called Drupal. I have a long editorial episode building in my head concerning Drupal and competing platforms for Web development, but today I’m going to write this episode assuming you already know what Drupal is and how it works. (This is also how the documentation for Drupal is written.)

Once I arrived and registered, I looked over the program to decide which seminars I would attend. I looked down the list and realized I already knew what most of the seminars were discussing. Some of the seminars, I could have been the presenter. I realized that the cross-section of stuff I know about Drupal probably qualifies me as a Drupal expert now.

Still, there’s always new stuff to learn. I decided to dedicate my day to security. There are a lot of ways to break a Web site these days.

Before the security sessions there was the keynote address by the guy who invented Drupal in his dorm room in Antwerp ten years ago. He is still holder of the vision for the project, and hearing him speak I have to say that the project is in good hands. He knows there are challenges ahead, and he was an excellent cheerleader for open source, and for encouraging everyone who uses Drupal to give back to the community. Currently they are trying to release the next major upgrade, something they absolutely must have, and soon (more on that in a bit). “There are 114 critical bugs to fix,” he said (or something like this), “If we break into teams right now we can have them fixed by the end of the day. So, we’re locking the doors…”

There was a laugh, but his point was a good one. Rather than wait eagerly for the release, the Drupal community should be actively making it happen.

He also mentioned that 1% of the Web is now powered by Drupal. That’s pretty dang impressive (until you compare it to WordPress). It’s difficult to call his methods for estimating that 1% as scientific, but whatever that number is, I can tell you that it could be a lot higher except for one thing: This software induces more WTF? moments than any other development platform I’ve ever used. Novices who come to the platform install the software, stare blankly at the screen, click things, and give up and move on to a more intuitive product. It would be impossible to measure how many adoptions they have lost because of that initial Now What? moment, but it’s significant I promise you.

On a related note, employment opportunities for Drupal experts is on the rise. People who have worked their way through the WTF to where they can be productive with the platform are in demand. I can now navigate and decode the documentation (I think some of the writers of the documentation are so steeped in the Drupal Way that they don’t even realize they are writing in code), and that puts me in good position to find work. When the out-of-box experience is improved (a major thrust of Drupal 7), my “expert” status will be less lucrative.

Speaking of the Drupal Way: At the risk of being overly general, these guys are more sensitive than even Mac people when it comes to hearing criticism about their platform. Also, there were easily more Macs in evidence than Windows laptops. Perhaps that is because we are on Apple’s home turf here, but I think that Mac, with its handy Unix underpinnings, is finding a sweet spot in the Web design world, with cachet among the designers as well as unix (the os of the Web) for the übergeeks. (The only apple I brought to the convention, I ate. I have Ol’ Pokey charging up, however, to see if it’s game for one last field trip before its ten-year-old video system gives up entirely.)

Back to the keynote: Mr. Buytaert, while talking about the future of Drupal, mentioned that as they got bigger, there would be people for whom using Drupal would be a day job! They wouldn’t be using it just for the love of it, they would think of it as just another tool to get their job done. Mr. Buytaert, welcome to 2008. Those people are now your market, if you want to meet your stated goals for growth.

One thing I’ll say for the guy, he really seems driven by the simple desire to make Drupal the best. He’s probably wealthy now, but commercial success just doesn’t seem to be what motivates him. He wants to make his baby better and better and world domination is simply a way to measure how well he’s doing. It’s refreshing to hear from someone like that.

As for the security sessions, I think this best sums it up (this link was given in one of the seminars):

xkcd 327

A note of explanation for the less-geeky (which you can skip): When a programmer is careless, people can put a string in any field on a site and cause database commands to be executed. In the comic, the name “Robert’); DROP TABLE Students;–” will cause the database the table named ‘Students’, obliterating their records. The ‘); tells the database that the command to add the name is finished, then the rest of the text is treated as a new command. Aren’t you glad you asked?

I also learned just what a risk it is to link to an image the way I just did. The owner of that site can now attack my blog. Ah, the irony.

I did learn some useful stuff in the seminars, and just in time, too. I’m really glad I went.

1

Some Questions Best Left Unanswered

This morning my sweetie and I were discussing schedules, which today involved trains. I mentioned the possibility that a train could run late, to which the light of my life asked, “Why would a train run late? It’s not like they have to worry about traffic.”

This evening, as I was boarding the train in question, the conductor said, “we’ve had another bomb threat.”

Cyberspace Open: Immortal Flesh

Time’s up, pencils down! The writing part of round one is over; now the waiting part begins. As I did last time, I have posted my entry below. As with last time, there are a couple of lines I’d like back. One of them I tweaked about a hundred times, read out loud in Igon’s voice, fiddled, twisted, and never got right. In the harsh light of morning I realize that when that happens it’s not usually the words causing trouble, but the idea they are trying to represent. Igon’s just not saying the right thing just then.

There are a couple of places where I flirt with As-You-Know-Bobs — things people say to each other that they both already know as an artificial way to inform the audience. They wouldn’t be necessary if this scene had the context of the larger story around it, but I think here they work to provide needed information about the core ideas in the story.

For your remindification, here’s the prompt that all challengers were to write to:

Your protagonist is crushed. His or her plans have been dashed; his objective now appears impossible. And yet if he throws in the towel, bad things will happen. Write a scene in which a mentor, friend, love interest or enemy rallies or provokes your protagonist in an unexpected way. Be sure to give us your best dialogue here as your protagonist comes around and rises – or falls — to the occasion.

And here’s what I did with it. Enjoy! (Warning: there’s a bit of foul language ahead.)

INT. DIVE BAR – LATE NIGHT
DEEK (26, slender, scruffy) slumps on his barstool, toying idly with an empty longneck. The bar is dim, neon lights splash reds and blues about. There is no one else sitting at the bar.
Deek catches the bartender’s eye and raises a finger. The bartender shakes his head.
BARTENDER
I think you’ve had enough.
DEEK
I’m not even buzzed.
The bartender glances at Deek’s tab.
BARTENDER
Dude, you’ve had ten beers.
DEEK
Then you better bring me something stronger.
BARTENDER
Tough day, huh?
Deek is starting to lose it, holding back tears, clinging white-knuckled to his empty. The bartender nods.
BARTENDER (CONT’D)
OK, gimme your keys and I’ll let you have another.
Deek snorts and reaches into the back pocket of his jeans. He pulls out a card and slaps it on the bartop with a bang.
BARTENDER (CONT’D)
What’s this?
DEEK
It’s my fuckin’ bus pass. I’m a fuckin’ superhero and I don’t even have a fuckin’ car.
The bartender steps back; the camaraderie he was trying to foster is broken.
BARTENDER
What’ll it be?
DEEK
You got any rat poison?
The bartender laughs nervously and wipes down a section of bartop.
DEEK (CONT’D)
Probably wouldn’t kill me anyway. Just gimme another beer.
The bartender pops a longneck and sets it in front of Deek.
BARTENDER
And for you, sir?
Deek wheels and discovers a man sitting next to him. A vampire. Igon is withered but healthy, impeccably dressed. Deek leaps off his stool, landing gracefully while the stool clatters to the floor.
BARTENDER (CONT’D)
That’s it, buddy, you’re done.
Deek is trying to control his breathing, never taking his eyes off the vampire. Igon touches the bartender’s arm. He looks directly into the bartender’s eyes.
IGON
It’s all right. I’ll have whatever passes for Scotch in this place. One for my friend as well.
(to Deek)
I’m just here to talk.
DEEK
I think I should be going.
IGON
Don’t be foolish. If you leave, you force me into actions we would both rather avoid.
Igon takes the two highballs and heads to a table in the corner. Hesitantly Deek picks up his stool and retrieves his beer. He follows to where Igon is seated. He hesitates.
IGON (CONT’D)
If I wanted you dead, you would be dead already.
Deek nods and slides into the chair opposite Igon. He accepts his drink, sets his beer next to it. They sit in silence for a moment.
DEEK
So, talk.
Igon smiles apologetically. His tone is grandfatherly.
IGON
Forgive me; it is easy to forget how you mortals hear the ticking of a clock in every heartbeat.
He sips from his glass, finds the Scotch adequate.
IGON (CONT’D)
I have two problems, Mr. Kramer. You are one of them.
DEEK
You have my sympathy.
IGON
You are also a potential solution to my other problem.
DEEK
Is your other problem a vampire?
Igon smiles. Deek has seen right to the heart of the matter.
IGON
Yes. A very old, very powerful vampire. My only true rival. I would like him dead.
DEEK
Why don’t you do it yourself?
IGON
We each have an aura, Mr. Kramer. A vibration. A smell. When you absorb the power of another vampire you inherit traces of that aura as well. I can hardly appear in council reeking of a vampire who has gone missing. I can already smell that French bastard Henri on you, and you still have a lot of him left to consume.
Igon leans in, a dangerous fire in his eye.
IGON (CONT’D)
Vampires believe they are immortal, Mr. Kramer, but you and I know the secret. We have taken the power of others and made it our own.
Deek’s eyes widen as he realizes that Igon has eaten the flesh of other vampires.
IGON (CONT’D)
Don’t look so shocked, boy. This is about power.
DEEK
If I kill this guy, what’s in it for me?
IGON
I will allow you to live.
Deek stares down at his hands on the table.
DEEK
You’ll have to do better than that.
IGON
Well, then, let us haggle. What would you like? Wealth? Power?
(pause)
Sex?
Igon grins and lowers his voice conspiratorially.
IGON (CONT’D)
Fernando has an impressive harem. Very talented. You could choose one for yourself, with my compliments. Your very own vampire concubine.
DEEK
I want Jody back.
IGON
The girl you killed?
DEEK
It was an accident!
IGON
It was careless.
Igon narrows his eyes, measuring Deek.
IGON (CONT’D)
How would you feel if your girlfriend were a vampire?
DEEK
You can –
Igon raises his hand, forestalling Deek’s question.
IGON
I don’t know. It has never been done before. But I am a man of science. The idea intrigues me.
Igon thinks through the intricacies of the operation.
IGON (CONT’D)
It would probably kill the vampire who attempted the conversion.
Deek’s new hope is crushed. Igon smiles and pats his arm.
IGON (CONT’D)
No cause for worry, my boy. I always keep an extra vampire or two around for just such contingencies.
DEEK
You would still have one problem.
IGON
A cogent observation. Luckily for you, I have many enemies. As long as I can trust you to kill only the vampires I specify, I can make sure you have plenty to eat.
DEEK
And Jody? You’ll help her?
IGON
What if I did? If your friend were hungry, would you help her hunt? Would you murder a human to help a vampire?
Deek swallows but finds the answer.
DEEK
Yes.
Igon leans back and smiles warmly. He raises his glass.
IGON
To a long and productive partnership.
Deek picks up his own glass, gestures, and drains it.
2

Home Stretch

I have my entry almost ready to submit, and I have to say it’s turning into a pretty powerful scene. I thought of submitting now to prevent myself from editing the soul out of the piece the way I did last time, but I’m going to read the critique I got last time, then go over the current entry once more with the specific goal of editing more soul into it. I think it still needs a little kick to put it into the top 100.

It’s in the verbs, baby. Soul is in the verbs.

I’ve received several notes of encouragement from hither and yon, including one offer to have a shot of absinthe on my behalf. Now that’s support! After time has expired I will post my entry here, to see what you all think of it. In the end I went with writing the scene my novel needs, and the twist I came up with this weekend to make the scene work also provides some excellent grist for the novel. So, even if I don’t win fame and fortune in the contest, my story will benefit.

Update:
OK, I’ve submitted! 14 hours early, in fact. That doesn’t earn me extra points with the judges but it does stop me from driving myself crazy over every damn word for the next forthour. Thanks once again for the friends who sent their support, and especially those who helped me decide which scene to use and provided helpful feedback. The result is solid, but does it sparkle? Does it change the way people think about film as an art form?

Well, no. But it’s not bad. I will post it here once submissions are closed.

Let the Writing Begin!

Here’s the prompt. Talk among yourselves. I’ll be brainstorming for a little while.

Your protagonist is crushed. His or her plans have been dashed; his objective now appears impossible. And yet if he throws in the towel, bad things will happen. Write a scene in which a mentor, friend, love interest or enemy rallies or provokes your protagonist in an unexpected way. Be sure to give us your best dialogue here as your protagonist comes around and rises – or falls — to the occasion.

* * *

Results of my musings, one day later.

I think one movie that captures this scene particularly well is Happy Gillmore, when his “Happy Place” is overrun by the evil forces that are dogging him. You have to appreciate a flick that can make that dark moment so entertaining. So far, my attempts to come up with a lighter scenario have come up empty.

Interestingly, this prompt is a scene that the novel I’m working on right now desperately needs. So there’s the whole two-birds-with-one-stone synergy going on. I’ll be drafting that scene tonight. What’s hanging me up right now is the word ‘unexpected’ in the prompt. I know when I find just the right button to push on the protagonist that it will be really sweet.

I just finished a rough draft of my other candidate and I’m pretty happy with the way it turned out. Still needs some work, and this time I’ll pay special attention to accentuating the individuality and unique voice of each character. One thing about this idea – it would be really easy to pitch to a producer. I have a hard time summing up most of my ideas into and “elevator pitch” but this one summarizes so nicely into a shining nugget of marketability that I’m a little hesitant to let it out on its own just yet. We’ll see.

Hope everyone else is doing well!

1

Cyberspace Open: Countdown

Just a quickie while I take a break from work to remind anyone who wants to play along that I will be posting the prompt for round one of the competition here later today. It’s too late to register as an official participant, but that doesn’t mean you can’t play along! If you’re not formally entered you don’t even have to worry about screenplay formatting and all that folderol.

The prompts last time were excellent writing exercises in their own right, so pull up a laptop and play along!

Easter S’mores

The Easter Bunny paid a visit last week, leaving a treasure trove of yummy goodies on my nightstand. For whatever reason the leporidal spring icon snubbed my sweetie's nightstand, but being the guy I am, I'm happy to share. Thus it came to pass that we found ourselves with Peeps and chocolate bunnies to munch. As we contemplated our sugar-laden feast The Light of My Life looked at me with round eyes. "We have graham crackers!"

Ready for the microwave!

Cracker, bunny head, and peep, ready for the microwave

As every red-blooded American knows, marshmallow+chocolate+graham cracker = s'mores. Traditionally smores are eaten around campfires, where one heats the marshmallow over the flames and then wedges it into a sandwich were the hot marshmallow softens the chocolate. We lacked a campfire, and used our trusty microwave oven instead.

Many of you may be aware of what happens to marshmallows in a microwave. With Peeps it's even better. Let me tell all of you now: Drop whatever you are doing, go to the store, buy some peeps, bring them home, and put one in the microwave. Do it! I'll wait...

You're back? Great! Wasn't that the funniest thing you've ever seen? Ever? Unfortunately, my attempts to photograph the peeps while in the microwave failed, so those of you who did not drop everything to put a peep in the microwave will just have to perform the experiment later.

Once the peep and the chocolate were all gooey and yummy we slapped on graham cracker lids and sat in front of the television stuffing our faces with sugar. And that, dear readers, is what Easter's all about.

6

Maledicte

Note: On review lo these years later I have to admit that this is one of my less-coherent reviews. Which is too bad, because the book really is good.

I met Lane Robins a couple of years ago in a writing workshop. I was strongly encouraged by others there that I should read Maledicte, but someone else in the workshop bought the last copy from the university book store, so I had to wait. It’s been a while now but I finally got around to ordering the book through Amazon and reading it.

I’m not going to give this book a great review because I know the author; I’m going to give this book a great review because I genuinely liked it. Not everyone may be comfortable with this book, but it’s a really rewarding read. (My bias toward the author is manifested in that If I didn’t like the book I just wouldn’t review it.)

First, hats off for the publisher, who created a striking volume with great cover art and a substantial feel. I’ll be ordering a Kindle in the near future, but this book’s physical presence adds to the experience. It’s a pleasure to hold.

At the heart of this story is a love triangle. It’s a very complicated love triangle, between very dangerous people. Maledicte is a beautiful young man in blind pursuit of vengeance against one of the most powerful people in the land. Maledicte is also a young woman from the slums of the city who will do anything to be reunited with her childhood sweetheart. Toward both ends Maledicte has been granted power from a god long thought dead, manifested in a black-bladed rapier — ever sharp, ever quick to hand, ready to spill blood. When his vengeance is complete, Maledicte will have a price to pay.

In his pursuit of vengeance Maladicte finds a powerful ally, and the servant of the lecherous old man forms the second point on the triangle. For a while as their relationship developed I found it difficult to understand why Gilly put up with Maledicte at all. “Here we go again,” I thought to myself, “another petulant rage by Maledicte.” Gilly is thoroughly convinced that Maledicte is male, and he’s a damn unpleasant person to be around most of the time. There is a moment when that changes, a brief, candid conversation that provides a glimpse into the human being behind the horrible mask. After that things made a lot more sense. Just in time, too, because the body count is about to start climbing.

Gilly is troubled that he is attracted to a man, but there’s not much he can do about it, except run away to distant shores and start over. He’s not ready to resort to that, yet, though as time passes he finds himself getting drawn deeper into the web of death and intrigue, his own hands getting bloodied even as he recoils in horror.

The third point on the triangle is Janus, Maledicte’s old flame, also from the slums and every bit as dangerous as Maledicte. He is the bastard child of the man Maledicte wants to kill; Janus just wants to make sure that death furthers his own goals. Where Maledicte kills to further his plans for vengeance, Janus is driven by ambition. He is subtle, seemingly an easygoing young man, only slowly revealing the depths and intricacies of his plotting. Calling him evil would miss the point; his affection for Maledicte is genuine, and he will sacrifice for her. But if that sacrifice means killing people and becoming one of the most powerful men in the land, well, you have to break a few eggs to make an omelette.

In this story Robins asks us to like some pretty unlikeable folks. There are no angels between these pages, and good people die. Also, bad people die. I was unable to sympathize with Maledicte at all for a while; to the point where it started to get in the way. Once I got the glimmer of light from Maledicte’s soul, I was completely on board. Heinous acts and atrocities begin to pile up (the royal court is not a pleasant place), and because we can see Maledicte through Gilly’s eyes, and we see that the victims are rarely innocent themselves, we can still pull for our heroes.

All three of the characters are able to surprise us, and all are realistic — if in twisted ways — as are the supporting cast. The machinations of the court are laid out so naturally that thinking back I’m surprised to realize how complex it all was. There were a couple of background issues that didn’t help the story (Antimachinists, for instance), that are probably there to set up another story but got in the way here. That’s a quibble, though.

Love, hate, revenge, duty, despair, jealousy, and downright crazy all take their turns pulling on the strings of the characters, and what’s really great about this book is that you feel it – even the crazy. This book is both atmospheric and visceral, and doesn’t pull it’s punches. You are right there with everyone else. It’s a good ride.

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

1

Memories of Graybeard

Graybeard and I were walking down a cobbled street in Prague, late at night. We had just come from seeing a movie, I expect, and were heading to a place for a late snack. “If time is just another dimension of space,” he asked, “where is yesterday?” I wasn’t ready for the question, but I did my best to answer, fumbling around the issue of relativity, saying that one second ago is now 186,000 miles away and receding fast. He liked that.

I have a better answer now.

I’ve written about Graybeard before, but not for a while. He was an institution in the expat community in Prague, a thinker, a poet, a lecher, a teacher, and most of all a storyteller. Now he’s gone.

He was a North Carolina boy, letting the drawl sneak into his voice when it suited him, but he claimed he couldn’t go back to the United States. Taxes, or something like that. It was difficult to detect the line where truth ended and other truth began with Graybeard. Whatever the story, I’m sure that when he told it he believed it. That’s all the veracity I need.

He spent a few years in prison, Graybeard did, for killing his best friend with a knife when he found the dude having sex with his girlfriend. “If it wasn’t for the acid,” Graybeard told me once, “I might not have done it. I loved both of them.” He escaped from prison at least once, got some help across the state line from an old black woman. He ran down to Florida where he hid with his sister until his brother ratted on him. Or maybe it was the other way around. Or maybe it never happened.

He told me once how during a power blackout in Boston he was in the wrong part of town and things got ugly and he killed two people with a single bullet. Self-defense. There was another incident in Golden Gate Park that I found easier to believe, given what I know about the man.

Graybeard was chivalrous. He would not ever stand idly by when a woman was being threatened or even intimidated. Hard-wired into his mind was the ideal that there are lines you do not cross and when someone crosses that line then no less than civilization as we know it is at stake, and it is the duty of every free man to rise to the defense of all we believe in. Greybeard was prepared to prosecute that battle wherever it arose. He carried two Tasers (in case the first failed), two knives, two phones, two of everything. He was not allowed in dance clubs.

It was a lot of work to be around him; conversations were challenging. He didn’t really listen that well. His mind was leaping, jumping, connecting odd dots, and if something you said triggered a new relationship in his head then forget about the previous conversation, we were moving on. I avoided him often.

Once he asked me where yesterday was. It was only later that I realized that if time is just another dimension, then yesterday is just another place. As I write this, yesterday is a place where small man with a long white beard lay unthinking, sustained by machines. Not Graybeard, but some fiction greater than any story he ever told. Today, in this place called now, there is not even that.

Yesterday is a place called Road Trip Day, and on that day Graybeard left home for the last time. Somebody better warn the angels.

2

Making Fun of Microsoft

While Apple ads are smug and annoying, Microsoft ads are downright fun. There’s one in heavy rotation right now, featuring a young woman sitting with her laptop at a French sidewalk cafe, talking (in French) about how Microsoft incorporated her revolutionary idea into their new operating system. What was this great innovation that apparently never occurred to the boys in Redmond before?

She thought it would be great if her computer didn’t crash so often.

Wow! Hold the phone, there, Sparky! Not Crashing? That’s some out-of-the-box thinking right there! At least, it’s innovative thinking for Microsoft, apparently.

I suppose if it takes some French chick to point that out for them, well, I’m glad she took the time. My copy of Windows 7 arrived two days ago and is now installed on my Mac. Hasn’t crashed once in the half-hour I’ve run it.

Road Trip Eve Countdown

Well, it’s too late for most people out there, but for those on the Left coast and parts West, here’s a reminder that when midnight rolls over and it’s Road Trip Day, if the very first words you say are “elevator ocelot rutabaga” your year will be filled with prosperity and good cheer.

Of course most of you have already passed the fateful line (and naturally those familiar with the Muddled Calendar have already invoked the magic incantation), but if you haven’t actually said anything yet today, it’s not too late! With me:

Elevator! Ocelot! Rutabaga!

I’ll have more Road Trip Day stories tomorrow! Have a great year, everyone!

1

New Features here at MR&HBI!

First, allow me to call your attention to the episode immediately before this one. You might notice the little icon is a camera. “huh,” you might be saying to yourself, “I don’t remember seeing that one before.” Very observant, Buckaroo! It’s for a new category, Photography, that I added. “But,” the even more observant amongst you might say, “There are already a handful of episodes in that category.” Right again, Wisenstein! I recategorized a couple episodes that were under The Great Adventure and found a couple in Idle Chit-Chat that were better filed under the new category. I expect there are plenty more; the trick is finding them.

The icon is actually my camera sitting on an opened unabridged dictionary. That may seem staged, but that’s actually where we keep the camera these days. Yes, we have an unabridged dictionary open on a stand at all times. No, that does not make us geeks.

Second, way down at the bottom of the sidebar, there’s a section called Other Muddled Stats (or something like that). That’s a wordpress widget I made that counts all the words in all the episodes, and keeps a tally of how many comments there have been as well. I plan to add other stats as well next time I have the hood open. Perhaps the number of times I’ve said “You don’t have to thank me,” or the number of times I’ve blamed the Chinese for things. (Hm… haven’t done that in a while…) Anything you’d like to know? The number of letters typed? Words in comments? Most prolific commenters? If it’s on these pages, I can count it.

The WordPress plugin itself is hand-crafted by yours truly. I started by downloading a different word-counting plugin, but it counted the words on every page load and didn’t have a sidebar widget. All it was was a database query and a loop. My version only counts when the relevant value changes – it only counts words when a new episode is posted, for instance. Once I tidy it up I’ll be adding it to the WordPress repository, so others can also gather useless stats about their blogs. It’s all about sharing the love.

Your Vote is Needed!

Harlean Carpenter (who is a fiction) has a photo entered in a contest at Pinup Lifestyle. It’s a pretty cool picture. The winner is decided by public vote, and while there is some pretty strong competition, it’s realistic to think she has a shot. I (who is less of a fiction but not entirely real) took the picture, and I think it’s easily the best photo not taken in a professional studio with real photography lights.

The theme of this month’s contest is circus/carnival (or something like that). Some of the entries aren’t really on-theme, but a few really do capture the theme in a pinup style.

The thing is, judging by last month’s winner, it’s not always the best that wins. It’s the one that gets the most votes. Don’t let this injustice happen again! Pop on over to Pinup Lifestyle, vote for my fictitious friend, and then hang out a while to look at the other excellent photos (borderline safe for work).

3

Jailbait Zombie

This was another in the pile of freebies I got at the World Fantasy Convention last fall. I pulled it out of the ‘to read’ pile when I was in the mood for some light reading, and light reading is what I got. That said, just because you don’t plan to win the Nobel Prize for Literature doesn’t mean you can abandon sense when writing a story. Even a story called Jailbait Zombie.

What do you expect from a book with a title like that, combined with a cover that has a silhouette of a slender female in a graveyard, carrying handcuffs? You expect a pulpy romp with some racy bits, a tongue-in-cheek attitude, a feeling that you’re on an amusement park ride and the conductor is having a wonderful time. There’s some of that here, but I get the feeling that our guide in this weird world, Mario Acevedo, pulled his punches. This is not the sort of narrative that benefits from subtlety.

The protagonist, Felix Gomez, is a vampire. He’s a newbie, quite naïve about many elements in the vampire world, yet for some reason he’s an enforcer – it’s like hiring a 12-year-old on a bike to be a sheriff’s deputy. Anyway, we join Felix as he’s being treated for a zombie bite. Apparently he and his buddy have already cornered the zombie in a construction site; we were not treated to that action. Another vampire comes along, is an asshole, burns himself to death, and that’s it for that character. Huh.

Gomez is charged with finding out who is behind the zombies, and while he’s at it, find the source of some crazy psychic disturbances in rural Colorado. There are some interesting parts as he does his detective work — strange things happen, he gets mixed up with some unsavory characters, some of those characters disappear, and he winds up in the company of a young, distraught, dying girl who wants to become a vampire, and who also happens to have some amazing psychic mojo.

There is chasing, vampire mayhem, zombie dismemberment, tough scrapes, old friendships renewed, and quite a bit of good storytelling. It just seems that at key moments the author could go a little farther. Like with the sex. There’s sex in there, but it’s not visceral. It seems wedged in to allow the publisher to check off ‘racy’ on the marketing form. There’s not enough passion to it, no sweat and desperation and futility and hope. It’s just mechanics. Pulp fiction can’t be afraid of making a mess.

How would you react to watching someone you really don’t like burn to death? Probably a really weird mix of conflicting emotions, right? His screams making your hair stand on end even as some dark thing inside you prevents you from helping? The stench of his flesh turning your stomach. The reminder that even if you’re a vampire you’re not immortal. Seems like a great chance to really get inside the head of the main character. Only, in Jailbait Zombie this scene seems to be constructed only to demonstrate that our main man has no feelings at all — which makes him a lot less interesting. We learn soon after — and several times after that — that Gomez is guilt-ridden over something he did in the past, and that’s a start, but the author flashes back to that one event over and over, while passing up fresh opportunities right in the narrative flow.

There is, however, one totally awesome plot twist. “Wow!” I said when I read it. “Never saw that coming!” I’m willing to forgive a lot for a good surprise like that.

My biggest gripe from a storytelling standpoint is the complete idiocy of the mysterious organization that sent Gomez on his mission. Am I to believe that they simply forgot to tell him the crucial information that made his job harder and led to disaster, or is it that they chose to withhold that information? Either way, Gomez’s bosses (I forget what their mysterious cabal was named) are repeatedly guilty of being really bad at their jobs. Bad enough that I simply couldn’t accept that they would ever be bosses.

Maybe that becomes clearer as the series progresses.

Ah, yes, the series. The main reason I’m writing this review is so I can discuss series with all of you. You don’t have to thank me, it’s what I do.

Remember how I said it seemed like a significant chunk of action had already happened when I started the story? That’s because for all practical purposes, this book began on chapter two. Whither the erstwhile chapter one? At the end of the previous book. And guess what happens at the end of this book? Yep, Everything is wrapped up, Gomez relaxes, and then we are treated to chapter one of the next book. It’s like they dropped the proofs at the printer’s and got the covers in the wrong places when they put everything back together.

Sure, the cliffhanger has been a staple of series since the dawn of time (I imagine Homer wrapping up an evening of oration with Odysseus in some terrible bind), but if you’re going to put chapter one in the previous book, at least have the decency to mark it as such and also put it in the next book, as chapter one, where it belongs. There were enough flashbacks in this thing without also having to explain what had just happened before the story started. (Homer’s hypothetical cliffhangers would have occurred within a story told over episodes; no one in the audience thought they were going to hear the end of the Odyssey that night, and he could count on people being up to speed when he began his next performance.)

This is not to be confused with the honest “here’s the first chapter of the next book” sections that many series use. Those pages come after the current episode has been wrapped up and the reader already knows that what they are reading belongs to the next story. And if anyone picks up the second book without reading the first, they get to read the whole thing. The last two books I read that were parts of series did an excellent job making sure the covers of each volume contained an entire story. I consider it a contract with the publisher that I will get an entire story between the covers of a book unless otherwise noted.

None of those gimmicks are going to work anyway, unless we’re already nearly sold on reading the second volume based on the power of the first.

You may have already heard me rant about books marketed as a series when in fact there’s only one story that spans all the volumes. It is a series of one, split into many pieces. This is especially common in high fantasy, where “epic” now means “no pretense whatsoever at putting a complete story between the covers of each volume.” To me it also means “wait until all the volumes are published before you start reading.” Only then can you read a full, satisfying story from beginning to end (and you know ahead of time what you’re getting into).

Done properly a series is a good thing, giving a skilled writer an easy sell on subsequent books, and giving a reader a chance to explore more deeply characters that develop over an extended time. Everybody wins. Just make sure that within the series each episode can stand on its own.

Back, then, to Jailbait Zombie. It wasn’t bad, misplaced covers aside. It could have been better. It needs to more fully embrace what it is to really shine, and it needs fewer really stupid people in it.

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

2