Thursday, April 24, 2008

Bind is actually rather an understatement...

Battlestar Galactica 403 (or 405) "Ties that Bind"

That was dark even by the really, really high standards this show has set for being dark and unsettling. It was an unrelenting parade of deeply screwed up people in torment, and the relationships that torment them. Naturally, I loved it, but if it wasn't so well written and acted, it'd be insufferably gloomy.

Bullet points -- if you haven't seen it, and plan to, look away.

  • The directing in this show was very overt, a lot of very artistic effects -- Starbuck only being shown from the back, a lot of blurred backgrounds and voice in Cally's point-of-view shots, the rotating star design motif. Most of it worked -- I thought that keeping us from seeing Starbuck's face was very effective. I could have done without the kind of druggy shots of the kid's mobile or whatever the heck that was.

  • I was spoiled on Cally's death, but the spoiler note implied it was a suicide, so I was surprised by both the addition of the baby in the scene (which made it about 100 times darker), and by Tory's involvement. I guess we'll find out next week whether Tory told Chief what she did.

  • I realize this is an odd place to make a stand on plausibility but... let me get this straight. Kara's crew has her, presumably pretty widely known in the fleet even before she died and came back; Helo, notorious as "the guy who married the toaster", plus he ran the refugees for a while, and he was Galactica's XO; and Anders, world famous athlete. All three of these people can just disappear for three weeks without anybody noticing?

  • This is true: at the beginning of the episode I was thinking, hmm... on a spaceship it's never warm enough for people to get uncomfortable and sweaty. Then they cut to the Starbuck ship, which made Cool Hand Luke look like Ice Age (Cool Hand Luke = sweatiest movie ever in the pilot for Cheers... so it's a joke. Get it?).

  • Haven't even covered: They made clear some things about Cally that were almost subliminal, about how she feels about Chief and all... thought that was nice to see. Also, Lee remains the easiest person to manipulate in the entire history of the Galaxy. Presumably Zarek nominated him to the council so he could always have one person he could con into doing goofy things.

Wednesday, April 23, 2008

Quick Program Notes

A couple of updates on book and article news...

  1. It looks like the screencast/video thing is going to happen, thanks to Jim Minatel. The main constraint is that they'd like the videos to be about five minutes long. I think the first one will be setting up a Rails project in Subversion (chapter 2 of the book, essentially), and I'd do a remix of that chapter using Git if there's interest. Wiley would like several of these, so I'm open to any topic ideas.

  2. At one point, I think I mentioned here that a .pdf version of the book would be available about six weeks after initial launch. Obviously that hasn't happened yet, and I'm not sure when that might come together.

  3. I'm going to have another series up at IBM Developerworks sometime in the relatively near future on developing iPhone web applications in Rails. More on that as it gets closer.

  4. I'll be attending (but not, alas, presenting at) RailsConf this year in Portland. Since it's an O'Reilly run conference, there won't be an official Wiley presence, but I'm hoping to have some book-related activity there.

Monday, April 21, 2008

Two Parter on Hide And Seek

Two articles on the Pathfinder blog on adding show and hide toggles to a Rails application:

Sunday, April 20, 2008

You Say Tomato, I Say To-Mato

In the last week, I've had two separate editors at two separate companies make a bulk change in something I was working on. Specifically, they changed "plugin" to "plug-in". This is driving me a little bit crazy. Which is right? Should I care?

Quick research, designed to shore up my point of view...

Wikipdia has it as "plugin", with "plug-in" as an alternate. has it as "plug-in", although that's clearly an antiquated reference based on the definition ("capable of or designed for being connected to an electrical power source by plugging in or inserting"). Presumably this is where the editors are getting their style guides. The Pro Rails editors let me keep it as "plugin" -- I don't remember that being an issue.

More importantly, "plugin" is 100% preferred in the Rails community, I've never seen it go the other way. See here, here, or here. This is also mostly true in the Eclipse community.

Am I putting too much effort into this argument? Does this make any difference to anybody, or am I just crazy? To me, "plug-in" looks old timey and weird, like "base ball" or "e-mail", or something John Hodgman would throw in to make his writing seem off-kilter. If I see a Rails article that uses "plug-in", I assume that either the writer is off-the-charts persnickety or that the writer is not really in touch with Rails developers. (Perhaps not coincidentally, I'm always a little worried that I'll have some writing quirk that won't match the expectations of my audience.)

So? Which spelling do you prefer? And does it even matter to you?

Thursday, April 17, 2008


Battlestar Galactica 402ish "Six of One"

Some quick bullet points before the next one comes down the pike.

Very pleased with the first two episodes of the season -- I think it's encouraging that this episode, credited to a writer whose last couple were not that strong, was arguably better than the first.

  • Katee Sackhoff had an amazing week -- Starbuck was all over the place, on the very edge of hysteria of not past it, a lot of great scenes. The Adama/Roslin scenes were also very good.

  • If you are looking for a line to take a something other than face value, I'd recommend "I'm no more a Cylon then you are"

  • How long can Tigh, Anders, Tory, and Tyrol meet together before somebody gets suspicious? It's not like they travel in the same social circles or that anybody is going to believe they've got a bridge game going...

  • Loved the Cylon civil war idea -- it's very consistent with what Moore has said in a number of interviews about Cylon society being young and under it's first real stress. (This is actually where I thought they were going to go at the end of Season Two, after "Downloaded" first hinted at pro and anti human politics among the Cylons. Plus it's always nice to see Dean Stockwell. (The actual confrontation scene was capped by Tricia Helfer's look of shock at the end.)

  • Okay, having two farewell ceremonies for Lee was a bit much, especially since you'd think that there would be some resentment over an able-bodied person leaving the military. That said, both scenes worked on their own, and I thought the aside in the bar scene of the group presumably strip poker was weird and funny.

  • There are many reasons I like this show. One is that Baltar, after the events of last episode, still had a visible scar in this episode -- a point that many shows would ignore. Watching Callis play against himself was also fun.

Wednesday, April 16, 2008

Video Still Working On Killing The Radio Star

Annnddd... This, of course, is what I get for posting anything about Wiley late at night without checking. Jim Minatel from Wiley added the following comment:

Noel: I'm interested in getting Wrox authors to to videos related to their books.... I can tell you what's involved and see what we can do.

So, contacting in progress. Further bulletins as events warrant. Or as events don't warrant, I think further bulletins are inevitable.

Thanks, random blog commenter, for pushing me forward on this.

Tuesday, April 15, 2008

Video Killed the Radio Star

When you have a blog with as few comments as this one, you can give every comment the kind of personal attention it deserves. This one came through from an anonymous commenter:

Noel, have you considred making a DVD video tutorial of your book? This will really help those who learn by watching videos.

So what do you say?

The short answer is not as any kind of official adjunct to the book. The longer answer is that it's not impossible that I'd be involved in online video or screencast training at some point in the future.

There are several issues here: logistical, legal, whether anybody would even be interested in such a thing, whether having my face on the cover is enough "me" for most people... all kinds of issues.

Logistically, the problem is that doing video well requires a lot of planning, equipment, and effort. I don't know much about it, but I know enough to say that it's probably more complicated than than I expect. Even a simple screencast involves scripting, time for filming, and editing.

Legally, Wiley/Wrox owns the copyright on the book, and while they might be okay with a short video clip that was clearly promotional, I'm not sure they'd be ok with me repurposing the book's content in bulk. On the other hand, I've never asked -- it's possible they'd see it as a marketing possibility. I don't remember the specific details of my contract, but I'm pretty sure that Wiley retains rights for any alternate media versions of the book. Which would be kind of a bummer for me if Spielberg called for the film rights.

All that said, the idea of some kind of screen cast, webinar, or video coming out of Pathfinder is not out of the question, although I don't see it happening in the near future.

Thanks for the question, Anon!

Sunday, April 13, 2008

Doctor, Doctor, Give Me The News

5 Things About: Doogie Howser, M.D.

Why Doogie? Because the parody at the end of How I Met Your Mother a while back, plus a desire to wander through So I watched the Doogie pilot from 1989. And now I'm writing about it.

  1. I was really not expecting the show to hold up at all. It's actually a pretty solid piece of late 80's TV, despite the cheesy theme music and classic 80's opening sequence.

  2. It's still possibly the most absurd premise that a TV show ever expected the public to take seriously. In the pilot, they work around that through an exceptionally well-crafted script combined with Neil Patrick Harris' talent and likability as Doogie.

  3. I remembered it as just a Stephen Bochco show, but it's actually Bochco and David E. Kelley. Kelley's name wouldn't have meant anything to me at the time, but in retrospect his involvement makes so much sense, it's exactly the kind of quirky drama he would become known for.

  4. Let's take this as a writing challenge. You have one opening scene to make this ridiculous premise believable. Your hero needs to be smart enough for the audience to buy him as a doctor, but not so nerdy or arrogant that it's off-putting. Again, you have one scene. First scene of the pilot: Doogie is taking his driving road test, his mom is in the back seat, and he's clearly nervous and tentative. Until they see an accident on the roadside -- Doogie suddenly is in total control, parking, running up to the accident, ordering cops around and saving a guy's leg. That's the whole show, right there. Corny? A little bit, although Harris' performance blunts that. Effective? Yep.

  5. Another nicely done bit: later, Doogie has the inevitable conflict with an older doctor who thinks he's a smart-ass young whippersnapper. My eyes rolled in anticipation of some scenery chewing, but actually the scene ends pretty quickly from there. The dilemma at this point is: if Doogie is right, then he comes off as kind of an insufferable know-it-all, if he's wrong, it's harder to take him seriously as a doctor. The writers opt for door number three -- events overtake the patient without proving Doogie right or wrong, he has a brief, nice scene with the older doctor, and the potential conflicts about his age are established without being nailed into our heads.

I'm about 100% sure, based on my own memory, that the scripts weren't always this good, but still, the pilot is pretty good.

Sunday, April 06, 2008

I Believeth, I Believeth, Don't Die Tinkerbell...

Battlestar Galactica 4-1 "He That Believeth In Me"

I'm relieved, frankly. Not surprised, exactly. I liked Season 3 more than a lot of people seemed to, and I'm optimistic that Ron Moore and his crew understand what the problems were and how to avoid them. Still, it's good to see the show starting out it's final season with a strong episode.

This was basically the episode I was hoping for, with two extra plusses, and one kind-of minus.

Spoilers Ahead, I suppose

I really liked where they took the Final Four Cylon story. After three seasons of asking "What does it mean to be a human", they inverted it -- what does it mean to be a Cylon? What does it mean if your spouse, or best friend, or your whatever the heck Lee and Kara are, turns out to be Cylon? Does it matter? Should it? Great questions, and I can't think of a previous SF work that's attacked the basic what-is-human question from this angle.

The specific pieces of the storyline were well-done. Anders' nerves about going into combat, Tigh's general Tigh-ness. The bit where the Cylon Raider scans Anders and get's the blip response was very cool.

But what really made the episode was the way that Starbuck's return integrated with the Final Four. Of course everybody would think Starbuck is a Cylon trick -- half the audience thinks so too. In the show, this allowed the characters to all talk about what it would mean to be a Cylon over the uncomfortable glances of the Fantastic Four. A really clever piece of writing structure.

The negative is the Baltar storyline. Not only does this put Baltar back in another situation where he's separated from the rest of the crew and in a place with creepy customs, but the whole thing is way too much like the telepath underground from the final season of Babylon 5 for comfort. (Personally, I wouldn't be surprised if the attack on Baltar was staged to make him stay with the cultists. But then, I'm cynical.)

  • Some great acting work all around -- watch how much of the episode is carried by the reactions of the Fab Four. And James Callis' facial expressions were the most bearable part of the Baltar story.

  • I thought that the tension between Lee and Adama was maybe resolved too quickly given how intense their argument was. I'm assuming the writers have bigger fish to fry.

  • I watched this one on, since I don't get Sci-Fi on my cable system, and they pulled out of iTunes. Overall, it wasn't bad. The video quality was worse than the iTunes files but still watchable. The biggest problem was the interspersed commercials -- not that I'm inherently against the commercials, just that they aren't synched right. Two of the breaks came about a second after the actual episode act break and one of them came right in the middle of Baltar being attacked. Annoying.

Friday, April 04, 2008

BDD: Book Driven Development

recipes.jpg(This one is also on the Pathfinder blog, but since it fits in here, I wanted the full text here...)

Jay Fields, who has been posting a very nice sequence of nuts-and-bolts Ruby and Rails guidelines, pauses to talk about creating examples. It's a topic I've wanted to write about here for a while, and this is as good a lead-in as any. Plus, I'm generally interested in how principles of software development apply or don't apply in odd cases, and software being developed specifically for example purposes certainly qualifies as an odd case.

For Professional Ruby On Rails, I knew that I wanted to run a single example application through the book. I had some grand visions of it being a "real" application or at least a real example of coding best practices. For best practices, I think it's pretty good on a method-by-method bases, but has some weaknesses as an entire app, for reasons that I think will become clear.

The first question was exactly what I wanted the sample application to do. On some level, this is a superficial question -- who really cares what the fake app in the book does? At the same time, certain application structures would make it easier or more plausible to discuss certain features. And I had a list of features I wanted to cover -- legacy databases, users and roles, navigation, and graphics. Ideally, the sample app would have some kind of consistency that would make it reasonable to have these features.

In addition, I didn't want it to be a thinly-veiled version of a site that everybody would recognize, and I wanted it to be something that I could type every day for six months without going crazy.

One of my first ideas was to resurrect an old Web 1.0 joke for my killer e-commerce plan: a web-based store for selling and delivering gasoline. But I decided that the gag was a lot less funny with gas in the $3 per gallon range, and I also decided that I didn't want the fake site to be primarily an e-commerce site.

Brainstorming ensued. I almost did a social networking site for pets, but I decided that was too silly, subsequently discovering that there are already a zillion pet social networking sites...

Eventually, I settled on Soups OnLine, a soup recipe-sharing site. It had the advantages of:

  1. Having a data model that could plausibly handle RESTful nested resources (recipe and ingredients)

  2. Having an actual user model.

  3. Being a plausible site, while still being silly enough to keep anybody from taking the whole thing too seriously.

The first problem came up almost immediately -- site design. I felt that a site that was just dull HTML would not be credible or interesting, but at the same time, I didn't really have the time or resources to create a full site design from scratch, nor did I want the book to become about site design. My solution, which I'm not prepared to defend to the death, was to integrate a template from This kind of sideswipes the whole issue, providing reasonably good-looking site without having to get into the weeds debating CSS minutia.

Over time, the example mutated away from a normal application development process in a few interesting ways.

The nature of the book-writing itself was a strong anti-agile push, in much the same way that any large body of documentation is. Changes in code structure affect the tests, which is fine, but also affect some amount of text in the previous 300 pages, which there's no easy way to find. (As you can read in this post, the issue affected not just me, but also the editors on the book). At least once, a late change in Rails invalidated a helper method I used in an early chapter. Not a big deal, except I also used that helper method to demonstrate a test structure later in the book -- I wound up keeping a shell of the original method redirecting to the new Rails method.

Also, some features that I had hoped to get in, didn't quite get there -- because I ran out of time or because they didn't with the chapter structure. (If you read the book, you'll see some early structures that imply that the app will eventually convert between English and Metric, which I never quite got to.) Again, this is the kind of thing that happens in all the time in real projects, but is hard to smoothly redirect when there's all that pre-existing text describing the earlier plans.

Sometimes, the sample app has more features than a real app would, rather than less. Since the book tries to cover multiple plugins or ways to accomplish things, Soups OnLine wound up with far more plugin load than a normal app would -- a regular app wouldn't normally have RSpec and Shoulda and Dust, or RMagick and MiniMagick and ImageScience. Inevitably some conflicts happened between multiple plugins trying to cover the same space, making the final code somewhat wilder than I'd really like. (If you've read the book and want to experiment with the outstanding code, it's probably easiest to work with around chapter 9, before Globalize and the image plugins are added...)

Ultimately, of course, as Fields concludes, it's the author's fault if the example doesn't help the user understand the issues at hand. It's my job to understand the constraints of the form and still try to present as realistic an application as possible while explaining how to to build similar applications.

Tuesday, April 01, 2008

Book Recommendations

I've been meaning to do this sooner, but, wow time flies...

Here are some brief comments about books I've read so far this year and would recommend. I think I'll pass on doing negative reviews here at the moment, unless I can make a larger point somehow.

Captain's Fury, by Jim Butcher

Book four in the Codex Alera series continues pretty much everything that's enjoyable about the series. I particularly like the way Butcher continues to move the story along, as well as how he's resisted the easy way to manage the hero and his lack of fury powers.

The Dragons of Babel, by Michael Swanwick

So about fourteen years ago, Swanwick published The Iron Dragon's Daughter, which was, I think, the first prominent example of a crossover between common fantasy icons and dystopian SF icons. If I remember correctly (always a dubious assumption) a lot of people (meaning me) weren't quite sure what to make of the weirdness. I don't think The Iron Dragon's Daughter is a great novel -- it's very episodic, for one thing -- but it is one of the most inventive and memorable novels you'll ever read.

The Dragons of Babel is marketed as a sequel, although I don't think there's any particular crossover beyond tone and some place or character names -- I don't remember Iron Dragon's Daughter having much plot to continue. It does however, continue the same tone as the original, a world that freely mixes fantasy elements with ideas from "the real world", and with a certain, say, lack of reverence toward High Fantasy.

The title Babel is a city, somewhat loosely based on the biblical and Mesopotamian myth, but populated with all kinds of fey, including ghouls and their corrupt city alderman leader, underground horse keepers, a mysterious throne with an absent king, guns, spells, and con men.

It's still fairly episodic, but I think it holds together as a coherent story better than Iron Dragon's Daughter, and it'll certainly mess with your head. In a good way. Mostly.

God Save The Fan by Will Leach

Leach is the editor and proprietor of Deadspin, which is the pre-eminent sports blog if you are a certain kind of fan -- irreverent? immature? Dunno, but it's one of my favorite sports web sites, serving up sports news and analysis while not stinting on pictures of drunken, partying quarterbacks.

The book is essentially Leach's attempt to make the Deadspin worldview explicit. (Although only one piece in the book is taken directly from Deadspin, regular readers will recognize many of the running jokes...) It's a collection of essays with the common goal of recovering sports from the people who take them too seriously. It's kind of hit and miss, but the best pieces are worth your time, and Leach has probably my favorite take on the steroid issue -- which is we're sick of it, please stop moralizing over it.

The Invention of Hugo Cabret, by Brian Selznick

I think this book is the longest work to ever win the Caldecott Medal for children's book illustration. Most Caldecott winners are your basic short kids picture books. Selznick has written a 500 page novel, about half of which is told through words, and about half through wordless pictures.

The story takes place in Paris in the 1930s. Hugo Cabret lives alone in the Paris Metro station, winding the clocks through a series of out of sight tunnels, and repairing a mechanical automaton rescued from a fire by his late father. Eventually, he comes to the attention of an elderly man who runs a mechanical toy shop in the station. The early history of French silent film is involved, along with an image you've surely seen of a rocket ship hitting the man in the moon square in the eye.

The pictures carry a lot of the story load, and they are moody and atmospheric without losing clarity -- it's never hard to follow the story, and you can't easily do things like slow zooms in pure text. There's a nice meta twist at the end, too. Definitely track down this unique and interesting book.

Lincoln and Douglas by Allen C. Guelzo

Somehow The Daily Show and The Colbert Report became my main sources for new non-fiction book recommendations (Stewart has almost completely stopped having actors as guests in favor of non-fiction authors, Colbert never really had many actor guests to begin with...). Guelzo was on The Daily Show, since books on the buildup to the Civil War really pack in the ratings.

The book is interesting, if not as dazzling in prose style as your super top-notch non-fiction books. It certainly focused on some areas that were relatively new to me. Notably, how the feud between Douglas and James Buchanan affected the race, and how East Coast Republican leaders didn't really support Lincoln out of the probably-vain hope that Douglas would reveal himself as a Republican. Guelzo also covers the various political pressures that affected Lincoln's message as well.

The interesting "what-if" scenario here is what would have happened had Douglas not chosen to debate Lincoln -- he had not much to gain from the debates as the prohibitive favorite. Absent the fame from the debates, there's no way Lincoln is the nominee in 1860. But absent the questions he had to answer in the debates, Douglas is much more likely to have cobbled together the Southern states into a coalition that could have elected him (adding a Southern VP, possibly). Where it goes from there is anybody's guess, especially since Douglas would have died months after taking office (although absent the debates, his health might have been better...)

The Mirador, by Sarah Monette

Book three in a series. One of those cases where the author settles character situations at the end of a book, then in order to write the next book in the series, she has to roll back some of the plot and character gains. That's what this book feels like -- the three main characters, acting mostly in harmony at the end of the second book, spend a lot of this book rehashing the arguments and conflicts from the last book.

That said, there's a lot in the book that does work. Monette does a nice piece of writers indirection, hiding the identity of an important character for a while. The characters and plot all move forward, maybe reaching new understandings in the end. Still looking forward to the next book.

New Amsterdam, by Elizabeth Bear

I read Bear's first novel (Hammered), thought it was okay, but never went back to the series. Since then, she's jumped her way around several genres, and the description of this one was compelling enough for me to check back in. It's alternate history, the difference point not quite spelled out, but America is still a British colony, and New Amsterdam remained a Dutch colony until the early 19th century when it was given to the British.

Our two lead characters are Sebastian de Ulloa, a centuries old vampire (the book favors "wampyr") and Abigail Irene Garret, a forensic sorcerer. Together they fight crime. Really.

The book is a series of connected short stories that eventually connect enough to roughly form a novel (some, if not all, of the stories were published separately). The early stories are mostly standalone, and have a certain Agatha Christie meets Bram Stoker kind of feel. Later stories build on each other, as both Sebastian and the British Crown find their positions in America become increasingly untenable.

I liked this book for it's atmosphere and for the main characters, I think it would have been even better fully structured as a novel -- I think it might have drawn out the supporting characters a bit more. The mystery elements give the story some texture, but the magical background behind the crimes is a little opaque to the reader... not a problem exactly, just a comment on what kind of mystery story this is. Plus, I'm an easy mark for any novel with the British Crown still ruling America. (If I met Richard Dreyfuss, I'd probably ask him what it was like to work with Harry Turtledove.) I'm hoping for a continuation to this story, and I'll check out some of Bear's other fantasy work in the meantime.

T is for Tresspass by Sue Grafton

Grafton is one of the few really best-selling authors that I read, and one of the things I like about her recent work is that she's been able to avoid having Kinsey Milhone solve the same case over and over again. In this case, the point of view goes back and forth between Kinsey and a sociopathic predator posing as a home nurse, the better to steal large sums of money from the neighborhood elderly recluse.

The mouse in this game sees Kinsey coming from a mile away, and manages to manipulate her into losing her temper and seeming unhinged to any authority figure Kinsey is inclined to consult. That's frustrating for Kinsey, but interesting for me -- I generally like watching the hero have their strengths used against them judo-style. The book is tense, although the actual ending struck me as a bit too easy.

It's also kind of interesting to watch Kinsey's stories, which take place a few months after each other and are therefore still in 1988, increasingly become period pieces. I think Grafton is increasingly referencing current events to make it easy for the reader to remember the time frame, and not wonder why Kinsey doesn't use a cell phone or the internet.

Coming soon: Matthew Hughes Magestrum series. New Lois McMaster Bujold. The third book in John Varley's Mars series. Jim Butcher's latest Dresden novel...