GeeCON 2009 conference, Cracow, Poland

The GeeCON 2009 (http://geecon.org/) conference is over :( This is a sad news, because this event was GREAT !

It took place on 7-8th of May in my home town of Cracow, Poland. I enjoyed every bit of it - from interesting sessions to great catering.

GeeCON 2009

This conference was special to me, because I was one of the speakers there with "Automation of functional tests" session. :)

(I will write about my experiences as rookie-speaker in separate blog post).

All the lectures were in English. There were two tracks and really a lot of great speakers to listen to (see schedule).

The two sessions that I enjoyed most were held by Misko Hevery and Hans Docter.

Misko Hevery, "Influencing Software Developers Towards More Testable Code Base & More Tests"

Misko Hevery gave very interesting lecture on how he tries to improve the testability of software written at Google. Before this talk, I knew something about this (as I follow Misko's blog, and Google Testing Blog) but still I learned a lot. Misko explained what "techniques" they use at Google to convince people that testing is worth the effort - in short, they harras them mercilessly, LOL, until they start testing exhaustively. :)

In general, this talk made me think about how I can influence my colleagues towards more testable software. Some of the ideas that Misko gave are really appealing to me. Unfortunately many of what Misko proposes requires approval of higher-ups because it is connected with the way the development teams are organised. I say "unfortunately", because it means you can't implement them in your team on your own.

Hans Docter, "Gradle"

I use Maven a lot. I know it good enough to be able to bend it to my will, but sometimes I feel like I'm losing the battle with convention imposed on me by Maven.
The presentation of Gradle building toolkit (not framework) was very interesting to me. First of all, Hans Docter, has pointed out all the weaknesses of Ant and Maven. Listening to his talk, I was nodding my head because things are exactly the way he presented them. I couldn't agree more with some of his remarks: both these of general nature (about frameworks that first help you but than you have to fight against them), and especially these regarding Maven e.g. that it is "convention instead of configuration" or that it is weak at expressing dependencies of build tasks.

So, he presented Gradle, and he was very convincing at showing us how Gradle is free of problems that users of Ant and Maven have to deal with. I think I'm still not able to grasp the whole meaning of the fact, that you use scripting language for describing your builds instead of XML files. The number of possible uses is infinite, and flexibility of your build is not constrained by anything.
At the same time, being comfortable with Maven, I'm afraid to loose some of it's "out-of-the-box" features - like for example a wide variety of very useful plugins. I asked Hans how much work is required to for example have Findbugs executed during build (which can be done without any problem with Maven). The answer was, that there are no such plugins ready for Gradle, but I can always invoke Ant task, so it's not a big deal.

To sum it up, Gradle looks very interesting to me. I think that doing stuff that I like to do (automation of things, especially of testing process), I can benefit greatly if I use Gradle.
I hope I'll have enough time to give it a try. There are still many aspects of Gradle, that I'd like to learn - i.e. how it deals with multimodule projects and how does integration (retrieval and deployment of artifacts) with Maven repos looks like.

Other sessions

Simon Ritter, "JavaFX: The Platform for Rich Internet Application"
It looks like Sun is serious about promotion of Java FX. The presentation was really good, and Simon presented some really nice tricks. A good show, definitely !
Still, I'm not convinced that JavaFX is any better than the competition - especially Flex.

Alef Arendsen, Arien Poutsma, "Spring 3.0"
A great show ! Alef and Arien together presented the topic that many people wanted to know about - the future of popular Spring framework. This session was brilliant with lot of short examples created on the fly.
We learned about API updates, OXM, MVC refinements, binding & types conversion, annotated factories and many other nice things that Spring 3.0 will provide. Go, Spring, go ! :)

Jacek Laskowski, "Making EJB 3.1 development a breeze with Apache OpenEJB"
I admit I wasn't really interested in EJB but the other session (introduction to Scala) was also not on my list. Jacek presented some basic information about the EJB 3.1 and showed how it can be used with OpenEJB implementation. Unfortunately, he encountered some problems during demonstration of code samples.
This presentation had some funny moments, as some friends of Jacek were trying to convince him to switch topics to his beloved Grails framework. :)

Vaclav Pech, "Practical Groovy"
Very nice introduction to Groovy. I have already known most of the things that Vaclav presented, but he did it in such an interesting way, that I enjoyed his session very much. Definitely, I should devote more time to learn Groovy (and Grails).
Vaclav also demonstrated what kind of support IntelliJ IDE offers for Groovy developers. I was impressed, it looked very mature for me.

Antonio Goncalves, "What's new in Java EE 6"
Very good introduction to changes that will be introduced in Java EE 6. Not a thrilling session, but it gave me good insight into this topic.

Stephan Janssen, "Next generation Rich Internet Application - Parleys.com case study"
I enjoyed this session very much. Based on real-life examples and on experiences of creators of great Parleys.com site. IMHO what Stephan presented nails the coffin of JavaFX... (for now - things might change in the future).

Thomas Enebo, "JRuby: Ruby on the JVM"
A decent presentation, but I was expecting something more. I know some Ruby, and one more introduction to the language (which took a significant part of the session) was too much for me. Apart from this, everything was ok, and the second half of this session was really interesting.

Jakub Podlesak, "Developing RESTful Web services with Jersey"
Good one. Well prepared, with lot of easy to understand examples. I'm glad I saw it.

Final remarks

As I said, I enjoyed GeeCON 2009 very much. When Miroslav Kopecki and Grzegorz Duda were opening this conference, they said that GeeCON was only a dream some time ago. Then it occurred that this dream can be fulfilled, and thanks to determination of few people (see here) it really happened.
Oh people, you really did something unique ! Long live GeeCON, and I'll be there next year for sure ! :)

Nice post, I just started

Nice post, I just started looking into Gradle (that's how I found your blog just now), I was told by my boss to try it in our next project, imagine that :)

About JavaFX, I have good knowledge of flex/actionscript and related tools/applications. I've been analyzing JavaFX and to me the main problem is that it still lacks stability and fastness in areas where working with flex is a no-brainer. I really hope that the technology gets mature enough so I can consider making the switch, but for now I don't feel compelled.

good choice !

hi,

good luck with Gradle ! This project certainly deserves attention. Hope it will serve you well.

...and don't forget to add your tips&tricks to http://docs.codehaus.org/display/GRADLE/Cookbook :)

--
Tomek

Please comment using