Thursday, March 30, 2006

One shining moment: calling a championship game

One of the things I love most about being a sportscaster/sportswriter is doing live events. There's nothing like calling a great game in front of a raucous crowd with a lot at stake. And my station did just that a couple of nights ago, as I did color commentary for the Guam high school boys basketball championship.

Being able to tell people the contexual significance of a game and detail how normal people are playing out of their minds and as a team becoming something larger than themselves is a real treat. That's the thing about sports, yuo never know when something legendary is going to happen. Plus, the game was awesome!

The defending champions were down to a very tough challenger by 15 points at halftime, but then came storming back to send the game into overtime. Unfortunately, they couldn't hang on and lost by 8.

After congratulating the victors, I cast journalistic objectivity aside and felt compelled to have a word with the losing team, which was devastated after putting up such a valiant effort to mount a monster comeback. I told them that despite coming up short and having to face the pain of not winning, they earned something more valuable - respect - from the hundreds in the venue, and tens of thousands more who watched our live broadcast. I told them to remember that moment, because they'd carry that achievement with them the rest of their lives.

Watch it here on Google Video.

Al Michael's seminal "Do you believe in miracles?" call at the '80 winter games from Lake Placid it's certainly not, but I had a lot of fun and it came out great.

Sunday, March 26, 2006

Book review: "Foundations of Ajax"

"Foundations of Ajax"
by Ryan Asleson and Nathanial T. Schutta
published by APress

With so much energy having been pumped into server-side programming over the last five years, the new trend is a return to developing rich clients. I've previously read several of the intermediate-to-advanced titles currently in print, so I appreciated this book's fundamental tone and approach to teaching what Ajax is and how web programmers can use it in their web applications. The book is what one just wanting to get up to speed with the next big thing would expect, and in that regard is very valuable: short chapters, lots of code and examples that can be directly copied into projects.

The main concerns of programming with CSS, XML and JavaScript are dealt with properly. The basic construct used to create an XMLHttpRequest object and work with it is replicated throughout the book, showing how easy it us to get up and running with Ajax. There are a few minor syntactical differences in the coding styles used by either author, but those are minor. The book's first four chapters are really good learning tools towards learning Ajax programming, GET'ing and POST'ing data to the server, and processing both text- and XML-based responses.

The book is very modern, using several up-to-date examples of Ajax programming like those employed by NetFlix and A9, and makes frequent use of sidebars to note cross-browser incompatabilities for those unavoidable DOM quirks. Chapter 4's examples are very useful, pragmatic utilities most sites could use at some point.

The one glaring point of criticism I have is that the book should have been titled "Foundations of Ajax for Java". Not that it's a bad thing, but in contrast to most other books that take a framework-agnostic approach to showing Ajax, often using .NET, PHP, CGI and Java examples, this book sticks with the approach of using servlets (and later, JSPs) to processing remote scripts, and bases the later chapters on testing and debugging on available Java tools. Again, there isn't anything inherently wrong with this, but the approach is a little one-sided for those of us not working in Java shops.

Overall, this is a great read for any programmer at any level, to be followed by other APress titles on Ajax that deal with more advanced JavaScript programming. It also makes a good teaching reference for a classroom setting.

Thursday, March 23, 2006


I didn't get a chance to catch anything on the indicution ceremony for the Rock and Roll Hall of Fame (I'm really supportive of all this year's inductees), but I did hear a soundbyte of Black Sabbath's Geezer Butler thanking people, then pausing to dedicate the award to Cliff Burton and "Dimebag" Darrell Abbott. Talk about praise from Caesar.

Both musicians, Metallica's late bassist and Pantera's lead axe man, respectively, prior to their untimely deaths both gave constant, frequent and major props to Sabbath and their contributions to their art form and the inspiration they gave them as young artists. To hear one of the godfathers honor their memories with such recognition was beyond uplifting for me, and very generous.

This is a really good moment for metal and music in general. I hope VH1 does an addendum to its "100 Most Metal Moments".

Wednesday, March 15, 2006

Book Review - "Ajax Patterns and Best Practices"

I very much enjoyed reading this book and got a lot out of it. To date, I've read about four of the major Ajax titles from various publishers, and this is the best of them so far. Christian Gross uses a very friendly voice and makes tacking the technical concepts behind modern-day web programming with Ajax - often a difficult task to simplify by the writing community - very easy to grasp.

But don't think just because Gross slyly defines the relationship of JavaScript, XML and HTTP that this is merely a book for the newbie. He uses some very advanced patterns soon into the book, and bases his fundamental asynchronous calls on one of the better models of safe and reliable cross-browser object instantiation through the use of a simple factory pattern. It's effective programming by way of intelligent design.

I appreciated the fact that the patterns described within the book aren't those that are becoming commonplace among blogs, wikis and books, demonstrating the range of Ajax programming on today's web. Gross also mentions the idiosyncrasies of the major browsers in handling things like HTTP headers, caching, output display (or lack thereof), and other things you'll need to know.

Perfect examples of these helpful patterns are those used for persistent communications, cache controlling and permutations for multi-device UI rendering. (I still would have liked to see Gross' take on the 'AutoSave' feature that's so copied by early Ajax adopters, but I won't hold it against him.)

I also enjoyed the fact that the book kept coming back to REST-style programming, with the capstone chapter being an exhibit of MVC-style applications development on top of REST. Not enough has been published in mainstream print about working with, much less describing, REST systems, so this was another definite plus.

He also references several languages in describing patterns and concepts, such as PHP, Python, C# and Java. While it is a bit of a stretch for those of us not using each one of the languages, it does show cross-platform effectiveness.

Gross also breaks down the importance of coding object-oriented JavaScript, using prototypes, code reuse and other best practices concepts that may take a few re-reads to fully stick, but will make you a better overall programmer. This is a definite must-have.

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]