Seam’ing for Christmas

I had a few days off from work over the holidays and decided to do a bit of an investigation into Gavin King’s new web framework, Seam.

My recent background has predominantly been in the J2EE space (Spring + Hibernate 3.0/3.2) but fronted with a thick Swing application as opposed to the typical web application. I’ve played with Ruby on Rails in the recent past and have built a number of Struts-based applications in years passed.

I didn’t particularly get very deep into the framework in the couple days I spent with it but I did leave with a favourable opinion. If nothing else it strikes as one of the better structured and maintainable application frameworks. I did this initial development stint in IntelliJ IDEA which as far as I could tell didn’t have much support for Seam (as opposed to Eclipse?). I found Seam’s Rails-like generators to be a useful starting point but the generated code didn’t necessarily mesh with what the documentation and tutorials covered. I generated the first few artifacts but quickly fell back to manual generation once I got the hang of the expected layout and structure.

The notions of conversations are interesting and something I’ll be considering in my day-to-day development. I’m particularly interested in the caching implications. I’ve found it difficult to consistently cache data model entities and ensure that they remain up to date across the network. With a conversationally scoped cache you would get some benefits of caching (in our application you may make multiple requests for the same data over the course of a conversation) without having to worry _as much_ about overall consistently. Of course it’s still a concern but your scope is ultimately limited to a shorter time frame.

A Seam-based application is particularly easy to refactor. Unique identifiers are assigned to application artifacts (session beans, entities, etc.) using the @Name annotation. These identifiers act as the point of reference rather than a physical object on the classpath so you’re free to refactor without a need to update XML files or other such references. A refreshing change from something like Struts.

That’s it for now. Work has started up and early indications are that 2007 should be an interesting year. Hopefully I’ll get back to Seam when things calm down a bit.

Are You Bored?

Jason Kottke posted a list of online games that are sure to keep you busy (and amused) over the holidays.

Addictive Little Online Games

I can vouch for ‘Throw Paper!’ and ‘Motherload’.  I haven’t played many of the others but there’s probably some other gems in there as well.

Check it out if you feel like wasting some time.

Adventures in Podcast Land

I’ve had an mp3 for years now but never really got into podcasts. I listened to Adam Curry’s show and The Java Posse occasionally but nothing much beyond that.

I blogged a few days back about getting an iPod (to replace my defective Creative Zen Micro) and have since found myself digging a bit deeper into the whole podcast/vlog scene using iTunes as my guide (I was a Winamp fan for the longest time but have reached the point of moving on).

Don’t expect to see me on video any time soon but here’s what’s currently in my queue:

  1. Ask A Ninja
  2. Diggnation (Small Quicktime)
  3. Ctrl-Alt-Chicken
  4. The Java Posse
  5. Attack of the Show Daily Video Podcast
  6. Slashdot Review
  7. Strong Bad Emails & More!
  8. Geek News Central Podcast

I haven’t seen more than an episode or two of any of these but I must say that Ask A Ninja is over the top hilarity. Ctrl-Alt-Chicken is quite good as well although there hasn’t been a new episode in almost 3 months. Rounding out the top 3 is Diggnation, it’s the most techy of the bunch but Alex and Kevin manage to mix in an appropriate amount of comedy.

I know it’s the holiday season and all, but if you’re looking for something Java-related check out The Java Posse. It’s a decent collaboration that should keep you aware of what’s going on in the community.

With the exception of Diggnation, most of the video casts are short 5-10 minute clips. I found listening to an hour long podcast to be a bit tiring. I don’t really see the point of watching them on a 2″ iPod or Zune display but the video casts are an interesting phenomenon if you can call them that. Why some of these people go to the extent that they do is beyond me.