Archive June 2009

Toggle view

Day #2 at Jazoon09

Sun Keynote (Danny Coward – Sun Microsystems Inc.)
I’m a kind of sad that Sun has agreed on a very conservative set of language extensions. Java7 will definitely have no closures. they will be adding stronger type inference, multi exception handling, strings in switch statement, the elvis operator for dealing with null (project Coin).

Besides Java7 will have NIO2, modularity (JSR 294, Project Jigsaw) with dependency and version descriptor.

I will try to start working with the Preview as soon as possible.

Web Services and Transactions (Jonathan Halliday – JBoss, A Division of Red Hat)
This was a talk about WS-Atomic Transactions and WS-Business Activities. I was kind of new to the standardized concept of the compensation model which provides a good alternative when no ACID transactions are possible.

Enterprise Application with OSGi and the SpringSource dm Server (Eberhard Wolff – SpringSource, Sam Brannen – Brannen Software Consulting)

A talk that I haven’t heard for a while, so I gave it a try. I have done some OSGi evaluation a almost 1 year ago. Back then I had learned that the tooling integration was just bad. SpringSource Tool Suite has been now turned into a freely available tool. So that is good news – it is a first class tool for doing Spring/OSGi development on the server.

Metro Web Services Security Usage Scenarios (Harold Carr – Sun Microsystems, Inc, Jiandong Guo – Sun Microsystems, Inc)

I hadn’t done cryptography for a while, was tough stuff. But interesting to see and feel the stuff that Metro provides aout of the box.
I definitely need to check out the IDE for configuring Metro.

SLF4J and logback projects (Ceki Gülcü – QOS.CH)

We haven’t heard of any major developments from the log4j project. The reason, Ceki started the logback project back in 2005 and is now the unofficial successor of log4j.
I particularly like the sifting logger and the ability to have multiple VMs (cluster) write to a single logging output file.

JavaFX Rich Internet Applications connected to GlassFish Java EE 5 services (Ludovic Champenois – Sun Microsystems)

Jazoon Rookie

Jazoon party

YES it got late yesterday. I found it cool to get into duscussions with people like Emmanuel Bernard, Mike Keith, Ed Burns and drink lots of beer!
For this reason my day #2 report is not as finished as I would like to see it.

Day #1 at Jazoon09

This is a short report from this years Jazoon day #1:

Sun Opening Keynote (James Gosling)

Finally I managed to hear the famous creator of the Java Language. I had hoped to hear some visionary statements but at the end it was more or less just an “outlook” at the past of Java and where you would find Java these days.

Google Web Toolkit:

As I’m currently trying to start working with other Web frameworks (besides JSF) this was a nice intro to GWT and especially how it is integrated into the build process and how it can be extended.

Integrating the JBOSS Seam Framework with the GWT toolkit

A speech that could have been more interesting. But anyway a discussion of some problems/solutions!

GlassFish v3

Finally nice to see an application server that is not just built based on OSGi but also offers injection of OSGi sevices using @Resource without tying yourself to OSGi. They also have nice developer features like directory deployment etc. for shortening development roundtrip (no deployment required, just edit/fix then run).

Next Generation Enterprise Builds: Maven, Mercury, and Tycho (Jason van Zyl – Sonatype)

Lot’s of cool stuff coming here with (Maven 3.0). Mixin will allow kind of importing fragments from other POM. m2eclipse will be much better integrated with JDT (utilize JDT incremental compiler, strip off much of the build activities that JDT is doing anyway) resulting in much better build performance. Maven will be built on top of OSGi as their plugin mechanism. YES they finally kick out Plexus! Internally they will use Guice for DI and Peaberry for running on OSGi.
Changes to JDT project preferences will be directly reflected into the POM and vice versa.

Smithying in the 21st Century (Neal Ford – ThoughtWorks, Inc.)

I really love this guy. This is the second keynote from Neil Ford I have heard now. The talk was about evolution of software development, about how languages influence (restrict) ourr thougth and thus block creativity. It was also about what we might see in the future it seems to be lot of robotics and machines in our daily life. “Talk to my hand” – you understand if you have attended this speech ;)

It's injected

Seems there is a new hype about dependency injection these days. For a pretty long period we used to work with Spring as a major provider of dependency injection. Of course there were other frameworks around as well (e.g Hivemind, …) but they never gained much attention.
For a while it seemed that this terrain was occupied until EJB 3.0, Guice and Seam entered the stage.
So there was a lot of choice – but which should we choose in the end. Currently we are in a period where dependency injection techniques are undergoing a standardization process. We already have some kind of minimalistic but standardized DI with EJB 3.0, Java Contexts and Dependency Injection (formerly known as WebBeans) is pretty much finalized.
The new kid on the block is “Dependency Injection for Java” (JSR-330) proposed by Bob Lee (Google) and Rod Johnson (SpringSource). JSR-330 has been officially accepted as of today. Let’s see which one we will be using in the future. Hopefully at the end we will find a single dependency injection API for developing JavaSE and JavaEE applications.

WordPress Image Thumbnail not working

When adding an image from my media library, the image dialog shows the options Thumbnail, Medium, Large, Full Size (pre-selected) but I’m not able to change this option. A bug with WordPress???

No, seems with the upgrade to WordPress 2.7.x the PHPx-GD library is requried to support this feature. I installed it with:

apt-get install php4-gd
/etc/init.d/apache2 restart

eclipse 3.5

Since eclipse 1.0 has been released back in November 2001 it has evolved into a pretty popular and feature rich IDE. I remember using eclipse 2.0.1 first time, it was pretty much only a Java development IDE with little support for application containers.
Soon eclipse 3.5 (galileo) arrives supporting a wide palette of programming languages, programming models and execution environments, application containers, etc. The past 3 months I had been testing galileo from early milestone releases and been happy with it – also with my favourite eclipse plugins that I use in my daily business.

Here I briefly show some of the many features that I like:

Install New Software

I believe with eclipse 3.4 the user interface for updating/installing plugins has been pretty much messed up. Seems the eclipse engineers have done a good job to fix it up again. It has never been so easy and intuitive (with drag & drop support for update-site URLs) to install and update an eclipse plugin. But even more important, now it is possible to export bookmarks of your favourite plugins (you can select them plugin by plugin) and import them into another eclipse installation (e.g. for switching to a new eclipse release).

Available Software Export

Type Filter (eclipse 3.4)

With a large number of libraries in the classpath it gets pretty overloaded in the type search dialogs. Mostly you find lots of classes that you never want to deal with directly. E.g. classes from the com.sun.* packages. Still you have to skip over them while searching for some other classes.
By defining a type filter you can suppress any package you are not interested in.

type-filter

toString() Method

I usually would use the ToStringBuilder from the Apache commons-lang package to implement any toString() method.
As of eclipse 3.5 the Source->generate toString()… feature can be customized to support the commons-lang ToStringBuilder pattern.

tostring

Format edited lines only (eclipse 3.4)

In a team environment it is important that everybody is using the same formatting rules for auto-formatting the source code. Otherwise code comparison / mergeing can get pretty nasty. However sometimes this is not the case. Still eclipse can help to minimize the impact of autoformatting. You can choose the option to format only the code portion that has been actually changed.

format-edited-lines

Breadcrumbs (eclipse 3.4)

Eclipse has always had a perspective called Java Browsing (some heritage from good old Visual Age). I never really liked it, as it consumes quite a lot of space of the workbench.
With eclipse 3.4 the eclipse team introduced the so called breadcrumbs (Alt-Shift-B) which is showing almost they same information but much is more compact. It allows you to quickly jump between packages, classes, members, etc.

breadcrumbs

Block selection

Alt-Shift-A activates a special editing mode where it is possible to select any rectangular text area and copy / paste it.

block-selection

green red blue grey