Geek Smithology

December 31, 2005

MP3otW – The New Year by Death Cab For Cutie

Filed under: MP3 of the Week by Nathan @ 12:11 pm

So this is the new year.
And I don’t feel any different.

I’m a little busy with the obligations (and pleasures!) of the holiday season, so this is gonna be a pretty quick update. Basically, a song I like from a band I love that just happens to be topical. What more could you want?

Happy New Year everyone!

December 30, 2005

Review – The Chronicles of Narnia: The Lion, the Witch and the Wardrobe

Filed under: Sight by Nathan @ 6:53 am

Disclaimer: I have not read any Narnia book; I walked into the theatre armed only with a few trailer viewings.

With the impressive fantasy film success being enjoyed by Warner Bros. (Harry Potter) and New Line (Lord of the Rings), it was inevitable that Disney would paw through literature for its own cash cow. Having decided to milk CS Lewis’ Chronicles of Narnia, it is now up to the audience to decide if this film can command the same kind of success.

A straightforward fantasy, The Lion, the Witch, and the Wardrobe is the story of four children sent to the countryside during World War II to escape the bombing of London. While playing a game of hide-and-seek one afternoon the youngest girl, Lucy, (Georgie Henley) finds an old wardrobe. When she hides inside she finds a doorway to a magical world called Narnia. She meets a Faun [1] named Mr. Tumnus (James McAvoy) who is surprised and somewhat afraid to run into a daughter of Eve. Lucy comes back to England after a spot of tea and finds out no time passed in the real world while she was away – very convenient.

There is a short and undeveloped period where the other children find no magical world, but soon enough the younger boy, Edmund (Skandar Keynes) passes beyond the closet and meets the White Witch (Tilda Swinton). She is obviously evil but the boy is so easily bribed with candy that he doesn’t notice. No points for guessing that the destiny of the four children involves freeing Narnia from evil and the witch will try to kill the children. They team up with a menagerie of talking animals lead by a lion named Aslan (Liam Neeson) to thwart her plans and take their rightful places as the kings and queens of the land (while a brother and sister being king and queen may be innocent enough in theory, it seems creepy to my 31 year old mind.)

However, this movie was not made for 31 year old minds that have not read the books. Yes, the film is whimsical. It is well made. It is even fun. I dig the talking animals. I chuckled at Santa Claus handing out weapons and potions. I can get behind the fantasy of four children destined to rule a mythical kingdom. But something keeps me from gushing.

It is certainly not the execution. The film looks great, the special effects are as seamless as can be achieved by current technology, and the actors do what is required to carry the story. It is not because of the underlying Christian allegory. So what is the problem?

I will allow that my expectations were incorrect but this movie does not feel epic. It is a children’s story played out in a saccharine playground of immature drama and I was never absorbed. Perhaps this has less to do with the source material than decisions made for the screen but hear me out.

Nobody dies in this movie. Aslan is sacrificed but comes back to life (dying for Ed’s sins and all.) Everybody “killed” by the White Witch is not dead, but merely waiting to be raised by the feline Christ. When Mr. Tumnus is turned into a statue, there is no emotion comparable to Boromir dying in Fellowship of the Ring, because he is simply revived later. There is no blood, either. Not during the sacrifice. Not when Edmund gets stabbed. Not during the massive battle. I am not condoning gratuitous violence, but to have the two armies clash without a single drop of blood is too conservative. The decision was no doubt made to maintain a PG and make sure the intended audience could fill the theatre, but the movie suffers as a result. It feels too clean, too sanitized, too Disney.

The movie is obviously hitting the right notes with a lot of people as only King Kong was able to best it at the box office – maybe the inevitable sequel can up the ante. If you loved the books as a kid (or are a kid) you will see this movie regardless of anyone’s opinion and enjoy it. For the rest of you, even if I cannot cop to enjoyment, I will confess to appreciation and recommend checking it out.

three star

[1] Think dude with goat feet but not the devil.

December 24, 2005

MP3otW – Feliz Rubberdad by Jeff and Philip

Filed under: MP3 of the Week by Nathan @ 10:54 pm

Remember that time you and your buddy got drunk (perhaps even sampling other substances) and said We should totally start a band dude. That would rawk. Now, imagine that instead of passing out, you grabbed a microphone, your little brother’s Casio Tone Bank and proceeded to record and entire Christmas Album using only rubber bands as instruments. Have that image in your head? If so, you may be mentally prepared for this out of tune track from A Rubber Band Christmas, with the oh-so-punny title Feliz Rubberdad.

Merry Christmas everyone. And, uh, sorry.

December 17, 2005

MP3otW – Enter Sandman by Apocalyptica

Filed under: MP3 of the Week by Nathan @ 7:13 pm

I’m not a huge Metallica fan. It has nothing to do with whether or not they “sold out” or all of the wanna be bad boys in high school wearing …and Justice for All tee shirts — I just never really dug them. Turns out I just needed a different vector for tapping in. When it comes to metal covers, we’ve heard orchestral, ska, reggae, zydeco, disco, heavier metal, and of course lounge.

But how about four cellos?

No, you aren’t reading that wrong, I really mean that this band plays Enter Sandman on four cellos. It’s not drums, guitar, and cello. It’s not guitar, bass, and cello. It’s not even a string quartet. It’s four cellos, it’s pretty creepy, and it’s one of the most creative use of any instrument for any purpose I’ve heard (and I’ve heard a lot.) I’ll try and find a worthy Christmas song that’s not overdone for next week.

Enjoy.

December 15, 2005

Yes, you still need to read books.

Filed under: Craft of Dev,Reading List by Nathan @ 9:56 pm

Books are a waste of time. I know all of the basics – all I need is Google when I get stuck.
Random Bad Coder

I feel sorry for our profession when I hear this, and I hear it often. The road to unmaintainable spaghetti is paved with windows broken by boiling frogs who program by coincidence without tracer bullets. I browse several websites and read many blogs, but they are fleeting: I get some news, maybe a tip. But the flesh on my body of knowledge comes from reading books and writing programs. While trying to describe why, I found a good quote over on Paul Allen‘s blog:

…one of the most important things I’ve learned in the last 10 years — (is) that the best use of my media time is in books. In Love is the Killer App, Tim Sanders argues that 80% of our learning time should be spent in books, since there is such a high concentration of lasting knowledge there.

When I interview developers, I always ask about their favourite technical book. If they say Refactoring or Pragmatic Programmer, I’m encouraged. If they say “VB.NET in 21 Days” or “Java 5 in 24 hours” I try not to flip the bozo bit. If they say The Art of Computer Programming they are probably lying. I stress mastering development as a craft over any other concerns; an important personal maxim is Technology expires; practice does not.

There are two components at play here: attitude and aptitude. Attitude is attacking each problem with all of your energy to find the most elegant solution (without overengineering — remember when YAGNI), and having fun doing it. Aptitude is building up a knowledge portfolio around concepts, not technologies. That way, platform doesn’t matter. If you need to write a little website with Ruby on Rails, or an enterprise system in J2EE, you’ll grok the domain and tools faster than a myopic “guru” in either technology will absorb your craftsmanship. If you can be a craftsman and a guru, you’ll be unstoppable!

Without excellent personnel, even good to excellent processes can only achieve marginal results.
– Capers Jones

Or, more succinctly: people improvement trumps process improvement. You must practice what you read[1], but an important investment in what Dave Thomas calls your Knowledge Portfolio is to read high quality books (while avoiding low level recipe books) at a comfortable pace (one per month would be outstanding, but 4 a year is better than nothing.)

Assuming that you accept this, unless you’ve been around for awhile you probably want me to make some recommendations. Well you’re in luck, because this piece just so happens to be the introduction to my reading list series. Once a week or so I’m going to recommend a book that has influenced me in some meaningful way. They won’t all be about programming, or even technology in general, but each one is guaranteed to enlighten the open mind.

Books in the series:

1. The Pragmatic Programmer

[1] Note that experience isn’t the end-all-be-all either — Kevin Henley said “20 years experience might be one year repeated 20 times.”

December 12, 2005

Why you should learn a scripting language

Filed under: Craft of Dev by Nathan @ 8:28 pm

You know those little tasks that really need to be done, yet send you scurrying for any excuse to procrastinate? I came up across one of those the other day – I had some files (module1.zip, module2.zip, library1.zip, etc.) and needed to unzip them all into subdirectories with the same name as the zip file. For example, module1.zip should have it’s contents unzipped to a directory called module1. Not a big deal to just do a few unzip commands, but there were over 120 of these files. Rather than do something crazy (like transfer the files to a windows box, use winzip’s “unzip using filenames as folders” then transfer them back) I wrote the following perl script:

1
2
#!/usr/bin/perl
system("unzip $_ -d ".(/(.+)\.zip/)[0]) foreach @ARGV

This script took about a minute to write. I saved it to a file called u2d, did chmod +x u2d, then u2d *.zip. Total time to complete the task? About 2 minutes of scripting and about 10 minutes waiting for that script to run. I’m not going to go into detail about how the script works; either you know Perl and you know how the script does what it does, or you don’t know Perl and you’re making some naive comments about my “write only” script.

Who cares? Gaze upon a Java program that does the same thing, ye mighty, and despair:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class U2D {
    public static void main(String[] args) throws Exception {
        Pattern p = Pattern.compile("(.*)\\.zip$");
        for (String arg: args) {
            Matcher m = p.matcher(arg);
            if (m.find()) {
                Runtime.getRuntime().exec("unzip " + arg + " -d " + m.group(1));
            }
        }
    }
}

Uh…yuck! Not only is this more of a pain to call (need to use a jvm, have to worry about classpath when calling from other directories) but during the development of what is essentially a throw away piece of code, you can potentially go through 3 or 4 compile-run-debug cycles. That’ll sap your morale as well as your time! Abe Lincoln once said If I had 6 hours to chop down a tree, I’d spend the first 4 sharpening my axe. You should think the same way because an investment in your toolset will pay off more consistently than brute force every time.

I like to call this Ruthless Automation. There are a dozen things we do in the course of a project that could benefit from a little scripting help: setting up a test environment, building a database schema, code generation, the list goes on. This is a staggeringly productive way to work — who’d have thunk you could use these computers to do your work for you? By learning a scripting language (preferably a dynamic one), you put another tool in the box. You’re not going to build your next enterprise system in Perl, but it can certainly perform a lot of the glue functions.

On that subject, Eskimo Bill and I half-jokingly asked Dave Thomas about Ruby in an enterprise environment, and his serious response that he was already seeing systems where people were using Ruby to tie together big iron enterprise infrastructure like messaging systems. And why not? It’s got excellent facilities for threading, XML, Web Services, networking. Plus you have the advantage of an almost painfully productive language (if you don’t love Ruby, it’s because you haven’t tried it.) The Pragmatic Programmers believe strongly enough in this approach that they are releasing a book about it.

Last, but definitely not least, learning a scripting language will help you think in a different way, and see Java patterns that you may not have conceived without cross-training some scripting chops. And learning is never a bad thing. So the next time you’re going through some rote task, think about ruthless automation and ask yourself if learning a little Perl could cut through that tedium – people forget, scripts don’t.

December 11, 2005

The Themes, they are a Changin’

Filed under: Announce by Nathan @ 7:46 pm

Holy stark naked Natman, what’s up with the new look? Good question, with a fairly long answer.

First off, I didn’t find the old design to be very readable, therefore it wasn’t very user friendly. I did think it was pretty cool, but that only lasts for so long.

Second, I wanted to exercise some web usability tips I’ve picked up along the way, so my blog now features such niceties as links that behave like links, text that is both readable and flows better with the window size (I really wanted to go down to a one column layout, but I just couldn’t do it), and a loading time that is slightly more reasonable (I feel comfortable blaming my provider for that one, though)

Third, like most of the blogosphere, I read Weblog Usability: The Top Ten Design Mistakes by Jakob Nielson and was shamed into action. I think I’m (now) doing okay with 1, 2, 3, 4, 5, 6, 9, and 10. I’m not doing so well with 7, and I just can’t bring myself to care about 8. I’m not really trying to market or sell anything, and I’m truly doing this for myself, so I’m not gonna start up five blogs just because I have five things I want to talk about. If you only like my tech postings, then feel free to subscribe only to that category.

So, there is is. I imagine most of my readership is through an aggregator anyway, so all of this might not mean much, but I’d appreciate any feedback good, bad, or ugly as to what y’all think of the new digs. Minimalism is the key.

December 10, 2005

The Flames will win the Cup

Filed under: Sports by Nathan @ 11:30 pm

I’m not a Flames fan. I had a team before I came to this city and I’m not going to give up 20 years of history just ’cause I moved here. That said, my team isn’t going to win the cup this year, so it wouldn’t bother me if Calgary did win.

A lot of streetcorner pundits have ruminated on what would happen if Calgary played the class of the NHL, and they finally did that Saturday night when they played Ottawa. And the fact that Hasek wasn’t in net doesn’t change the fact that for two periods and an overtime, the Flames abused the Senators like their prison lover. They still rely on their goalie too much (and lost the Stanley Cup when they came up a goalie equally talented) and were until recently the only team with a winning record that had fewer goals for than against, but damn if they don’t look like they could take it all this year.

The only problem is that outside of a moment here and there, the Flames are boring. Remember 1995, when New Jersey bored everybody to the cup? I hope that doesn’t happen this year. Just like coding, success just isn’t quite as sweet when the execution is not elegant.

MP3otW – Watching the Wheels by John Lennon

Filed under: MP3 of the Week by Nathan @ 5:47 pm

Thursday was the 25 year anniversary of the cold-blooded assasination of John Lennon. Paul McCartney might be a knight these days, but his music (while well-crafted) adds up to little more than a big pile of poppy hooks and pappy fluff, while John Lennon was a (if not the) voice of a generation. Needless to say, the artist for this week’s MP3 was never in question…but what song?

I wanted something that helped reflect a bit of Lennon’s essence without resorting to Imagine or Give Peace a Chance. I decided it should be from John’s comeback album, Double Fantasy, released just weeks before he was killed[1]. After a little thought, I went with Watching the Wheels, because it’s a great song:

People asking questions lost in confusion,
Well I tell them there’s no problem,
Only solutions…

Rest in Peace, John – we miss you.

[1] It would go on to win the Grammy for best album. If you can watch the footage of a six year old Sean Lennon going up to accept the award without a tear coming to your eye, then you must be some kind of robot.

December 4, 2005

I Found a Cure for Tony Hawk Addiction!

Filed under: Games by Nathan @ 6:14 pm

Yeah, turns out all you have to do is cut a fair bit of the tip of your thumb off while stupidly trying to cut garlic[1] with a big ol’ serrated bread knife. So…if you thought gamepad thumb hurt “in general”, it’s a lot worse after you’ve tried to amputate your thumbprint with stainless steel teeth of woe. I would post some pictures, but frankly I’d be creeped out if anyone actually looked at them. Lucky for me, I don’t need my left thumb for typing, or tomorrow could be a very long day.

Hope your Sunday evening is progressing with far less blood.

[1] To be clear, my relationship with garlic has not been harmed by this incident, and I still extoll its many virtues.

December 3, 2005

MP3otW – Winter Wonderland by Harry Connick, Jr.

Filed under: MP3 of the Week by Nathan @ 11:48 pm

Well, I hope you’re faring better in whichever piece of this ol’ ball of mud you call home, but here in Cowtown it’s mighty chilly with a big helping of snow on the side. What better to warm you up then our old friend Harry Connick Jr. throwing down a sweet boogie-woogie take on that proverbial winter favourite, Winter Wonderland. This boogie is so phat that when I was listening while typing I was forced to tap in time: that’s rock ‘n’ roll, kids.

Those who know my own piano stylings will hear a lot of my own influences here (although I can’t mention my piano stylings without mentioning Dave Luesink, who taught me the 12 bar blues, Jerry Lee Lewis, who I wanted to be[1], and Thomas Manshardt, who taught me that enjoying music is fine and dandy, but true love comes from appreciation) but I don’t put myself into the same league (Harry’s Avalon on his first live tape is insane).

Peace on Earth and all that jazz – where’s a chinook when you need one?

[1] Well, I wanted to play piano like him, I didn’t want the teenage cousin bride or that gaudy jewelry. Kinda got stuck with the hair, though.

Powered by WordPress