21 December 2007

Apache ActiveMQ 5.0 Released



The long anticipated Apache ActiveMQ 5.0 has finally been released! Congratulations all around, a lot of hard work went into this release. Check out the changelog.

19 December 2007

Spring 2 Book Finally Released



My latest book named Beginning Spring Framework 2 has finally been released. I coauthored this book with Thomas Van de Velde, Christian Dupuis, Sing Li, Anne Horton and Naveen Balani. Check it out ;-).

18 December 2007

Apache ServiceMix @ JavaPolis 2007



Last week I was in Antwerp, Belgium to speak at JavaPolis 2007 about Apache ServiceMix. There were loads of good presentations and tons of people. This year JavaPolis set a new record for attends as there over 3200! And let me tell you, the place was packed! Yet another wonderful conference this year. Stephan and his team really do a fabulous job.

I got to meet many new folks and see a number of folks who I don't see that often including Dion and Bob who, oddly enough, both live on the West coast in California, and yet we all traveled half-way around the world before we saw one another. I hung out with my friend Oisín Hurley and his good friend Stephen McNamara and we had some wonderful dinners and spent some good time together.

I really enjoy Belgium and The Netherlands any time of year. It was cold and very damp but I still find that area of the world very intriguing. There is so much ornate architecture, artwork and extremely old buildings to be seen that are rich in history. This is very different from most of the U.S. because the U.S. is fairly young relatively speaking.

06 December 2007

The Cult in Denver, CO



Chris and I saw The Cult on Monday night at the Fillmore in Denver. I've seen them numerous times over the years and I've always been a very big fan. They played a number of older songs which was cool, but they also only played for about 75 mintues. We both found this kinda odd.

The new album is called Born Into This and is quite good, both lyrically and musically. It really stabs at life today as being quite gluttonous, eluding to the fact that the world culture has lost its way. In fact, during the show they played the video below for one of their latest songs.



The video includes footage of demonstrations and police crackdown in Burma but evidently the song is about rampant consumerism. Reading the lyrics makes this a bit clearer.

It was good to see them again, but for some reason the show wasn't that long and the entire band seemed to leave the stage in anger - who knows. I still like The Cult ;-).

05 December 2007

Sun's Appalling Behavior With OpenDS


Recently it came to my attention that Sun has exhibited yet another set of appalling behavior on one it's so-called <quote>open source projects</quote>. IMO, anything Sun has released as open source that only contains Sun folks is always suspect. This particular episode is quite egregious and really demonstrates Sun's lack of understanding of how open source works.

Without rehashing the details, I'll just provide a link to Dave Shields' blog entry about this particular occurrence which is aptly titled OpenDS: On Being Bitten By The Hand That Once Fed You. David also links to the An Open Letter to the OpenDS Community and to Sun Microsystems that details the real story.

I really feel for the guys on the project who tried to do the right thing as the situation that Sun forced on them really does suck. This is a good demonstration of how big companies ruin open source projects.

29 November 2007

Cyber Monday Success Linked to More Expensive Java Developers and Agile



As much as people like to joke about the women in the Overstock.com commercials saying it's all about the O (c'mon, read into it), evidently the Overstock.com website received some of the heaviest traffic on Cyber Monday earlier this week and it handled it very well (what a pathetic society we have become - we have names for shopping days). And Overstock.com's ability to handle all of this traffic and commerce has actually been linked directly to some of the topics about which we geeks spend so much time discussing, using and writing.

According to Overstock.com CEO Patrick Byrne:


"We had three developers on staff three or four years ago; now we have over 40 developers," Byrne said in an interview. "We found it's worth it to pay up for more expensive and more serious people."


According to the article titled Overstock.com Divulges Secret to Its Cyber Monday Success, Overstock.com used to use off-shore developers, a single C++ application and a single database. This year it overhauled everything to use on-site developers, Java and Agile methodologies:


"I was the biggest proponent -- as a stupid, Dilbert management kind of guy -- saying let's outsource. Now I've come completely 180 degrees to the agile approach," Byrne said. "Programmers sitting side-by-side with businesspeople designing functionality -- that's one trend," Byrne said. "The other is taking your software development and moving it to China or India. You see those two trends are antithetical to each other."


Maybe the world is beginning to see that real experience and talent are difficult to find and expensive once you find it.

As Napoleon Dynamite would say, "Yesss!"

28 November 2007

Using the Proximity Maven Repo Cache/Proxy



Recently I got frustrated with the latency of accessing Maven remote repositories, so I sought a solution. What I found was Deng Ching's blog entry titled The Hype About Repository Managers. Somehow I wound up downloading Proximity and what I discovered made me very happy.

Proximity is somewhere between a Maven artifact cache and a Maven repo proxy. It runs as a web application locally and by pointing Maven at the local URL for the web app, Maven will look up dependencies for any given project build using Proximity. If the Proximity cache doesn't contain a dependency, Proximity does the work to fetch that dependency from a remote repo and stuffs it in its cache. So the first build when using Proximity is slow becuase it's propulating its cache with artifacts but subsequent builds are damn fast.

Upon first downloading Proximity, I dug through the docs trying to figure out how to add another repository and I couldn't find anything. So I pinged Tamás Cservenák, the creator of Proximity, via IRC for some assistance and he was incredibly helpful in working with me to accomplish this task (thanks again, Tamás!).

To add another Maven repo to Proximity, I had to edit the proximity.properties file to create another FSStorage.baseDir, the proximityRepositories.xml file to add new LogicDrivenRepositoryImpl, WritableFileSystemStorage and CommonsHttpClientRemotePeer bean definitions for the new repo and the proximityContext.xml file to add point to the LogicDrivenRepositoryImpl bean definition. Next, I had to tell Maven to use Proximity as a mirror of everything by adding the following mirror definition to the ~/.m2/settings.xml file for Maven:


<mirror>
<id>Proximity</id>
<name>Proxmity mirrored central.</name>
<url>http://localhost:8080/proximity/repository/public</url>
<mirrorOf>*</mirrorOf>
</mirror>


This tells Maven to look at the local Proximity URL for all artifacts and at that point, Proximity takes over. I've made available a ZIP archive of Proximity with my edits if you're interested. Using what I configured is as easy as downloading it, running it using the included jetty.sh script and editing your settings.xml file using the mirror config above. Then move aside your own local Maven repo so that a new one will be created.

In using Proximity so far, I've found that letting it spawn HTTP connections to download artifacts seems to be far more efficient that Maven. Chris started using Proximity and we're no longer seeing a huge amount of open sockets from downloading artifacts. So now I'm curious to peek at the Proximity source to see how this is being handled.

Also, Proximity is being adopted by Sonatype and it will be known as Nexus. For more info, see Jason's blog entry titled, Proximity Lives on as Nexus for Maven Users.