Last week I had a pleasure to attend Devoxx conference, the biggest and one of the most known event for Java developers. As a member of 7-man team from our company (thank you SoftwareMill 🙂 ) I spent 4 days in Belgium among over 3500 developers being a witness of many great presentations and only few not so good. Below some of my notes and impressions.

Devoxx conference

Devoxx (few years ago named JavaPolis) is a conference organized in Antwerp. The whole event takes place in a large cinema center allowing attendess to seat in a very comfortable conditions and choose from seven (!) simultaneous sessions, each held in a separate hall. What is more interesting, key notes were run in one hall and life-streamed to other ones so everyone could watch them like a movie on the cinema’s screen. Between sessions, also on the screens, we could read live tweet stream (#devoxx ) so sometimes when WiFi was not working we could still see what people write about conference and presentations, check example photo below or live site which were displayed on the screens:

After registration we received wristbands with bar code and qr code. At first it seemed strange to wear it all the time during these three days, but later when I wanted to register for a few contests and all I needed to do was to show my hand and let them scan my barcode, I started to appreciate this neat idea allowing me to spend less time writing my contact details at each of sponsor booth and more time talking with people and socializing.

Day 1

First day started with two keynotes, one about Java SE and later about Java EE. From first one I’ve remembered some interesting quotes:

  • There are about 9 million of Java developers in the world (like population of Switzerland)
  • “Java is big. But being big won’t prevent you from extinct. You have to evolve.”
  • “We will always be there for you” said by one of Oracle CEO/CTO/C-whatever , this one was especially “touching” and caused funny reactions among spectators 🙂

Second keynote was sooooboring that I wasn’t able to note anything except the fact that Java EE 7 is planned for Q3 2012. The rest was a pure GlassFish advertismenet 🙂

Diabolical Developer

Then I watched “Diabolical Developer” presentation and it was one of the best talks during this conference. Martijn Verburg touched so many interesting ideas and expressed so many controversial opinions that forced me to think whether he is saying them honestly or ironically. Some of them which I was able to note:

  • Agile is not a silver bullet. It is a best way to sell Scrum Certification.
  • Not “the best practices”. Better practices, constantly.
  • Don’t take hype about some latest technologies too seriously. How many of you: a) are paid for developing for Android? b) had to use NoSQL database in a real project, c) had to use  Cloud? And after each question only 5-10 out of 200-300 people raised their hands.
  • Reinvent the whell, Your way is the best.
  • Keep information to yourself. Knowledge is power.
  • Everyday stand in front of a mirror and say “I am awesome”. It will put you in a good mood 🙂

Code Reviews

Then during a lunch I attended one Quickie (15-min session) about Code Reviews. Some notes from this one about what can be done to improve quality of Code Review meeting:

  • Code conventions should be checked by tools
  • Experts should be involved
  • Newbies should be involved too, they might have a fresh idea or heard about latest library/technology/tool/etc.
  • Absolutely NO sarcasm, first sarcastic word and such person is kicked from review meeting.
  • Do not concentrate on typos and other minor errors. Talk about them after a meeting.

Continuous Delivery

  • Small and often commits. At least one per day, optimally one per 1-2h. Later during discussion on Twitter we agreed on “one, well defined change” definition of good commit 🙂

Next three presentations

Then I attended Apache Open Web Standards which was mainly boring product presentation, pretty good talk about NoSQL comparing Redis, Cassandra and MongoDB and then one about what is new in Spring 3.1 which I attended to keep in touch with the latest changes in this great library.

Day 2

Android Keynote

This talk had one goal: lure Java developers into Android and Android Market. We had an occasion to hear even such phrases like: feed the hungry, clothe the naked, etc. But while listening to Tim Bray I was constantly thinking about question asked during “Diabolical Developer” presentation: How many of you are paid for developing for Android 🙂

Spring Social

Interesting presentation about a library to integrate your application with Facebook, Twitter, Google+ and many other websites. It’s good to know that something like this exists so you don’t need to write this code by yourself 🙂

WWW: World Wide Wait?

Very solid, very technical presentation about comparing performance of Java Web Frameworks: GWT, Spring MVC, Vaadin, Wicket and JSF 2. GWT was a winner but what was a surprise for me that Vaadin was the best among component frameworks. Slides are available here.

Too much email

It was another Quickie during the lunch. This time two devs from ZeroTurnaround (JRebel) told about how they manage communication in a distributed teams. They showed us their trials with Twitter as a company bulletin board and their current approach using Skype and separate chat rooms which is similar to our way of communicating in SoftwareMill.

HTML5, Play2, Scala, CofeeScript and Jade

This was another very good presentation showing how Matt Raible fought with mentioned technologies to create his first iOS application. This talk was a great show, we even had a chance to watch a short movie showing process of creating application, testing it on bike and while skiing, everything with cool music in the background (http://youtu.be/zlF7SkxQN9Q).

My notes from Matt’s talk:

  • The most profitable decisions you have made are those most challenging
  • Best books to learn Scala (in this order): Scala for Intrigued, Scala for the Impatient
  • Another very valuable resource: Twitter Scala School

His presentation is available here.

jQuery Essentials

I always wanted to know jQuery better and this presentation was a great occasion to broaden my knowledge in this area. It was really, really packed (more than 100 slides!) with examples how jQuery works. I can’t wait to see those slides published somewhere on the Internet. Meanwhile another good resource about jQuery suggested by Addy Osmani is jQuery fundamentals.

Java and Home Automation

Very interesting and entertaining presentation about how Java can be user to automate everyday tasks in our houses. During his talk Vinicius Senger showed how to change color of lights using specific tweet, how start and stop home devices using our beloved language. After he had revealed tweet command to interact with light bulb, people started tweeting and changing colour of lights as he was speaking 🙂 Generally, jHome Automation API looks very promising. The second part of presentation was held by Eric Bariaux and was about Open Remote project. This part was more serious but it also contained video demonstration how this project could be used to control various devices in our houses.

Day 3

The last day of Devoxx started with Technical Discussion Panel with participation of Joshua Bloch, Brian Goetz, Ben Evans, Mark Reinhold, Emmanuel Bernard and Brian H. Prince (so Oracle, Google, Microsoft and some neutrals 🙂 ). Many interesting questions were asked and many interesting discussions took place during this panel. I think it will be worth to watch it on Parleys when it will be available.

Securing Java EE Web Apps

During this talk we have learnt how easily a hacker can exploit some bugs in our web application to grant him admin privileges, etc. Two interesting tools were introduced: Browser Exploitation Framework (BeEF) and sqlmap. They can be used both to perform security and penetration tests or to attack our website.

  • XSS (Cross Site Scripting) Prevention Cheat Sheet_Prevention_Cheat_Sheet), an article with list of steps that should be taken to make XSS attack much difficult
  • ESAPI (OWASP Enterprise Security API), library which makes it easier to write more secure web applications
  • SANS.org, website with trainings, certificates and free resources about security

What Shazam doesn’t want you to know

In this presentation Roy van Rijn has told us about his clash with Shazam as after two days of programming he found out how (more or less) Shazam algorithm works and, surprisingly, watchful lawyers from this company claimed that he infringed their software patent and must remove post from his blog. Of course Roy refused but it is an interesting case how every developer while creating something could unknowingly “violate” someone’s software patent.

Other stuff

If you really want to read more about Devoxx 2011 below are some links to other places where you can find more information about this conference:

Uff, that’s all for now. Thank you for reading! 🙂