Tuesday, May 30, 2006

X-Men: The Last Stand Thoughts

**** SPOILERS ****

I was able to catch X-Men: The Last Stand at a Sunday Matinee during the opening weekend. While I was somewhat lukewarm about the first and second installments of X-Men, I still found them enjoyable films that stood up to repeat viewings. Trailers for the third, however, grabbed my attention. My only disappointment was that the third didn't last longer.

Most objections to the 3rd installment of the X-Men franchise center around fans of the comic book and the film's lack of adherence to the comic book story of its characters. As has been stated on other sites, comic books movies shouldn't necessarily stick to the source material just as novels rarely follow the exact sequence of events of the book. The reason? They are different mediums. For instance, what would have happened to the Fellowship of the Ring had Peter Jackson included Tom Bombadil? Many Tolkein fans would have been pleased, but the rest? I would argue that people would have left the theater and asked for their money back. Peter Jackson's work, not Tolkein's, helped me push my way through the Bombadil chapter.

Comic fans also praise the work done by Bryan Singer in the first two films. That praise is, in my opinion, distorted. While I will grant fans that the Magneto backstory and Wolverine introduction were extremely well done, everything beyond those two pieces of the two previous movies fell short of or matched what was found in X-Men: The Last Stand.

There were cheesy lines just like the new installment. Example? "You're a dick." Wolverine to Cyclops proving his identity. Need I go on?

Both movies had the same hyperfocus on Wolverine and the love triangle with Cyclops and Jean. Don't get me wrong, I like Wolverine...I'm just saying those same distortions of time allotted to characters existed in the previous two movies causing other stories like Rogue and Iceman's relationship to take a back seat.

Both movies introduced mutants with little to no backstory who mainly served to advance action sequences or plotlines. Sabertooth and Toad qualify in the first. Deathstrike and Jason in the second.

The other knock on X-Men: The Last Stand deals with the story. Fans of the comic and critics alike tell us that there is no story and that this is all about action. I disagree. The fact is that there's a much deeper story here than there has been before. The problem for most is that it asks questions and doesn't spell out the answers in big letters written in crayon.

All of the films have dealt with fear and hatred of a minority by the majority. They also touched on government decisions toward threats, real or perceived, and some of the moral and ethical issues involved in addressing those threats. Where this film goes a step further is in asking, what would happen if the minority had the chance to become a member of the majority? The Human Stain is an interesting movie that takes a look at this topic in more depth.

The movie complicates the issue further through Xavier's discussion of Jean and her split personality Phoenix. In a conversation with Wolverine, the Professor discusses his psychic work to build walls between Jean and Phoenix because Phoenix was too powerful, the only class 5 mutant he ever found. Because of his own fear and sense of responsibility to others, the Professor "cures" Phoenix by caging her in Jean's mind. When thinking of the government's action to weaponize the cure, is it really any different than Xavier's action to cage Phoenix, one he attempts to repeat without hesitation upon learning that Phoenix has been unleashed?

Adding even more depth to the story, Xavier makes a decision on a moral/ethical question posed to his students at the beginning of the movie. The question deals with the responsibility of great power. Magneto and Phoenix, in Xavier's opinion, wield it without any sense of responsbility or greater good. However, Xavier uses his power in a way that makes us question his own sense of responsibility.

Make sure you stay after the credits to understand.

Now, would I have liked a longer movie? Unequivocally, yes. Did I think some of the dialog was stupid? Yes. Regardless, though, it was a solid action movie with a story that prompts some interesting discussions.


Monday, May 29, 2006

And I Thought U.S. State and Federal Tax Systems Were Crooked...

...but Britain has taken it to the next level.


If I were Agassi, I would stop playing in Britain and see how they liked the loss of revenue from him not being at their major tennis events.

Wednesday, May 10, 2006

Ionic Breeze Dangerous?

Unfortunately, this revelation is news to me as I've been running 2 of Sharper Image's units in my home for the past year, one being in my son's bedroom. While I don't think there is any solid evidence on the Ionic Breeze itself, other units have been called into question in California. Even more interesting, though, is the fact that the manual actually states the following:

The Ionic Breeze®complies with U.S. safety standards for low
ozone emission (less than 50 parts per billion). We recommend that
individuals with a history of respiratory disease consult with their
doctor about possible heightened sensitivity to very low ozone.

Contrast this with the fact that Sharper Image promotes the following on its site and in its infomercials:

...Ionic Breeze is the only brand of air cleaner with the Seal of the Asthma and Allergy Association of America and the Seal of Approval and endorsement of the British Allergy Foundation (based on their independent testing).

Unfortunately, I can't find an Asthma and Allergy Assocation of America anywhere on the web, only the Asthma and Allergy Foundation of America. Nowhere on the AAFA site do I find the Ionic Breeze mentioned. I was able to find a listing at the British Allergy Foundation, but oddly enough, it only lists cat allergen and dust mites as being removed by the unit.

It's also interesting to note that Sharper Image is now selling OzoneGuard, a product designed to remove ozone from the air. The sales pitch talks mostly about removing environmental ozone, but it also mentions removing ozone produced by the unit.

The sad fact of it is, though, that I'm confident I felt better with the unit running. It's hard to reconcile, but I don't think I'm willing to risk my lungs over it.


Tuesday, May 02, 2006

Open Source Learning Curves

Tim Fennell, author of The Stripes Framework, makes some excellent observations on Open Source Software learning curves in this post on his Blog:

Flat Learning Curves: Powerful

As with anything, Tim's observations hold true in some cases and not in others. More often than not, Tim's observations hold true when a company develops OS software and sells support. In this case, market forces drive the company not to develop good documentation or user-friendly features. In fact, some companies even sell the documentation which may still be insufficient simply because selling support is the only way they make money.

I could name names, but I won't. Most Java developers know the culprits.


Better Webapp Development?

Looking at something completely unrelated, I stumbled onto this video presentation by a NASA JPL developer:

Better Webapp Development

As you'll find when you watch the video, the creator intends to push JPL developers away from using J2EE for web application development. To make his case, he compares J2EE to Ruby on Rails, Plone/Zope, TurboGears, and Django. His approach is to create both a "Hello World" application as well as a trivial time tracking application in all of the frameworks including 2 for J2EE:

  1. Servlet + JSP + Hibernate + MySQL

  2. EJB/JBoss

At the outset, his motivation should be clear from the test parameters. First, he's looking at 3 different Python frameworks which should give us a clue he leans toward Python. Secondly, his two Java setups involve some of the worst tools available. Rarely do Java developers now use raw servlets, Hibernate provides some of the ugliest "xml situps" (as he likes to call them) in any platform, and EJB is...well...EJB. Most importantly, he uses application development tools on each of the other platforms but sticks to Emacs and Maven on Java.

So, let's talk about what he could have done differently to present a more accurate test. To do this, I will completely ignore the EJB solution as I agree that EJB is ugly. Apparently, it has its place and performs well in that place, but I will never use the current incarnation (still waiting to see EJB3).

Instead of Servlets, the video should have looked at development using a web application framework. In my case, I would have chosen Stripes as it drops the XML limbo and provides much simpler form development. Stripes would likely knock 50-100 lines of code off of his XML, knocked substantial Java off, and made validation simple with a couple extra lines.

Next, let's look at JSP. While I like JSP with some JSTL, I understand the argument that it doesn't play well with Dreamweaver and other web design tools. But guess what...maybe it does play well. It just so happens that Dreamweaver has plugins for JSP, Velocity, and who knows what other J2EE view technology. The fact remains that you have to put dynamic data into the HTML stream at some point. And to do that, you have to have parseable tags.

As to Hibernate, I'm sure if you've read my blog, you know what I'll say. Hibernate is a mess. However, it does provide a nice database abstraction and relational mapping layer if you can live with its quirks. To save about 20-30 lines of XML, the author could have moved to Hibernate v3 with Annotations. Of course, he may have been generating POJOs from mapping files so who knows if that would save him anything. In my experience, it does save headaches, though.

Now, stepping outside of his choices, what if the author had used IdeaJ and all of its tools? Are there perhaps other tools available that would have automatically generated the application with little to no code and few, if any, errors? While I'm a text editor and command line kind of programmer, given the age and popularity of Java, I'm sure the answer is yes.

At this point, I'm sure the narrator would claim this wasn't a fair test because IdeaJ isn't part of Java. To that, I would say that IdeaJ is a tool, not unlike the tools used to generate applications in Ruby on Rails, Plone/Zope, etc. In fact, the test was unfair to Java *because* the author chose tools badly. If RAD was his goal, then he picked the wrong tools.

The other improper guidance given by the author deals with the "headaches" of each solution as he calls them. While I can't comment on Ruby on Rails, TurboGears, or Django, I do have some experience with Plone/Zope. If the author thinks an average developer can get in and write a time tracking application in a matter of minutes, he's sorely mistaken. Zope is complex. Plone may simplify it somewhat, but those dropdown clicks that he so quickly glosses over with some 50 items in the list take some learning. The minute the application goes from experimentation to production, Zope becomes time-consuming in that you need to understand it fully, and it's a big program with thousands of options.

That leaves me wondering if he glossed over complexity in our other 3 competitors as well...

The other missing aspect of this test is any measurement of performance, reliability, and/or scalability. What use is saving 2 hours in development if the user can't actually run the application? I don't have any experience with these other frameworks in any of these metrics, but it's impossible to make an educated decision without looking into those measurements.

Fun and productivity are not the only important measurements of development tools as this video would lead you to believe.