January 25, 2006

Hoed af

Je moet het maar doen: jarenlang blijven geloven in je eigen ding, en in de manier waarop je je ding doet. Dan mag je met recht content zijn als beiden hun vruchten afwerpen. Chapeau.

Posted by tomk at 11:34 AM | Comments (1) | TrackBack

Why I'm not on Java 5 yet

Norman Richards asks why people aren't moving to Java 5. One word: WebSphere. Most corporate environments (the ones I know and/or work with, at least) have not moved beyond 5.1 yet. I'm not even sure that there already exists a JDK 5.0-based WebSphere version.

Posted by tomk at 10:49 AM | Comments (4)

Bush in a MUD

Geweldig.

Via Frank.

Posted by tomk at 10:43 AM | Comments (0)

January 18, 2006

Turn around and run!

Charles:

This sort of language trivia is unlikely to be useful to anyone not just about to go into a certification exam, or entirely the wrong kind of programmer interview.[...]
If you find yourself in a situation where have to know the answer to any of these questions, turn around and run.

Right on!

Posted by tomk at 03:22 PM | Comments (0) | TrackBack

January 12, 2006

Kolb

Een leuk testje via de koebus. Zo ken ik mezelf: denken en dromen zoveel je wilt. Maar doén en beslissen, ho maar.

Update: Véél interessanter met de grafiek er ook echt bij.

Posted by tomk at 10:00 PM | Comments (2)

January 11, 2006

Null check

Java developers are trained time and again to assert that objects are not null. This can result in weird Pavlov-like reflexes. Witness this snippet from a high-profile OSS project:

if (defaultValue != null) {
    return defaultValue;
} else {
    return null;
}
Posted by tomk at 12:34 PM | Comments (4)

January 04, 2006

The Quest for the Generic CRUD Web Application

More than once in my career, I had to develop a "simple and easy-to-extend" CRUD web application. Every time, I thought "Somebody must have done that already!", and every time, Google returned next to zero results.

My luck seems to be changing slowly, though. My latest effort delivered 3 CRUD engines for Java:

RIFE CRUD
Belgian! But tightly coupled to the RIFE framework, which still doesn't have got the momentum from the big frameworks.
Trails
This seems to be a very interesting bet to go with. However, it is bound to JDK 5.0 and Tapestry. While I personally like both choices, JDK 5.0 is still not done in some environments, leaving me very frustrated.
AppGen
CRUD generation framework to use with AppFuse. AppFuse itself is based on all the usual suspects, and gives you the choice between them: Hibernate or iBatis, Spring, Struts, SpringMVC, WebWork, and so on. However, the founder of the project (Matt Raible) has some problems with code generation tools, leading to an incomplete tool.

The best approach for writing such a CRUD application framework seems to be that of the last two. Use a stack of well-known components, glue them together with your own special goo, and you have something that is at least based on something known. But the first one is a bit too cutting-edge for the typical Big Company, and the last one is a bit too incomplete for Feelings of Hopping Up and Down.

At the moment, I'm giving a go to 2 CRUD projects, one personal and one professional. For the personal one, I'm going with Trails (finally, generics! ;) ), and the professional one will probably be an extension of AppGen. If you have other suggestions, I'll be more than happy to hear about them. And I hope that next time, my Google query will lead to even more results. Or maybe I should finally start scratching that itch myself...

Posted by tomk at 06:25 PM | Comments (2)