REST all and collection resource conventions

Users of ehcache server have been discussing extending the basic CRUD operations of REST with some more advanced methods, such as deleting all elements in a cache with one DELETE operation.
You are most welcome to join what has become an informative forum thread here:
So far we have posts from myself, Jim Webber, Brett Dargan and others interested in creating or finding a REST convention for referring to all and specifying means of multi-get, multi-put and multi-delete.

mvn glassfish:run

In April Dave Whitla created a project for a Maven Glassfish Plugin.

Kohsuke Kowaguchi joined the project and copied his code in and released it. His focus was V3 Embedded. It supported one goal: run.

There was disagreement as to the features and the code to use. Dave’s plugin was to support a wide range of goals supporting integration of V2 and above into the build process.

Now to use the convenience name you normally add a pluginGroup: org.glassfish org.glassfish.maven.plugin

The end result is that we have two plugins called maven-glassfish-plugin which are different, but because they use the special naming of maven-name-plugin, both are invoked with mvn glassfish:goal, causing a namespace conflict.

Now when I do mvn glassfish:run I get:

Until or unless Dave’s add a run goal, you can work around it by avoiding Maven’s convenience naming conventions and fully qualifying Kohsuke’s.
mvn org.glassfish:maven-glassfish-plugin:run
It would be nice for one of Kohsuke, Dave or Byron to sort this out.
My suggestion is for Kohsuke to rename his to maven-glassfish-embedded-plugin.



I recently had my DNA tested by
My wife thought I was crazy. The idea was to find out what diseases I was more or less susceptible to, and then use
that information, along with more conventional tests, and consultation with my doctor, to create a personalised medicine
preventative plan for myself.
Think of it in the same way you would regular car servicing. The servicing details depend on the Brand and model of car,
together with how many kms done and whether you did it off road or on road.
Anyway, I have learnt much of interest, some of which I am disclosing on this blog entry.


As you can see from the chart my closest correlation is to the French group, followed by the Orcadian group.
This makes sense: my father’s family was originally Flemish and my mother’s family Scots. From the spelling
of my mother’s name it was likely that we were from the offshore islands. I guess Orcadian is a reference
to the Orkney islands, off the north east coast of Scotland. 

Mitochondrial & Y DNA

I am a Mitogroup J. The exciting thing about this is that we are long livers, according to a recent study in Nature.
My Y-Group is also J, but it means something different.

Quoting from deCODEme, “Today, the greatest concentration of Y-group J members is found in the Near East, North Africa, and Ethiopia, where up to 30 percent of males belong to this Y-group. The frequency of Y-group J members in Europe is much lower, or close to 3 percent. Members of Y-group J are relatively common among Jewish populations, where about 25 percent belong to this Y-group.” 
Apparently there are clubs for these groups.

Compared With

One neat thing you can do is compare yourself with people on the record or friends. (Think facebook friends with DNA!).
I do not have any friends yet, but I have compared myself with James Watson and Craig Venter. I am extremely unrelated to James Watson. 
For Craig Venter I have low to medium sharing with some very high sharing on the X chromosome. Welcome, distant relative.


I was rather pleased with my disease susceptibilities. I already knew I had Factor V Leiden Heterozygous, which I have inherited from my mother.
I am at higher risk than 99.8% of the population for DVTs and the like. Because I already knew this, when I was specifically tested for it ten years ago, 
I have avoided drinking alcohol or sleeping on flights for the past ten years.
One thing I was very happy about, given the heart disease on my father’s side (but not my mother’s side) is that I Have .87% the risk
of the average European male. Given that I am a non-smoker, and do not have Male Metabolic Syndrome, or high blood pressure, I am feeling pretty good about this one.
For the most part I am pretty happy with what I have found. And for those few things I am at elevated risk of, I can focus more on preventative testing
and lifestyle adjustment. Of course, having an elevated risk needs to be turned into a lifetime risk first. deCODEme do this too.
Something I would like to see in future is the ability to add your own environmental factors such as smoking, BMI, age etc to get more accurate lifetime risks.
And of course, more people to compare with and more disease susceptibilities.
All considered, I am happy I did this.

Planes, Trains and Automobiles

Ever seen the movie Planes, Trains and Automobiles? Some travelers are caught up in an unbelievable snafu trying to get home for Thanksgiving.
Well, Brett Dargan, a colleague, and I had our own version of this over the past two days. We came down to Sydney to run an Architecture Away Day. All went well. We were sitting at the Swiss Grand Resort and Spa looking out over Bondi beach, knocking down beers with the attendees after the event about 5:30pm when the waiter (server for my US readers) pointed out a big storm brewing to the South. I felt the first unease.
Then a few minutes later I received an ominous SMS from Virgin Blue to tell me that my 7pm flight had been delayed. I rang up Customer Service, but of course several hundred other people were trying to do the same thing, so I gave up after spending 6 minutes in the queue. More beers. Brett then rang up 15 minutes later and got through. We were now on a 9pm flight. So, off to the Cricketer’s Arms Hotel in Surrey with Nugget for Tapas and more beers.
Having a good time at the Cricketers Arms. Catching up with some former colleagues and enjoying some great Tapas: Chorizo, Lamb Kofta and Grilled Haloumi, washed down with Pure Blonde low carb beer. Mike Edwards, a fellow drinker mentioned “Great lightning show out there”. Sure enough the storm that had been brewing was now coming close and looking bad. So I checked and saw that there was a severe weather warning for Sydney over the next few hours, with heavy rain and damaging winds.
At this point I was beginning to think that it could be a bad night. By now it was time to go to the airport, so we said our goodbyes and went outside – right into a massive rain downpour. We managed to flag a taxi who, when we said the airport for our destination, said no, then drove 20 metres down the road, and then waved to us to get in. The street was a river by now, with 5 cm of water over the asphalt. We both got soaked to our ankles. From there we had an uneventful ride to the airport.
All went well until we got on our plane. We sat and waited, and waited, and waited. Then the steward, who was already looking well harried, made an announcement that a Flight Instrument was broken, and engineers were trying to fix it. This went on for half an hour, after which were deplaned. More waiting at the gate and then it was announced they had a plane for us at the opposite end of the airport at the JetStar terminal. We all trudged through an airport whose shops were closing up down there and eventually got on another plane. For non regular Sydney visitors, note that Sydney has a flight curfew of 11pm. Anyway the we got on, the baggage got loaded and were taxied out and waited to access the runway. And waited. And waited.
By now it was 10:30pm. Then the harried steward came on the Intercom and said that we were waiting for some other flights to land (I guess they take precedence when you get close to the curfew) before we could take off. He mentioned that we would be cutting the curfew close. After that we had regular updates every 5 minutes, as we moved inexorably towards the curfew time.
Now it was 11:02 pm. It was not looking good. Then the captain came on with encouraging news: we were now after curfew, but we had a flight clearance and could take off on the East-West runway out over the ocean. We were waiting for a few other planes.
At this point we allowed to move around the cabin. The harried steward kindly explained that the snafu had started at 3:30pm while the weather was still fine. He blamed short staffed Sydney air traffic controllers.
A few minutes later he came back on to say the cross-winds were too high, and we, along with several other 737s were waiting for them to abate. The larger planes were getting away.
You can guess what happened next. The captain announced the winds were not abating and we were going back to the gate, just as soon as a gate was available, because of course most of the airport and Virgin Blue staff had gone home. 10 minutes later we deplaned into a enclosed gangway. One problem: the door to the airport was locked. We sat in there like rats in a trap for a quarter hour before we were finally let out.
Back at the gate we sat around and waited, and waited, while Virgin Blue figure out what we all going to do. In the end they announced we would need to sleep at the airport, because “the delay was weather related”. I guess it was apart from the broken plane which caused our particular problem, which was in their control, and the airport issues which were not.
At this point Brett and I ran for a taxi to try and get a local hotel. Three hotels later I realised that other flights had already been bounced by the curfew ahead of us. We ended up back in the city at the Grace Hotel. The Night Auditor was checking us, and a horde of other stranded travelers in. I imagine this scene was being played out all across the city.
So, as I write this entry, I am sitting at Gate 39 at Sydney airport for a 12 noon flight. It was just announced over the intercom that our flight would be delayed due to our cabin crew not having yet arrived…

Ehcache Server Technical Session Video

I gave a talk today at the Glassfish V3 Prelude Launch Event. Ehcache Server uses Glassfish for its self contained cache server. You can watch the video of the session here.