Geek Smithology

February 27, 2008

Domain Specific Adventures in Real Life

Filed under: Craft of Dev,Ruby by Nathan @ 6:49 pm

There is a lot of buzz about Domain Specific Languages and about ten thousand pages describing what they are, so I’m just going to demonstrate a Domain Specific language that I am personally using. It’s for testing our chess engine, pawnzilla.

Probably the simplest thing one can do in chess is move a piece. Here is a sample unit test from earlier in the project:

1
2
3
4
5
6
7
8
9
def test_should_move_piece
    state = GameState.new
    state.clear
    state.place_piece(Coord.new(0, 0), Chess::Piece.new(Chess::Colour::WHITE, Chess::Piece::PAWN))
    state.move_piece(Coord.new(0, 0), Coord.new(0, 1))
    assert_nil(state.sq_at(Coord.new(0, 0).piece)
    assert_not_nil(state.sq_at(Coord.new(0, 1).piece)
    assert_equal(Chess::Piece.new(Chess::Colour::WHITE, Chess::Piece::PAWN)
end

Right now you’re probably thinking “DAMN, that’s a lot of code, and I can barely read it!” And you’d be right. Here’s what the exact same test looks like after some massive rethinking:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def test_should_move_piece
    state = GameState.new
    state.place_pieces("
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        p - - - - - - -
    "
)
    state.move_piece(A1, A2)
    assert_position(state, "
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        p - - - - - - -
        - - - - - - - -
    "
)
end

Now, dear reader, assuming you know even the tiniest little bit about chess, is there any way you can’t understand this test? This relies on two primitives, each very important in their own way. First, the chessboard itself. Chess players will be familiar with FEN, or Forsythe Edwards Notation, which is used to describe chess positions. Now, FEN is less verbose than our chess board object, but we take the idea of piece representation – white pieces are lower case, black pieces are upper case. This makes it trivial to present any conceivable chess position in the same amount of space, and anybody looking at a test knows exactly what it’s trying to accomplish. The second important thing to note is that in the move_piece method, we’re using simple constants that represent the coordinates of all 64 squares in the corresponding algebraic notation. While (0, 0) (0, 1) is convenient for the engine, it’s very tough for a chess playing human – you end up spending several seconds mentally transposing the cartesian coordinates into algebraic notation. Why not just remove the barriers?

Tests that may have previously been a nightmare to read and figure out become dead simple:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def test_should_detect_blockable_back_rank_checkmate
    state = GameState.new
    state.place_pieces("
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - - - - - - - -
        - b - - - - - -
        - - - - - - - -
        - - - - - p p p
        R - - - - - k -
    "
)
    assert(!state.checkmate?(BLACK))
end

This idea can extend to other tests as well. For example, let’s define a square under attack using an asterisk(*). Then testing attack vector calculations also becomes an easy visual test:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
def test_should_calcluate_queen_attack
    state = GameState.new
    state.place_pieces("
        - - - - - - - -
        - - - - - P - -
        - - - - - - - -
        - - - Q - - - -
        - - - - - - - -
        - - - - - p - -
        - - - - - - - -
        - - - - - - - -
    "
)
    state.calculate_queen_attack(BLACK)
    assert_attack_state(state, "
        * - - * - - - -
        - * - * - P - -
        - - * * * - - -
        * * * Q * * * *
        - - * * * - - -
        - * - * - p - -
        * - - * - - - -
        - - - * - - - -
    "
)
end

Now you can really see the power! Can you imagine trying to make sense of a test that had to check all of that board real estate using coordinates?

This demonstration is the quickest way I know how to define a domain specific language. We take concepts directly from our domain, the game of chess, and create primitives that translate directly to real world concepts. Because of its lovely meta-programming facilities, it’s very easy to make Ruby use our DAL by adding our code to the Unit test module. It is important to note that we are not extending the unit test module, but adding behavior to it, as if our domain concepts are native. It’s quite simple:

1
2
3
4
5
6
7
8
9
10
11
12
13
require "geometry"
module Test::Unit
    class TestCase
        A1 = Coord.new(0, 0)
        # etc.
        H8 = Coord.new(7, 7)

        def assert_position(state, position)
            # code
        end

        # and so on
end

Now all of our tests can call upon an incredibly rich toolset that brings us to a holy grail that I previously thought was unattainable: Code that is actually easier to read than it is to write. That it’s not hard to write either is just icing on the cake. You just create a macro that drops an empty grid into the code, place your pieces, and away you go.

One of the most interesting things about this is that from a technical standpoint, this was a very easy thing to implement – Ron did the translation stuff and converted several test in only a few hours. The important breakthrough here, like when Google unveiled their map website, is NOT that it requires crazy voodoo programming, but that it requires a different way of applying what’s right in front of us.

February 24, 2008

Live Blogging the Oscars

Filed under: Sight by Nathan @ 7:16 pm

I was out at a kids birthday party earlier today and didn’t catch the start of everything (maybe that’s a good thing!) So, here are the awards I missed:

Costume Design: Elizabeth: The Golden Age. And I go 1 for 1.
Animated Feature: Ratatouille. Of course – 2 for 2.
Make Up: La Vie En Rose. D’oh! – 2 for 3
Visual Effects: The Golden Compass. The first robbery this year. 2 for 4.
Art Direction: Sweeney Todd. Damn straight, this was atmospheric, moody, and perfect. 3 for 5.

All caught up and here we go. Starting out with best supporting actor. John Stewart is being funny. The Hal Holbrook scene is so great. I don’t think Jennifer Hudson picked the best dress for this. Tom Wilkinson is a good actor, but that’s a little over the top. And the winner is:

Javier Bardem (No Country for Old Men)

Nice (short!) speech by Bardem. Current Score: 4 for 6. The Academy is only wrong one third of the time so far.

John Stewart pokes fun at montages (aren’t we all sick of them?) and presents Oscar salutes to “binoculars and periscopes” and “bad dreams.” I wish they’d stop with the performances of the best song nominees. First off, it’s an irrelevant category for the Oscars — usually it’s a song played over the credits that had nothing to do with the movie. This song from August Rush is nothing special, sounds like things we’ve heard a hundred times before. Yawn. And now a Bee montage? They whip through the shorts. I didn’t see any of them, so I didn’t make any predictions here.

Alan Arkin is coming out to present best supporting actor. He’s looking good. They showed the “Ruby Dee slaps Denzel Washington scene”, because that’s essentially the only reason she was nominated. And the winner is…

Tilda Swinton – (Michael Clayton)

I am shocked! Absolutely knocked on the floor shocked! Tilda Swinton played a good role in a decent movie, but wow. Not much of a speech, I don’t know that she had anything prepared. It was nice to see her face when they announced the winner, though. I picked Amy Ryan (but wanted Cate Blanchett) and thus fall to a dismal 4 for 7.

I’m sorry Jessica Alba, you are incredibly beautiful, but you just can’t act. You can’t even read the teleprompter. Josh Brolin just called himself on a ridiculous Jack Nicholson impersonation while presenting best adapted screenplay with James MacAvoy. And the winner is…

Joel and Ethan Cohen – (No Country for Old Men)

I’m happy with this. While I was certainly a big fan of Away from Her and There Will Be Blood, this is a great choice. And even better, I’m 5 for 8 now. Somehow Miley Cyrus is out, introducing another song from Enchanted. Although Enchanted was a good movie, and with three songs nominated, it is almost certain to lose (I’m thinking the song from Once will take it.) At least it’s actually part of the movie. Although this performance does not do the song as it appears in the movie any justice. Seth Rogin and his little buddy have a good run for sound editing. And the Winner is…

The Bourne Ultimatum

Whatever. This is a travesty! There Will Be Blood was so clearly the best in this category, even from the small clips they played. The speech was an absolute mess. Glad to see that the music comes in. And I fall to 5 for 9. Next is sound mixing. And the Winner is…

The Bourne Ultimatum

And Bourne sweeps the sound awards. Pffft! Transformers was clearly better. My night gets worse as I fall to 50% – 5 for 10. Here comes Forrest Whitaker to present the best actress award. The winner is…

Marion Cotillard (La Vie En Rose)

Another shock, but in a good way. I still think Ellen Page was the better performance, and can’t believe that Christie didn’t win, but I have to hand it to Cotillard, she was great as Piaf. And what a perfect acceptance speech, such unabashed joy is too rare. There are angels in L.A. and this actress is one of them. Unfortunately, this takes me to 5 for 11. Now I’m really failing. Renee Zelwegger presents the award for film editing to….

The Bourne Ultimatum

Yes! Back on track. No movie has more cuts than a Bourne movie, so it had to win. Nice comment by John Steward about “someone just took the lead in their Oscar pool based on a guess.” Or not…back to half at 6 for 12. Best Foreign Film goes to the Counterfeiters – I haven’t seen any of the nominees. After the final best song performance, John Travolta gives the Oscar to Marketa Irglova and Glen Hansard for Once. Great little acceptance speech by Glen Hansard “Make art. Make art.”

Cameron Diaz trips over the word Cinematography, but recovers to announce the nominees. The winner is…

There Will Be Blood

Vengeance is mine! Robers Elswit did an absolutely brilliant job in There Will Be Blood. I took some flack from folks who said no film could be The Assassination of Jesse James (etc., etc.), but this was the right choice. And now I’m 7 for 13, so heading back up! Next big award is for score. I know I went way out on a limb here with 3:10 for Yuma, but the winner is…

Atonement

I’ve never seen an award go to typing, which is what so much of this soundtrack really was. It’s too bad that what was by FAR the best score (There Will Be Blood) didn’t qualify, but Atonement really wasn’t the best. And back to 50% at 7 for 14. I need to go 3 for 5 from here on out to beat 50%. We’ll see… Tom Hanks is now announcing the best documentary awards. Freeheld wins the best short and for feature, the winner is…

Taxi to the Dark Side

Well, I really thought it would be Sicko, but now I fall to 7 for 15 and need an unlikely 3 out of 4 to save a little face. Harrison Ford comes out next to present the award for best original screenplay. He sounds very old and looks exhausted – I guess the Crystal Skull is really beating him up. And the winner is…

Diablo Cody (Juno)

This is really the only award Juno had a realistic chance at grabbing, so it is excellent to see the win. Another really great acceptance speech (for the most part, a good night for speeches) by someone who is clearly excited to be getting the award. This takes me to 8 and 16. Need 2 of 3. Can’t say I like Helen Mirren’s dress, but man she is a lovely woman (I remember having a crush on her 20 years ago for Morgana La Fey in Excalibur). She is here, of course, to announce the Best Actor. And the winner is…

Daniel Day-Lewis (There Will Be Blood)

Another amazing speech. Daniel Day-Lewis is, flat out, one of the top three actors alive and his performance in There Will Be Blood will be studied for years. I improve to 9 and 17. 1 of the next 2 and I’ll be a happy man. Martin Scorsese announces best director. And the winner is…

Joel and Ethan Cohen (No Country For Old Men)

I still think that Paul Thomas Anderson was the best director this year, but I cannot begrudge the brothers Cohen this honour, because they made an absolutely brilliant movie. And at 10 for 18, I have succeeded in my 50% or bust mandate. Now to see if Denzel Washington announces my pick for best picture. And the winner is…

No Country for Old Men

I would have loved to see Juno take this, but knew there was no chance, especially once the film won for writing. But, as for directing, I can’t say anything bad about this movies or the Cohen brothers. This is well deserved, and I would have to say that all of the winners this year were extremely deserving, unlike some years, I can’t think of any results that had me outraged. And when all is said and done, I went an outstanding 11 for 19, which succeeds in two ways:

a) I made my 50% or bust!
b) I didn’t make it by so much that I have too large a hurdle for next year.

Overall, a great show, I think they should let John Stewart host for as long as he agrees to do it, he was a great host funny and unobtrusive. No speeches went way too long, the montages were kept to a minimum, and all of the winners deserved to win. Now if they just cut out all those best song performances, they could shorten it by a good 25 minutes. Hope you enjoyed the Oscars, and I’ll see you next year!

February 23, 2008

A Note on My Bookshelf

Filed under: Craft of Dev,Written Word by Nathan @ 2:01 pm

It was awhile ago now, but the Rontologist put up an entry about his top shelf and was hoping to probe the deep Freudian secrets that lie beneath our own top shelf decisions. Mine are based on the fact that my top shelf is shorter than the second shelf, so certain choices are essentially forced. I don’t want to know what kind of complex that may represent. There are currently six full bookshelves in my house. Three of those are in my office. I will choose the one behind me because it gets the most consistent use.

From left to right, without further ado…

A Brief History of Time by Stephen Hawking
The quintessential book of cosmology for people who can’t pass Astronomy 100, I read this book several years ago and have been browsing it off and on ever since. Hawkings’ attempt to explain these concepts without equations is laudable but I still forget everything I read within days of closing the book.

Into Thin Air by John Krakauer
A harrowing account of a disaster on Everest. Some people have called the author for what they deem questionable behavior, but the book is hard to put down. I’ve read it at least three times.

Kitchen Confidential by Anthony Bourdain
This is the best book about life in the kitchen yet written. Sure it explains some things you might wish you didn’t know — the admonishment against ordering fish on a Thursday and why ordering mussels at a restaurant where they are on special is a game of Russian Roulette are sobering — but it’s a thoroughly entertaining read. A word of caution for the sensitive: Bourdain uses language that will make you think “Hmmm, maybe sailors curse like Anthony Bourdain.” I’ve read it four or five times.

Planet Simpson by Chris Turner
A Christmas present. The author attempts to tie the Simpsons into various cultural touchstones and philosophies. Moderately intriguing, I found it too pretentious to keep going before I got halfway through.

The Nasty Bits by Anthony Bourdain
Bits of variety meat and offal from everyone’s favorite explicitly opinionated food writer. It’s no Kitchen Confidential or Cook’s Tour but still a good read for fans.

Masters of Doom by David Kushner
Finally the true story of id software (or at least as true as we’re likely to get.) I’m a confessed John Carmack groupie who has read every interview and watched every keynote available, so this is a well worn book. It’s a very personal look into the rise (and plateau) of id that discusses everything in a way that makes you wish you were there. I’ve read this one six times, and after writing this I’m thinking read seven isn’t too far away.

Fork it Over by Alan Richman
In case you don’t know who Alan Richman is (and, based on my readership, I’m going to guess that’s all of you), he has been the food writer for GQ for years — I’ve been reading him since at least the early nineties. This collects several of his articles and every one reveals why Richman has won so many “best food writing” awards. Alan is the Roger Ebert of food critics – while he does love him some fois gras, he can be just as rapturous about a good hot dog. He sees things for how they are, not how he wishes they would be. I’ve read the whole book four times and certain articles seven or eight times. It’s that good.

To Die For by Stephen Downes
A list of 100 things you should eat before you die. Pretty disappointing.

Slack by Tom Demarco
Allegedly a novel about burnout. I’ve been too tired to read it.

Hackers by Stephen Levy
I only bought this book because I read that it was one of John Carmack’s favorite books. Yeah, I’m a fanboy, but I admit it. It contains several stories about great hackers through the years, from the MIT model railroad club to those whacky Steves who founded Apple to Sierra On-Line and their (in)famous hot tub parties. A great read.

Microserfs by Douglas Coupland
I originally read this book during one sitting in the university library, and actually thought it was autobiographical. Instead, it’s a fictional (but very accurate according to Joel Spolsky, who worked there) account of several Microsoft employees experiencing various ups and downs. I’ve read it a couple times since. It’s a lot of fun and every time I read it after another couple of years in the trenches I see more of my coworkers in its pages.

FIT for Developing Software by Rick Mugridge and Ward Cunningham
There was a project. We wanted to use FIT. I bought this book. Like most books in this milieu it’s a fine intro that was out of date by the time it was printed and doesn’t go into any of the really advanced (read: cool) stuff.

Agile Retrospectives by Esther Derby, Diana Larsen, and Ken Schwaber
I like the idea of what retrospective should be. I hate retrospectives in practice. Why? Because I have yet to work somewhere where the recommendations that the team compiles actually become policy. Generally when retrospective action items are invoked the reply is “there’s no time.” I guess we’ll add it again in the next retrospective. And the one after that. And the one after that. I did enjoy this book, but like books about “good meetings” you need an entire organization on board to make a difference.

User Interface Design by Joel Spolsky
I have yet to meet a developer whom I thought was an outstanding UI developer, and that includes yours truly. This book provides enough ammunition for your average non-designer to develop a UI that is at least functional. While a number of Spolsky’s own prejudices color the recommendations it’s still a valuable resource. Based on what developers usually create one could do substantially worse.

The Perfectionist by Rudolph Chelminski
The tragic tale of Bernard Loiseau, a three star chef from France. How elite are the three star restaurants? At the time this book was written, of all the thousands of restaurants in France, a scant nineteen had three stars. Loiseau killed himself at the mere rumor he would be demoted to two stars. A tragic tale of what can happen when you let your work define who you are.

The Secrets of Consulting by Weinberg
You don’t wanna know. Ha ha.

Peopleware by Tom Demarco and Timothy Lister
I hate this book. You heard that right. I hate this book. Because it speaks to a happy fun land where our opinions and skills are valued, we are given free reign to use them, and we are respected rather than tolerated. I wish that every manager I’ve ever had actually put this book into action. I’d say I wish they would read it but most of them have. They just decide that it’s too hard and go back to the same micromanaging carrot-stick management style that drives everyone crazy.

Journey to the Centre of the Earth by Jules Verne
I haven’t read this, but it fit in the tiny space left on the shelf.

Business Grammar, Style, and Usage
The Elements of Business Writing by Blake and Bly
Oh baby, I desperately wish most developer and managers would read these books. I’ll give one quick hint for free: count the number of commas you have and take out half of them. I don’t know why but most developers love commas like nerds like a girl in a Princess Leia slave girl costume. Unfortunately that is just the beginning. I would say that nineteen out of twenty documents that are described as “really good for technical documentation” are dross. I don’t know why folks strive for quality in other aspects of their work but settle for bad writing. It’s not that hard.

Snow Crash by Neal Stephenson
My secret life as a fanboy strikes again. I bought this book because I heard John Carmack liked it. I can’t say I was blown away, but it was okay. A neat story that I’d recommend to fans of science fiction, but that is unlikely to draw people to the genre.

Getting Things Done by David Allen
Maybe I’d get more things done if I actually read this.

Candy Freak by Steve Almond
A book about all kinds of candy. It’s well written and meticulously researched, but surprisingly dull. Word Freak is more fun.

Runaways Volume 7 by Brian K. Vaughn
One of the best comics from one of the best writers. While this isn’t the strongest arc, they’re all good reads. A gang of kids finds out that their parents are evil masterminds. It goes without saying that hilarity ensues.

Pragmatic Version Control Using Subersion by Mike Mason
A pragmatic book about a pragmatic concept using a pragmatic tool. ‘nuff said.

Professional ASP.NET by a bunch of folks
I really don’t know why I have this book. If anyone wants it, drop me a line.

And there you have it. I’m not sure what secrets of my psyche are revealed herein, but remember that sometimes a cigar is just a cigar.

February 22, 2008

Review – No Country for Old Men

Filed under: Sight by Nathan @ 7:10 pm

no_country.jpg

There are so many things in No Country for Old Men that could go horribly wrong. That they do not is testament to the deft touch of Ethan and Joel Cohen, who have made too many good movies to expect anything less.

There is a plot, but like the Big Lebowski, that is not what the movie is about. It’s about the characters, the vast skies of Texas, and inevitability. It opens with Sheriff Ed Tom Bell (Tommy Lee Jones) delivering the best monologue of the year. In the weary voice of a man who knows his fate but isn’t racing toward it, he speaks of old time lawmen who “didn’t even wear a gun” and wonders aloud what they would make of the world today. So do we.

The crime he speaks of involves a drug deal gone bad. Llewelyn Moss (Josh Brolin) is a welder and Vietnam vet who stumbles upon a curious scene hunting in the Texas desert: a few trucks and several dead bodies. He finds a truck full of heroin and finds one man still alive. In a mistake that will seal his fate, Moss leaves the man to the wolves and goes off in search of the money he knows must be around. He finds a satchel containing over two million dollars and takes it home to his wife Carla Jean (Kelly MacDonald), who asks a lot of questions. That night, stricken with guilt, he returns with water for the dying man. The man has been shot through the head and Moss is soon under fire.

He runs for it, and one of the oddest (yet exceedingly tense) chase scenes ever committed to celluloid swims down a river followed by an unnervingly persistent attack dog. He will spend the rest of his life paranoid and on the lam. And Moss doesn’t know it, but the man he’s running from is the most quietly terrifying villain since a certain Dr. Lecter spoke of fava beans and Chianti.

His name is Anton Chigurh (Javier Bardem), and from minute one we know this is a psychopath. With his ridiculous haircut and deliberate mannerisms the character could become a caricature yet Bardem’s performance oozes malevolence and hatred. The only time he displays any expression other than blankness or a sinister grin is when a rictus of madness takes over while strangling a police officer. This is quiet evil unlike anything we’ve seen.

He calmly uses a captive bolt pistol to execute a man who never stops asking “what is that?” and later, during a conversation with a gas attendant who makes the mistake of attempting small talk, Chigurh flips a coin. “What’s the most you’ve ever lost on a coin toss?” he asks. As the man attempts to glan the stakes, it slowly dawns on him that there is a fifty percent chance he will soon be dead. When he goes to put the coin in the pocket he is admonished to put it “anywhere but your pocket. Where it’ll get mixed in with the others and become just a coin. Which it is.” Here is a man who doesn’t enjoy killing so much as find it easier than having to deal with people.

It is not long before he catches up with Moss, and while the crafty veteran has a few tricks up his sleeve he is outmatched. No matter how clever his schemes are to keep hiding with the money, his pursuer gets closer each time. In a tense phone call Chigurh tells Moss that he can save his wife, but “That’s the best deal you’re gonna get. I won’t tell you you can save yourself, because you can’t.”

In the meantime, Sheriff Bell has done some figuring of his own and is out looking for Moss. Not to convict him, mind you, but to save him. The jaded lawman has been around for a long while and has some of the best lines. As his deputy surveys the carnage and remarks on the mess, he laconically replies “It’ll do until the mess gets here.” He has the experience to know what is going to happen, but the wisdom not to let Carla Jean know.

With The Three Burials of Melquiades Estrada and In the Valley of Elah, his portrayal of Bell cements Tommy Lee Jones as one of our best living actors. Josh Brolin is also strong, but the standout is the epochal performance of Javier Bardem, who has garnered his second Oscar nomination for his insane turn as Chigurh.

A less imaginative movie would build to a confluence of all these major players. There would be shaky cameras, jarring edits, and buckets of blood. The brothers Cohen (and perhaps Cormack McCarthy, the author of the novel from which the film was adapted) are too clever for that. Instead, No Country for Old Men ends suddenly, quietly, and perfectly.

five star

February 21, 2008

Review – 3:10 to Yuma

Filed under: Sight by Nathan @ 7:35 pm

vlcsnap-5377191.jpg

It may be dressed like a western and take place on horses through mountain passes and unfinished railroads, but 3:10 to Yuma is about buddies on a road trip. I mean this in the absolute best sense of the word. Too few action movies are this good.

The movie’s first act introduces us to Dan Evans (Christian Bale), a down on his luck Civil War veteran trying to keep his ranch from a landowner who wants to sell to the railroad company. He is the consummate sad sack; he lost his foot in the civil war, he owes too much money, and his barn is burned down. His older son, William (Logan Lerman), is ashamed of his father, spitting “I’ll never walk in your shoes” between clenched teeth when the old man tries to explain.

While out tending to the heard, the Evans boys come across a stagecoach robbery in progress, and escort an injured man into Bisby. While in town, a chance meeting and some quick thinking on Dan’s part help the local constabulary nab Ben Wade (Russell Crowe), a notorious murderer guild of at least twenty two stagecoach robberies. Grayson Butterfield (Dallas Roberts) a representative of the train company (complete with handlebar mustache suitable for the occasional twirl) informs Wade that he will be will be on his way to Contention, Arizona where he will board the 3:10 prison train to Yuma for conviction and execution.

A small escort posse is formed on the spot, and Evans gets on because he “was the best shot in the regiment.” Happy that Dan fought for the North, Butterfield hires him on for two hundred dollars, mucho dinero for a man used to two dollars a day.

It’s the perfect cliche posse, consisting of our protagonist and antagonist rounded out by a disposable menagerie of colorful characters. There is Doc Potter (Alan Tudyk), the well intentioned veterinarian who will learn he has the heart of lion before it’s too late, if only just. There is Byron McElroy (Peter Fonda), the grizzled bounty hunter who will push a few too many buttons for his own good. Tucker is the clown who is so abrasive we’re ready for him to go a good ten minutes before he is. They are joined in the nick of time by William, who idolizes Wade but will find out just what bad means.

The bulk of the movie describes the trip from Bisby to Contention, with Wade’s gang of bloodthirsty murderers in hot pursuit. It is the Odyssey on speed, as the motley crew makes its way through various adventures: a decoy stagecoach, a trip through Apache territory, and a run-in with another posse looking to torture and kill Wade. All told in a pulse-pounding sprint, the action interspersed with quiet scenes where Wade pulls Lecter-esque mind games with his fellow riders while revealing that while he may be bad to the bone, he’s got his own notions of honor.

Once the film makes it to Contention, the brakes are off for the race to the finish line, culminating in the bravura ending, where the clock strikes three and the last twelve minutes take place in real time. It’s the obvious way to end a movie like this, but the execution is flawless, and couldn’t end any other way.

The train to Yuma is little more than a McGuffin, giving no impetus to the story other than giving a destination. This is a road movie where two men form, if not a friendship, a bond. There is a moment in Yuma when that relationship turns, and while there may be some incredulity mixed with our suspension of disbelief, there is satisfaction to be had in the way Dan is able to redeem himself in the eyes of his son.

The Internet Movie Database tells me that Tom Cruise and Eric Bana were originally meant to play Wade and Evans, respectively. With due respect to both actors, it would not work. This movie lives or dies on the bonding between the rancher and the outlaw, which is due to the actors speaking the lines as much as the lines themselves.

five star

February 20, 2008

If I Picked The Oscars…

Filed under: Sight by Nathan @ 6:56 pm

With apologies to Roger Ebert and the late Gene Siskel, I’ve finally seen enough movies to write a post where I tell you who I think should win the Oscars. I’ve only done the six “big” categories (with all due respect to Sound Mixing, which missed the cut by this much) and it’s divided into two parts: who I think will win, based on my reading entrails and trying to predict which studio campaigns will be successful, and who I think should win, which is naturally based on what I think.

Supporting Actor
Who Will Win: Javier Bardem (No Country for Old Men)
Who Should Win: Javier Bardem (No Country for Old Men)

While every nominee laid down a good performance, none come close to the the menace with which Bardem infuses unstoppable psychopath Anton Chigurh. From the hold-your-breath gas station scene, to the final phone call with Llewellyn, to the most stoic self-surgery scene since the Terminator every look, every tic, every moment is controlled, calculated, and brilliant.

Supporting Actress
Who Will Win: Amy Ryan (Gone Baby Gone)
Who Should Win: Cate Blanchett (I’m Not There)

The performance of the year clearly belongs to Blanchett, who easily could have played it over-the-top by exaggerating the voice, the swagger, and the attitude of Dylan, but instead disappears and becomes the tortured poet. I do admire the way Amy Ryan plays the transition from distraught media mother to negligent parent, and she makes me believe that Patrick (Casey Affleck) made the wrong decision. But Ryan is the safe nomination: Blanchett is the correct one.

Lead Actor
Who Will Win: Daniel Day-Lewis (There Will Be Blood)
Who Should Win: Daniel Day-Lewis (There Will Be Blood)

The best actor of 2007 was Gordon Pinsent for Away from Her, and it is tragic that he was not nominated. It’s especially galling that he was denied when George Cloony (Michael Clayton) and Johnny Depp (Sweeney Todd) were nominated. Having said that, Daniel Day-Lewis is a tour-de-force in There Will Be Blood. Daniel Plainview is a ruthless, detestable oil tycoon who hates everyone and eventually gets exactly what he wants: loneliness. You could argue (and I’d concede) that he goes a little over the top in the bowling alley, but you can’t look away from the screen when Plainview is on it. I wouldn’t mind seeing Tommy Lee Jones win for In the Valley of Elah, but it’s not his year.

Lead Actress
Who Will Win: Julie Christie (Away from Her)
Who Should Win: Ellen Page (Juno)

Ellen Page, who was so quietly (or disquietingly, it’s hard to decide) insane in Hard Candy proves to be the real deal in Juno, the best movie of the year. Not only does she deliver dialog that would be too quirky by half in the mouth of most actresses, but her mannerisms, expressions, are all pitch perfect. She isn’t an actress playing Juno, she is Juno. Julie Christie, while excellent, was not even the best actor in Away from Her (see above). But the Academy does love the disabled (hello, Dustin Hoffman for Rain Man) and Page will have to wait for the next nomination in what will surely be a brilliant career.

Best Director
Who Will Win: Joel and Ethan Cohen (No Country for Old Men)
Who Should Win: Paul Thomas Anderson (There Will Be Blood)

I loved both of these movies, but it is Paul Thomas Anderson who is the better director. The way he relays the history of Daniel Plainview entirely without dialog, the spectacle of the derrick fire, and every closeup show a virtuoso’s touch with film. No doubt the Cohen brothers were close – Anton Chigurh, with his ridiculous haircut could have been a caricature, and the scene where the dog chases Llewellyn is surprisingly effective. But this year, they are second best.

Best Picture
Who Will Win: No Country for Old Men
Who Should Win: Juno

First, I don’t think the nominees are correct this year. Michael Clayton was a good potboiler, and while Atonement has a stunning beginning, once Robbie goes to prison it becomes a mess. Two better movies that weren’t nominated are 3:10 to Yuma and Ratatouille[1]. On to the punditry…

No Country for Old Men is a masterpiece. I don’t know if I’d go as far as Ebert and call it a perfect movie, but it is a masterpiece. But so is Juno, a movie that comes nauseatingly close to camp, but walks the line thanks to a truly perfect cast. Juno is a comedy that has unfortunately been saddled with the “quirky” label, so I don’t foresee a win, but it was the best movie of 2007.

And there it is, folks. I’m thinking that I might blog live during the Oscars, but at any rate will be tallying my score when all is said and done. For the record, here are my full picks for this year’s Oscars (some categories, notably all the shorts, have been omitted because I haven’t seen any of the nominees)

Please feel free to comment or email me with your own choices (see here for a full list of nominees) and we’ll compare our prognostication abilities.


Category Prediction
Lead Actor Daniel Day-Lewis (There Will Be Blood)
Supporting Actor Javier Bardem (No Country for Old Men)
Lead Actress Julie Christie (Away from Her)
Supporting Actress Amy Ryan (Gone Baby Gone)
Animated Film Ratatouille
Art Direction Sweeney Todd
Cinematography There Will Be Blood
Costume Design Elizabeth: The Golden Age
Director Joel and Ethan Cohen (No Country for Old Men)
Documentary Sicko
Film Editing The Bourne Ultimatum
Makeup Pirates of the Caribbean: At World’s End
Original Score 3:10 To Yuma
Best Picture No Country for Old Men
Sound Editing There Will Be Blood
Sound Mixing Transformers
Visual Effects Pirates of the Caribbean: At World’s End
Adapted Screenplay No Country for Old Men
Original Screenplay Juno

[1] That’s right, Popowich, Ratatouille

February 19, 2008

Blu-Ray Wins — It’s Official

Filed under: Sight by Nathan @ 7:42 pm

Yahoo reports that Toshiba has thrown in the proverbial towel, making the unofficial Blu-Ray format war win official.

You know, I kinda thought HD-DVD would win, if only because of Sony’s track record: Betamax, Minidisc, Memory Stick, and UMD. I’m still not going to buy a high definition player. First, I have 500 DVDs that I’d prefer NOT become useless, and second, I imagine that standard def will be around until digital distribution makes the whole thing moot.

February 18, 2008

Review – American Gangster

Filed under: Sight by Nathan @ 10:22 am

02gang2600.jpg

True crime movies often play with the conceit that the folks on the side of the law are protagonists, but American Gangster dispenses with that right from the start. While Richie Roberts (Russell Crowe), the detective, is a doughy absentee father with stage fright, Frank Lucas (Denzel Washington), the gangster, is a driven and articulate family man. He may be unstable and prone to sudden acts of over the top violence, but the movie wants us to see the heroin kingpin as an innovative businessman.

You see, under the tutelage of his old boss, Bumpy Johnson (Clarence Williams III) Lucas realized that the surest route to low prices and a veritable heroin “supermarket” is to cut out the middle man. So he treks to Thailand and makes a deal with a drug kingpin to directly import hundreds of kilograms pure heroin into the United States, said kilograms being transported hidden in the coffins of dead soldiers.

This allows Lucas’ product, Blue Magic, to hit the streets at half the cost, but twice the power. If this sounds like an advertising pitch, you’ve got the gist. Lucas likens his brand power with Pepsi, and viciously defends the trademark, threatening a colleague (a wasted[1] Cuba Gooding, Jr.) with severe bodily harm when the name is co-opted.

The police are just as corrupt as the drug runners. Typified by slimy cop on the take Detective Trupo (Josh Brolin), they are all too willing to look the other way as long as they get enough graft to supply them with gaudy jewelry and muscle cars. Roberts, on the other hand, is so honest that he derailed his career turning in a million dollars worth of unmarked cash. It isn’t all bad; Richie ends up heading a new drug enforcement office to go after the kingpins. This leads to the requisite scene where he gets chewed out by a superior for attempting to follow his instincts, ignores the rebuke, and gets the damning evidence he was after.

This leads to the inevitable raid on the house where the drugs are processed and this is a brilliant extended action sequence. Ridley Scott is really in his element here, building the tension layer by layer until everything explodes in a hail of gunfire. While the raid is chaotic, unlike the Bourne movies, we can always follow what’s going on.

Unfortunately, American Gangster continues the trend of runtime bloat at 157 minutes. There are subplots involving Roberts’ ex-wife taking his son to Vegas and his ex-partner becoming a junkie that could be jettisoned without adversely affecting the narrative. Some streamlining would increase the tension.

Also padding the length are several attempts to show the destructive ripple effects of the heroin trade, but these lurid and grisly scenes of junkies getting high feel trite and tacked on. While the audience craves some balance between the dapper image of Lucas and his systematic destruction of Harlem, these lurid scenes aren’t the way to do it.

Yet the movie doesn’t spend any real time worrying about that, instead concerning itself with the charismatic performance of Denzel Washington. In recent stories, it has been revealed that the story is “1% reality and 99% Hollywood.” To make such a reprehensible criminal likable, it would have to be.

three and a half star

[1] Although, Cuba Gooding, Jr. has done a good job of wasting himself. If you don’t believe me, check out Boat Trip or Snow Dogs. I double dare you.

February 17, 2008

Review – The Assassination of Jesse James by the Coward Robert Ford

Filed under: Sight by Nathan @ 9:07 am

vlcsnap-2066506.jpg

I’m a sucker for quasi biographical westerns[1]. I’ve been looking forward to catching The Assassination of Jesse James by the Coward Robert Ford, if only to see if the movie is longer than the spoilerific title. It is.

After a long reign of terror, brothers Jesse (Brad Pitt) and Frank (Sam Shepherd) are the only members of the infamous James gang still not dead or imprisoned. Naturally, rather than retire and sell shoes, they put together a ragtag band of smalltime hoods for one last great train robbery. Then they’ll retire and sell shoes. A skittish young man (Casey Affleck) introduces himself as Bob Ford. He wants to be the old man’s sidekick. Frank tell him to get lost, and even though it’s obvious the kid is a creep that should be led by the ear back to his momma, instead he makes his way into Jesse’s circle. This must be the movie’s way of telling us that Jesse is deranged, should we miss all of the other Pitt “look at me I’m playing deranged” mannerisms.

Bob stays behind after the robbery, and the kid is obviously enamored with the robber. He studies every conversation, every word, every inflection until finally called out: “Do you want to be like me? Or do you want to be me?” Bob gets the boot and during the ensuing misadventures, kills a James family cousin when coming the the rescue of his friend James Liddil (Paul Schneider). The movie is unclear as exactly how or why, but Ford is soon working with the governor (James Carville) to bring Jesse down. Conveniently (but this is history, you can’t make this stuff up) the increasingly unstable outlaw ends up deciding that Bob and his brother Charley (Sam Rockwell) are the only two people he can trust. When that trust is broken by a newspaper article, the titular assassination occurs.

And then the movie jumps the shark. It’s reached its natural end, but instead of letting us go, an extended (and excruciating) denouement ensues, with a bland narrator (why they didn’t keep the voice that narrated the trailer is a mystery) telling us about the sad and boring end of Ford’s life. This would be undesirable in the best circumstances, but in a movie with that falls 20 minutes short of three hours, it is unforgivable. Rather than a three and a half hour director’s cut, I would love to see a 100 minute editor’s cut. This material requires precise storytelling, not meandering meditation.

Casey Affleck will get recognition for his role here (indeed, he has been nominated for an Oscar) but he was better in Gone Baby Gone, while Sam Rockwell does a good job playing a man scared for his life. Brad Pitt plays his character as a bully and a murderer for whom a cigar might be more than just a cigar. Perhaps the comparison is unfair, but unlike the way Kurt Russell and Val Kilmer disappeared in Tombstone, Brad Pitt never ceases to be Brad Pitt to become Jesse James. Maybe it’s his status as an actor.

In many ways, Jesse James is the embodiment of American mythology. Over the years he’s been eulogized, idolized, and idealized. But the film’s portrayal of James gets it closer to the mark. The man was a lout who deserved punishment. The Assassination of Jesse James leaves the decision as to whether or not justice was served to the audience

two and a half star

[1] Except for Wyatt Earp – it did all the sucking on its own.

February 10, 2008

No Wonder I Can’t Find a Wii!

Filed under: Industry by Nathan @ 11:08 pm

According to this Gamasutra article, Nintendo sold 17 Wiis per second in 2007 during the few times they were in stock. That’s crazy talk – the only thing I can do that many times in one second is think of 17 better ways Colorado could’ve saved their money when they traded for Theo Fleury in ’98.

Numerology is Bunk…

Filed under: Grab Bag by Nathan @ 12:00 pm

…but I do still enjoy interesting numeric constructs that appear by coincidence. For example, one time the total on a receipt was my banking PIN number (yes, it’s been changed, and no I still won’t post it), or this fun total I got the other day:

receipt.jpg

In a completely less random note, this is the most frequently used total when I write a cheque as a gift. Although sometimes I feel generous and write one for 543.21, and when I’m feeling saucy, I write one for 1123.58. Hope you’re having a happy Sunday (not to be confused with a Happy Monday), I know I am – the Avs spanked Vancouver 6-2 during Hockey Night in Canada last night.

February 8, 2008

Review – Away From Her

Filed under: Sight by Nathan @ 12:58 am

Don’t it always seem to go
That you don’t know what you’ve got ‘til it’s gone

away_from_her.jpg

Day-to-day, we don’t appreciate what we’ve got. Whether it’s our health, our loved ones, or myriad other little niceties it’s easy to take all of this for granted. Away From Her is the story of a man who loses his wife, even though she’s right in front of him the whole time.

Grant (Gordon Pinsent) and Fiona (Julie Christie) Anderson are a lively couple. Married for forty-four years, they’ve settled into a relatively comfortable retirement filled with cross country skiing, romantic sunsets, and cozy nights by the fire with a good book. Then Fiona starts to forget things. Mundane and unremarkable slips of the mind early on, but one day she wanders off and gets lost. While Grant slips into heroic denial, she is too young, too different, the truth is that his beautiful wife has Alzheimer’s and she needs to be in a nursing home.

During the admission process, Grant is informed by the administrator (Wendy Crewson) that he can’t visit at all for the first month, the longest they’ve ever been apart. Upon his return, he sees Fiona sitting with a strange man, playing cards. He is devastated to learn that not only does she forget about him, but is in love with a fellow patient, Aubrey (Michael Murphy.) The staff tries to play it off as something that happens “all the time”, that is “not personal”, a fact he reluctantly accepts. And then the film heads into unexpected territory: reality.

Trying to cheer up his wife, Grant ends up spending time with Aubrey’s wife Marian (Olympia Dukakis), whose explanation why she won’t put Aubrey in home time is so refreshingly and unemotionally pragmatic that it almost seems cruel. It’s not cruel. It’s life. Even the self-sacrificing husband can’t help but flirt with other women at the home, and is taken to task by the feisty head nurse (Kristen Scott) who tells him that at the end of it all, it’s usually the men that think things were “mostly fine”. She wonders what Fiona would think. So does he.

It is in these scenes that writer/director Sarah Polley elevates the material from melodrama to greatness. The true-to-life tone is maintained through some inspired performances. Scott and Dukakis are excellent foils to the taciturn Mr. Anderson, and Julie Christie manages to shine in portraying the increasingly erratic Mrs. Anderson. Yet just as Tom Cruise must be acknowledged for his excellent work in Rain Main, Gordon Pinsent deserves plaudits for brilliantly playing a role that relies as much on posture and expression as it does on dialog.

Those small touches, a smile here, sweet oblivion there, that add up to more than the sum of their parts are the key to the film. There are moments in Away From Her that will soften the hardest heart, but it is not a sentimental tribute to ideal love. It’s about a flawed man who must come to terms with the end of his marriage, yet clearly isn’t a bad man. Merely human.

four star

February 4, 2008

Review – Sweeney Todd (The Demon Barber of Fleet Street)

Filed under: Sight by Nathan @ 5:50 pm

todd12.jpgSome auteur directors find a muse and form long lasting relationships. Think Martin Scorcese and Leonardo DiCaprio. Think John Waters and Divine. Think Kenneth Branagh and Kenneth Branagh. But you’d be hard-pressed to find a more fruitful pairing than Tim Burton and Johnny Depp, the team that brought us such masterpieces as Edward Scissorhands and Ed Wood. Add to that list Sweeney Todd, a surreal and captivating musical so far removed from the usual fare as to be almost subversive. Like Moulin Rouge, not Hairspray.

The story begins as Benjamin Parker (Depp) arrives in London after 15 years in exile. As a younger man, he was arrested under false pretenses by a jealous judge (Alan Rickman) who covets his wife. Upon looking up his former home on Fleet Street, he meets Ms. Lovett (Helena Bonham Carter), a lovely young lady who has set up shop selling the worst pies in London. Parker takes the name Sweeney Todd and makes his name as a barber after a scene that involves accusing a local hairdresser (A pitch-perfect Sacha Baron Cohen who proves he’s bigger than Borat) of peddling a false hair growth tonic based on bodily functions. Soon after, Todd finds he has a taste for murder and decides that the whole world deserves to die. Ms. Lovett capitalizes by turning victims into pies and soon she is the toast of London. Finally, in a melange of mistaken identity, gross immorality, and true love, Todd’s blood thirst proves his undoing and the demon proves as deserving of death as any of his opponents.

sweeneytodd.gifThe cinematography is unmistakably Burton – view any frame from the film and you could identify its maker. Other signatures are there: Todd has hair that seems to be a mix between Edward Scissorhands and Robert Smith, while Ms. Lovett has the pallid complexion of a corpse (but a hot corpse.) The sets are simultaneously part of and beyond the theater tradition, with stage like intimacy in some scenes and expansive vistas in others. There is a nice flash-forward that changes the locations, but proves Todd to be a most morose madman. The murders themselves are lurid, fetishistic, and unsettling in a way that few films attain. It would seems that they would become mundane through sheer repetition, but they’re rough, gory, and plausible — I flinched just about every time a razor came onscreen.

Unlike too many musicals these days, the songs aren’t merely hooks for a soundtrack[1][2], but integral and intricate: there are many duets with overlapping sections of opposing exposition, such as when Todd is singing of his dead wife while Ms. Lovett declares her obvious affections. It’s hard to give Depp credit merely for singing his own songs in the film, he would have been excoriated in the lip-sync hating press, but he deserves kudos for being an excellent vocalist. He has a recognizable sound, as opposed to the generic “male voice singing in key” albatross around the neck of the music industry[3].

The experience of Sweeney Todd is captivating and gratifying, and will wash the rancid stool taste of Charlie and the Chocolate Factory from your mouth. The multitudes of Burton lovers will pronounce it another masterpiece, while the hoi polloi of haters will denounce it as more of the same. Both groups are right, and you should get out and see it.

five star

[1] Not that there’s anything wrong with that.
[2] Admission: I bought the soundtrack. It’s excellent.
[3] Although he does remind me of Ewan MacGregor’s delivery in Moulin Rouge, and that’s a compliment.

February 3, 2008

Patriots IMperfect

Filed under: Sports by Nathan @ 9:59 pm

Today I watched the Superbowl. This is exactly the second full-length NFL game I’ve watched in my life (the first being the 2003 Superbowl in Shawn Metheny’s basement. I don’t remember who played or who won, but I had fun playing foosball afterward.) I watched it because I got a kick out of the stakes involved: the first perfect season since 1972 was there for the taking.

I don’t have the background to say whether or not the game was any good, but I can say that my heart was beating and felt a little nausea (although that may have been the painfully spicy vegetarian curry pie that I ate yesterday afternoon and fought with all yesterday evening, as the clearly evil pastry attempted to chew itself through my sternum in some kind of Giger-influenced yet non-trademark-infringing way) during the last three minutes.

Long story short, the perfect season was not had. I was cheering for New England to do it, but I wasn’t involved in any way that made me angry (you, know, like when I got so pissed off at Eric Lindros and the Flyers when they not only failed to beat Detroit in the Stanley Cup finals, but instead got swept) so I was happy for the New York Giants.

Anyway, that has satisfied my need for football for some time. If anyone has some invites for a 2013 Superbowl Party, send ‘em my way, I just might show up.

And while I’m here, why did the players insist on referring to the Superbowl as the “World Championship”? I mean, okay, technically it is, but if you’re the only country that plays a sport called American Football, calling it a “World” Championship is somewhat presumptuous.

But, as Bruce McCulloch would say, “America, the land where spelling doesn’t count, people’s pets do!”

three and a half star

Blue Server of Death

Filed under: Industry by Nathan @ 4:49 pm

bsod_icon.jpg

Here is the OS X information display for a Windows(tm) server. It’s funny ’cause it’s true.

February 1, 2008

Ratatouille Gets Robbed

Filed under: Sight by Nathan @ 6:20 pm

Ratatouille is a great movie. Not “great for a kid’s movie” or “great for a cartoon”, but “a great movie.” Not only is it inherently interesting, but it’s chilling just how accurate the movie’s depiction of “the life” is (just ask Anthony Bourdain) due to the invaluable input of Thomas Keller.

And now, at the end of the year, the academy award nominations come out and Ratatouille gets snubbed. Maybe this is just the isolated griping of a lone internet pundit, but if one looks at the end of the year lists, the cooking rat shows up in first place on both Rotten Tomatoes’ highest ranking wide release movies of 2007 and is the single highest rated movie of the year at metacritic.

I’ve got nothing against the nominees, but if Beauty and the Beast garnered Best Picture consideration, that Ratatouille missed out is a crime, plain and simple.

Powered by WordPress