
Another successful night with Paris JUG on Concurrency & Performances. For once, we had a guest star: Kirk Pepperdine, a seasoned practitioner of projects with performances issues (he worked on Cray machines, yes sir!). He managed to attract the largest crowd yet for Paris JUG: more than 80!
(more…)
Spring provides useful types for creating lists of values. However, it is not as good for merging lists. Here is an option.
(more…)
Fact to know: though it does not say so in the documentation, Sonar requires a fairly recent version of Maven. Version 2.0.4 failed, but 2.0.8 worked.
(more…)
Everybody seems to agree that GWT is great. However, one point that has long been considered a problem is its lack of compatibility with JDK 1.5 (though many people did not really understand that GWT actually still works fine in many cases).
Anyway, I just heard from the JavaPosse Boys that GWT beta has finally been released, and is now compatible with JDK 1.5! Rejoice! If you are starting a project with GWT, this is a great time to deploy the beta version (otherwise, you might want to wait for a more stable version).
With its second installment yesterday evening, Paris JUG is confirmed as the de facto meeting place for Java enthusiasts in Paris.
(more…)
The Maven Surefire page explains that -DskipTests and -Dmaven.test.skip=true can both be used to avoid running tests. If you use an old-ish version of Surefire (pre-2.4) or even if you use the latest version (2.4.2 as of February 21th, 2008), there are a couple of things you need to know.
(more…)
I was there! Last Tuesday, I witnessed the first meeting of the first Paris Java User Group. At long last, more than 10 years after the creation of the first JUGs, after the creation of dozens of JUGs at our European neighbours, finally a French-speaking Java User Group has been created.
(more…)

I have long wanted to attend a BarCamp but it’s not easy to get yourself to attend a conference on a Saturday after a whole week of work. I was also turned off by an impression that the crowd was interested in creating communities on the web, or micro-credit. Worthwhile themes, to be sure, but not currently part of my interests.
This time, what made the difference was that it was organized by Sun France. Also, it was a chance to catch up with Jean-Laurent.
(more…)
I was very excited when Squirrel suggested a topic about mutation testing. I had looked at Jester & Jumble before, but gave up after a couple of hours, as they are not very easy to setup, and mostly not maintained.
The idea of those tools is to make changes to the source code (Jester) or the bytecode (Jumble), and check if the tests still pass. If they are well written, they should fail when the code is changed. If not, then the code is not covered properly. Ideally, you should only have one test failing; otherwise, it means that you have redundant tests.
Ivan, the creator of Jester, was present, but admitted that he had not even used it in years. After seeing the interest of the participants, he seems willing to give it more time. Hurray!
Check out my notes on the conference wiki.
Yep, it appears that Oracle has made an hostile bid for BEA, the last major independent pure player in application servers.
It’s interesting because Oracle has had its own (mostly ignored) Oracle Application Server (OAS). I guess they were only able to sell it bundled with Oracle Database.
This move obviously turn Oracle even more against IBM. IBM has long been able to sell DB2 and WebSphere together.
Many companies do use WebSphere with Oracle DB, but there is no doubt that more money is to be made by bundling Weblogic and Oracle. For a typical case, my current (very, very large) client is using Oracle DB and Weblogic, meaning that each had to make separate efforts to sell their gears. There seems to be obvious synergies in selling them together.
Counter-intuitively (to me), SAP has expressed interest. They are even supposed to have started negotiating before Oracle.
Who else might be interested in BEA? Microsoft could also be a pain, but they would not be credible for long. Lastly, HP might also want to return to the Java limelight.
BEA has stated that they were not for sale, but no doubt that at best they will look weakened, and might have to look for a partner anyway. My bet is on Oracle.
This whole thing reminds me of a funny story. Back in 2002, there were rumors that BEA would acquire my employer. It was a really good story because of the timing: we were known for being the leaders in Java in France, we actively promoted Weblogic… and the day of the rumor was the first day of a BEA conference. Too bad I cannot find traces of this (minor) event anymore.
Today, I played a bit with Huckster, a presentation tool designed by James Gosling.
It’s intriguing: counter-intuitively, it does not have any kind of unique features (as you would expect from an outsider in the world of presentation tools). Its unique goal is to make it dead easy to create presentations; it is actually removing as many features as possible.
Indeed, it took me about 2 minutes to get my first presentation running.
Could you do that with PowerPoint? Sure you could. Except that you will probably fall into traps at some point: an ugly transition, a text positioned outside the slide and therefore invisible, or (God forbid) animations where elements of your slide appear one by one.
I like it. It goes in the same direction of something I read on the web recently (but cannot find anymore). The author said something of the lines of “instead of trying to get large projects to work, we should concentrate on trying to get smaller projects.”
It also helps avoid Death By PowerPoint. ;-)
Update (24/09/07): I should have mentioned that Google has included a presentation tool to their Google Docs. It is not as simple as Huckster, and it lacks the capacity to change the style of the presentation, making really hard to use in a professional context. I also regret that it is not as slick as PicasaWeb. Still, it is excellent for a first shot. And, you have the possibility to share the presentation live with other web users, as long as they are logged with their Google accounts (they’ll be able to see the slide you are looking at). Sounds like a nice replacement to Interwise, the system we’ve been using here at Valtech.
On the projects I work on, I always try to introduce Maven. Unfortunately, it is often impossible to get approval for a separate machine to be used as a repository. For open source packages, that is not really a problem as they are available on the usual public repositories. But some are not, so I often end up using my workstation as the server. This is not very practical, as I often shut it down when I leave for a WE or for holidays.
Another option is to use a sub-directory of your maven project to be used as a crude repository for those packages. (more…)
The 3rd edition of the Valtech Days is taking place in Paris in October 23 & 24.
It is going to be a great edition (hey, I’m helping to organize it! ;-) ); I had confirmation that Laurent Bossavit and Régis Medina will be there, as well as Pascal Roques, and many others. Laurent will talk about “DIY Agile”, while Régis will expand on Refactoring, his pet topic. Pascal will discuss UML and Agile.
Other talks will focus on JBoss Seam, Spring, Agile & Offshore, Adobe Flex, the future of Web, Google APIs, SOA, XForms, Agitar Agitator, and Rally!
And that’s just the first day… on the second, an openspace technology event will take place, possibly the first such public event in France. Facilitation will be handled by yours truly. I hope that, experienced or not, all will be able to have their say, suggest topics to discuss, get together to talk, and get in touch with other members of the IT community (mostly Agile, if all goes well!).
OpenSpace Technology is now recognized as a fabulous way to harness energies and run productive meetings. It has been used in such conferences as CITCON, AgileOpen and the Agile conference series.
To learn more about OpenSpace Technology, see this explanation in French (translation is Forum Ouvert), or this one in English.
Come join us for these exciting 2 days!

On my current project, I am using Gienah as a way to integrate JUnit tests with Spring. I am rather pleased with the result, keeping my unit tests quite clean.
I just heard today about Unitils, a more ambitious tool. In addition to Spring, it supports TestNG, DbUnit, EasyMock, and Hibernate (ie. almost all that we are using here!). It also provides a number of additional services, such as helper asserts.
Especially intriguing are two things:
- they recommend temporarily removing some db constraints, and provide help to do so (”To keep database tests maintainable, test data files have to be as small as possible. (Referential) constraints however don’t help you to achieve this. We advise to disable all foreign key and not null constraints. Doing so makes it possible to specify only the data that matters for your test.“)
- they handle database versions is a way very similar to Ruby on Rails (”The database maintainer monitors a directory on the filesystem that contains DDL scripts for creating the structure of the database. The name of these scripts should comply with following naming convention: <version>_<some name>.sql. For example: 001_create_person_table.sql, 002_create_car_table.sql“)
See here for details.
The crazy (8 releases in the past 30 days!) Hudson dev team has just introduced a new feature. They call it a ‘matrix project’. The idea is that a configuration would often be common to many builds. Say, one for each operating systems, times each supported JDK, times each supported database environments, etc. You could end up with dozens copies of the same Hudson configuration.
To work around this, it is now possible to specify each JDK we are targeting, plus environments variables. All combinations of parameters are then tested.
(more…)