Too Many Choices?

Thinking about beginning a new JEE project is as unsettling as it is exciting. On the one hand, you’re going to get your hands dirty with some new and challenging business problem to solve, you can use the latest and greatest JVM and of course let’s not forget the choice of many excellent application/persistence/web frameworks. On the other hand, you have … the choice of many excellent application/persistence/web frameworks!

I think we can all agree that choice is good, but is the sheer number of non-trivial frameworks really unifying the java community, or are we breeding segments of the population who know only a subset of what’s out there?

When you’re an ASP guy, you pretty much have you work cut out for you. Same goes for the new kid on the block Ruby [on Rails]. But Java, in its maturity, has brought so many innovations to market that one could make an entire project out of evaluating frameworks for use in any given project!

The days of Struts & JDBC are pretty much over, kids. Do you use Spring at the web tier? How ’bout JSF or Tapestry or WebWork? Do you decorate with SiteMesh, or assemble with Tiles? Maybe you are into JSP includes or writing a lot of custom tags. Do you manage your middle tier with Spring, or opt for the latest appserver’s EJB3 implementation? It might seem like everyone is using Hibernate for persistence, but it aint the only kid on the block. TopLink Essentials is bundled with GlassFish and other EE5 offerings will be supporting JPA as well. This is just the tip of the iceberg.

How do you decide?

Should Salaries be Secret?

This interesting post raises this very question and even makes the case that no, they should not be. Keeping salaries under wraps is the default protocol here in the U.S. of A., and I now wonder if it does more harm than good. Here’s one of the key points that made me think:

And here’s the problem: If Johnson’s salary is (unfairly) higher than mine, and secret, I can’t complain to my manager about it because I can’t admit that I know about it. When a company sets up a situation where people can see the unfairness but can’t address it directly, or even discuss it openly, they’re rigging the system for maximum frustration.

The author cites another potential problem, one I have experienced first hand:

I have worked at two different companies where salaries were secret and guess what: They weren’t. Most people knew what most others were getting. In one company I consulted for, the IT department had even found the Excel spreadsheets HR kept the salaries in. They knew what everyone was getting.

This blurb speaks to the larger issue of information asymmetry, the term given to a situation in which those who possess information can choose to use it against those who do not. Leaked information becomes contraband and fosters even more frustration. And as Young MC says, “From frustration first inclination / Is to become a monk and leave the situation”. But every dark tunnel has a lighter hope, so maybe transparency is the way forward.

What do you think? Would you prefer working in an open environment like this?

Oh, the Hypocrisy

In yesterday’s White House press briefing, spokesman Tony Snow had this to say regarding the President’s position on embryonic stem cell research, specifically regarding the fact that these are embryos which are going to be discarded anyhow:

“…the President is not going to get on the slippery slope of taking something that is living and making it dead for the purpose of research.”

No, no, that would be a tragedy. But taking living things and making them dead in the name of world politics is a completely noble cause. Jackass.

CSS Layout Gala

This is just too freakin sweet not to pass along. I’m not a regular del.icio.us user, but I happend to stop by today only to be greeted with this gem:

Layout Gala

I had to give this treasure its own line because it embodies everything that is good and right in the field of web design. Pure, compatible, solid layouts that don’t rely on hacks. They’re all there, kids. Two-column, three-column, liquid, static — many even support any-order columns. Squirt.

Ft. Lauderdale Stiffs ‘Bodies’

Good thing my wife and I were able to catch Bodies, the Exhibition in Manhattan last month, because it isn’t coming to War Memorial Auditorium any time soon. In a blunt move sure to rescue innocent children from actual education, the city commission blocked the show from using the facility. Mayor Jim Naugle had this to say:

“It makes me think about what happened during the Holocaust,” Naugle said at a Thursday conference meeting. “These are the bodies of oppressed people.”

Really? What does the Fort Lauderdale Gun & Knife Show make you think of? Lollipops and teddy bears? The mayor doesn’t seem to have a problem with the display and free sale of thousands of deadly weapons inside the venue. To be clear, my dissatisfaction about gun shows in general is one of inconsistency, not philosophy.

So let’s hope another venue picks up the show, because it is by far the most informative display of human anatomy one can experience without going to medical school.

I’m a Hot Toe Picker

My wife and I came across the strangest billboards in Chicago this past weekend. The oddest of the bunch is shown here; others say “I Pooted” or “Yes”. Clearly we had no idea what this was about, but a little Googling reveals what I think is a new breed of viral marketing. I won’t ruin it for you, but check it out:

Billboard

Accessing a JBoss EJB3 Session Bean With Spring

Spring and Hibernate have long been my choice of frameworks with which to construct maintainable, scalable middle-tier software. Spring promotes good OO design using loose coupling and provides excellent declarative transaction support. Hibernate is the persistence tool of choice for the open source community. Any sane person who programs this way will have given up on EJB long ago. Coarse-grained entities, tightly coupled service objects and XML deployment descripters a-plenty are enough to bring a guy to his knees.

But no more. The EJB expert group, now composed of some of the very creators of modern persistence framework, has bequeathed upon us something wonderful. The lightweight POJO programming model we have come to love is apparent everywhere in the EJB 3.0 specifiction (JSR-220), which was unanimously accepted by the JCP earlier this year. EJB 3.0 is just one goodie in the larger Java EE 5 (JSR-244) bag – but this post is going to be long enough as it is. Continue reading