Sunday, December 25, 2011

Happy ... Whatever

You know, once upon a time it was considered polite not to instantly assume that whoever you were speaking to shared the same religion as you.  Consider the possibility, at least, that they might have an alternative viewpoint, and respect that viewpoint by tempering your message.  Do that nowadays and you get in trouble.  For instance, if I were to wish you “happy holidays,” I would, according to the carefully crafted outrage evinced by the majority of the personalities on Fox “News,” be aligning myself with those who are waging a War on Christmas.  So I won’t say that.

I will, instead hope that you have a very merry Christmas today, and may God bless you and keep you.  I also hope that you are in the midst of a happy Hannukah, as it enters its 6th day at sunset tonight; shalom, and peace be on you always.  I hope that you had a lovely Yule (or Solstice, if you prefer that term) three days ago, and wish you merry meet and blessed be.  I wish you a joyous Kwanzaa starting tomorrow, and in case I don’t see you that week, Habari Gani?  A happy Pancha Ganapati to you on this, the orange day, and may the Lord of Categories bless you.  And for Monday, the 26th, I’ll wish you a happy Zartosht No-Diso or Boxing Day, depending on whether you happen to be Zoroastrian or Canadian.  And if you subscribe to a religion that doesn’t have a holiday at this time of year, or you subscribe to no religion at all, I still find that this lull, as the one year winds down and the next prepares to launch, is a beautiful time to contemplate the blessings of family and good fortune, and be hopeful that the new year brings us new opportunities and even more of life’s bounty.

Of course, my thoughts about the new year may be premature, if you subscribe to a different calendar system.  If you happen to be Chinese, I’m about 23 days early.  If you happen to be Jewish, I’m more like 259 days early (or perhaps 95 days late).  If you happen to be Muslim, I’m more like 36 days late (or 318 days early), but of course that will change significantly from year to year (in 2008, I would have only been off by 9 days).

Man, this all-inclusiveness is hard.  Maybe we should just come up with a generic way to say all that ... something like ... oh, I don’t know ... “happy holidays” or something.  It’s just a thought.

While you ponder my thoroughly original suggestion, I will give you a <insert holiday here> present, which may be either early, late, or totally on time, depending on the holiday you inserted.  Every year, I tend to be surrounded by Christmas music: The Mother loves to listen to it, my father (a record collector who focusses on early rock-n-roll music) loves to make CDs of it and send it to us, and of course radio stations and even cable music channels love to devote large blocks of time to it.  It’s sort of inescapable.  And every year I bitch about it.  I’ve developed a bit of a reputation for hating Christmas music.  And that’s sad.  I don’t hate Christmas music.  I just hate the Christmas music I keep hearing.

There are any number of problems with the Christmas music you typically hear this time of year.  Almost all of it has one or more of the following characteristics, all of which bug the shit out of me:

It’s sappy.  Yes, yes, we’re supposed to be counting our blessings and celebrating serious religious events and all that, but does everything have to be so heartwarming all the damn time?  It’s enough to make you barf.

It’s goofy.  When it’s not sappy, it has a tendency to swing too far in the other direction.  This is true of many of the songs my dad scrapes together for his CDs; he favors classics like “Grandma Got Run Over by a Reindeer” or “Santa Claus is Watching You”.  Now admittedly, these sorts of songs are pretty funny the first time you hear them, but they drop to “vaguely amusing” by the third or fourth time, and it’s not far to “eyeroll-inspiring.”

It’s tired.  There are a certain number of Christmas songs, and by this point, we all know them all, by heart.  Why can’t we hear something new for a change?

It’s uninspired.  “Something new for a change” is often interpreted as “a crusty old carol redone by a hip new artist.”  Okay, sure, it might be vaguely amusing to listen to the Madonna version of “Santa Baby” ... once.  And if I hear one more listless retread of “Jingle Bell Rock” ... bleaagh!

So I set out to correct this problem.  I went and scoured Amazon for good Christmas songs: songs that were new, and fresh, and fun, but not too silly, and just plain fun to sing along with.  Now, your interpretation of “fun to sing along with” might not match mine, of course.  I like some pretty songs (I picked an Enya, after all), but mostly I like my stuff to be more rockin’.  It doesn’t have to be death metal, or even hardcore punk, but for the most part I’m looking for a little bit of kick, ya know?

There’s also some wiggle room on “not too silly.”  Everyone has a different sense of humour, and a different tolerance for irreverance and surrealism, and a different opinion on what constitutes bad taste.  I’m sure my father, for instance, would be fairly disgusted with “Merry Christmas I Fucked Your Snowman,” and he probably just wouldn’t “get” the South Park songs.  But if you share my love of, say, Monty Python, Beavis and Butt-Head, and Tim Burton films, you’re probably pretty safe with the below.

To my knowledge, only 8 of the 25 songs I picked are not original to the artists singing them.  Three are “traditional” songs, but they’re mangled enough to give them a freshness that made me deem them worthy.  Three are songs which were originally song by animated characters*they’re Christmas songs, and you’ll probably recognize them, but they should be surprising nonetheless.  The other 2 are remakes of songs that you’ve likely never heard before anyway; I just chose them because I happened to like them better than the originals.  Also, only 3 of the songs could even remotely be considered serious.  All three are right in a row so at least you can get past them quickly.  But I felt that even those three added something special; hopefully you’ll agree.

The coolest thing about this list of songs is, of course, that, since I just downloaded them all of Amazon and burned them onto a CD, you can too.  Links helpfully provided.  Arrange them in the order presented though; I carefully researched the optimum playlist order for maximum smoothness and coherency.  Fingers off the shuffle button, pally!

Download, and enjoy.  It’ll run you about 25 bucks.  But it’s totally worth it.

Yuletidal Pools I
[ featuring Michael Bublé ]

“Happy Birthday” by Mojo Nixon & the Toadliquors [Single]
“I Won't Be Home for Christmas” by blink-182 [Single]
“Oi to the World” by No Doubt [Single]
“Last Night (I Went Out with Santa Claus)” by Big Bad Voodoo Daddy [Single]
“Elf's Lament” by Barenaked Ladies [Single]
“You're a Mean One Mr. Grinch” by Whirling Dervishes [Single]
“Halloween on Xmas” by The Coffin Caddies [Single]
“Christmas Time in Hell” by Satan, the Dark Prince {from South Park} [Single]
“Christmas at Ground Zero” by "Weird Al" Yankovic [Single]
“Grandpa's Last Xmas” by The Vandals [Single]
“Christmas Don't Be Late (Chipmunk Song)” by Powder [Single]
“Christmas Is” by Run-D.M.C. [Single]
“Twelve Days of Christmas” by Bob and Doug McKenzie [Single]
“Shot My Baby for Christmas” by The Vaudevilles [Single]
“Santa's Coming Home” by Cocktail Slippers [Single]
“Christmas Wrapping [long version]” by The Waitresses [Single]
“Mr. Heatmiser” by Big Bad Voodoo Daddy [Single]
“Carol of the Bells” by Mr. Mackey {from South Park} [Single]
“White Is in the Winter Night” by Enya [Single]
“Peppermint Winter” by Owl City [Single]
“Merry Christmas (I Don't Want to Fight)” by Ramones [Single]
“Merry Christmas I Fucked Your Snowman” by The Showcase Showdown [Single]**
“I'm Getting Pissed for Christmas” by Bamboula [Single]
“Is Zat You, Santa Claus?” by Big Bad Voodoo Daddy [Single]
“Merry Merry Merry Frickin' Christmas” by Frickin' A [Single]
Total:  25 tracks,  73:31


* Okay, for those nitpicky music historians out there, yes, I’m aware that you can make an argument against all 3 of these being “originally sung by an animated character,” in that a) you could consider claymation different from animation, b) if the song is used in the background of a cartoon, then an animated character is not technially singing it, and c) if the characters singing it were not animated until well after the song was released, that doesn’t really count as being sung by an animated character.  But I felt it was a sufficiently descriptive umbrella term.  So sue me.
** This is the only track not available on Amazon.  Sorry to link you to a YouTube video, but it’s the only place I know of to get it.

Sunday, December 18, 2011

Reading Week/Writing Week

This week is a reading week for me.

So, remember last time we talked about writing, I said that I was trying to figure out what to write about next?  I believe I managed two more sputtering installments after than, then nothing further.  And my partner has lately been wondering aloud what’s going to happen when she finally gets to the last installment of my novel and then there is no more?  How would you feel if you were reading along and suddenly the book just stopped and said, “Stay tuned! more to come ... whenever I get around to it”?  Might be a bit frustrating, eh?

So I’m trying to get back into it.  There are various things I do to recapture my mood, get back into the groove, so to speak, after taking a break.  What I mentioned last time was reading through notes, and dream logs, and things like that.  I’m doing a bit of that this week as well.  But mainly what I’m doing is rereading the novel so far.

I do this a lot.  No, I mean: a lot.  Almost every time I post an installment of the book, I’ve reread the previous few installments, anywhere from 3 to 8 of them.  This not only helps me get back in the swing of things, it helps me recapture my voice, re-establish my style, pick up where I left off.  Renew my acquaintance with my characters.  Revise any rough spots I find.  Find things I never knew were there.

This is key.  I talked about this a bit in my discussion of art-as-dialectic.  Remember (or perhaps reread) the story about my writing professor finding things in my writing that I didn’t even know were there?  Well, that was when I was young and stupid.  Now I’m older, and moderately less stupid, and I find that I can find those things in my own writing.  Not while I’m writing, of course.  But when I go back and reread, I can find them.

It’s like I’m two different people: the author, and the reader.  As the writer, I concern myself with writing what feels natural: I worry about flow, I worry about realistic dialogue, I worry about plotting (although probably not as much as I ought to).  But, when I put my reader hat on, I start looking at the text very critically.  Does it make sense?  Are the words well-chosen, or do they make me stumble?  Are there any places where the visual can’t match up with the words because the author didn’t lay it out properly (think “The Writer” sketch from the old Carol Burnett show)?  And, perhaps most importantly, what is the author really trying to say here? what is his message? his theme? his moral, if he has one?

I’m not much for morals, overall, but I do believe that Art (capital A used advisedly there) has to reflect our lives in some way: it has to tell us something about ourselves, or else it’s not truly Art.  Now, whether that something is advice on how to do things better, or simply a reflection of something we have known (like seeing a close friend in a fictional character), that part doesn’t matter.  But the writing has to be saying something beyond its mere words.

Now, when I’m a writer, I don’t put much effort into that.  But, when I change roles and become a reader, I look for it.  Hard.  I dig for it, and I expect to find it.  And I nearly always do.  I may not be trying hard (when I’m a writer) to add it in, but some part of me is: call it my subconscious, or my instinct, or my higher being, or whatever you like.  I often feel that that part of my mind is a whole separate entity, poorly understood by the rest of my brain, and he (at least I assume it’s a “he”) should get all the credit for the creativity going on here ... I’m just a spectator for the most part.  Oh, I do a little of the work—the stitching together of the disparate pieces into some coherent whole, mainly—but mostly I just kick back and watch the genius at work.  Then I remember that he is me and when I call him “genius” I’m really calling myself a genius, which is far more immodest than I feel about the whole thing, so then I scramble around for a rephrasing ... but you get my drift.

So if you ask me what my story is about as its author, I have no opinion.  Besides, as I pointed out (in that same blog post), it doesn’t matter what I think as the author.  What you think, as the reader: that’s all that really matters.  Of course, when I become the reader, then I do have an opinion, and I could tell you what it’s all about.  But I’m not going to, because you would be tempted to take that as the opinion of the author (which it wouldn’t be), and then you’d try to see the same things in it that I (reader) see as opposed to finding your own things in it.  But finding those things helps me (writer) put together a more coherent story, because if I can just get some consistent themes lodged in my subconscious (or whatever it is), then they’ll come out in the writing, even if I’m not trying to put them there.


Well, maybe that’s all too confusing.  But, the point is, every now and again I need to go all the way back to the beginning in order to completely immerse myself in the story, and not only rediscover my voice, but also make new discoveries, find new viewpoints, make new connections, and that helps the story be richer.  So that’s what I’m doing this week.  Hopefully soon that will allow me to produce the next installment of the Johnny Hellebore saga.

Assuming you care.  But I’m also assuming you wouldn’t have bothered to read all this deranged rambling if you didn’t.

Sunday, December 11, 2011

Drag Reduction

Ever so long ago, I explained my opinion of blogs.  At the risk of pretentiousness (not that it would be the first time), I’ll quote myself:

I mean, realistically, what are the chances that you’re actually going to miss that one-in-a-million blog posting anyway?  As soon as it happens, all of your friends with too much time on their hands are going to send you a link to it anyway.

Prophecy, that was.  Here’s that one-in-a-million post now, and, sure enough, one of my friends with too much time on his hands sent it to me.  Well, to be fair, he sent me a link to another blog post, which wasn’t quite as interesting (although it had its high points).  But primarily that post was notable for providing a link to this post: Thrust, Drag and the 10x Effect.

Now, I encourage you to read that full article, especially if you are, like me, a programmer (or, really, any job which requires sustained creativity).  But, in case you decide not to, I’ll give you a brief summary:

We all have different tasks that we do as part of work, or even as part of life.  Some of these tasks are productive, get-shit-done sort of tasks.  If you are a working programmer, that means essentially coding new programs.  If you are an architect, it means drawing up blueprints, I suppose; if we’re talking about home improvement projects you do on the weekend, it likely means interior decorating, landscaping design, creative carpentry, etc.  But many of the tasks we have to do are just administrative, have-to-do-it-whether-we-like-it-or-not tasks.  For programmers, that’s answering emails, going to meetings, filling out corporate forms and surveys and annual goals for career development, etc ad infinitum.  I’m sure architects have similar jobs.  For our putative home decorating weekend warrior, it’s fixing the toilet, weeding the garden, and traipsing through Home Depot looking for the right size screws.  The article refers to the first type of tasks as “thrust tasks” and the second type as “drag tasks.”

Thrust tasks tend to be long tasks (although interesting), and drag tasks tend to be quick (although often mind-numbingly boring).  Because of that, our natural job queue prioritization wants us to do the quick tasks first.  The quick ones can be knocked out more easily, giving a greater sense of accomplishment—more things checked off your todo list.  We also have a natural desire to get the boring stuff out of the way so we can concentrate on the good stuff.

But it turns out there’s a problem with this approach: the drag tasks eat up all our time and the thrust tasks are always relegated to the back of the queue.  Either they never get done at all, or they get done in dribs and drabs, with the leftover time after all the drag tasks are completed.

And the long/short dichotomy isn’t the only thing that distinguishes thrust tasks and drag tasks.  It turns out that you can get better—more efficient, more productive—at drag tasks ... but only up to a point.  Let’s face it: answering your email or weeding your garden is repetitive, and yet each email or weed is a little bit different.  Just different enough that you’re never going to but so good at it.  While the thrust tasks are the things you can not only get better at, but they actually deepen your experience and improve your overall performance in your chosen field.

More importantly, the longer you spend on your thrust tasks, the more productive you become.  And not just in the linear, spend-twice-as-long, get-twice-as-much-done sense.  The author suggests that spending twice as long produces 4 times the results.  This is of course unproven (and probably unproveable), but every programmer knows that long, uninterrupted stretches spent on coding tasks do indeed return results far beyond the simple accumulation of extra time spent.  You start to build a rhythm, and, when you really hit your stride, your productivity is blinding.  And that in turn means that when you only attack your thrust tasks a little bit at a time, in the leftover slots after your drag tasks are done, you’re achieving your lowest possible efficiency.

So that’s the “thrust” and the “drag” from the title of the blog post; what’s this about “10x”?  Well, the article refers to a popular concept in software development (which is supported by many studies): a good programmer is an order of magnitude (i.e. ten times) more productive than a bad programmer.  In fact, some people say that a good programmer is 10x more productive than an average programmer, who is in turn 10x more productive than the bad programmer.  Less academic support for that, but it’s one of those things that many of in the software biz feel to be true—there’s a certain amount of “truthiness” there, as Stephen Colbert would say.

Of course, that would mean that if you’re currently an average programmer, and you want to be a good programmer, you’ve got to improve your productivity tenfold.  That’s a tall order.  How can you go about doing it?  Take a page out of physics: increase your thrust, and reduce your drag.  Arrange your schedule to allow for significant chunks of time for your thrust tasks, even if that means putting off your drag tasks occasionally.

So that’s what the article says in general.  What did I get out of it for myself, in particular?

Well, a couple of things.  First of all, it identfied and delineated for me a problem that I’ve had off and on for years, and am actually undergoing currently in my present job.  When I move from one big task to another (thrust tasks, we’re talking about), it takes me a while—sometimes months—to “get into” the new project.  At the beginning of the endeavor, I generally fill up my time with drag tasks, leaving little time left over for concentrated, extended effort on the actual project work.  Gradually, either my interest peaks or my survival instinct kicks in if the project starts to fall behind schedule, and I dive deep into the work—all the drag tasks just fall by the wayside, I ignore my emails, skip meetings, drive my bosses crazy by procrastinating endlessly on paperwork, but I don’t care, because the work has siezed me by the throat, and it’s all I can think about, and I stay up late working until I can’t keep my eyes open any more, and then I eventually complete the job in a final exhausting flurry of activity, and then I start doing nothing but all those drag tasks I was avoiding all that time, and the whole cycle starts all over again.  I see now what my problem is.  I’m not giving my thrust tasks enough time and attention to reach critical mass fast enough, so I end up with too little work up front and too much work on the back end.  Instead of trying to do all my outstanding drag tasks every day, I’d be far better off saving them all up for certain days: allot one or two days a week to be nothing but drag tasks so that there’s plenty of time left over for uninterrupted stretches on the thrust tasks.  This would lead to greater efficiency overall.

The second thing is that I’m approaching my one day a week working from home all wrong.  See, we have a policy at my workplace that everyone gets to work from home one day a week (well, after they’ve had a brief breaking-in period where we get to know them and trust them).  This is a pretty great privilege for a corporate environment (meaning large public corporation, which happens to be the type I work for), and it’s a privilege that every general manager we’ve ever had was desperate to take away from us.  If you’re lucky enough to work in a smaller corporation, or one of the few tech-liberal giants (I think Google probably qualifies), you might not see where I’m coming from, but I’ll bet if you work in a more traditional business environment, even a tech-heavy one, you know exactly what I mean.  People who understand programmers and how to manage them (remember that I ran my own small company for many years, so I include myself in that group) understand that treating them like adults is not only a good way to get them to be productive, it’s the only way to get them to be productive.  Treat them like children and they will not only act like children, they’ll work hard to actively undermine you and screw you sideways.  And telling people that you don’t trust them to do what they’re supposed to do when you’re not looking at them is definitely treating them like children.  Now, don’t get me wrong: I’m sure there are categories of employees where that’s appropriate, and that’s why your basic average corporate middle manager has that attitude.  But for programmers at least (and I bet many other types of folks), this is a recipe for disaster.  So we very luckily have a have a head-of-tech (what would be our CTO if we were an independent company instead of a little piece of a larger giant) who understands this and protects our privileges very jealously.  Which is awesome.

Of course, we all have to do our part as well.  To help our CTO out in his never-ending war to keep management from fiddling with our work environment, we all have to make sure we don’t abuse our privileges.  Thus, when I work from home, I actually end up answering my email even more than I would if I was in the office: essentially, I’m so desperate to prove that I’m just as responsive when I’m at home that I end up being even more responsive when I’m at home.  The least little task that comes up, I immediately jump on it and complete it to prove that I couldn’t possibly be doing a better job if I were onsite.  But see what I’m doing: I’m using up all my work-from-home time—quite possibly the best chance I have at long, uninterrupted stretches of concentration—on drag tasks.  I’m screwing myself, and my company, by sacrificing productivity for the perception of responsiveness.  Not that perception isn’t important, of course, but, hey: there are limits.

So, handily, I see several opportunities for improvement here, all thanks to this blog post I just happened to stumble across.  And after 25 years at the professional programming game.  Just goes to show you you’re never to old to learn a new trick or two.  Of course, learning it and putting it into practice are two different things, so we’ll see how successful I am at that, but I’m pretty excited to try out my newfound principles.  I think I was already a pretty good programmer, but I’m also pretty sure I could be great.  Just gotta increase my thrust a bit.  And now I think I know how.

Sunday, December 4, 2011

Perl blog post #2

I've done another Perl blog post this week, so you non-techies will just have to deal with it.  You techies can just hop on over and read it.

Sunday, November 27, 2011

Perl blog post #1

Yes, I threatened to do it, but you didn’t really think I’d go through with it, did you?  Well, hah! to you, I say.  If you happen to be technogeekly inclined, specifically of a Perl flavor, then you may wish to wander over to check out my very first Perl blog post.  Or you may not; it’s entirely up to you.  But you apparently keep on reading this one, so you may as well read that one too.

In case it wasn’t clear, I can only write one blog post a week—I can barely keep up with that, so there’s no point in imagining I could manage two.  So on weeks that I write one over there, you get nothing over here.  Sorry.  Then again, I suppose there’s little point in imagining that you care that much ...

Sunday, November 20, 2011

If You Meet the Hype on the Road, Kill It

There is a principle known as Occam’s Razor; no doubt you’re familiar with it.  Ask most people what Occam’s Razor is, and they’ll happily tell you:

The simplest explanation is usually the correct one.

Actually, this is a bit of an oversimplification (but then, we’re fond of those, as I’ve written about before).  Perhaps a more correct formulation might be:

Simpler explanations are, other things being equal, generally better than more complex ones.

At least that’s how Wikipedia chooses to present it, although it notes that the actual words that Mr. Occam (supposedly) said were:

Entities must not be multiplied beyond necessity.

(Only he said it in Latin, ’cause that made him sound smarter.)  What you might notice about these successive phrasings is that it gets less and less emphatic.  First it’s “usually,” then it devolves into “other things being equal,” and finally ends up at “beyond necessity.”  Any way you slice it though, the point I’m making should be obvious: there’s a huge difference between the simplest explanation always being true, and it maybe possibly being true, unless necessity dictates otherwise.

Happily, as a Baladocian, I’m perfectly happy to believe both at once: the simplest explanation should be true, but it needn’t be.  I’m pretty easy-going on several sayings like that.  Here’s another one:

If it seems too good to be true, it probably is.

I absolutely agree with that ... especially the “probably” part.

The other day I was talking to a good friend (and co-worker) of mine, and he pointed out that he’s always highly suspicious of techniques (or processes, or solutions) that sound like a religion.  If you think about it, that’s just the “too good to be true” thing all over again.  In the computer world (you’ll recall that I’m a technogeek by profession), we run into this all the time, and I’m sure you’ve experienced it too, even if you’re not technical yourself.  Got a friend who owns a Mac?  Then I’m sure I don’t need to explain the Cult of Apple to you.  And technology is full of those: there’s the Cult of Microsoft to battle the Cult of Apple, likewise the competing religions of vi and emacs, the people who so slavishly follow Excel that they use it for everything, from grocery lists to corporate databases, and on and on and on.

When I was a young (and foolish) programmer, I fell into such a cult myself: the Cult of OOP.  OOP, or object-oriented programming, is a way to write software that is usually contrasted with procedural programming, although these days it’s more fashionable to compare it to functional programming.  If none of that means anything to you, don’t sweat it—it isn’t crucial to my point.  The point is, when I first had OOP explained to me, it didn’t sound that cool ... it sounded sort of simple and obvious, actually.  Then I read a book on it—not even a very good book, as it happened, but enough to make me understand what OOP really meant.  And, let me tell you: the skies opened up, and angels came down and blew their golden trumpets, and golden rays of sunlight lanced down, and all the darkness I had ever known was lifted, and I did see the light.  Glory, glory, hallelujah.  I didn’t know it, but I’d been converted.

Back in those days, OOP was just getting started: I really got in on the ground floor of that cargo cult.  There weren’t loads of people wandering around proclaiming that OOP was the One True Way of programming ... not then.  That would come later.  If they had been around then, I, like my friend, would have most likely turned up my nose.  But, as it turned out, now I’m one of the evangelists.

And here’s the thing: so is my friend.  Because, you know what? OOP really is better.  Not the “One True Way,” of course, because nothing can ever be that, but, given a system of sufficient complexity, that needs to be built at an average level of abstraction, OOP is almost always the best way to go.  Call me a religious nutjob if you must, but it really is true.  OOP lives up to the hype.

And yet there are still people out there who dig in their heels and put their fingers in their ears and go “LA! LA! LA!” and refuse to listen to the advantages of OOP, because those of us who know how to use it are just so goddamned enthusiastic about it.  It’s very frustrating to someone like myself.  Or my friend—I’ve seen him fighting with people who stubbornly refuse to listen to him when he’s extolling the virtues of OOP, and I know that expression on his face.  It’s irritation, plain and simple.

So imagine how I feel when here I am explaining to him about something that I know really is a whole new awesome way of doing things—agile, perhaps, or TDD—and he’s telling me he’s suspcious, because he smells dogma.  Well, sure: I’m suspicious of crazy zealots too.  God knows, when my other friend (and co-worker) tries to tell me how awesome his iPhone is, I mentally close the door in his face, just as I would for any Jehovah’s Witness (or Mormon) that shows up and rings my bell.  But, dammit: this particular stuff I’m talking about is different!

Of course, now I just sound whiny.

The title of this blog post is a reference to a saying attributed to 9th century master Lin Chi:

If you meet the Buddha on the road, kill him.

What this actually means, of course, is up each individual to determine, but a typical interpretation explains that the “Buddha on the road” is our conception of what Buddhism actually means, a symbol of the instruction of teachers and masters.  And we must “kill” that external image, because enlightenment can only come from within.  As the Buddha also (allegedly) said, as he was dying: Be lamps unto yourselves.  Which (purportedly) means, don’t listen to what others tell you to do, work it out for yourselves.  Of course, there’s a paradox here too: if we don’t listen to the authority of others because the Buddha told us to ...  I talked about this in reference to quotes, but perhaps the best way to illustrate the words of the Buddha is with the words of another great philosopher: Steve Martin.

Now let’s repeat the non-conformists’ oath:

I promise to be different!

I promise to be unique!

I promise not to repeat things other people say!


The hype of whatever the latest technical methodology is presents us with a similar paradox.  Popularity is no measure of quality—in fact, it’s more often the opposite.  But, then again, if a new thing really is as awesome as these things generally claim to be, how do you expect people to react?  Won’t they want to go around telling everyone, trying to share the good news with as many people as possible?  Exactly like ... a cult.  Which makes us suspicious.

I mentioned two things that many technical people find cultish: agile and TDD.  There have been many screeds against both: Steve Yegge (who I mentioned last week) has a really famous one knocking agile, and here’s one plucked at random from a Google search which talks about TDD.  Note how both use the word “cult” freely—gleefully, even.  Both of these articles are very very wrong ... but, then again, they’re both right.  They’re right about how people slavishly follow things they don’t fully understand and how stupid that is, even as they slavishly rant on, Dennis Miller style, about things that they don’t fully understand.  I’m into paradoxes and all, but this is enough to make a guy’s head spin ...

In case you do happen to be a technical person, I’ll point you at one last article.  This is a blog post by J.D. Hildebrand (an old friend of mine, as it happens), where he talks about how agile started out fighting the system, and now has become the system to be fought against.  It happened, if I may paraphrase J.D. (who is indeed paraphrasing others, to some extent), because people joined the cult.  They didn’t question what they were adopting, they just heard it was the latest cool thing and they picked it up and followed all the instructions to the letter.

This is wrong.  One must always question.  One must always be skeptical.  But does that mean that one must turn up one’s nose at things just because they are touted by the masses?  If we sneer at all those mindless drones, just to be hip, without truly knowing the facts, how are we any better than they are?  A suspicious mind is not the same as a closed one.

Sunday, November 13, 2011

A Tale of Two Bloggers

So, if you know anything about this blog (like, say, if you’re capable of reading the name of the damn thing), you know that I don’t have a high opinion of blogs, not even my own.  I gave a fairly complete explanation of why in my very first post, which was nearly two years ago, but I haven’t talked much about it since.  But recently I was reading a blog post that made me remember why I hate blogs, so I thought I’d revisit the topic.

The funny thing is, I didn’t hate the blog post.  Nor did I hate the blogger.  In fact, I have great respect for that particular blogger.  And yet ... it’s a perfect example of what’s wrong with the whole concept.

Let me tell you about two bloggers whose posts I read occasionally.  I don’t read any blogs regularly (for obvious reasons), but, every once in a while, someone whose opinion I respect will say “hey, there’s this cool blog post you should read,” and then I do, and sometimes I agree.  Since I’m a technical guy, mostly these blog posts are technical in nature, blogged by fellow technogeeks.  And, of course, blogs being what they are, often you end up seeing the same names over and over again on these sorts of things.  Some folks are just better at this whole blogging thing than others, and you start to recognize their names.  Now, if you happen to be a technical person yourself, you’ll probably recognize these names too.  If you’re not, just mentally substitute the names of some bloggers in whatever field you follow; I’m sure the points will apply just as well.

The first person I want to mention is Joel Spolsky.  Joel has a fairly popular blog that he’s been writing for over 10 years now.  He’s written on many, many different topics in the software industry.  He’s a working programmer, but he’s also run his own company, so he can hang on both the engineering front and the business side.  Joel is a smart, smart man.  I mean, he’s developed a lot of wisdom in 20 years in the software biz, but he’s more than just street-smart: he’s a very bright guy from the get-go.  He’s also very close in age to me, we’ve spent roughly the same amount of time as professional developers, and we’ve both owned our own shops.  In general, when Spolsky has something to say, I listen.

And here’s the thing about Spolsky’s blog posts: they’re either brilliant, or moronic.  There is no in between.  In fact, quite a few of them are both brilliant and moronic in the same post (see also my thoughts on balance and paradox).  There are various reasons for this.  Probably the main one is that his first job in the technical field was working for Microsoft.  Now, from everything I’ve been able to determine, from both reading stuff and talking to people, is that working for Microsoft (successfully) involves drinking some Kool-Aid.  I’ve read (or talked to) people who worked for Microsoft and loved it, people who worked for Microsoft and hated it, people who reported on Microsoft for a living, people who studied Microsoft and its employees, people who had friends at Microsoft, people who just interviewed there, people who volunteered for them online, people who had to interface with them, etc ad infinitum.  Microsoft is a huge presence in the software industry: it’s pretty much impossible to spend as much time in the business as I have and not run into many, many people with personal experience with Microsoft.  And, you know what?  They all agree about drinking the Kool-Aid.  Oh, the ones who loved it there don’t actually call it that, of course.  But you can see the red stains on their lips just the same.

And the thing about Spolsky is, he didn’t just drink the Kool-Aid, he friggin’ gargled with it.  And, see, if Spolsky just went on about how great Microsoft was, that would be okay with me.  I mean, I’d roll my eyes (I have definitely not partaken of that particular brand of Kool-Aid), but, you know: support what you love.  I can dig that, even if I disagree with your personal choice.  But Spolsky doesn’t just love Microsoft: he hates anyone who doesn’t also love it.  Basically, from where he sits, if you don’t think Microsoft is the greatest thing since the invention of the microcontroller, you’re a moron.  This makes him hard to take sometimes, and leads him to some conclusions that make me think that I’m not actually the moron in this equation.  If you see where I’m coming from.

The second person I wanted to talk about is the person whose blog post actually inspired this post: Steve Yegge.  Steve has a blog going back to 2006 (and one before that going back to 2004), and, while his output isn’t as high as Spolsky, his quality makes him just as well-known in technical circles.  He’s famous for “drunken rants” (his words, not mine) where he sets propriety and common sense aside and just tells it like he sees it.  While Steve has never worked for Microsoft (that I know of), he has worked for both Amazon and Google, so he’s got some insight into two of our other tech monsters.  Also unlike Spolsky, he never seems to have drunk the Kool-Aid—of any flavor—and is famous (some would say infamous) for criticizing his employers (whether his blog posts count as constructive criticism or not is in the eye of the beholder).

Yegge has a flair for peeling the veneer off of polite conversation and revealing the true face underneath.  He comes off as a bit of a jerk, but not the kind of jerk you want to punch: the kind you want to cheer for.  The anarchist who’s sticking it to the man.  The guy who’s not afraid to point out that wearing a necktie all day is probably cutting off all the oxygen to your brain.  The guy who works at the bottom, but is not afraid to tell it like it is to the man at the top.  Yegge has roughly the same amount of wisdom that Spolsky has, but he’s not so much deeply intelligent as he is just damned entertaining.  Not to say that Yegge is a stupid guy—certainly not!  Just pointing out that his insights are less intellectual introspection and more common-sense-is-not-so-common revelations.

Now, the opinions of either of these guys are absolutely worth reading.  If you’re a technical person and you’ve never read a blog post from either, you either haven’t been around long enough, or you’ve got your head buried in the sand.  More likely you’ve read a blog post from both, and even more likely you’ve read several of each.  There’s a lot of them out there, and many of them are great.  I highly recommend them.

But here’s why they’re still poster children for why blogs suck.

Reading a Joel Spolsky blog post is like listening to a speech given by a learned professor of a quasi-scientific discipline (paranormal psychology, perhaps, or cryptozoology).  You try to listen very intently to the brilliant parts, and just sort of ignore the insane parts.  Reading a Steve Yegge post is like listening to a drunk guy you just met who’s climbed on top of the bar and is listing off all the people that make the world suck, and, in the middle of cheering him on, you realize he’s a bit of a bigot.  It’s like “Yeah! Yeah! Fuck yeah! Wait, what??  Dude, get the fuck down from there and shut the hell up!!!”

In both cases, there’s a bit of cognitive dissonance going on.  You realize that here is a someone who knows a hell of a lot about your discipline, who has just as much experience as you do (if not more), whose opinions actually matter ... and yet they’re still capable of being just as short-sighted, just as prejudiced, just as downright stupid as you are (if not more).  Why in God’s name should I have to suffer through thousands of words from these people?  Half of them are going to be gold, but the other half ... man, I need those hours back.  Not just the hours I spent reading them, but the hours I spent shaking my head over the stupidity of them, and the hours I spent ranting about the audacity of them, and the hours I spent explaining to my friends and co-workers the unsoundness of them.  And that last part is hard, right, because everyone thinks these guys know what they’re talking about.  ‘Cause they have blogs.  Popular blogs, even.

But, the thing is, ANY MORON CAN HAVE A BLOG.  (Speaking from experience here.)  And popularity is no measure of intelligence or correctness, as I hope I don’t need to explain.  And, as I say, both of these guys are smart, and experienced, and entertaining, which makes it even worse.  Because they absolutely are worth reading, about half the time.  It’s just the other half that makes it problematic.

You know what I think the problem may be?  Editors.  Or lack thereof, to be more precise.  Back in the days before any idiot could slap together a blog and call themselves an expert, the bar to publication was convincing an editor that you had something worthwhile to say.  Now, I’m not saying that system was perfect.  On the contrary, it effectively suppressed the thoughts and opinions of millions of people, and many of those didn’t deserve that.  But the point is, many of them did.  And it’s impossible to tell the difference, now.  And even the ones who did manage to convince an editor that they had something to say worth sharing with the world often had many of their words cut out, and I bet you many of those words deserved it too.  Never underestimate the value of a good editor.

So, when I tell you that you shouldn’t read my blog, what I’m really telling you is this:  I’m a guy.  Just a regular guy.  I’m pretty smart, and I’m fairly experienced in a few areas, but I’m still just as stupid as you are.  I’m no better than you, and I don’t deserve to be listened to any more than you do.  And there’s no editor over here monitoring what I’m saying to make sure that, in the end, it’s going to be worth your time to read it.  When you read this blog (or any blog), you’re taking a chance on whether you just wasted half an hour (or so) of your life.  Is that chance worth it?  Well, I suppose you must have figured it was, since here you are.  But don’t forget to bring your salt.  And, in the final analysis, use your own common sense to decide how much of what I say is valid, and how much is my own demented rambling.

Because, after all, I’m just a guy, and this is just a post on a blog titled Do Not Read This Blog.  What did you expect?

Sunday, November 6, 2011

Happy Birthday to Me

Seeing as how yesterday was my birthday (yes, that's right, blog fans: your humble author is a Scorpio), I'm giving myself the day off.  Around here we have a strict your-birthday-lasts-the-whole-weekend policy.  And I plan to enjoy the one time of the year when everyone has to do what I want for a change.  So go find someone else's crazed rantings to read for this week.  Next week, you can come back.

Assuming you haven't wised up by then.

Sunday, October 30, 2011

Further Tales of the CPAN

It’s been a CPAN weekend.

Now, several months ago, I talked about uploading my first module to CPAN.  I basically said then that I had no idea why it had taken me so long to finally get off my ass and upload something.

Well, now I know.  Because as soon as you start uploading crap to CPAN, people expect you to actually support it.  And, man ... that takes time.

It’s not that big a deal, really.  You don’t have to support your modules, of course, but I think I explained in some detail the whole “pride of ownership” thing, right?  And people judging you by your CPAN modules?  So you do end up feeling a sense of responsibility for making things work if other people are trying to use your code and having problems.  Plus you’d hate for your fellow Perlites to come along and think you were a slackass who never responded to bug reports.

So I try to keep up, and I try to make things work well.  Besides my first solo module, I’ve also been named comaintainer of another module that I’ve contributed heavily to, plus I agreed to take over yet another module that had a bug in it and its author had gotten out of the Perl game.  I’m still working on the first official release of that last one; I’ll probably have to spend part of what little remains of my weekend working on it, in fact.  There’s some weird problem in one of the test files, which I changed from the original because I found a bug in there, which I found when I tried to fix the original bug ... I’m dealing with three modules here, and I’m already starting to feel a bit overwhelmed!  How do people with a buttload of modules handle it?  Crazy, man ...

Actually, a big part of what I’ve been working on this weekend is repository surgery.  If you’re not a technogeek like me (and assuming you’ve bothered to read this far (which I don’t know why you would (but then I don’t know why you’d bother to read at all (reminder: see name of blog)))), perhaps you don’t know what I mean when I say “repository.”  It’s where you put your source code, for your software, when you want to keep track of all the history of it.  Now, as it turns out, some code that I originally wrote a long time ago, and have taken with me to various jobs, is actually being used by somebody other than me.  Not via CPAN, because I’m too much of a lameass to have put it up there, of course, but by a former co-worker who got it from me directly.  And recently (okay, like 3 weeks ago) he emailed me to ask me if he (or I) could put it up on CPAN now.  And, since I’m a bit less of a lameass now, I thought that was a pretty good idea.

So step 1 is to get the thing into a repository.  And, while it’s not absolutely necessary, I really would prefer for that repository to have the complete history of all the code.  But the code in question is only part of a larger repository that’s in an older format (i.e. Subversion) instead of the newer format I use nowadays (i.e. git).  So I have to convert and trim it down and move it over, and it still won’t be fit for release onto CPAN until I at least clean up the test suite a bit.  But I made a good start on that this weekend.  It’s not done, but ... well, it’s a start.

I’ve also been considering starting another blog.  Something a little more focussed on Perl, that perhaps might be more interesting to my fellow Perl travelers.  Which, on the face of it, is ridiculous.  First there’s my opinion on blogs in general, which certainly hasn’t changed.  And then there’s the fact that I barely have enough time to write this blog every week, much less write another one.  But, hey: I’m not gettin’ any younger ovah heah.  I’ve been doing Perl for about 15 years, programming professionally for over 20 (roughly half my life, at this point), programming in toto for around 30.  It’s not that I have a burning desire to be famous or anything.  But there’s a certain freedom that comes with recognition in your field, and I think it might be nice for a change to comment on a post on the Internet or somesuch and have people know that you actually know what you’re talking about instead of having a knee-jerk reaction of “who is this guy again?”  I dunno, maybe it is all selfish self-aggrandizement, but it seems at least worthwhile, if not strictly necessary.

If nothing else, it’ll give you twice as many options for ignoring me.

Sunday, October 23, 2011

Heroscape Forever

So I’ve talked about my two favorite games: Heroscape and Pathfinder.  Pathfinder is still a relatively young game at the time I write this, having just recently celebrated its two-year anniversary.  Heroscape, however, was released in 2004, and, at the end of last year (2010), Wizards of the Coast discontinued it.

If you’ve followed my recounting of the saga of Pathfinder’s ascension, you’ll recognize that WotC is the same company that was responsible (in my opinion) for the downfall of Dungeons & Dragons.  Is this coincidence?  Probably not.

Now, don’t get me wrong: the original WotC—the one which invented Magic: the Gathering, the one run by Peter Adkinson—was a decent company.  I didn’t care for all the blind purchase crap that CCGs brought to the table, but there was always a sense that Wizards at least had some respect for its customers.  The fact that the OGL was developed before WotC’s sale to Hasbro (although released after it) is significant, I think.  Hasbro’s leadership made a huge difference in the way Wizards was run.  And, as I mentioned: Peter Adkinson was soon gone from the company he founded.

Heroscape was created by Hasbro as a game to be sold in Wal-Marts and Targets, but it had a collectible aspect to it.  That caused a huge dissonance between manufacturer and retailer.  For instance, some Heroscape units are “unique,” which means you can only have 1 of them in your army.  Some, on the other hand, are “common,” which means you can have as many as you like (and, in some cases, like orcs or zombies, you really need a lot of them to make the best of their abilities).  So here’s Hasbro producing a “wave” of new units, half of which are unique and half of which are common, and here’s Wal-Mart purchasing “wave 4” or whatever, not realizing that half their product is going to sell out at a frightening rate while the other half is going to sit around forever.  And Wal-Mart is never going to purchase “old” waves.  Wal-Mart doesn’t do “old.”  It’s always “new” “new” “new.”  But, if you’re just discovering the game around about wave 4, you really want to get some of wave 1, not to mention waves 2 and 3.  It was a marriage made in hell, and on one of the deeper levels.

So eventually Hasbro decided to shuffle Heroscape off to their subsidiary that actually dealt with weird collectible games, the ones who were more comfortable dealing with local gaming stores than big box retailers.  And, if they could have shuffled it off to the WotC that had existed at the time that D&D 3e came out, that might have even been a good idea.  But that WotC was long dead.  The new WotC was in the position that every successful smaller company bought by a huge corporate giant finds itself in: the definition of “success” had changed out from under them, and they were under constant pressure to perform better, produce more profits, increase their bottom line, reduce their “waste” ... note that I don’t know this personally, but I’ve been in that exact corporate situation time and time again (and I’m in it yet again in my current job), so I know exactly how it goes.  Uncomfortable company meetings where they tell you that you made X tens of millions of dollars this year, which was short of your “goals” by 10 million dollars, so you better buckle down and do a lot better in the coming year.  Or else things will get ... bleak.  Whatever fun there had been in the work (and, in a gaming company, I would imagine there’s even more fun in the work than usual) is mercilessly wrung out and drained away, leaving only the cracking whip of the corporate overseers, and the constant whisper, as in D. H. Lawrence’s excellent short story, “There must be more money!”

And so, Heroscape’s stay at WotC was predictably short.  Eventually they proclaimed that they were focussing on their “core competencies” (how many betrayals and abandonments have been masked with that facile corporate doublespeak!) of D&D and Magic.  And Heroscape, one amongst many other games in the Wizards stable, was no more.

Now, just last week I talked about what happens when a game is discontinued.  If you didn’t read it (and don’t care to), I’ll quote the relevant bit:

But the truth is that a dead game loses ground quickly.  There are no new expansions to attract the old fans, and nothing whatsoever to attract new ones.  In fact, if you’re just getting into a game, why would you start with a game (or a game version) that’s been discontinued?  Doesn’t make sense.  New products will come out for other games, or for the newer versions, that will leave you behind.  Technology will move on, advances in systems will be made, and you ... you will be left, eventually, playing a 20-year-old game with your two other curmudgeon friends while everyone else laughs and calls you “luddite” under their breath.

So, yes, it’s true (as always) that we’ll always have the expansions we’ve collected over the years, and there’s nothing keeping us from playing the game as it stands today, but, nonetheless, it’s a bit depressing knowing that we’ll never see any more new expansions come out, knowing that the number of new Heroscape fans that are created in the coming years will be miniscule at best.

Unless you could do something about that.

Making up homemade stuff for games (particularly expandable games) has a long and storied history.  Tweaks to the rules, generally called “house rules,” probably started with card games (particularly poker), and then expanded to venerable board games, like Monopoly and Risk.  When D&D came out, it was “expandable” in the sense that it was a set of rules that tried to model reality (and not even the real reality—a fantasy version of reality), and thus was always incomplete.  D&D “expansions” were essentially new rule books, covering new environments, new fantasy archetypes, new combat styles and weapons, and so forth.  Thus, house rules were customized expansions.

Magic: the Gathering made it a bit more complex.  Sure, you could have house rules.  But that didn’t replace the continuous expansions.  If you wanted customized expansions (generally shortened to just “customs”), that meant making up your own cards.  Now, on the one hand, you could see that, right?  You’re sitting around playing a card game in which almost every card is different, and you have dozens of combinations to choose from, but every once in a while you find that you need that one extra card to make the perfect combo.  Except that the company that makes that game hasn’t invented that card yet.  So you invent it.  What the hey: you’ve been playing this game so long that you know all the cards’ text by heart; you can easily make up some card text of your own.  Of course, it’s more complicated than that: Magic cards don’t just have text: they have pictures.  Often very beautiful pictures.  So you’ve got to have a picture too, and maybe you’re not an artist, but maybe you can find someone to draw it for you.  And still, at the end, you’ve got to print out your custom card and make it look all nice and official.

When M:tG first came out, that wasn’t very easy to do.  Nowadays we have cheap color printers, and places like Kinko’s and Staples that will professionally print things for you for little or nothing.  Printing your own Magic cards is a snap, if you can create them first.  And even that isn’t as hard as it used to be: PhotoShop, and its open source cousin the Gimp, is everywhere, and more and more people are learning how to manipulate images while said manipulation becomes easier and easier.

But what about a game like Heroscape, that has prepainted plastic figures, and premodled plastic terrain pieces?  How could you possibly come out with customs for that?

Surprisingly, people have always done it, ever since the game was first announced.  It turns out that the scale that Heroscape uses (which is more or less 28mm) is not that uncommon.  Many other games are roughly the right scale: HeroClix (and all its fellow ‘Clix games, like HorrorClix and Mage Knight), D&D Miniatures (and its brother Star Wars Minis), Dreamblade, Sabretooth’s short-lived Lord of the Rings game, and, more recently, Reaper’s Legendary Encounters line, and two from Rackham: Confrontation and AT-43.  And those are just the ones that come in prepainted plastic.  If you’re willing to use metal or resin, and/or willing to do a little painting yourself, the possibilities really open up.

So, all you need is a figure (preferably prepainted plastic), which you might have to do a little surgery on to “rebase” it (the figure bases for some games fit well with Heroscape, while the bases for others are completely unworkable), and then a copy of PhotoShop or Gimp to create a new card for it.  A little bit of photography to get a picture of the figure to composite into your card art, a little bit of playtesting to make sure your new figure works well with the existing units—not too powerful, not too wimpy, priced appropriately—and Bob’s yer uncle.  You’re all set.

Now, of course, hundreds (or thousands) of different fans all doing that at once creates a chaotic scene.  Everybody’s coming up with similar ideas going in radically different directions, using the same figures for radically different concepts, with radically varying levels of quality in the art, the text, and the playtesting.  There’s no way you could keep a dying game alive that way.

But what if you could get a smaller batch of fans together, perhaps divide them up into groups: the people talented with coming up with new units that don’t break the game would design the new units, the people talented with PhotoShop and Gimp would make the new cards, the people who were nitpicky about the wording being just right would edit the text, the people who could be the most critical while actually playing would be the playtesters ... maybe a few people to oversee the whole thing and make sure nothing got too out of hand and everything proceeded according to a grand plan.  If you could do that, then maybe ... just maybe ... you could keep a dying game alive.  It would never have the life it once had, and your efforts could never reach more than the most hardcore fans, of course, but it would be something.

Hasbro released 10 “waves” of figure expansions for Heroscape before handing over to WotC.  Wizards released 3 more.  I’m very proud to be part of the group that has recently “released” Wave 14.

That’s the figures taken care of.  Now if only we can think of a way to do some new terrain ...

Sunday, October 16, 2011

Destination: Pathfinder

Last week, I went into some detail about the history of D&D, both from a corporate and personal perspective.  If you haven’t read that yet, you need to, or there’s not much point in reading this.  Not that there’s ever much point, of course.  But even less point than usual.  So go read that before proceeding.

Okay, so remember I told you what happens when someone tries to take a free piece of software and make it proprietary?  Someone forks it.  Netscape was forked to make Mozilla (which begat Firefox).  AT&T’s original Unix was forked to make BSD when they claimed System V was proprietary.  And, when you take an open game and say, this next version isn’t open any more, someone’s bound to fork it.  And that someone was Paizo.

Now, you may recall from last week that Paizo was the company that Hasbro spun off from WotC to handle the continuing publication of Dragon magazine (and its cousin, Dungeon).  So it was, originally, a small publishing company with a very narrow focus.  Obviously you can’t build an entire business off publishing two magazines with a limited appeal.  (Note that Dragonand, to a lesser extent, Dungeonhad a very wide appeal to players of D&D, but of course that’s still a pretty small percentage of the total population.)  So they worked on expanding that.  Remember how I said that one of the reasons the OGL was a good idea was that games need ancillary products like adventures in order to flourish, but publishing adventures is too unprofitable for a larger company? so smaller companies can take on that task and fill out the ecosystem?  Well, all of a sudden Paizo was a smaller company, and their business was publishing.  Why not publish adventures for D&D?

So they did.  And they decided to publish regular adventures.  One of the annoying things about adventures is that they’re always for “adventurers of X-Y levels.”  So, what do you do if your characters aren’t those levels?  Wouldn’t it be cooler if there was an adventure that started out for first level characters, and then, as you gained levels, there’d be another adventure for higher level characters, in the same world, and then another adventure for even higher level characters, and so on up through the highest level characters that people normally play before they get bored and start over at first level again?  Sure it would.  And you, of course, would want a subscription to those adventures, which should come out every month or two, just when the GM is getting ready to prepare for the next installment of her campaign.  And, hey: who better to come up with a subscription to adventures than the company who’s already publishing D&D magazines?

Paizo called them “adventure paths.”

They tried a few other magazines, but they didn’t work that well.  They expanded to producing GM products, and selling miniatures, and a web storefront, and that was working okay.  But when Hasbro came out with 4e and proclaimed that Dragon would be moving to online-only content and that Paizo’s license was just ... cancelled ... well, that was a pretty hefty blow.

So Paizo had to figure out what to do, and figure it out fast.  Possibly their adventure paths could keep them afloat, along with all the other things they had going on, but that was problematic too.  Because these would now be adventure paths for a “dead” game: D&D 3e.  They couldn’t publish 4e adventures, because the 4e license didn’t allow it.  Now, many people will tell you that it doesn’t matter when a company cancels a game, or comes out with a new, incompatible version.  You still have your old copy, right?  It’s not like WotC is going to come to your house and burn all your 3e books!  (I can’t tell you how many times I read that moronic piece of pablum in gaming blogs and forums.)  You can keep playing 3e all you want ... they say.

But the truth is that a dead game loses ground quickly.  There are no new expansions to attract the old fans, and nothing whatsoever to attract new ones.  In fact, if you’re just getting into a game, why would you start with a game (or a game version) that’s been discontinued?  Doesn’t make sense.  New products will come out for other games, or for the newer versions, that will leave you behind.  Technology will move on, advances in systems will be made, and you ... you will be left, eventually, playing a 20-year-old game with your two other curmudgeon friends while everyone else laughs and calls you “luddite” under their breath.  And as far as subscriptions to adventure paths for such a game ... well, let’s just say they’d be “shrinking” at best.

So what could Paizo do?  They had all this 3e/3.5e material floating around, and they wanted to keep producing it ad infinitum.  There would never be another version of D&D, as far as they were concerned.  There would never be a 3.6e, or a 3.75e.  Well, not from Hasbro, anyway.  Except ... except that 3e and 3.5e were OGL.  So we didn’t actually need Hasbro for a new 3.Xe version of D&D.  It couldn’t actually be called D&D of course—the OGL didn’t extend to the actual trademarked namebut it could work just like it, maybe have a few improvements here and there, be essentially the same game, only better and with a different name.  If only someone would do that ...

So Paizo did it.

It was inevitable, really.  4e was such a disappointment to so many people.  Not just me; I could point you at dozens of other blogs that agree with me.  Sure, many people thought it was okay; a few even loved it.  But with so many people so disappointed, and the OGL D&D just sitting there ...

And, just as I said that all the things wrong with 4e might not have mattered if the game itself was good enough (but it wasn’t), so it was that all that Paizo did might not have mattered if they hadn’t managed to get it right.  Because it wasn’t enough to repackage the same tired 3.5e rules and slap a new name on it: if they wanted to put out a new game with a new name, it had to offer something that 3.5e didn’t have.

And, as I said, 3.5e had a lot.  It was an improvement over 3e, just as 3e was an improvement over the previous versions.  But it was far from perfect.  It had its warts.  And Paizo fixed just about all of them.  And they did by holding a giant, year-long, open playtest.  That is, they put out the new rules for free, for everyone to look at, and they opened up special sections on their web forums for feedback, and they actually listened to what people had to say.  And, man, does it show.

I’ll give you 3 simple reasons why Pathfinder is better than 3.5e (never mind why it’s better than 4e—that’s not hard to do).  Again, if you’re not an RPG gamer, this may not mean much, but I’ll see if I can make it make sense.

First, they eliminated “dead levels.”  In D&D, there have always been levels for certain classes where you advanced to that level, but you didn’t get anything much for it.  You got to rub out a couple of numbers on your character sheet and write in some new, bigger ones.  Some classes were worse than others in this respect: for fighters in 1e, for instance, every level was a dead level.  3e/3.5e was much better, but still, many classes, such as fighters and barbarians, had a dead level every other level.  It meant that playing (or at least advancing) those classes was boring half the time.  But Pathfinder fixes that, by giving you something (even if it’s just a little thing) to look forward to every level.

Secondly, they fixed the maximum skill ranks problem.  In 3e/3.5e, you have skill ranks, and the most ranks you can have in a skill is your level + 3.  Except for cross-class skills, where it’s half that.  Every level, you get skill points, and 1 skill point equals 1 skill rank, if it’s a class skill, or 2 skill points equals 1 skill rank for cross-class skills.  Oh, and at first level you get 4 times as many skill points.  If all that sounds complicated, that’s because it is.  Pathfinder eliminates skill points and just gives you skill ranks every level.  The maximum number of ranks in every skill is now your level, and class skills give you a +3 bonus if you put any ranks in them.  This simple, elegant change works out to almost the same mathematically, but it’s so much simpler to deal with.  Pathfinder is full of things like that.

Thirdly, they changed the way favored classes work.  In 3e/3.5e, races have favored classes (humans can pick any class), and taking levels in your favored class eliminates XP penalties for multiclassing.  Yes, if you want to multiclass, you get penalties.  In Pathfinder, though, there are no penalties for multiclassing.  Instead, favored classes (which can be chosen by anyone, regardless of race) give you an extra hit point or an extra skill rank (your choice) every level you take that class.  In other words, they changed the stick into a carrot.  Much nicer to encourage people to stick with one class by offering them something shiny than to try to impose penalties (complicated math penalties, even) on them when they don’t.

Notice I said “thirdly” and not “finally.”  That’s because there’s lots more reasons why Pathfinder is an improvement over 3.5e.  Consolidation of skills (no more having to waste skill points on both Hide in Shadows and Move Silently if you want to be sneaky), races get two bonuses and one penalty (instead of one and one), simplification of grapple rules (and combination of them with other combat maneuvers such as trip or disarm), feats at every other level instead of every third, removal of limits on cantrips/orisons, elimination of XP costs for magic items and spells, capstone abilities for all classes, simplification of some of the more stupidly complex spells (such as polymorph) ... I could go on and on.  I suppose Pathfinder isn’t a perfect game either, but it seems to have no new flaws, and it fixes many (not all, admittedly) of the flaws that 3e/3.5e brought to the table.  What more could you ask for?

In the end, it’s easier for me to make the character I want with Pathfinder.  It’s more flexible, and it continues to make sense.  I wish the combat could be more streamlined (and I plan on experimenting with combining True20 with Pathfinder to help address that), but that’s my only major complaint with the system, and that was inherited straight from D&D, from 1e all the way through to 3.5e.  So, overall, Pathfinder is a mighty fine system, and I’m glad Paizo has blessed us with it.  The core books are gorgeous, there’s only two of them (making it cheaper for the base set than D&D), and you can get PDFs of them as well, which are also well-crafted.  I still love D&D, and as far as I’m concerned I’m still playing it.  It just has a new name now.

Sunday, October 9, 2011

The Path to Pathfinder

Between talking about Heroscape and Darwin’s World, I’ve already explained my personal history with D&D, and I started to explain about the various editions of D&D.  I covered 1e (that’s first edition), and 2e, and then I said 3e (the d20 edition) was perhaps the most popular, for several reasons (but then I only mentioned one).  I also noted that I don’t technically play D&D any more: I play Pathfinder.  I think perhaps it’s time to clear up what all that actually means.  Go and review the other two blog posts if you missed them the first time around.

Back?  Okay, so there are two open questions from all that.  First, what’s the other big reason that D&D 3e was so popular?  And, secondly, if I love D&D so much, why do I play Pathfinder now?  Well, as it turns out, the answers to those two questions are related.

While I talked about the edition history of D&D, I didn’t talk about the corporate history, and that turns out to be important too.  D&D was started by Gygax and Arneson, and they formed a little company called Tactical Studies Rules.  (Technically, Arneson wasn’t one of the partners, and there were a couple of other guys involved, but we don’t need to be that detailed.)  Tactical Studies Rules became TSR Hobbies, which became TSR, Inc.  Gygax, often considered the father of D&D and, by extension, the grandfather of all RPGs, was eventually forced out of the company he helped found, and TSR became more about business than about gaming.

One of the most annoying habits that grew out of this changeover was the litigiousness.  Early in the company’s history, they were sued by the Tolkien estate, and, as a result, there are no longer hobbits, ents, or balrogs in D&D; instead we have halflings, treants, and balors.  But it’s almost as if this experience scarred them somehow, because not so long after that, TSR started suing other people.  First any gaming company that published anything that used D&D gaming terms (like “hit points” or “armor class”), and then later on they actually started sending cease and desist letters to individuals operating D&D fan sites on the new-fangled world-wide web.  Here’s a tip for any of you budding entrepreneurs out there: threatening to sue your customers is not a good business model.

Soon TSR was all set to go bankrupt and D&D would be lost forever.  And then, along comes ... Wizards of the Coast.

So, remember in my discussion about what led up to Heroscape I mentioned CCG (collectible card games)? and, in particular, the grandaddy of all CCGs, Magic: the Gathering?  Well, that was Wizards, or “WotC” as they’re (sometimes affectionately) known.  WotC had its own fall from gaming grace to corporate sludgehood, but that is chronicled elsewhere and doesn’t directly impact the story.  The important bit is that someone over at WotC figured out that trying to shut down the people who were spreading the good word about your product wasn’t that bright of an idea.  The fans, whose word of mouth you counted on to attract new customers, and teach their children your game instead of someone else’s, that much was obvious.  But what about those other companies? the ones who wanted to produce products that used your game’s rules?  They were downright taking food off your table, weren’t they?

Well, only if you actually wanted to print those products yourself.  And, it turned out, you didn’t.  The sorts of D&D “add-on” books that these smaller gaming companies were putting out were niche products: the type of thing with a maximum audience of a few thousand.  There’s no way a big company can make a decent profit on that.  And, anyway: the more products that are out there utilizing your game’s rules (as opposed to someone else’s game’s rules), the more people want to play your game, because your game has the most support.  So it turns out that you actually want to encourage people to develop add-on products, not try to sue them.

And someone over at WotC (typically Ryan Dancey gets the credit) had a brainstorm.  The world of software was exploding with creativity because of the whole open source movement.  What if we could apply that to PnP RPGs?  Thus, open gaming was born, and D&D 3e was issued under the OGL.

It’s true that D&D 3e was markedly simpler to learn and to play than 1e or 2e (still not simple, mind you, but simpler).  It’s true that certain rules, such as multi-classing (the ability to be, say, both a fighter and a wizard, as opposed to having to choose one or the other and be stuck with that choice for your character’s entire career), were much less restrictive and appealing to a broader swath of gamers.  It’s true that the art was better, and the books were higher quality.  It’s true that many of the warts were removed, and the game was overall fairer to all concerned: being a wizard wasn’t quite so much like double-entry accounting, and being a fighter was more interesting than just saying “I attack!” over and over again.  But in my opinion (and the opinion of many other folks who follow such things), the real reason for the success of D&D 3e was the Open Game License.

All of a sudden, little RPG publishing outfits were publishing D&D add-on products instead of trying to come up with their own games.  The stuff that WotC couldn’t make money on, but that you had to have for a full-bodied RPG ecology (e.g. adventures) were coming out in droves.  And everything pointed back to the “core rulebooks” ... every single one of those products by someone other than Wizards had a big blurb on it saying “this product requires use of the D&D 3rd Edition Player’s Handbook, Dungeon Master’s Guide, and Monster Manual.”  That’s $60+ a set back to Hasbro every time someone new wants to get the latest adventure or newest campaign from Mongoose or Alderac or Green Ronin.

Yes, that’s right: Hasbro.  Because WotC got sold just like TSR got sold, and Peter Adkinson left just like Gary Gygax did.  Slightly different reasons, and certainly Adkinson made out better in the end than Gygax ever had, but the pattern is clear: it starts out being all about the games, and it ends up being all about the money.  And, eventually, that kills it.

The problem, of course, was that Hasbro was a big corporation, and it just didn’t understand this whole “open gaming” thing.  You mean other people—other companiescan use our intellectual property?  And not pay us?  Insanity!  It didn’t seem to make a difference that D&D was more popular than it had been since the late 70’s (really, more popular than it had ever been), that whole new generations of gamers were signing up, that the ironic hipsters who thumbed their noses at “old-fashioned” D&D and sported flashy new games like GURPS and Storyteller and Hero were suddenly wholesale converting to the d20 craze, that the money-losing propositions were being fronted by other companies.  If Hasbro couldn’t have all the money, then, dammit, no one else should be able to either.

This is my opinion of course.  Many people say that Hasbro/WotC’s release of a new edition that wasn’t quite a new edition—dubbed “3.5e” by everyone in what would soon become at least partially a derogatory tone—is what killed it.  Certainly many people saw 3.5e as a blatant cash grab: tweaking the rules just enough to force everyone to drop another $60 for the core rulebooks all over again.  And it certainly did cause some confusion in the ancillary publishers: should they be releasing add-on’s for 3.5e, or still for 3e, or ... ?  It was a bit like what would happen if Apple were to release a new version of the Macintosh without letting the software vendors have an advance copy first.  Of course, Apple would never do such a silly thing.  So there’s no doubt that 3.5e didn’t do D&D any favors.  But it wasn’t what killed the game ... at least not for me.

That would be 4e.

The first moronic thing Hasbro did was to completely reverse course on the OGL.  D&D 4e has a license that it’s released under, but it can’t be considered “open” by any stretch of the imagination.  All of a sudden no one can produce D&D material except Hasbro, and all the reasons to stick with D&D instead of looking at new games are all gone.  That’s why I say Hasbro’s short-sightedness and lack of comprehension on long-term profitability with an open model are the culprits.  You want to know how stupid they were?  They took away the rights of Paizo Publishing to produce Dragon Magazine.  Now, Dragon had been published continuously since 1976; it was originally published by TSR directly, and WotC bought that as well, and Hasbro itself had spun the magazine publishing off of Wizards soon after they bought it, looking to “streamline” and “maintain core competencies” or somesuch bullshit.  And now they were killing one of the greatest ambassadors that D&D ever had, so they could publish online content without “competition.”

But, you know what?  All that would have been fine.  I could have forgiven them all that and much more, if not for one measly problem: 4e sucks.  Now, that is certainly not a unverisally held opinion.  There are those out there that feel that 4e is a much better game than 3e/3.5e.  More common is an attitude that they’re just two entirely different games which happen to share the same name, perhaps unfortunately.  But what I personally believe is even more common is the attitude that I have.  Not that I’m stubbornly holding on to my old edition, refusing to get with the times like some RPG version of the classic Luddite.  I loved 1e, but I loved 2e better.  When the raft of core bolt-ons for 2e came out (Skills & Powers, Spells & Magic, and Combat & Tactics; what some called in retrospect 2.5e), I loved that even more.  When 3e came out, I loved that best, until 3.5e came out and it was so much better than I never even complained about having to spend yet another $60 for what was suspiciously close to the same set of rules I’d just purchased a mere 3 years before.  And, when 4e was announced 4 years later, I was excited all over again.  I had no reason to believe 4e would not be just as awesomer than 3.5e as each previous edition had been over its predecessors.  When 4e was released the following year (2008, that would have been), I eagerly bought a boxed set of all 3 core rulebooks and tore into them, anxious to see what they had to offer.

And I was disappointed.

There are any number of reasons I could give you.  If you’re a gamer, I can say that mainly it comes down a lack of options: genericization of powers essentially eliminate spells, many of the races and classes that I’d come to consider “core” were gone, and most especially the complete excoriation of multi-classing, which meant that it was now harder to build whatever character I dreamed up.  New editions are supposed to make that easier.  If you’re not a gamer, let’s just leave it at: this was not the same game.  3e is not the same game as 2e, to some extent, but there is a fundamental connecting thread running them.  4e, for me at least, cuts that thread and moves into a whole new, weird space.  It has some good ideas, and some subsytems were improved, but overall I just didn’t want to play it after reading the rules.  It left a flat, metallic taste in my mouth, like trying to eat your favorite food when you have a cold.

Now, being a software geek just as much as a gamer geek, I can easily tell you what happens when someone takes a piece of open source software and releases the new version under a proprietary license.  It’s quite simple: somebody forks it.  Which means, they take the last version that was free, and they improve it a bit here and there, and then they release it under a new name competing with the original.  So when Netscape gets bought by AOL, you get Mozilla (and, eventually, Firefox).  And when D&D’s OGL gets co-opted by parent corp Hasbro to produce 4e, you get ... Pathfinder.

Next week I’ll get more in depth into how Pathfinder came into being and why you should care.  Well, if you’re a fan of D&D’s 3rd Edition (either 3e or 3.5e), you should care.  Keep that breath baited!