By reza_rahman on Jul 28, 2013
OSCON 2013 was held from July 22 to July 26 in Portland, Oregon. I presented the Java EE 7 hands-on lab there as well as a session on WebSocket/JSR 356. This was my first time to the revered conference.
My impression of OSCON had always been that it is a conference for everything open source mostly sans Java and very much sans anything JCP. As a Java and standards/JCP guy, it's the reason I had always focused on more Java heavy events like JavaOne and TheServerSide Symposium in my former life as an independent. This seemed to be despite the fact that Java remains the most popular language certainly by jobs and most programming language indexes, Java is the most active open source platform in the world and O'Reilly itself tends to make the most money out of Java books.
I was really hoping to say I was wrong all these years, but with the greatest regret I have to say I'm still not sure I was (though I think things are looking up). By my count there were about a dozen Java related sessions among about 450+ (that's about 2-3%). I didn't count Andriod since it's still up in the air whether Andriod is Java or not. I didn't count other JVM languages since their obvious point is that they are not Java. Since open standards and open source should be philosophical brothers-in-arms, this can't be a good thing. Open source is a key component in the Java EE ecosystem today, Java EE APIs like CDI and Bean Validation are led by companies that base themselves entirely on open source and even "evil corporations" (well, at least in some people's minds) like Oracle have technologies like JSF/Mojorra, JPA/EclipseLink, JAX-RS/Jersey, WebSocket/Tyrus, not to mention GlassFish and NetBeans that are deeply rooted in both open standards as well as open source.
In all fairness, things are not that simple - OSCON/O'Reilly is not historically rooted in Java, there are plenty of Java conferences in comparison to the small handful of conferences devoted to open source, OSCON may have a chicken/egg problem as to attracting Java speakers/content/attendees and a lot of Java speakers (especially from Oracle) may be tied down with JavaOne Shanghai that happens to conflict OSCON this years and so on. In the end though I'm reminded of a parable from my own cultural heritage about the man who spit to the sky to curse the almighty for his misfortunes. All he really accomplished is a somewhat unpleasant experiment proving gravity still works :-). The moral of the story of course is that the almighty (if such a being indeed exists) only helps those who help themselves and we are all largely responsible for making the best of the disadvantages that come our way. As the ultimate sentinels of the Java ecosystem, it's up to folks like me at Oracle to make sure any fences that need to be mended at significant venues like OSCON are mended as much as possible.
At any rate, the Java EE 7 hands-on lab on the first day of the conference went relatively well considering it was a BYOL (Bring Your Own Laptop) effort. The openly available hands-on lab is actually a very good resource for getting your hands dirty with Java EE 7 (Arun put in the hard work to develop most of the material). The entire lab is neatly scripted into step-by-step instructions and seeded with some starter code as to be largely self-directed and self-paced. The idea is that anyone should be able to complete the lab by themselves or even lead the lab in their own organizations (a couple of folks at OSCON actually expressed interest in doing exactly this). I am considering running the lab at some friendly local JUGs as an extended meeting/workshop (perhaps calling it something like "Hands-on Java EE 7", "Down and Dirty with Java EE 7", "A Self-Guided Tour of Java EE 7", etc).
The lab being run solo by me as a BYOL was invaluable in exposing some potential weak points in the lab, GlassFish 4 and NetBeans that otherwise perhaps would have remained latent. A number of folks ran into this apparent NetBeans bug that I filed. I am having trouble reproducing the bug myself, so if anyone has an idea on how to investigate it, please do help. I also uncovered this GlassFish admin console bug trying to help a couple of folks diligently working through the lab after the workshop time slot (which is perfectly normal - it's a pretty long lab). There were a few other bugs related to JMS resource creation and Derby/schema generation that I saw but can't recreate (on Mac and Linux it seems). Hopefully the folks running into them will file bugs as I requested they do. I also noticed a few relatively minor things on the lab that I'll work with Arun to iron out, especially for folks that are beginners or are trying to run the lab on their own. If you try out the lab yourself and run into any issues, please help us by reaching out to me or filing bugs (even if they are just suspected bugs :-)).
On Thursday after lunch I had the WebSocket/JSR 356 talk. It went well with a small room packed with about 40 people (this was the room that all the Java talks were held at and it was consistently packed). I had a few good conversations afterwards and a few requests for the slide deck (posted below).
The demo code is posted on GitHub: https://github.com/m-reza-rahman/hello-websocket. Do drop me a note if you need help with it.
Since this was my first time in Portland, I took some time to explore the city. With the proud slogan "keep Portland weird", the city does indeed have it's unique quirky charm between the ubiquitous food carts, parks, gardens, open markets, one-of-a-kind stores, coffee shops, live music and events. What might be truly unique to Portland though is it's remarkable proximity to pristine natural environments. To see why, one only has to take a short train ride to nearby Washington Park and Forest Park. Being careful to navigate away from the touristy crowds onto one of the well placed trail heads, you won't have to hike too far to see sights that make it easy to imagine how things might have looked like when the Lewis and Clark Expedition first set foot in this part of the world:
All in all, OSCON (and Portland) was a unique and valuable experience. I would definitely look forward to doing it again some time.