(What) Were They Thinking?

I just ran into what has to be the buggiest piece of software... ever. Bear in mind that I predate DOS games and have had experience getting games to run in Win 3.1 and even Win ME--some of them games that push the limit of the "Minimum Recommended System Requirements". Maybe time has softened old wounds, but nothing in my  memory comes even close to the horror that is Dark and Light. Seriously. Couple all those bugs with the worst "support" I can remember and you get an experience that is simply best forgotten. Or better, best never begun.

I mean, I've been in alpha tests that were smoother and more consistent. Who ever heard of a launcher that breaks when IE 7 is installed? Seriously, what dependency does your license query have that will hang just because a user has installed IE 7? How does an upgrade to IE 7 cause a simple dialog box with "Accept" and "Decline" buttons on it to consume 80% of my CPU capacity indefinitely (or at least, for the 25 minutes I allocated for what-the-heck-let's-see-what-happens time)? Also, what company posts a message to their support forums that says merely "the devs say they have fixed this" and then nothing more for weeks when it remains, obviously, unfixed?

And here's the thing: even once I got it working (on an older machine--that's right, a game where I had to effectively downgrade my system to get it to run), the game is possibly the worst MMO I've ever played. I admit that I didn't play long before wiping the travesty off my network. Still, that's going to leave a lasting worst-case benchmark for some time to come.

It's not just that it'd be an insult to High School students to say that it's as if the quests were written by one. It's not just that the translation into English (I'm guessing from French due to the number of prepositional insertions involved) could have been done better by the junior varsity football team after a particularly boisterous homecoming celebration. It's not just that key marketing features were mentioned enough by quest NPCs to be intrusive (mentioning how "big" the world is that often leaves me wondering what they're compensating for). And it's not even just the most generic recycled noob monsters imaginable (seriously, rats, badgers, and bees, oh my! And I suspect the badgers were a desperate late addition, inserted by scaling the rat and giving it a different label).

It's that when you take all these together with a game offering fairies as a playable race, you just know that you have reached depths of crap that will (hopefully) never be repeated in my lifetime. It's like a bunch of executives sat down around a table and generated a list of "features" that they could create to take advantage of this great new kind of game the kids are all playing these days and then went out and hired the cheapest programmers they could find to design and implement it. Seriously, if I were a programmer on that project, I'd slip that one down the ole memory hole and invent some lie to put on my resume in its place--something more respectable like, say, time in the state penitentiary for koala bear poaching.

To entice people into this crap-pile, the publisher has introduced a "Discovery Mode" where you can play to level 10 for free. That's an indication of desperation, make no mistake. I feel for the (possibly) earnest people who put this thing together, but it has to be acknowledged as one of the bigger wastes of money ever perpetrated on an unsuspecting planet. I'd like to say something snide about it being a French production, but seriously, you'd think that'd be enough punishment on its own.

UPDATE: If for some inexplicable reason you have inflicted D&L on yourself and need something to redeem the entire clone concept, Shamus Young has an interesting post on a Diablo II clone that doesn't suck.

Technorati tags: , , , ,
5. January 2007 20:06 by Jacob | Comments (2) | Permalink

Torchwood Needs to Fire a Writer

We've been enjoying Torchwood lately, but there's a problem with the series that stands out and threatens to ruin my ability to watch it at all. Since the major suckage seemed to originate with a single person, I hit tv.com and left a review there which I reproduce below for your edification.


The problem with a series as excellent as Torchwood is that it tends to show up the weaknesses of talentless writers such as Chris Chibnall.

We’ve been enjoying the new Dr. Who spin-off series Torchwood. The characters are unique, fresh, and explore that edge where really bad things happen in the absense of good guys taking forceful action (and often being hurt in the process--both emotionally and physically). In this respect, Torchwood holds its own with shows like Buffy: Vampire Slayer, Firefly, and Veronica Mars.

Almost all of the episodes are awesome and have the characters struggling to do right in tough situations where the demarkation between good and bad are blurred. Almost all. Unfortunately, two episodes so far have proven to be complete disasters with the characters behaving uncharacteristically in what appears to be a naked appeal to emotional drama. Those episodes have something in common: they were written by Chris Chibnall.

Chris has Jack acting so completely out of character in Cyberwoman that I found myself literally staring at the screen wondering if I had actually seen what I thought I saw. I lost track of the number of times Chris had Jack making threats to Ianto only to back down for no reason whatsoever. I mean, who goes from threatening to shoot you in the head if you go down and help the enemy right into giving you the gun and telling you that you have 10 minutes to kill that enemy you’re bent on "saving"? How on Earth would Jack think that Ianto would do something he had steadfastly refused to do throughout the entire episode?

Jack’s actions could have been just temporary blunders, though, if it weren’t for the portrayal of the episode’s title character. Caroline Chikezie did a fine job portraying Lisa given what she had to work with from Chris Chibnall. But Chris had the Lisa character changing from cyber voice to normal voice and from professing love to promoting upgrading apparently based solely on what he felt would be most emotional at that moment. He displayed no discernable thought to consistency or rational behavior or plot development.

In a later episode, Countrycide, Chris again has the whole team making threats and failing to follow through on them and acting in ways that make no sense to the series dynamic or the characters as developed thus far. I mean, when Jack came into the final scene shooting people’s knee-caps I practically dropped out of my chair laughing. I mean, seriously, a room full of armed villians and Jack is going to be careful to make sure they are still capable of shooting him or, more importantly, his friends? It makes no sense.

And that’s the core of the problem with Chris’ episodes. He has no sense of rational actions or behavior, relying instead on raw emotion and drama. It’s as if he’s hoping that if he works fast enough nobody will notice that he actually has no grip on the characters, the plot, or even basic cause and effect.

I shudder to think how he is preparing to screw up the season finale. Maybe I’ll stop watching the show now and save myself the coming aggravation and disappointment of seeing the characters and plot circle back on themselves in an emotional vortex sucking the strength and resolve out of a story I enjoy and respect.

9. December 2006 09:08 by Jacob | Comments (0) | Permalink

DataSets Suck

First off, a correction. In my recent post on OLTP using DataSets, I gave four methods that would allow you to handle non-conflicting updates of a row using the same initial data state. In reviewing a tangent later I realized that method 2 wouldn't work. Here's why:

The auto-generated Update for a datatable does a "SET" operation on all the fields of the row and depends on the WHERE clause to make sure that it isn't going to change something that wasn't meant to be changed. Which means that option 2 would not only not be a good OLTP solution, it'd overwrite prior updates without any notice. Much better to simply throw a DbConcurrencyException and let the application handle the discrepancy (or not).

Which also answers Udi's question of why it doesn't do that out of the box. It'd be nice if the defaults were implemented with a more robust OLTP scenario in mind, though. It'd be pretty complex, but that's because OLTP has inherent complexities. You would either have to generate the Update statement on the fly (thus breaking the new ADO.NET 2.0 batch option on the adapters) or put the logic at the field level (using an SQL "CASE" statement). I'm not sure how efficient CASE is on the server, but that could potentially fix my 2nd option.

But this brings me to my second and broader point again: the disdain that "real" programmers have for datasets. This was refreshed for me recently on a blog post by Karl Sequin at Code Better. I liked that post a lot (about using a coding test when evaluating potential hires) until I got to the bit about tell-tell signs he would look for. Right at the top?

Datasets and SqlDataSource are very bad

He has since amended that so:

Datasets and SqlDataSource are very bad (update: the dataset thing didn't go over too well in the comments ;) )

and added in the comments:

Sorry everyone...I've always had a thing against datasets...

He's not alone here. It's a common feature of highly technical programmers to hold datasets in contempt. Which would be fair enough if they were willing to give reasons or support for the position. If I felt that such statements came from an informed foundation, there wouldn't be much to quibble about. Unfortunately, too often this is simply not the case.

On those rare occasions when I can get one of these gurus to expound a bit, this attitude generally devolves back to a couple of bad experiences where datasets were used poorly or shoved into a situation where they didn't belong. Indeed, Karl goes on to give the kind of thing he doesn't want to see and I have to agree that he has a point. But while his example uses a dataset, it isn't the source of the problem. The problem is actually in his second point after datasets:

Data access shouldn't be in the aspx or codebehind

Since he's looking for strong enterprise-level coding habits, he's right that it'd be better encapsulated in its own class, and better still in its own library.

Again, it isn't the dataset he actually has a quibble with. He's just perpetuating a prejudice when he reflexively includes them as a first strike. To his credit, he's willing to own up to the prejudice. Unfortunately, he does so in a way that indicates that it is a prejudice he has no plans to explore or evaluate. That's what I hate about the whole anti-dataset vibe in the guru set. Particularly since these tend to be people who are proud of their rationality and expect others to listen to them when they expound on technical topics.


Technorati tags: , , ,
23. November 2006 16:47 by Jacob | Comments (0) | Permalink

Spammers Suck

There's been an uptick in spamming lately. Some believe that it's a result of growth in the number of botnets out there (groups of computers that have been compromised by third-parties to run whatever the third-party wants them to). Personally, I think it's because the penalties for spam aren't stiff enough. After cleaning up my trackback backlog, I'm ready to consider anything. I'm ready to lobby for tar and feathers if that'll help. Judging by the amount of spam for drug suppliers, I'm thinking we can kill two birds with one stone and clear out the FDA's backlog with a population sleazier than an ex-lawyer, used car salesman, turned politician. And if we run out of FDA backlog, I've a few suggestions we might try. I know cyanide is reputed to be harmful, but have we tried it lately? And since we can't seem to decide as a society what constitutes torture, let's get together and try some edge-cases. Maybe not, though; I'm not sure how my reaction might relate to actual people, thus invalidating the exercise. 
Also, it occurs to me that spammers are a pretty technical lot--they have to be in order to do the job that they do. So here's the question: what do you do if you meet one? Seriously, chances are that I'll run into a real, live spammer at some point in the not entirely distant future. Since I firmly believe in the efficacy of ostracism as a way of enforcing societal norms, I'm thinking that mocking may be in order. It's not entirely out of the question that I'll spend odd moments in the next week or two thinking of good ways to make clear what I think of a spammer's upbringing, lineage, and personal habits. Anybody who would work for spammers deserves to be banished naked and penniless to a tropical island with natives willing to perform non-stop their brutal rituals of shame. We can't have entirely stamped out those old island head-shrinkers, right?
Technorati tags: , ,
18. October 2006 01:17 by Jacob | Comments (0) | Permalink

XM Radio Rant

Here are some tips if you have customers who want to cancel their account:
• If you can sign-up online, you should be able to cancel online. Period.
• Voice recognition may be cool to you, but speaking to a computer is less fun to your customers than you’d think, and repeating themselves to one is infuriating.
• A cancelling customer does not need to be cajoled into staying or find themselves speaking with somebody explaining why their reasons for cancelling are bad ones.
• A cancelling customer complaining about billing irregularities from a three-month free offer isn’t going to respond well to another three-month free offer.
• A cancelling customer who has been on hold for fifteen minutes and transferred three times should not be hung-up on by a faint voice with an Indian accent saying “Is anybody there?”
• A customer who cancelled because the note on the account that said they should receive three free months wasn’t applied should not receive a call from a collection agency the following Saturday morning demanding payment for those three months.
• If your collection agency is going to call on a Saturday morning to demand payment for bogus account charges, your customer should probably not find they can only take care of the bogus charges during business hours EST.


Technorati tags: , , ,
31. July 2006 18:27 by Jacob | Comments (0) | Permalink


<<  February 2017  >>

View posts in large calendar