Last week, I was fortunate enough to attend GeeCON. GeeCON is a well-known conference in the JVM world and this year marked its 10th anniversary. More than 1200 people came to see over 80 sessions from more than 70 speakers distributed across 4 tracks over 3 days in Krakow, Poland.

This was my first time attending GeeCON. In retrospect, it has been one of the best conferences I’ve ever been to, both in terms of content and organization. The venue is a movie theatre, and watching talks on the big screen while sitting in a comfortable chair is a wonderful experience. The barista-served coffee was delicious, the catering was great, and Krakow is a beautiful city I always enjoy coming back to. I’d particularly like to compliment the organizers on taking good care of the speakers – decent accommodation, dinner and drinks every day, and even a day trip after the event. It was a pleasure to be a part of this.

I gave a new talk titled Clean code with Java 9. The session is a live demo of several new features in JDK 9 which allow us to make our code cleaner. We start by describing what it means to write clean code, continue by introducing JShell, and finally use JShell to demonstrate the use of convenience factory methods for collections, effectively final variables in try-with-resources, private methods in interfaces, diamond operator with anonymous classes, Stream API enhancements, updates to Optional, StackWalker, and HTTP/2 client. Best practices for using each of these features in a clean manner are provided as well.

For this talk, I was assigned the big theatre with an estimated capacity of 500 people. The room was full, with several people sitting on the floor in front of the screen as well. The audience was great and provided a lot of positive feedback. In fact, they voted the talk in the top 10 talks at GeeCON!

If you couldn’t be there, feel free to check out the recording:

The slides are available online (download here):

The export of my JShell session is available here:

As you can see, we’re loading several external code samples via the /open command. These samples are available below:

I’d like to thank the organizers for inviting me and creating such a wonderful event. I’ll definitely try to come to the conference again in the future!