Passionate developers love to write clean code and make it more beautiful all the time. They call this Refactoring. In my experience refactoring is often misunderstood and is sometimes even used as an excuse to spend lots of time on improving the code structure. It is very tempting to learn more about how to make that particular piece of code even more readable, maintainable and elegantly. This then results in less developing of new features. How could we handle this?
On Friday September 26th I was flying to San Francisco for my first JavaOne. It’s the world’s largest conference for Java programmers so I was pretty excited. My colleague Régina is a JavaOne alumni, so she could tell me about all the ins and outs.
JavaOne is organized at the same time as Oracle OpenWorld an the two conferences together attract about 65,000 visitors (no exact numbers are shared). You probably can imagine hotel room rates are sky high during this week. A good alternative is to book an apartment with Airbnb, which is what we did. We had an apartment with a view, two bedrooms, two bathrooms and a filled fridge for a price still lower then the average hotel room rate for just one person.
On Saturday JavaOne was offering a unique opportunity for 150 kids (ages 10 -18) to attend the Devoxx4kids program in conjunction with Oracle Academy. I didn’t attend because I needed some more time to recover from jet lag. Régina did attend and I was curious so I went to take a look at the end of the day. Topics covered included Java, Alice, Arduino, Greenfoot, Lego Mindstorms, Minecraft modding, NAO Robot, Python, Raspberry Pi and Scratch. They were spread over three rooms and four sessions throughout the day. When Duchess organizes Devoxx4Kids we choose to only do 3 sessions in a day and work with a maximum of 60 kids. Regarding the attention span of kids that age I really think 3 sessions is enough. What I really admired was the fact Oracle did not only invite kids with ‘tech’ parents but they contacted organizations like Black Girls Code to attend the event. This is an idea we would like to adopt, because we notice most kids attending our events already have sufficient opportunities and encouragement to pick up programming at home. Please let us know if you have any tips or ideas for organizations we can contact!
During the entire conference there was lots of attention for programming with kids. During the opening keynote kids were invited on stage to talk about what they had learned the day before. Besides that, there was a session during the conference given by Arun Gupta, Stephan Janssen and Daniel Deluca. They gave out some practical tips about how to organize you own Devoxx4Kids. We picked up some handy tips and were glad to exchange some things we’ve learned ourselves during the past events. If you are interested in organizing your own event take a look at the Devoxx4kids website.
The opening keynote on Sunday was not received very well by most developers, too much time was spent on sponsor talks. There was a fun demo though: Richard Blair and Jasper Potts had taken a front panel for a car, including pedals, displays and a steering wheel, all Java driven. Later on during the week people could play along with it in the demo area. When things seemed to get interesting with some real news, the speaker was abruptly interrupted because time was up. Some people insinuated it was all staged because, well, after some major releases there’s just not so much left to talk about ;-).
At JavaOne each day gives a huge choice of sessions. First sessions start at 8.30 AM and the last ones at 9 PM, with up to 7 parallel sessions. This year there was an agile track and lots of attention for IoT, robots and home domotica. You have to be a bit picky if you want to survive all 5 conference days. Also I noticed you really should reserve your spot for popular sessions or you do not get in. Fortunately, there is a JavaOne channel on Parleys to catch up what I’ve missed.
I picked the three sessions that have been most memorable to me.
Having Fun with NAO Robot and Java was a fun hands-on session that gave us the opportunity to program Aldebaran’s Nao robot in Java! The session wasn’t very well prepared, but after some hiccups we got everything working and started to enjoy it. Too bad they did not include the Javadoc (but there is one!) and sources and there’s not a lot of information about the API online, so it was kind of guessing what a method would do. In 2015 Aldebaran will bring the Nao to the customer market, so hopefully it will get payable to play with the Nao at home :-).
Martijn Verburg did a very interesting session about team management: Habits of Highly Effective Technical Teams. What stayed with me:
- Debate (!= fight)
- Diversity in culture, way of working. Only hiring top students does not make a top team.
- Automate so you can focus on core tasks
For me Andra Kaey was the top speaker at Java One. Her share in the community keynote rightfully yielded many positive comments on Twitter. In her presentation on Thursday after the keynote ‘How to talk to your house’ she talked about the evolution of interaction between humans and robots and ethical aspects.
New at JavaOne were the Ignites which you might know from other conferences like Oscon and Devoxx. Ignites are a presentation style in which 20 slides are shown for 15 seconds each, each speaker has a time limit of five minutes, and must use 20 slides with each slide advancing automatically after 15 seconds.
Our Duchess meet & greet was scheduled at the same time as the Ignites. That’s a shame for two reasons: first I love ignite talks and now I couldn’t attend and second (even worse) other people love Ignites and free beer as well so they skipped our session. But still it was a great session even with a small number of attendees. We decided to make a virtue of necessity and hold a group discussion. Personal experiences, uncertainties and tips were exchanged about all kinds of topics: how to start your own user group or Duchess chapter, how to deal with other colleagues who don’t take young girls seriously, … . I was pleased to see how freely everyone could talk and also positives feedback afterwards.
On Thursday there was the Community Keynote. Expectations were high and luckily it was far more interesting than the strategy keynote on day one. We were early and sitting on the second row right behind some godfathers of Java like James Gosling and Brian Goetz.
Some highlights from the Community Keynote:
- Mark Reinhold talked about Project Jigsaw about easier down scaling of Java SE platform and JDK to smaller devices, security and better performance.
- Brian Goetz talked about Project Valhalla and Project Panama. Valhalla is focusing on research for JVM and Java language candidates like Value Types, Generic Specialization, enhanced volatiles. Panama focuses on improving connections between the Java TM virtual machine and ‘foriegn’ (non-Java) APIs.
- There was a star-studded keynote panel with James Gosling, Brian Goetz, Charlie Nutter, John Rose, Brian Oliver and Mark Reinhold. When asked if he regretted adding nullpointers to Java, James Gosling denied and said “If I don’t know a right answer, I’d rather not do a wrong thing as stopgap”.
You can take a look at all the keynotes yourself on Oracle’s JavaOne Video Hightlights page.
I had a great time at JavaOne, I learned a lot and I’ve met lots of interesting people. And I may, of course, not forget to mention the various network parties like the JCR party over at top floor of the Hilton and the unforgettable Aerosmith concert on Treasure Island. However, I must confess that in terms of diversity of sessions and speakers conferences as OSCON and Devoxx remain higher on my list.
Everyone who run, tests or maintains a Liferay environment needs to know if it performs well. ‘Performing well’ is a broad statement, that can range from low-level OS measurements such as memory allocation and CPU usage all the way up to the speed a page renders in a browser – the stuff that customers complain about, and is hard to reproduce and measure.
New Relic provides this insight – from OS to browser – with their cloud based application performance management tools. Setting up New Relic for Liferay is quite easy, but as always with Liferay, there are a few pitfalls. This blog post will guide you through the setup in a few steps. Read more…
I’d been to Goto Arhus a couple of times and really liked the conference. So this year I decided to go and check out if Goto Amsterdam was the same high quality. And indeed it was. Great speakers, good content, nice food, all in all an excellent experience despite the (very Dutch) lack of air conditioning on two of the warmest days of the year. Below is my summary of all the sessions I attended. When available I will have the title of the presentation link to the video of the talk. Read more…
Liferay Portal 6.2 has just been released. One of it’s interesting new features are Application display templates (ADT), that promise to allow easy and flexible rendering of content, without changing JSP’s. It’s implementation gives me some security concerns for all users of Liferay. Read more…
Did you ever needed to have a group of option in which just one item could be selected, but the user did need to have the option to deselect any chosen option in HTML?
It can’t be done just by HTML checkboxes or radio buttons and the user experience of a select with options isn’t sufficient.
We did have to provide such a solution in a recent project.
Have you ever tried to change something? In (part of) an organisation, or maybe in yourself? How successful was it? How did you accomplish this feat?
According to this great little book called Switch, you most probably have addressed three significant areas: the rationale, the emotion, and the environment. The authors Dan and Chip Heath call these: the Rider, the Elephant, and the Path.