I spent the last week in San Francisco to attend JavaOne 2014. This was my third time attending JavaOne, so I was already familiarized with the conference. Anyway, this year was different since I was going as a speaker for the first time.
Create the Future
“Create the Future” was the theme of JavaOne this year. The last few years have been very exciting for the Java community. After many years without evolution, we see now Java 8 with lambdas and streams, Java EE 7 with new specifications and simplifications)and a huge effort to unify and support Java for embeddable devices. Java 9 is already in the pipeline which promises modular Java (project Jigsaw). Java EE 8 is going to improve a lot of specifications and bring new ones like MVC, JSON-B and the much awaited JCache. Now it’s the time to contribute by Adopting a JSR.
During the last few years we heard a lot of voices claiming that Java is dead. Looking at what’s happening now, it doesn’t seem that way. The platform is evolving, a lot of new developers are joining the JVM ecosystem, and the conference was vibrating with energy. By the way, Java is turning 20 years in 2015. Let’s see what is going to happen in 20 years from now. Let’s hope that this blog is still around!
Keynote
The opening Keynote was a recap on what’s happening in the last few years. You can find all the videos here. Just a few notes:
The technical Keynote was interrupted because of lack of time. This also happened to me in one of my sessions. I understand that there is a time frame, but this was not the best way to kick out the conference. I’m pretty sure that most attendees would prefer to shorten up the Strategy Keynote for the Technical one.
I was referenced in the Community Keynote, because of my work at the Java EE 7 Hackergarten. Thank you Heather VanCura. Count me in with future contributions!
Venue
The event was split between the Moscone Center, The Hilton Hotel and the Parc 55 Hotel. I’m not from the time where JavaOne was completely held in the Moscone Center, so I can’t compare. Because of the layout of the hotels, you need to run sometimes from session to session and the corridors are not the best place to have groups of people chatting. A few of the rooms also have columns in the middle which makes difficult for the attendees and the speaker to be aware of everything.
In my session Development Horror Stories [BOF4223] I had to run with Simon Maple, to get there on time. The problem was that the previous slot sessions were held at the Hilton and then moved to the Moscone, which is a 15 minutes walk. By the way, no taxi wanted to take us because it was too close.
Food
Not even going to comment about it. Yeah the lunch sucked, and yeah I’m weird with the food.
Sessions
There is so much stuff going on, that it’s impossible to attend every session that you want to go. I probably only attended half of the sessions that I’ve signed up for. I had to split some of my time between the sessions, the Demogrounds, the Hackergarten and also a bit of personal time for the last details of my sessions. Not all sessions had video recording, but all of them should have audio and be available via Parleys.
These are my top 3 sessions (from the ones I have attended):
I’m relatively happy with my performance delivering the sessions, but I can improve much more. I do have to say, that I didn’t feel any nervousness. I guess that I’m feeling more comfortable on public speaking, plus preparing everything with a few weeks in advance also helped. Moving forward!
Development Horror Stories [BOF4223]
with Simon Maple
We had around 150+ people signed up, but only 50 or so showed up. I think this was related to the switch venues problem I described earlier. At the same time there was also an Oracle Tech Party with food, drinks and music. I guess that didn’t help either.
Anyway, me and Simon kicked out the BOF with a few of our own stories where things went terribly wrong. The crowd was really into it, so our plan to ask people for the audience to share their own stories worked perfectly. We probably had around 10+ people stepping up the stage. In the end we had a Java 8 In Action book give away signed by the author, for the best story voted by the audience. The winning story belong to Jan when he wrote a few scripts to clear and insert data into a database for tests. Unfortunately he executed it in a production environment by accident!
I think people enjoyed the BOF and this can work in pretty much everywhere. I’ll submit it in the future to other conferences. BOF’s don’t really need slides, but we did some anyway:
Java EE 7 Batch Processing in the Real World [CON2818]
with Ivan Ivanov This session was the first one of the day at 8.30 in the morning and was packed with people. It was surprising to see so many so early. Me and Ivan started the session with an introduction on Batch, origins, applications and so on. Next we went through the JSR-352 API to prepare for our demo at the end. The demo is based around World of Warcraft and we used the Batch API to download, process and extract metrics from the game Auction House’s (they are like eBay in the game). Stay tuned for a future post describing the entire sample.
Unfortunately we run out of time and we couldn’t show everything that we wanted, or at least go into more details about the demo. We allowed people to ask questions anytime, and we had a lot o them. I’m not complaining about it. I prefer doing it this way, since it makes the session more interactive. On the other hand, you end up using more time and is not very predictable. We will reorganize the session to perform the demo in the middle and everything should be fine like that.
CON4255 – The 5 people in your organization that grow legacy code
I’m pretty happy with how this session go. Considering that it was the last day of the conference and also one of the last sessions of the day, I had probably around 80+ people. I’m also happy because it was video recorded, so I can check it properly later.
I’m not going to spoil the content, but I think the attendees really enjoyed the session and had many moments to laugh about the content. I’ll just leave you with the slides:
Final Words
The event was huge, so I’m probably writing another post about it, since I don’t want to write a very long boring post. Next one is going to focus a little more on other sessions, activities and community!
I would like to thank everyone that attended my sessions and send a few specials ones: to Reza Rahman for helping me in the submission process, to Heather VanCura for the Hackergarten invite and for my co-speakers Ivan Ivanov and Simon Maple. Thanks everyone!
I think you can tell that I’m very nervous during the first few minutes, but I was able to calm down a bit afterwards. I do hate to hear me speak, since the voice I hear does not sound like mine. In fact, no one sounds like they hear and where is why. Anyway, I should stop with so many “eeehhhmm” and “so”. I have to improve that.
Last week, JavaOne 2014 published the sessions schedules plus the Schedule Builder for attendees to enrol in the sessions. I’m going to be speaking in the following sessions:
If you’re going, please sign-up for these sessions. I’m going to do my best to make sure that your time is well spent there. Check my previous post with some additional information about the sessions: Speaking at JavaOne 2014.
I was in London between 12 and 13 June to attend the second edition of Devoxx UK. The conference was first scheduled to take place in April, but was later moved on to June. I guess it was a good call, since it was so close in dates to Devoxx Paris (that was also held in April) and they would probably overlap. I submitted a few sessions for Devoxx UK, but unfortunately they were not selected. I have to confess that since I was not selected I was not planning to go, but I’m getting conference addicted and the next conference I have scheduled is JavaOne 2014 in late September (where I’m going to speak). I realised that I couldn’t stay so much time without attending something, so I decided to signup just a few days before the conference started.
Venue
The Business Design Centre is a venue which houses exhibitions and consumer fairs and was also the place for Devoxx UK. The conference was only occupying a small fraction of the total venue capacity. We did not have the cinema like rooms from Devoxx BE, but the rooms were nice, the Exhibition Hall was well designed and there was also another floor for the community activities: Hackergartens, BOF sessions and hands-on-labs. Unfortunately, both the Exhibition Hall and the Community Hall were very warm in my opinion, good only to be on a beach or pool with a cold drink on the side.
Sessions
The program was interesting enough, a lot of diverse subjects and you had four options to attend on each scheduling bracket. I was not always into sessions, since I also wanted to spend some time in the Exhibition and Community Halls. Not a problem, because all the sessions were recorded and are going to be available on Parleys, which is cool. Devoxx UK kicked-off with a very inspirational keynote by Dan North about building a career and the interactions that impact you and the ones around you. I advice you to check it out when the video is available. These are my top 3 sessions (from the ones I have attended):
Unfortunately, there were also a couple of negative things. One of the sessions that I really wanted to attend the speaker didn’t show up, and in another the speaker arrived really late. I even considered jumping in and replace the missing speaker, but I didn’t have my laptop and I was not sure if the organization or the other attendees would enjoy the idea 😀 .
Food
Call me weird, but I really need hot meals for lunch and dinner. The Devoxx food, and not only in the UK (it was the same in BE, I don’t know about FR), it’s bad for my taste, so I ended up going outside for some food. Idea: There is no need to have something fancy, just get some chicken and charcoal and you can have a pretty tasty roasted barbecued chicken. I can even do it myself!
Community
The Community was awesome as always! This is now starting to be one of the mains reasons that make me want to attend more and more conferences. Once again a contributed a few little bits of code for the Java EE 7 Samples in the Hackergarten with Heather VanCura, Arun Gupta, Peter Pilgrim and Andres Almiray.
I was also able to bring a few goodies to offer in the next Coimbra JUG Meeting. Thanks to Kaazing and JCP.org for the books they offered and Atlassian for the t-shirts.
It was great to meet again a few guys (and girls) from others events (in no particular order):
And a special thanks for Peter Pilgrim for giving me a signed copy of his Java EE 7 Developer Handbook. Congratulations Peter, for the huge job that is to write a book!
Next Devoxx UK
Devoxx UK is returning again in 2015, and now with 3 days instead of 2 (running from 17 to 20 June of 2015). I’m submitting again for 2015 and I’m positive that I will have something selected next year!
Yesteday I got really great news. I was selected to present 3 out of 4 sessions that I have submitted to JavaOne 2014! After attending the first JavaOne in 2012, and going again in 2013, this was my first time submitting something for JavaOne.
I have to confess that I had high hopes of being selected, but I was not expecting to have 3 sessions right in the first year of submissions, since there are a lot of submissions and it’s really hard to get selected. A special thanks to Reza Rahman for helping me out during the submission process and for providing valuable tips. Thanks Reza! I would also like to thank you Ivan Ivanov and Simon Maple my co-speakers in two of the sessions.
Have a look below into the sessions abstracts and videos. I don’t have the schedules yet, but look for them in the JavaOne Schedule Builder (when available) and signup 🙂
What am I going to speak about?
CON2818 – Java EE 7 Batch Processing in the Real World
Abstract
This talk will explore one of the newest API for Java EE 7, the JSR 352, Batch Applications for the Java Platform. Batch processing is found in nearly every industry when you need to execute a non-interactive, bulk-oriented and long running operation task. A few examples are: financial transactions, billing, inventory management, report generation and so on. The JSR 352 specifies a common set of requirements that every batch application usually needs like: checkpointing, parallelization, splitting and logging. It also provides you with a job specification language and several interfaces that allow you to implement your business logic and interact with the batch container. We are going to live code a real life example batch application, starting with a simple task and then evolve it using the advanced API’s until we have a full parallel and checkpointing reader-processor-writer batch. By the end of the session, attendees should be able to understand the use cases of the JSR 352, when to apply it and how to develop a full Java EE Batch Application.
Abstract
We all enjoy to hear a good success story, but in the software development industry the life of a developer is also made up of disasters, disappointments and frustrations. Have you ever deleted all the data in production? Or maybe you just run out of disk space and your software failed miserably! How about crashing your server with a bug that you introduced in the latest release? We can learn with each others with the mistakes we made. Come to this BOF and share with us your most horrific development story and what did you do to fix it.
CON4255 – The 5 people in your organization that grow legacy code
Abstract
Have you ever looked at a random piece of code and wanted to rewrite it so badly? It’s natural to have legacy code in your application at some point. It’s something that you need to accept and learn to live with. So is this a lost cause? Should we just throw in the towel and give up? Hell no! Over the years, I learned to identify 5 main creators/enablers of legacy code on the engineering side, which I’m sharing here with you using real development stories (with a little humour in the mix). Learn to keep them in line and your code will live longer!