Jacob's profileThe Rabid PaladinBlogLists Tools Help

Jacob Proffitt

Occupation
Location
040 Forever in Blue
041 Something Rotten
042 The Ranger's Apprentice: The Burning Bridge
043 Mistborn
044 The Becoming
045 Poison Study
046 Resenting the Hero
047 Queen of Babble
048 It's a Mall World After All
049 All's Fair in Love, War, and High-School
050 Ranger's Appentice
051 Whispering Nickel Idols
052 Angry Lead Skies
053 Flight of the Buffalo
054 Faded Steel Heat
055 Petty Pewter Gods
057 Red Iron Nights
058 Dread Brass Shadows
062 Sweet Silver Blues
063 Bloody Jack
064 The Talisman Ring
065 Sorcery and Cecelia
066 Inda
067 The Sharing Knife
068 Fablehaven
070 Windrider's Oath
071 The Machine's Child
072 The Children of the Company
073 The Life of the World to Come
075 Wintersmith
076 The War God's Own
077 Oath of Swords
078 Say Cheese, Medusa!
079 Phone Home, Persephone!
080 Have a Hot Time, Hades!
081 The Grand Sophy
082 Bring It On
083 Curse the Dark
084 Staying Dead
085 Powder and Patch
087 The Corinthian
088 Prince of Dogs
089 Kitty Goes to Washington
090 King's Dragon
091 Dzur
092 Wolf's Head, Wolf's Heart
093 Sprig Muslin
094 The Gallery of Regrettable Food
095 Twelve Sharp
096 Carpe Demon
097 Through Wolf's Eyes
098 Dhampir
099 The Destiny of the Sword
100 The Coming of Wisdom

The Rabid Paladin

Phenomenal Righteous Might, very little self control!
December 13

Another Post

I have another that won't translate if I post it here (mostly due to local file links). Rather than tweak it, I'll link it. It's on hacking SubText and can be found on my main blog. Meanwhile, you might want to update your RSS to the new site feed. As always, if you're subscribed via my feedburner link, no change needed.
December 09

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.

 

"Talentless"

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.

December 04

Creating a Domain Publisher Cert for a Small Internal Software Shop

Okay, I know I said that I'd double-post for a while (and I intend to). This post, however, had a couple of things that wouldn't format well on this site without more tweaking than I felt up for. You can find the actual post at my new blog.
December 03

New Site is up

The new site is up. It's a bit of a step back for gadgetry, but it's about 50 times more flexible. Future posts and other goodness will be found there (as well as the last 20 or so posts from here). I might mirror future posts in both locations, but I won't keep that up for long.

November 23

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.