Metaphor overkill

Why is it that so many people in the IT industry explain themselves using metaphors? The more manager you become the more metaphors people tend to use. I have heard them all the past years: From trains leaving the stations, to riding in the wrong cars, shaking the porcelain closet, building houses (sometimes complete cities), playing with lego, making food, flying birds and so on (feel free to post your favorite metaphor)….
Of course metaphors have their use, but please don’t use metaphors by default. Interestingly enough according to Dave Thomas at QCon (unfortunately I missed this talk) especially highly intelligent people tend to explain themselves using metaphors. Keep that in mind the next time someone uses a metaphor to explain themselves to you…
So I say only use metaphors when you are not understood. Instead of saying that the train is almost at the station, just say the deadline is coming close. Don’t say how many miles per hour you’d expect us to program (which is of course silly unless the team is actually in a train), but say I thought you would go twice as fast. People can understand that. Try us!


Smelly Jelly to the rescue

For a current project I use maven 1 as build tool. I always generate the eclipse plugin for generating the .project and .classpath file because I do not want to add dependencies both in the project.xml and the eclipse classpath. The eclipse plugin can also link the source files to the dependencies in your project, I find this a handy feature because you always need to debug and step through the code of some dependency.
However since the maven 1 repository is maintained even worse as the maven 2 repository you won’t find any sources jars for the newer versions of dependencies (for instance Spring 2.0). Besides this being very annoying the eclipse plugin also takes ages to finish because it gets a lot of time-outs about not being able to download the sources jars from the maven 1 repository. That’s why I created a small Jelly script that made it is possible to traverse through the maven 2 repository and grab the sources jars from there. Here’s the smelly Jelly that made it all possible:
Read more →

EJB 3 annotations to the max.

Until now I haven’t come around using EJB3 in a real project, we already have Spring and Hibernate so I don’t see the point. Of course also the whole EJB1 and EJB2 thing is still stuck in the back of my head. At QCon London I attended the EJB 3.0 session with LindaDeMichel and that looked like a good moment to see if I need to change my point of view on EJB’s. As you would probably know already by now, the good things about EJB3 are that you can now test your EJB’s without a running container and don’t need to extend or implement obscure interfaces and classes anymore. But this blog is not about the features of EJB3, this blog is about the use of annotations, or should I say misuse….
Read more →

Partitioning in Hibernate

We are currently working on a project that uses an Oracle 9 database, Hibernate as ORM tool and Spring for our dependency management. Our application processes millions of records per month which means that some tables will grow with approximately 15 million records each month. For maintenance and performance reasons it is a must to partition these tables. But does partitioning fit into Hibernate, and if so, how?

Read more →

Migrating your project to maven 2 – PART III

Maven 2.0.4 is out now for some time, so I decided to give it another go after an unsuccesfull attempt to migrate to maven 2 (with maven 2.0.3).

I am trying to migrate a WAR project, it has multiple dependencies to some artifacts that are provided by the maven repository, but also to ones that are not (e.g. sjsxp for streaming parsing). I will try to build and deploy the war application with maven 2.

And guess what? This time I got it working!

Read more →

Migrating your project to Maven 2 – Part II

The last thing I did was running the test classes successfully. Now let’s put in all the reports. We currently have the following reports in our maven build are:

  1. Jira
  2. Javadoc
  3. JavaNCSS
  4. Checkstyle
  5. PMD
  6. FindBugs
  7. JDepend
  8. Simian
  9. JUnit
  10. Clover
  11. Dashboard

First lets start by running mvn site out of the box (one of my favorite test cases ;-)), this should create the default reports according to the maven documentation ( Here we go: mvn site….

Read more →