GeeCON 2011 Conference Day I and II

This is a review of the first and the second GeeCON 2011 Conference Days.

1st Conference Day

Keynote 1: Danny Coward on Java SE: The Road Ahead. Danny provided an insight into Java 7 changes (diamond operator, automatic resource management, Strings in switch etc., nothing revolutionary, mainly syntactic sugar, but useful stuff). He also discussed the plethora of JVM languages and presented planned optimisations of JVM (especially useful for dynamic languages). There was not much new things in this presentation, but I enjoyed it anyway.

Keynote 2: Juergen Hoeller on Enterprise Java in 2011 and Beyond: From Java EE 6 to Cloud Computing. An overview of deployment platforms (servers and clouds). Then, overview of various cloud solutions, i.e. with many examples based on AWS Elastic Beanstalk and Google App ENgine. Various aspects of cloud computing platforms - i.e. datastores. Some information on VMware's Open Cloud Platform (SpringSource is a division of vmvare since few months). Juergen complained a lot about how slow Java standarization process is. He said, that based on the previous experience, we can expect Java 7 EE server implementation around 2015. The problem he pointed out is that Java EE specifications address the problems of today and are outdated once they are released (and even more outdated when their implementation shows up).

These two keynotes were interesting especially that they presented two sides of a coin and revealed the tensions that we have in Java world. We have "official" specifications, important but always lagging behind the de-facto standards. There are many questions regarding the willingness of Spring and likes to participate in specification efforts. Interesting stuff.

The Social Service Bus by Josh Long. I was expecting some information on Spring Integration so I could compare it with my Apache Camel experiences, but... Well, I left earlier, after listening for 15 minutes why XMPP and Twitter are cool.

NoSQL & DataGrid from a Developer Perspective by Michaël Figuiere and Cyrille Le Clerc. Nicely done, but not very exciting. Some repetition on types of NoSQL. But there were some really good parts on required mindset change when moving from relational to NoSQL. In general I enjoyed this talk.

Distributed Computing with Scala and GridGain Nikita Ivanov Wow, an eye-opener for me! GridGain is really impressive. Also, Nikita made a great show. He coded live some fancy grid application. I can't imagine how many days (weeks?) would it take me to implement similiar solution with the tools I use (and using Java).

At the same time I noticed two bad things about Scala:

  • IDE support sucks big time. IntelliJ (my beloved IDE!) marked many lines with red color even if they were correct.
  • Nikita, an experienced Scala coder (no doubts about that!) had some problems with fixing his own code. This really makes me reluctant to give Scala a try!

New Ideas for Old Code by Hamlet D'Arcy. Interesting and entertaining. What I especially enjoyed was the mix of technical and people issues discussed by Hamlet. Well done!

Arquillian: Real Java enterprise testing Aslak Knutsen. I was really interested in this talk, and it lived up to my expectations. Project Arquillian - "a container-oriented testing framework" - is a very powerful tool, that can ease the pains of automated integration tests. Aslak presented many examples on how you can test various applications (with JPA, REST or JSF) using Arquillian. Everything went very smoothly and pretty fast. He also introduced another project - SchrinkWrap - which "provides a simple mechanism to assemble archives like JARs, WARs, and EARs with a friendly, fluent API..

I used to use Cargo for deployment of application on different servers, but Arquillian seems to be more powerful, and next time I will definitely give it a try (see http://tinyurl.com/6xnhbol for some comparison of Cargo and Arquillian).

I talked with Aslak after the talk, and asked him about the plans of moving from Maven to Gradle :). He said there is such possibility, as Maven does not give enough control over classpaths (for compilation, tests, runtime). Will see about it.

1st Day Conclusions

The first day was very interesting and I enjoyed it a lot.

I was full doubts about the future of Java after the first day. On the one hand, the two keynotes presented quite reassuring view of further improvements of Java. On the other hand, Scala session gave me taste of something much more powerful. In fact, I'm still laughing at "diamond operator" and the rest of syntactic sugar in Java 7, compared to what Scala already offers. Well, maybe the future of Java itself is not so bright, but the future of JVM as a whole looks much better.

2nd Conference Day

Jim Webber, Revisiting SOA for the 21st Century. A funny and intriguing anti-ESB and anti-SOA rant, really entertaining. Jim questioned stupid policy of big companies who spent a lot of money for things they do not really need (but are convinced by various consultants to do so). He pointed out, that sometimes "more is less", i.e. you can utilize much simpler methods to achieve client's goals. He gave an interesting example from his own experience to back up this statement. Interesting and really funny!

Regex Regex - The future programming by Staffan Nöteberg. Well, I did not like it. It was very basic (really trivial examples) and seemed chaotic.

The No-Nonsense Guide to Hadoop and HBase in Enterprise Apps by Eugene Ciurana. Nice and well done, but I sat there with a "deja-vu" feeling.
I have to admit, that Hadoop/HBase/Hive/Pig etc. stack looks pretty robust and interesting.

Hibernate OGM: JPA on Infinispan: when PaaS persistence meets Java EE Emmanuel Bernard. So Hibernate guys are trying to catch-up with NoSQL movement. Interesting and well presented.

Martijn Verburg, The Diabolical Developer. Well, that was fun! :) Matijn is a tease, he likes to play with the audience, he likes to question the "common knowledge". His talk was provocative and entertaining.

2nd Day Conclusions

I did not enjoy the second day as much as I enjoyed the first one. Maybe I was getting tired or maybe the speakers were not so good at the second day? Nevertheless, I expected more after the first day.

Random Notes, Comments & Hints

  • If you don't like the talk, just leave. There is no point in wasting time - you will be much better of by leaving the talk and chatting with some people outside.
  • If you follow InfoQ, The Server Side or Parleys.com you will not learn much new stuff from presentations. It is the problem of GeeCON, it is a general issue for any conference.
  • People have very different tastes. Some presentation that I found boring were highly praised by others (and vice versa).
  • It is too easy to fall asleep during the talks if you sit in a comfy cinema chair. :)
  • The food was good. Don't believe people who say otherwise. :)
  • Listening about experiences and ideas is worth much more than listening about "what's new in Java 7" etc. You can find such trivial stuff on websites.
  • 530 attendees at GeeCON 2011. Wow!
  • Great place to meet old colleagues. I learned a lot about Cracow job market by simply listening to them talking about their current tasks etc. Interesting.
  • Open Source Journal looks really interesting. I
    will definitely check the next issues.
  • At least 3 times I saw slides on SQL vs. NoSQL and on different types of NoSQL databases (graph, key/value, document, column). Boring, yes.
  • Some notes on testing issues. In general very few talks were related to tests in any way. Does it mean that testing (in all its flavours) is no longer a buzzword but an established practice, which is so obvious that is not even worth mentioning?
    • NetBeans guys have their own JUnit asserts - assertGC (that something is ready to be eatenby GC)
    • Dependency Injection not so important for desktop apps - you have a lot of singletons - which means mocking is cumbersome (also NetBeans),
    • Tests are absolutely crucial (repeated during few talks)
    • Multithreading and tests - code coverage will not tell you anything about this (Jaroslav Tulach)
    • At least once in your lifetime you should code for 100% coverage, so you know how it tastes. Then you can choose whether you think it is worth your effort or not. (Hamlet D'Arcy)
  • Cinema screens are just too big! Some presentations look great, but some are hard to follow (reading on such screen is hard - depending on the place where you sit).
  • You can tell that some speakers have already given the same talk few times. Even jokes are deliberate (which makes them sound funless).
  • I haven't won XBOX console... bad luck... maybe next time...

I like the keynote by Juergen Hoeller

How to use Java in cloud computing is an interesting feature. We know that current cloud platform is based on system virtualization, such as Xen,KVM and Vmware. These system virtualizations provides flexible resources. But I have much concern: whether JVM can work well in cloud computing? It has a long way to go, though Google AP Engine use sanbox. Thanks for your sharing. Very good blog. - Mortgage Calculator

Please comment using