Home

Search Posts:

Archives

Login

September 2010

S M T W H F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

I find Dinosaur Comics to be one of the funnier things I've seen on the internets. It's great, and you should read it.

In homage, or something, I've been generating a random 2-panel combination of comics. It's actually sometimes quite funny, and I'm posting the best results to a wordpress blog.

Anyway, check it out!

I finally got a chance to play Left 4 Dead multiplayer last night, and man... it's a lot of fun.

In some ways the game reminds me of Serious Sam - fast, furious, straightforward. L4D has a bit more depth to it, but it also has a of purity of concept that just makes it work so well. There's no fluff here, no needless complexity - you and 3 buddies simply kill zombies, and lots of them.

The awesome B-movie horror styling and the cheesy one-liners from the characters are just icing on the cake.

L4D is on sale for $23.99 for the next few days. If you don't already own it, you should pick up a copy.

It is with great restraint that I describe "The Wire" as merely "the best thing I've ever seen on television." It's tempting for me to call this the greatest cinematic work I've ever experienced, period, but I need a bit more time to contemplate that.

Here is the story of Baltimore, of the War on Drugs, of America. The characters of "The Wire" range from obsessive to idealistic to sadistic to almost completely amoral, but one thing ties them together: they are all cogs in a machine that is utterly immutable.

"The Wire" is massive in scope, and plays out more like a series of 5 season-long movies. Individual episodes never stand on their own, and almost nothing is thrown away - seemingly minor characters and events will continue to echo throughout the course of a season. You cannot miss an episode of this series and you cannot watch it out of order.

The violence in the Wire is visceral, but not gratuitous. The street language used is amazingly colorful and entirely credible. The sets used are often actually in Baltimore, and the extras are often actual residents. Everything about the show feels real, in a way that I've never really seen from another TV program.

As the creators have noted, the main character of the series is really the city of Baltimore. The ensemble cast wends its way through the various organizations that infect the City: the gangs, the dock workers, the police, the politicians, the educators, the press. All of these systems are equally dysfunctional, and their systemic dysfunction ultimately infects the lives of their inhabitants.

It's easy to understand why "The Wire" was never widely accepted. It is not only much more complex than other shows, it's also horrifically bleak in a way that is almost never seen on American television. Please, please do not let that deter you - if you do not see this show, you'll be missing out on something truly incredible.

* This is the same review I placed on Amazon
** Yes, it's even better than Futurama, although it couldn't be more different

Wow, what a surprise this game was.

I played Fallout 2 way back when, and enjoyed it a great deal. I was shocked that anybody would be making a sequel at this point - the old games were turn based, isometric RPGs. Classics. And it's really hard for me to imagine continuing that tradition now.

Fallout 3 succeeds, in part, by not being bound by this tradition. Bethesda realized that that old style gameplay had no place in today's market. Even though war never changes, video games do.

So they ripped out the turn based combat, got rid of the 3rd person view. This is a first person, action RPG. It's almost at times like playing a straight up shooter. This is, as they say, Obvlivion with guns.

And man, is it awesome.

It's easy to romanticize the earlier games. They earned a lot of praise, and rightfully so - when they were released, they were the cream of the crop. Such a compelling and bizarre retro-apocalyptic setting, such freedom to explore the world and interact with it as you will. The player could do and be whatever he wanted. There was nothing else quite like it.

Some of this is lost in Fallout 3. As the 3d environment now becomes more complex, as every line is now voiced by talented actors, the player's options dwindle a bit. But my god - the second you exit Vault 101 and survey the crushed world from a "scenic overlook," you know it really was all worth it.

SPECIAL is still around, underneath it all. While the game plays like a shooter, the dice are still rolling behind the scenes. Skills and perks matter, especially in VATS, which pauses the action of the "action RPG" and turns it into pseudo turn-based combat, if only in brief spurts. VATS is genius. The best of both worlds.

The glue that holds this all together, the common thread, is that this world really feels like Fallout. Everything feels right - the crazy perks, the retro sci-fi artifacts, the bizarre humor... everything is in place. If they'd screwed this up, it wouldn't have worked. But they didn't. They took the world the first games gave us that distant 3rd person view of, and they placed us right in the middle of it.

The game takes itself a bit more seriously, but it has to. There are elements here that wouldn't have worked otherwise. Wandering through a disintegrating building, listening to audio recordings of a man's slow degeneration into a mindless ghoul. Descending into a failed Vault, uncovering the disastrous experiments that lead all of the inhabitants to their doom. Stumbling across a supermarket filled with raiders, with the corpses of hapless wastelanders strung up on chains.

At times, in the darkest caverns of the Fallout 3 world, you truly feel terror. At times, it feels like you're playing The Road.

The game works on almost all levels. It has its quirks, but it's impossible to care too much about them - there are way more hits than misses. If you play it straight through, sticking to the main plot, you can probably burn through the game in 8-10 hours. But don't do that - take your time, and revel in the horrific glory of the wasteland. You won't be disappointed.

I just bought my first new automobile, a 2009 Volkswagen GTI. This is also the first time I've financed any purchase outside of my mortgage (excepting tricks like using store financing solely to get discounts).

It's hard to claim that I really needed a new car, since the Integra still functions as basic transportation and since Annie's '06 Civic is a great vehicle for everyday use. Still, every month that passes makes the Integra more frustrating to operate - it's 16 years old, and both the exterior and interior are starting to show that age.

Mechanically, though, she's great. Clocking over 185,000 miles, but running like a dream. That's Honda for you.

Anyway, I said to myself, "Self, you can have a nice thing every now and then, even if you don't strictly need it. You've never owned a new car in your life, and right now you can grab the dealers by the balls and walk away with a good price."

This, mind, is after months of obsessive research. I've wanted to replace the Integra for a while, and I've been scouring the internets for a worthy successor. I honestly didn't expect that at the end I would be *buying* such a thing - I really just wanted to know what I should be lusting after.

The GTI was in a close fight with the Civic Si (which is a close relative of the now defunct Integra). Both vehicles had almost everything that lead me to the Integra to begin with: good gas mileage, fun to drive, nice (but conservative) appearance, compact size (but still able to seat 4 comfortably, 5 in a pinch).

Ultimately, 2 factors tipped the scales in the GTI's favor: first, it's not another Civic (and as much as I do love the Civic, I don't think we need two of the things), and second, I fell in love with the hatchback (which allows the GTI to cram more cargo and passenger volume into a vehicle that's actually shorter than the Civic).

My dealership experience was not at all what I expected. I had done such extensive research on the process that I was ready for a major undertaking: I armed myself with all the information I could find, and I used Edmunds to get an idea of what to expect. I was ready for a fight.

On a whim, though, I decided to try the Edmund's service to automatically get quotes from area dealerships via email. Nothing to lose from that, and it would at least give me a good baseline to start from.

Much to my surprise, one guy came in well under the rest (with a price that was well under both Edmund's FMV as well as invoice), and when I shopped the price around the other dealers (with one exception) basically told me they couldn't touch it. I went out to the lot (dragged the guy in on Saturday, when he doesn't even normally work) and tried to drive him down a bit further, but he wasn't budging at all on the price of the car beyond throwing in a couple of extras at cost. I honestly didn't expect anything different, though, given the way other dealers responded to that first quote.

In retrospect, I think I could have done marginally better with the single dealership that was able to match the price, but I don't think it would have been *much* better - a few hundred at most - and the dealer I went with has a better reputation and is more convenient to me. That's worth a few hundred bucks, I think.

Anyway, I'll put up a picture when I get around to it. So far I've got only minimal buyer's remorse, but we'll see how I feel after I start making those hefty payments...

I swear, my luck with hard drives is really rotten. I just lost the OS drive in my MythTV box, and that marks the second time in as many years (and the 3rd time total).

It shouldn't be surprising. I've got 8 drives in always-on systems, and I was sure to lose another eventually. It's just too bad it wasn't one from the RAIDz array.

Anyway, the last time I lost the primary (and at the time only) drive in my MythTV system, I responded by rebuilding the thing with RAID 1. It chugged along happily for a while with no issue.

At some point, I picked up a small form factor bare bones kit to replace the massive Dell tower that I had been using. In moving to the smaller kit, I was forced to sacrifice the second drive.

Of course, now, I pay the price.

Luckily, the price isn't that high. When I set up my RAIDz array a while back, I offloaded all of the actual media files onto that and exported them via NFS. A drive failure in the mythtv system itself doesn't cause me to lose any of those.

At the same time, I also configured bacula to back up everything else "important" to the raidz pool as well, and I rsync those backups to an external drive. This works remarkably well, and until now I've had no cause to use it.

I noticed the drive failure last night, when I tried to upload a newly ripped CD. I didn't have time to do anything then - I just hit the gentoo website and started downloading the latest live CD (since god knows where I put my old one) and told bacula to restore everything to the local filesystem.

This morning, I got up a bit early and swapped out the failed drive with the one that used to be its mirror. I briefly considered trying to recover a bootable system from the outdated mirror, but quickly thought better of it; the data was really stale and would have to be replaced anyway. Might as well just nuke it from orbit and do a bare metal restore.

Once I had the live CD booted, it was pretty straightforward to recover from there. The bacula restore job had finished the night before, so all I had to do was partition the replacement drive and rsync the backup over from the Solaris box.

Unfortunately, I had failed to backup the boot partition. Not a big problem, but I had to go back in and recreate that, building a new initrd and creating a new grub.conf. I also failed to create /dev/console and /dev/null on the actual / partition, which caused boot to fail until I went back and did so. Lessons learned there.

I also lost my large "scratch" partition. I tend to keep a collection of useless junk around, and in this case I had already decided that these things were acceptable losses in a recovery scenario. In a way, it's actually nice to have this cleaned out.

The total time from cracking the case to having the system fully running with the prior night's backup was approximately 3 hours. I know I'm probably not going to see 3 9's on my DVR, but that's not a bad turnaround time from my perspective.

I'll confess to being a bit late to the game on picking up puppet, but now that I've finally jumped in I'm completely hooked. Put simply, puppet is a piece of software, written in ruby, which allows machines to pull configuration information from a central "puppetmaster."

First, a little background, and an explanation of why I've fallen in love with the idea of such a system.

Why I use puppet

I currently manage a relatively small environment. I have about 15 physical servers and about a dozen xen guests. I'd long assumed that puppet - or its spiritual predecessor, cfengine - would be a poor fit in my situation. After all, I'm not managing seas of identical boxes - most of these machines have several unique aspects which they do not share with anything else.

I had assumed that all of the true commonalities would be taken care of at kickstart/jumpstart time, and that modifications to these commonalities would be few and far between. If they needed to change, I would change them manually. Not a big deal.

Except that's not how it works in practice. You just can't keep everything the same manually when you're dealing with more than one machine, and at some point you will want to change things everywhere and you will mess up. So, when I tweaked my system config to use kerberos for pam authentication instead of LDAP, I changed it on the kickstart, and I changed it everywhere I remembered - but I missed some boxes.

And you know what? I didn't even realize this until I moved this config into puppet.

It goes beyond this, though. It's not only about making sure the commonalities are preserved across machines and that changes are kept in sync. Even in situations where you really do have a unique configuration - something that only matters in one place - you very well might need to duplicate the setup later. There are so many little things that are easy to do without thinking much about - all the countless permission management and account creation and directory creation tasks that you do now, that you sure as hell won't remember in 5 years. This is especially true if you're not even working there and some other guy needs to replicate your work.

Puppet gives you the chance to codify all of this, and combined with subversion or git you actually have a change control mechanism for server state. Need to add a mail alias? Who cares if you don't think you'll need it elsewhere - put it in puppet and check it in to svn. Now you have both the recipe needed to recreate this configuration elsewhere, but also a record of the change and (if you comment in your svn commit) the reason why it was changed.

The puppet language itself is so concise that it's easy to see what you've done, even if you failed to document it anywhere. In effect, the mere act of making a change now becomes documentation. That's incredibly powerful.

As well, puppet often forces you to do things the right way. Puppet is really good at managing things - as long as you do the right things. A prime example here is in package management - puppet can easily ensure that you have the appropriate RPM (or sun pkg, or debian apt, or gentoo emerge, etc) packages installed as defined in your puppet configuration. Simply add the definition to puppet, and the package will be installed.

Now, this is great, until you run into a piece of software that hasn't been packaged - say, a perl module. In the past, it would be really tempting to just fire up CPAN and let it do whatever the hell it is that CPAN does, installing the perl module wherever it sees fit. But puppet knows nothing of CPAN - if you use CPAN, you work against puppet. The "right way" is (and always has been) to build RPMs (or whatever your native package is) and maintain your own repository, but puppet practically forces you to do this. Once you start trusting puppet for everything, you start doing everything in a way that's more maintainable and predictable as a side effect - and that makes you better at your job.

That, in a nutshell, is why I use puppet. Now, onto how I use it.

Puppet guts

My initial assumptions about puppet were that it was basically a dumb configuration file repository - that you throw confs in the puppet master and they get slurped down by the clients, potentially modified by some templating mechanism where a config needs to vary slightly across multiple environments. Indeed, this is a supported (and sometimes necessary) way of distributing configuration information to puppet clients, but after digging in a bit more I realized that there's usually a better way.

Puppet goes beyond the simple "fileserver with templates" paradigm to, effectively, provide an abstraction layer that can describe aspects of a UNIX system in its own dialect. Configuration information is primarily written using the "puppet language," utilizing special "types" which are ruby classes capable of mapping the puppet language into raw configuration details needed by systems. Where these types are inadequate, one can do other lower-level tricks, like directly executing UNIX commands or inserting raw data directly into files.

This is a bit cumbersome to describe, but the following example should help make this more apparent:

service { [ "stunnel" ]:

enable => true,
ensure => running,
subscribe => File[stunnelconf],
}

The "service" type comes with puppet, and it's an abstraction of - surprise - services. It takes many potential arguments, but in my case I'm calling it on a service named "stunnel" and defining "enable" as "true", "ensure" as "running", and "subscribe" as "File[stunnelconf]". In this context, that means that I want the service enabled on boot, that the service should be running (or made to run if it's not) when puppet runs, and that when the "File" resource named "stunnelconf" changes the daemon should be restarted (thus if the configuration changes you need not do a manual restart).

The magic in this is that "service" is smart enough to handle a wide array of different mechanisms for launching and monitoring states of services. On CentOS machines, the puppet "service" type will manage the service with a combination of calling init scripts and running the redhat-specific "chkconfig" mechanism. On a Solaris 10 box, however, this same type would manage stunnel through the SMF system, calling the svcadm utility (or possibly hooking directly into the API - I'm not sure). The beauty here is that the puppet "service" type knows all of this, and the wildly different systems are presented to you as exactly the same construct in the puppet language. I no longer need to care about the differing underlying mechanisms - I tell puppet I want the service turned on, and it does all of the actual work for me.

Things that can be managed with the included puppet "types" include user accounts, groups, yum repositories, packages, file permissions, cron jobs, mail aliases... well, there are quite a few of them, and the puppet type reference goes into great detail on their capabilities.

Now, it would be nice to have native types for every resource, but understandably there are many occasions where no type is available. You could create your own puppet type in ruby to handle such a situation, but this would take a chunk of time and it might not be worth the extra effort.

Luckily, the puppet language itself gives you enough tools to abstract configuration elements through the use of templates and the included "file" type. It's not quite as powerful as writing your own full-fledged type, but it's also much more straightforward and much easier to implement.

As an example, here's a snippet of how I pull in my snmp config:

file {"/etc/snmp/snmpd.conf":

content => template("snmp/snmpd.conf.erb","snmp/$snmpextra.erb"),
mode => 0644,
alias => snmpconf,
}

That "$snmpextra" thing is a puppet variable. In my case here, I have a base snmpd.conf.erb file, which is an ERB template that contains my most basic snmp config. However, I also have an optional additional template which is appended if the $snmpextra variable is defined. In this way, I can keep one "master" configuration, but I can add additional local configurations as needed. Note that the ERB templates themselves can contain ruby code that inserts text based on puppet variables or facts, but they need not do so - they could be a simple configuration file copied directly from a working config.

In case you're wondering what a "fact" is, it's a snippet of system information provided by puppet's "facter" helper utility. Just as puppet types can abstract configuration directives, facter is a standalone utility that's used to abstract the gathering of system metadata. Whenever puppet is run, facter collects a series of "facts" about a system, and these facts can be used to make decisions in the puppet language or within ERB templates.

So, for example, here I check for the $operatingsystem fact and include a different class based on that fact:

class legato::client {

case $operatingsystem {
centos: { include legato::client::centos }
solaris { include legato::client::solaris }
}
}

Note that, in the puppet language, a "class" is not like a "class" in object oriented programming - rather, it describes a bundle of configuration directives, and you can apply them with the "include" statement. In this snippet, I pull in the legato::client::centos class for centos machines, and the legato::client::solaris class for Solaris machines. In cases where there is no native puppet type, you can manage operating system specific details in this way.

Conclusion

That's the basic gist of what puppet can do and how I use it, but there are many details that are documented on its excellent wiki, which you really should read if you're interested in the software. I highly recommend it, even if you're only dealing with a handful of systems - I've come to rely on puppet, not only to help me to get things done, but also to make sure I do them the right way.

I'm starting to feel like we've seen this before, somewhere. You have the Bush administration telling us there's a dire crisis, and that we have to do exactly what he says or the terrorists financial bogeyman will win.

Well, surely, he wouldn't lie to us again.

It is a bit strange to see the Democrats all gung ho this time, though. Isn't this the party for labor unions and the "working man?" You know, redistributing wealth downward, not upward? I guess at the end of the day anything that expands the power of the federal government - and the executive in particular, since they seem to think Obama will win - is A-OK by them.

When I heard that the bill was sunk, I eagerly looked up the roll call in the hopes that my representative, David Price, might have done the right thing. Unfortunately, he did not. Fortunately, I get to vote against him in November.

Everything else be damned, I'll be a one issue voter over this. Attempting to rob the taxpayers of almost a trillion dollars to fund a failed business model is not something that can go unpunished.

Let's take a trip back - way back. Before the perpetual war on terror, before the federal government got into the business of wealth redistribution - back to when the country was born.

The founders were not asking questions about drilling for oil or bailing out banks - they had real things to figure out. They were asking how they could create an entity that was powerful enough to preserve the rights of its citizens and member states, yet constrained enough that it could never be used to violate these rights. More than this, even, they had to ask what these "rights" even were.

History conspired to place Jefferson, a man of the Enlightenment, behind the Declaration of Independence, and thus managed to irrevocably tie the philosophy of John Locke with the birth of the new nation.

Jefferson - and those who agreed with him - feared power, and rightly so. They had witnessed the abuse of power first hand, and they felt that such power was anathema to a society of free men. The Constitution and the Bill of Rights were drafted to shackle the federal government, to prevent any man or group of men from acting as a despot.

The Jeffersonian view of government was essentially classical liberalism. The core tenet of classical liberalism is that of inalienable rights, as Jefferson described them in the Declaration of Independence - rights that all men share, rights that may not be forfeit to government. Rather than government granting its citizens rights, the citizenry grants its government certain powers to be used only to protect these rights.

These core rights of man were referred to by Locke as "life, liberty, and property." While it is perhaps unfortunate that the text of the Declaration of Independence contains a modified version of this phrase, the 5th amendment still contains Locke's version:

No person shall... be deprived of life, liberty, or property, without due process of law; nor shall private property be taken for public use, without just compensation.

It is clear that protection of private property from the federal government was a key consideration of the founders in general. Madison summed it up quite nicely:

... the government of the United States is a definite government, confined to specified objects. It is not like the state governments, whose powers are more general. Charity is no part of the legislative duty of the government.

In this quote you also get a real sense of how the Constitution was designed to restrain the government. The original republicans had no notion that the Constitution would become a "living document" the way that our current judicial system likes to view it. To them, it was "living" only in the sense that there were provisions through which it could be modified. What the Constitution said is what the Constitution meant, and the articles contained therein could not be violated by the government. Where it is unclear or inadequate, it is meant to be amended, but it is not meant to be reinterpreted - it is meant to be obeyed.

It's also clear that the states were meant to "pick up the slack," performing all the other responsibilities of government. While the federal government's powers were clearly enumerated in the Constitution, the States' were not. Citizens were allowed to grant their respective states additional powers as they saw fit, but they could never do this to the federal government without a Constitutional amendment.

Over time, due to real and imagined threats, the federal government has gradually expanded its scope well beyond this original intent, and essentially violates the intent of the Constitution with almost every action it engages in. Since the Supreme Court claims to be the ultimate arbiter of what the Constitution means, the document - which was intended to cripple the federal government - is now placed at the mercy of the institution it was meant to restrain.

Some of the Unconstitutional acts of the government are so obvious that they're ludicrous on the face of it. The "war on drugs" is one of the more flagrant violations - it should be quite telling that in 1919 a Constitutional amendment was required for the federal government to outlaw alcohol, but a mere 50 years later Nixon and his friends in congress managed to outlaw drugs entirely on their own.

Other government programs, though, are more insidious. The worst perhaps are those that people feel compelled to engage in out of altruism, as with the various welfare programs operated under the umbrella of Social Security. While presumably these programs really were created with the best of intentions, such wealth redistribution is well beyond the original scope of the federal government. Indeed, any such actions should have been taken by the states; but now we all come to largely accept them.

In our current political climate, our candidates for national office do not run on platforms of defending the Constitution or protecting the freedoms of the states. Instead, they run on platforms of morality legislation and wealth redistribution - both of which are outside of the scope of the federal government. The most frustrating, perhaps, are the promises of token tax cuts - they have the gall claim that if you vote for them they'll do you a favor by stealing a little bit less from you.

You could argue that all this is just fine. That the federal government should wield such power. That it should be in the business of regulating activities between consenting adults. That it should be able to redistribute wealth to the poor.

These are discussions worth having. We live in a democracy - we have a framework for making such things happen.

But we, as a people, as a union of states, never asked for these things in the only way we are able - by amending the Constitution. Instead, our government took these things and told us they were for our own good.

And, over time, we believed it. Maybe we wanted the government to reach into somebody else's pocket and give us a cut of their wealth. Maybe we wanted the government to reach into other peoples' bedrooms and stop them from engaging in activities we believe to be perverse.

We, as a people, stopped asking how to keep the government under control, and instead started asking how we could use the government to control everybody else. And feeding off of this, the government itself took more and more, playing off of these desires in the populace to bypass the Constitution, bit by bit.

Now, every election, the government offers back to us a fraction of what it takes. Token tax cuts, funding for our local school systems - money that they never had the right to take in the first place.

I'll end this post with the words of Ben Franklin:

When the people find that they can vote themselves money, that will herald the end of the republic.

This past weekend, Warhammer online held a "preview weekend" beta event for people who had pre-ordered the game.

I got the invitation email on Friday - for an event that starts on Friday and runs to Sunday. Fine, whatever. But WAR is a 10 GB download, and I was slowly slurping it down via torrent - and there was no way I could finish the download in time. The only chance of getting the file in time was to use Fileplanet.

Fileplanet is horrible. It doesn't work in Firefox. Oh, it seems to - until you go to download something, at which point you notice that the captcha doesn't work. So, I jump through the hoops in IE, and finally get to a download link - but it's not just a normal http or ftp link, no, it's some proprietary thing that requires the Fileplanet IE toolbar.

Eventually I got the stupid thing downloading, and sometime Friday afternoon it finished. I logged in remotely via VNC to poke around.

First thing of note - there's not really an installer. You just end up with a directory that contains "setup.exe" which does nothing but add some registry keys and create some Windows shortcuts. I like this.

Feeling adventurous, I fired up the patcher from work. It did its thing for a bit and seemed to get everything in the appropriate state.

I didn't get a chance to play for real until Saturday. I figured I'd start off with an Empire Warrior Priest, since their healing mechanic seemed interesting - they basically have to melee to build up mana for healing.

Character creation is pretty straightforward. Just like with WoW and many other modern games, you don't get to set attributes or anything like that - you aren't given a chance to gimp your character at creation time. Also like WoW, appearance options are very limited - no body type choices, no sliders of any sort, you've just got 6-10 options each for face/hair/hair color/eye color/skin color.

I selected a female model. First thing I noticed was her ridiculous posture - she's arching her back in a completely improbable manner. I went through the various options, not really sure what I was looking for. I quickly realized that all of the facial expressions could best be described as "snarling" or "insane." I grabbed one that looked a little less demented, and I ended up selecting a hair model based on the fact that it had no clipping issues.

By this point I'm already underwhelmed by the character appearance. Art direction looks like some kind of hybrid between DAoC and WoW - very cartoony like WoW, but lacking the vitality and cheer, instead feeling just generally "drab" as did DAoC. On top of this, the graphics just look inexplicably "old" - the models and textures really do not look like they belong in a modern game. I know this game's focus is on large scale PvP, and pretty/detailed models just don't work well in such an environment, but I still find this a bit disappointing.

Enter the game. I'm in some kind of town, with a bunch of other noobs - time to get to killing foozles.

Immediately I notice the strange character animations. It's hard to describe with words, but when you run, your character's arms and legs seem to splay in a jerky and ridiculous manner. It looks very unnatural. It's even more odd when you strafe run, and you see your character move at an angle. Really weird.

OK, so killing foozles. I see a green dot on my radar, pretty clearly something I should look into. Looks like this guy is the foozle master - he wants me to go out and kill stuff. Got it, guy. He was also kind enough to mark the kill zone on my map, which is a pretty basic feature notable only due to the fact that WoW still lacks it.

On with the killing. I find some foozles and start whacking them. As it turns out, the warrior priest seems to really suck at killing stuff - I have a crappy nuke that does minimal damage, and a melee ability that does a bit more damage. Combat works like this, generally:

- pull with crappy nuke
- use melee attack
- keep hitting melee attack button until dead

This normally takes ~30-45 seconds per (even level) monster, which feels excruciatingly long.

The WP does have healing abilities, but I never really needed them in PvE until I ended up facing an "elite" (which I guess was part of a public quest). I could usually just stand there and whack stuff to death by hitting "2" on my keyboard over and over.

I completed the quest by killing the raiders. Yay for me. Got my XP and kept looking for more quests. Rinse and repeat. One nice thing is that the quest givers aren't all concentrated in a single area, and instead they sort of "follow" you as you move through the zone. This may not hold true at higher levels, but at low levels anyway you actually have a good sense that you're progressing geographically as you play.

There are a couple of slightly different quests as you move along - one where you shoot stuff with a cannon, one where you talk to people and convince them to join the war effort. But it's all basically the same stuff.

At level 3 or 4, I got another melee ability, which was some sort of debuff. I couldn't really tell that it did much, but hey, it was another button to push. So then combat switched over to nuke, debuff, spam damage ability.

At this point I was starting to become a little bored of the whole thing, so I decided to mix it up a bit by doing some RvR. This is supposed to be the "deal" with WAR - people of any level can hop in and contribute in battleground scenarios or open world PvP. If you're a lowbie, like me, your effective level is increased in RvR areas, so you aren't totally useless (as would be the case with WoW).

The first tier human "scenario" (the WAR equivalent of WoW battlegrounds) is a pretty straightforward zone control game. It plays out a lot like EotS or AB in WoW - people run around and zerg stuff. I believe it only had 3 control points though, which is helpful, as I never really liked how thinly you were spread in the WoW maps.

Here I get to learn how the WP works in PvP. My nuke is useless, so I'm thinking healing should be my primary tactic - but mana is used up quickly, and has to be replenished through melee. So typically what I'd do is sit back in healbot mode until I ran out of mana, then jump in with my hammer and get to town.

My heals were useful but not really impressive - not sure if this gets better over time, or if that's just "how it is" with healing in WAR. I could get off several before having to go in and hit people. This is when things got rough.

My melee felt really weak, so the only time I'd engage in melee combat was to restore my mana. It seemed like a sort of last ditch thing - OK, out of mana, time to go run in and die. I could actually survive a pretty substantial beating by self healing, but what would happen is I would run up, melee, get enough mana to heal, but be hurt enough that I'd have to use that mana on myself. And my damage output was so low I was basically treading water.

I guess this tactic is good as a distraction, but not much more. I'm soaking up damage, but not really dishing it out, and I can't really heal any of my allies since I need to focus entirely in keeping myself alive.

So I did this a few times, and leveled up. That's nice - you earn both realm rank and normal XP during the course of RvR, so you can largely avoid PvE (though PvE leveling does seem substantially faster). Not so nice is that, about 50% of the time, my system would lock up in RvR.

Anyway, bored with the WP and tired of the lockups, I put the game down for a while. On Sunday I updated my drivers and started anew with a High Elf Shadow Warrior, which is, basically, a Ranger.

I used the female model again, and the elf models didn't seem noticeably better than the Empire models. But they do have a tiara. That's kinda cool I guess.

Elf starting area is basically the same. Kill some foozles, level up, move on. I found playing the Shadow Warrior to be much preferable to playing the WP, as I killed things far more quickly and had a wider range of useful abilities. I started with a long cast time high damage shot, and quickly added a DoT shot and a debuff shot. They all seemed useful.

It is with this character that the game's comically bad pathing became apparent. Mobs would react in seemingly arbitrary fashion when you hit them at range - sometimes they would just stand there until dead, others they would run in a random direction, and sometimes they would actually run towards you and attempt to melee. Probably only about 50% of the time did mobs do what I would consider the "right" thing, the rest of the time they seemed to spazz out at least partially. This plays to the advantage of the Shadow Warrior.

Around level 5 I hit a quest that sent me to the elf scenario. I didn't recall seeing an equivalent quest in the Empire area, but it is possible that I'd just missed it. I went in, didn't crash (for a change!), and had a good time. The elf scenario is also a zone control map, but with a twist - there's a "nuclear option" which can trigger the death of everybody around the control points. This can really help reset things if one side ends up dominating.

I found that having a good ranged ability was incredibly useful in this setting. The DoT shot doesn't do a TON of damage, but it's easy to hit a lot of people with it and run away, so you can actually do good damage with minimal risk. The long range aimed shot does good solid damage and its range is good enough that you can have most classes substantially injured before they get up on you. At the worst you can snipe and then run away while letting your team's melee folks get up in the fray. I really enjoyed this playstyle, and consistently found myself near the top of damage done with very few deaths, despite being a lower level.

Oh, this is also where I first encountered Dark Elves. Apparently the DE females' defining characteristic is "not wearing any clothing," which is a practice I normally approve of. However, the models and their animations looked really odd to me, and there's something really strange about being gang banged by a bunch of goth vampire chicks in their underwear. I have conflicting feelings about this.

So, the big questions - is it any good? How does it compare to WoW? As a whole, WoW and WAR are strikingly and disappointingly similar. Combat plays out about the same, minus a few twists, and the basic PvE questing model seems identical (though WAR does have you sort of progress "through" a zone without as much backtracking, instead of the sort of hub-and-spoke thing WoW does). WAR's PvE has a lot of issues, though - the dreadfully slow combat and the pathing issues are clear even at lower levels.

WoW's art direction, animation, modeling, and just general visual quality are all very much better, despite using an older engine with seemingly lower poly counts. I've heard that the capital cities are impressive, but I didn't make it that far and can't comment. I don't know how WAR manages to do so poorly here, but it does. I guess they just don't care.

Where WAR differentiates itself, though, is as an RvR game. Unlike WoW, where PvP is *never* the primary focus, with WAR you can completely avoid the PvE game if you so desire (and I do desire). This alone is what makes WAR appealing to me, despite its weaknesses. I think Mythic has really missed the mark with their painfully slow WoW-esque combat, but their focus on RvR outweighs this for me (at least enough that I'll be giving the game a shot after release).

In short - will play. Great if you're burned out on WoW and want something similar. Probably not so great if you want something new and different.