Saturday, January 19, 2008

JavaZone 2008... Rocks!

JavaZone 2008 has opened Call for Presentations!

I have been to quite few conferences, and I have to say, JavaZone is probably the best one.

So you are wondering why...well let me tell you:
  • JavaZone is for everyone - basically anyone can give a talk here (if the quality is good enough).
  • JavaZone is about what is hot - they get the best speakers in all categories of Java development.
  • JavaZone is not just about what is hot - they get talks about what was not so great, and what you probably should do, in stead of believing the hype.
  • JavaZone is created by volunteers, for volunteers, for the community.
  • No "product presentations" - you cannot buy a slot for a presentation at JavaZone, your presentation has to be relevant and good enough to be accepted.
  • Its a great place to make new contacts and friends.
I guess one of the really good things about JavaZone, is that is non-commercial. They have a program committee which is not paid off in any way, they just choose the the best talks. This does not mean that they do not have sponsors, but sponsors are treated equally to anyone else who wants to send a Call for Presentation.

I am not the only one who think JavaZone is great:

"This show is definitely similar to JavaPolis in many ways. You can tell that the conference committee has a lot of fun with it and the show is huge. I think these beat JavaOne hands down." --Dion Almaer's blog.

"JavaZone totally… Rocks!" --Alex Popescu's blog.

I hope to see you in Oslo in September. And please, if you have something to tell the community, send JavaZone a presentation proposal!

Check it out: http://www.javazone.no/

Wednesday, January 9, 2008

Programming language performance

Newer versions of Java executes really fast thanks to the innovations of hotspot and especially Java 6. But how fast is it actually compared with other languages. 

I stumbled upon an older blogspot posting by Charles Nutter, one of the developers on JRuby, called Alioth Numbers for JRuby 1.0. In the post he talks about performance benchmarks done on JRuby compared with Ruby.

The posting is based on performance benchmarks from The Computer Language Benchmarks Game project. This is an open source project, with the following statement on site's front page:

Benchmarking programming languages?

How can we benchmark a programming language?
We can't - we benchmark programming language implementations.

How can we benchmark language implementations?
We can't - we measure particular programs.


I don't think this project has gotten the attention it deserves in the Java community. It seems to me like the only serious attempt to compare different language implementations and their performance. This should be of special interest when comparing different languages running on the JVM.

The project compares 40+ languages with 18 different benchmarking programs/algorithms. Among the languages are Scala, Groovy, JRuby, JavaScript Rhino, and various versions of Java.

The fun part is to change the weighting of the test programs to try to make your favorite programming language rank higher.

Finally we have actual benchmarks to back our discussions on which is the better language, with regards to performance.

Go try it out!

Wednesday, January 2, 2008

My new favorite Java framework: Terracotta

I love frameworks that promote non-intrusiveness. For me Terracotta is the definition on non-intrusiveness, it offers no API.

Terracotta is a framework for clustering java apps. It has many use-cases and the most common are as described by the Terracotta site:
  • Distributed Caching
  • Hibernate second level cache clustering
  • HTTP Session clustering
  • Virtual Heap for Large Datasets
  • Clustering OSS Frameworks
  • Master / Worker
  • POJO Clustering
Terracotta works at the instruction level of the JVM, and it manages objects in a completely transparent way for the developer. In most cases you can add Terracotta clustering after the code has been written and get all the benefits without much work.

Since Terracotta is so transparent to the program, it might seem like a bit too much magic to some. I believe this is one of the reasons that some developers turn to other API based frameworks for clustering. However, Terracotta has been proven many times, and the Terracotta team is currently working on publishing many case studies from well renowned customers, according to Ari Zilka, the founder of Terracotta. I had a really nice chat with him at JavaPolis.

Their current customer brag list:
http://www.terracottatech.com/customers.html

Another really cool thing about Terracotta is that they offer commercial support. They actually let you buy an enterprise subscription, which gives support with guaranteed response times. This also provides indemnification assurance, which I have never heard has been done on other open source projects. I have worked for several companies in the public sector, which won’t touch a framework it they cannot buy support. I guess they have no excuse not to check out Terracotta.

Check out the Terracotta Enterprise subscription:
http://www.terracottatech.com/buy.html

You don’t have to buy a subscription to use Terracotta, of course, it’s open source! More precisely, it is a slightly modified Mozilla Public License:
http://www.terracotta.org/confluence/display/orgsite/Licensing

A final note, just download it and try it out! You get a really good impression on what it’s all about just by checking out the demo apps. Unzip the archive, and then it is basically one click to go.
http://www.terracotta.org/