Monday, July 18, 2005

No Fluff Iowa - Day 3 (Selenium Rocks!!!)

Day 3 at No Fluff Just Stuff at the Central Iowa Symposium in Des Moines was a great way to end (even though I didn't win the Sony PSP). I started off the morning by attending "Give the DB a Break! Peformance & Scalability" from Dion Almaer. Dion had some awesome content in this session, and I was most interested in the caching architectures for taking load off of our db. I'm very interested in Tangosol Coherence after he built it up so much. Distributed cluster caching is something we must get deployed soon on our app.

My second session was Neal Ford's "Advanced Enterprise Debugging Techniques". The "Advanced" word didn't really play in, as he covered debugging from the ground up. His bits about jdb and classloader hierarchy were ok. Then he showed us ThoughtWorks' Selenium testing product... WOW!!! It's an open source testing engine, that runs in JavaScript! This means it tests in any browser that you tell it to. It actually tests from the user's point of view! I'm very excited, because we didn't want to throw down the cash for Silk or Mercury. You really have to see the demo for Selenium. It's going to change our user acceptance processes very quickly (from manual to automated). I downloaded and played with Selenium for 2 hours today, and it was even easier than I had predicted. The only shortfall I could find was it doesn't handle mouse moving, so it doesn't fully test things like dynamic menus that only work on hover, but this is a small limitation that could be fixed as Selenium is only in a 0.5 release.

That ended our weekend in Des Moines (after a quick Web Tier BOF with Neal Ford & Scott Davis). I would have attended Scott's Testing the Web Tier sessions, but we had to get back to Omaha. I've talked a little to Jay Zimmerman, and hopefully they can bring NFJS to Omaha next year! Great conference, I totally recommend it to everyone, and I'll be going again next year!

Saturday, July 16, 2005

No Fluff Iowa - Day 2 (Ruby--)

This is the second post in attempting to cover my time here at the No Fluff Just Stuff Central Iowa Symposium in Des Moines.

If day one was about testing, and death to java - long live ruby, then day 2 is about "Now that you know about Ruby, why don't we give you the Java info that you came here to see." Or, "Here's the reasons that Java can be seen as Ruby--".

To start the day, I saw another terrific session by Venkat Subramaniam, this time covering "Good, Bad, & Ugly of Java Generics". He started out with a well covered overview of Generics, Auto Boxing, and ForEach features of Java 1.5. Good stuff. Then he dove in to show us that "Generics were created to solve type safety, yet they don't even solve type safety!" Basically it came down to generics being overly complex that solved only the trivial issue of casting from a collection. Most of the problem relies in Generics being syntactic sugar: Implemented only in the language, and not in the JVM. So, as Venkat correctly puts it, "Sun employs a wonderful marketing department. Selling us 'type erasure' as being cool, when it is really a huge hinderance". I'm very greatful for this talk, and plan to look at Groovy and Ruby (dynamic typed languages) to solve some issues that I was hoping Generics would solve.

Next I attended a couple of sessions by Justin Gehtland, the first being Advanced Hibernate, and the second Principles of Service Oriented Architecture. I really enjoyed the first, as it moved quickly, and hit the main areas that I needed to improve my knowledge in: Lazy Loading, Interceptors, and Events. The Lazy Loading talk was great, and really just asserted some ideas that I have had. Event handling was interesting. It made me think of a system where we could send JMS messages when certain fields or objects are created/updated in the database (to update displays, caches, etc...).

His second talk, about SOA, felt a little more long-winded. I appreciate his knowledge on the subject, as he did a decent job at explaining a roughly boring and genericized topic. I wish I had more detail about actual implementations of SOA walking away from this session, but he did cover the "Principles" that he said he would. Maybe there was just too much time spent per slide on the generalities and politics, which left not enough time for implementations. I was hoping to hear details about Mule ESB and REST services, but they were only given a passing glance.

Oh, and I didn't win the mini iPod raffle today (not even a T-Shirt), but that means I'm still in the running for the Sony PSP tomorrow! Now we're off to find some good sushi in this land of hog farms (spoken from an Omaha resident, no less).

No Fluff Iowa - Day 1 (Java's Dead, Ruby Lives)

I'm at the No Fluff Just Stuff Central Iowa Symposium in Des Moines this weekend, and Day 1 was a great start. First I saw a great Test First session hosted by Venkat Subramaniam. He quickly covered the top points of Test First development by creating a TicTacToe app on the fly. He's a great presenter, and even mentioned JUnitPerf for performance testing that I wasn't aware of. He also showed well how test first enforces service layer abstraction just by better coding.

Then I saw a couple of Bruce Tate sessions, the first titled Lightweight Dev Strategies, and the second was Politics of Persistence. I really enjoyed the first of these, as it delved into agile methods, testing, dependency injection, REST, and other hot topics of the moment. It was great to get Bruce's impression of these. The second session also covered great topics like JDO, Hibernate, iBatis, and Entity Beans, and he did a good job of covering the political history of these. I was a little disappointed that more detail wasn't covered about the specific implementations of each, but was happy with the sessions details overall at a higher level. I'm also feeling the urge to investigate KODO JDO, iBatis, and Spring JDBC in more detail now.

Now to the interesting part... It was capped by an "Expert Panel" consisting of Venkat, Jason Hunter, and Dave Thomas (what happened to Bruce Tate?). Good discussion, but focused mainly on testing, and the other hot button: Ruby on Rails. Ruby has been the hidden underlining to both of Bruce's sessions, and now obviously with Dave. It does feel a little awkward to be at a Java conference, and have each session finish with "But if you really want to do it well, then you have to use Ruby on Rails". They keep preaching that we are at the death of Java, and Ruby on Rails is here to save us. Do they really expect the three of us to return to Omaha to tell our director, "Sorry but we're ditching everything from the past few years for Ruby"? They say there are no vendors at the NFJS symposiums (in the JavaOne mindset), but some of this feels like they are actually open source vendors building a product that they hope to support and live off of. How much kool-aid can we drink?

So Day 1 has been a great start, and spending the evening at Rock Bottom Brewery couldn't hurt either. I do wish this conference was in Omaha instead of Des Moines though, as Omaha has nearly 850,000 (over 1 mil if you count Lincoln) compared to Des Moines at half of the size. Omaha also has 5 fortune 500 companies (as of last year) with a couple of other large Java shops on top of these, but Des Moines has been a great host so far... But the Old Market would be better then Suburban W. Des Moines, don't you think?