Tigers in Southern Missouri?

Posted by rob on June 30, 2007

I visited the National Tiger Sanctuary in Bloomsdale, Missouri today. I wasn’t sure what to expect of the place before I visited, but I left thoroughly satisfied. They have five adult tigers, including a rare white tiger, with the largest weighing in at 700 pounds! While the St. Louis Zoo is awesome, it is no match to this place when it comes to getting up close views of large, playful tigers in an outdoor environment. The National Tiger Sanctuary is about a 45 minute drive south of St. Louis off of Interstate 55. Click on the photos below for a preview.

National Tiger Sanctuary

Tiger 1 Tiger 2 Tiger 3

Gliffy

Posted by rob on June 29, 2007

Gliffy

Add Gliffy to your arsenal of online office products. Gliffy is an online application for creating diagrams similar to those in Visio. You can create UML, ERD, flow charts and more. I’ve only used it a bit so far, but I think it looks great. I’m always looking for online alternatives to desktop office products. And Gliffy allows limited usage for free. Anyone else using this?

Dr. Jekyll or Mr. Hyde?

Posted by Rob on June 20, 2007

Dr. Jekyll and Mr. Hyde

Not so long ago, Microsoft claimed that open source software violated 235 of its patents, but did not disclose which ones. Now Microsoft has hired a new open source community lead position.

On Trails, Tapestry and Spring

Posted by Rob on June 19, 2007

Wouldn’t it be cool if Trails was merged into Tapestry 5?

Or if Interface21 would create a formal (or informal) relationship with Howard Lewis Ship and integrate Tapestry 5 with Spring?

The Water is Grrrrrrrrrrrrrrrreat!

Posted by Rob on June 18, 2007

Alligators have nothing on this tiger. What a great photo.

Swimming Tiger

Thinking in Stacks

Posted by Rob on June 12, 2007

The number and diversity of Java frameworks (and web/MVC frameworks in particular) is a great thing. But along with choice also comes drawbacks. Which frameworks do I choose for a new web application? Project X is using frameworks A, B and D - do you know these? Are they production worthy? I have heard for every project you should choose the best tools (or frameworks) for the job. Really? I tend to agree to an extent. But is one Web application so different from the next that I need to reevaluate which frameworks I use on each new project?

This leads me into what I really want to discuss. I believe there has been a positive development in the Java world, in that popular “stacks” of open source software are beginning to emerge for developing web applications. I am defining “stack” as simply “multiple software frameworks integrated and used together”. Wikipedia defines a similar term, solution stack. Should project teams start making stack selections instead of framework selections? While frameworks maybe should ultimately be selected based on their individual merits, I think a popular stack can be a great place to start. Some of the benefits of using a popular stack include: accelerated startup time, reduced learning curve, increased software quality and increased knowledge base. So far, I see three stacks emerging as the most popular.

The first stack is the Spring/Hibernate stack. Maybe this one is the most obvious. Over the last fews years Spring and Hibernate have become so popular that they have almost knocked EJB2 out of existence on new projects and forced the creation of the new EJB3/JPA specification. I think this stack is still maturing, in that projects are adding everything Spring has to offer in addition to the already popular Spring IOC and Spring Transaction frameworks. By that, I mean using Spring MVC for the web tier, Spring Web Flow for work flow and any other Spring frameworks that are found to be useful. Maybe I should simply call this stack the “Spring stack”. It should be noted that the very promising Grails framework is built on top of Spring MVC, Spring IOC/Transaction and Hibernate.

The second stack is the JBoss Seam stack, which is basically a stack by definition. JBoss Seam ties together the JSF framework specification, using MyFaces for its default implementation, to the JPA specification, using Hibernate (another JBoss product) for its default implementation. The JBoss Seam framework itself adds work flow and other capabilities to the middle of the stack. Other JBoss frameworks like JBoss Rules can easily be integrated into the stack. If you like the idea of working with J2EE specifications and tools designed for J2EE specifications, then this stack may be the one for you. A big positive of using JBoss Seam is that it reportedly handles of lot of issues developers encounter when working with JSF.

The final stack is the Ruby on Rails (RoR) stack. JRuby 1.0 has just been released and is expected to execute close to if not 100% of RoR applications on the Java platform. The increasingly popular and much imitated RoR gives you everything you need in one package, with ActiveRecord for persistence along with MVC functionality and much more. If you have ever read or listened to interviews with RoR creator, David Heinemeier-Hannsen, you might recall him talking about why he created RoR as a way to quickly create a new web application without having to start from scratch. David wants RoR to give you everything you need to create a web application right out of the box, with little or no configuration, so you can focus on the business logic and not the underlying framework code. I mentioned that the Grails framework/stack is built on the top of the Spring/Hibernate stack. Grails is a Java implementation of a RoR like framework.

This discussion wouldn’t be complete if I didn’t mention the AppFuse project. Created by Matt Raible, AppFuse let’s you quickly create an application skeleton using various combinations of the most popular Java frameworks. Without going into too much detail, you can choose from four popular Java web frameworks (Struts2, JSF, Spring MVC and Tapestry) and three Java persistence frameworks (Hibernate, iBatis and JPA). Spring is used to tie everything together. I think of AppFuse as being a nice alternative to choosing one of the above stacks, while still getting many of the same benefits.

The downside to the emergence of these popular stacks is there are some great frameworks not included in these stacks and not getting as much attention as a result. A few that come to mind are Struts2, Tapestry, Wicket, Rife, Guice and Google Web Toolkit. While I feel having a small number of popular stacks is a good thing, I also see diversity and innovation as good things. I guess you have to make a choice between what is most important to you, starting with a small group of popular technologies, or selecting from the latest and greatest.

If stacks truly become the way the Java community prefers to view software in the future, I think we’ll start to see the creation of new frameworks slow down and a lot more activity continue around the already popular stacks. In true Java tradition, perhaps there will even be a couple new stacks show up in the next year (Google stack anyone?).

Don’t Stop Believin’

Posted by Rob on June 11, 2007

Wow, what a final to the Sopranos TV series. I think it was the first time I ever yelled at my television. I don’t want to say anything else for those of you who haven’t watched it yet. However, there are some great recaps on the Internet. Now, if I could just get that Journey song out of my head.

Do You Use Two Spaces Between Sentences?

Posted by Rob on June 04, 2007

Since I learned to type on a typewriter (am I dating myself here?), I have used two spaces to separate sentences. Today, I still use two spaces when I type on the computer. You haven’t seen those spaces on this blog, because WordPress, like most other blog software, removes the second space.

This begs the question, “are two spaces appropriate when typing on the computer?” I have come across multiple sources suggesting that two spaces are not appropriate. They argue the extra space creates unwanted space between sentences and that variable width fonts will take care of the spacing for you. I happen to agree with the arguments. I am now trying to retrain myself to use only one space. Even as I write this post, I am going back and removing the extra spaces. I know WordPress will remove them, but all software will not, so I feel the need to change my typing habits. I’ve read that it should take me about two weeks to retrain myself.

What about you? Do you use one or two spaces between sentences when typing on a computer?