JavaOne 2008 – Travel Report


Tuesday May 6th (JavaOne opening Day)

Travel: Mark McBride and gang picked me up and rode AmTrak to the Bay, then checked into the Hotel Monaco.

TS-5206 – Fortress: A Next-Generation Programming Language Brought to You by Sun Labs

I was not registered for a session at this time, but was able to get in last minute. Fortress, which looked to be a continuation or knock off of Fortran, has some neat features, but mainly would only be useful for complex mathematical equations or linear algebra. One of the features was that you could use actual functional equations as Fortress code. Most of the audience was researchers and scientific professionals.

TS-6623 – More “Effective Java”

Joshua Bloch presented a fast run-down of how to use some effective patterns when using Generics and Enum Types. After the session, we all purchased Mr. Bloch’s new edition of Effective Java and had him sign it.

General Seesion – Sun General Session Java-Centricity: Leveraging Java Technology at the hub of your Digital Life

We got into this session halfway through and sat in the back row. Neil Young (68 years old) showed up and was pushing his new Blu-ray disc and discussed some of the high-level Java technologies to make some of the features possible. The main presenter was pushing GlassFish as their new and improved product. I was expecting something new and innovated, but I guess since Java is such a mature language, no new innovations.

TS-4986 – JavaScript™ Programming Language: The Language Everybody Loves to Hate

Presented by Roberto Chinnici, Senior Staff Engineer of Sun Microsystems, the presentation was a releasing and humorous discussion about how JavaScript is a functional programming language, has Object-oriented JavaScript technologies, and it’s a language that everyone loves to hate, meaning it’s misunderstood. Chinnici discussed how JS is a functional language, meaning that you can create functions within functions, assign variables as functions, and pass functions as parameters. He discussed some of the items why people love to hate JS, one being that there is no warning when there are multiple definitions of variables. Chinnici discussed creating objects and prototypes with JS, and the lack of original JS libraries. He did point out that in the future, JS will continue to but 3rd party libraries, such as Prototype, jMaki, Dojo, jQuery, Ext JS, Google Caja and so one. An interesting point was that he did not meaning anything about the YUI and emphasized that Java engineers only want to deal with JS when it is always integrated into the Java library, just as Dojo and Struts. Since we are starting to look at Web 2.0 technologies (buzz word), we should probably start looking at a way to have a JS library integrated into our Java libraries.

Code-Gear Party – ThirstyBear

We previously visited the Code-Gear booth early and tried to get them to sell us on JBuilder, and they invited us to their party. We accepted their free t-shirt and showed up at the party. The IPAs were flowing that night and I was a thirsty bear… I chatted with one of their sales reps, Andre, but I was still not sold on JBuilder.

Wednesday May 7th

TS-5250 – Asynchronous Ajax for Revolutionary Web Applications

The presenters were Jeanfrancois Arcand and Ted Goddard, Ph.D. I did not realize it, but Ted Goddard is the author of Ajax in Practice, which if I realized it, I would have purchased his book and had him sign it. I guess I’ll just have to search, Amazon or Half.com. Anyway, this was one of the coolest presentations that I attended. They discussed how you need to use AJAX, aka Web 2.0 technologies, or get out of the software industry. It’s not a new technology anymore, it’s current technology. They discussed some of the features that ebay, flickr, YouTube, and Blogger use with AJAX. They had multiple demonstrations showing how AJAX is used to synchronize browsers from multiple clients. One demo showed three browsers, where one client would move an object within their browser (drag and drop) and the other two browsers would be updated with an AJAX push, which made the other objects move as it did on the original client. This was similar to having a shared desktop or a remote access. The neat thing about AJAX push (Comet or Reverse AJAX) is that a client (or server) is pushing data/content to the server and then out to other client, making a complete circle, aka asynchronous AJAX (http://java.sun.com/developer/technicalArticles/J2EE/AJAX/). This something that PowerSchool could be able to use to broadcast messages to its clients, or dynamically update data client as it is updated to the server. Later in the presentation they compared what servers supported AJAX Push: Jetty, Tomcat, GlassFish, Resin, and WebLogic. And at the end they were pushing GlassFish and the new and improved support AJAX push server-side solution.

TS-5739 – Hands-on Struts2

Presented by Ian Roughley, consultant, which was a high-level discussion of Struts2 and some of the differences from Struts 1. Struts is new to me, but this did fill in some of the blanks that I misunderstood. The presentation linked the different components of struts together and Roughley basically explained how to setup Struts2 application from the ground up. One feature that was neat was that he showed how AJAX is integrated into Struts (via Dojo) and that with a few simple attributes added to the code, you can get an XML or JSON response, all at the same time not coding one single line of JS. Roughley is the Author of two books, Starting Struts 2, and Practical Apache Struts2 web 2.0 Projects.

TS-5509 – Java™ Persistence API 2.0

This was a very technical and code driven presentation. I was fighting myself to stay awake. Personally, I do not know JPA that well, but it was a little over my head and I was not able to pull much from the presentation. Linda DeMichiel (Sun), the presenter, discussed the following: O/R Mapping and Domain Modeling, Runtime APIs, Queries and Other Features in the Queue, and the JPA Roadmap.

TS-6304 – How to Port phoneME™ Advanced Software to Google Android, iPhone, OpenMoko, LiMO, and More

Hinkmond Wong (Sun) was to present how to port phoneME applications to new phone technologies, which ended up of only being 10 minutes of actual presentation. The first 50 minutes was devoted to the Open Source community of phoneME (https://phoneme.dev.java.net/source/browse/phoneme/) and how to setup your environment for building. Ideally, I was hoping to get some ideas that multiple phone SDK/Library platforms have in common, but the presentation did not render any help.

Eclipse – ThirstyBear

I know McBride loves Eclipse, so I RSVPed everyone to attend the Eclipse party at ThirstyBear. This event had more people and the IPAs were flowing strong, but we enjoyed a few Brown Ales that night.

Thursday May 8th

TS-5302 – Advanced Web Application Security

This presentation was a great eye opener for security. Presenters Jeremiah Grossman and Joe Walker showed how many different hackers use JavaScript, cookies, and XSS, and CSRF to hack systems or extract personal data. CSRF (Cross Site Request Forgery) is one way that hackers can impersonate another website and pull the clients cookies to gain access to gmail, social networks, online banks, and other sites. The easiest protection against CSRF is to force users to logoff or user double-submit cookie patterns (read the cookie with JS then submit it in the AJAX request). They showed many ways of using JS for JavaScript Hijacking. XSS (Cross Site Scripting) is allowing scripts from some ones un-trusted page into your domain. These are injected through form fields, mainly seen on social networks, blogs, and web emails sites. Even though you are logged into your account, these links to other un-trusted sites can put yourself/company at risk. The solution is to validate all form fields or only allow certain html tags and attributes. After each topic, they showed demos of how this works in a social network environment.

TS-6457 – Choosing Your Java™ Technology-Based Web Framework: A Comparison

Richard Pack presented this session and he did an okay job of comparing Java technologies. Of course this session was a high-level discussion, but he narrowed the comparison down to Groovy/Grails, Google Web Toolkit, Struts 2, Tapestry, and Wicket. His discussion seemed a little bios toward Tapestry and Wicket, because he did not have much hands-on experience with Struts 2 (Only Struts 1) or Groovy/Grails. Overall I felt Pack would suggest Tapestry over the others, but personally, I would have an issue with this, because my understanding is that with every version of Tapestry, they re-architect the technology, making previous versions incompatible.

TS-5596 – Pimp My Build: 10 Ways to Make Your Build Rock

Matt Quail and Conor MacNeill presented a humorous talk about how to spice up your Ant or Maven. Most of the talk was about Ant. They showed how to add sound files, build splash screens, macros, and integration into growl.

JavaOne Party – SmashMouth

SmashMouth = cover band = they sucked.
The free ice cream sandwiches were good.

Friday May 9th

TS-6537 – Applications for the Masses by the Masses: Why Engineers Are an Endangered Species

This discussion was an interesting talk about how Engineers now will be building the framework and libraries of tomorrow. The presenter, Todd Fast, pointed out that kids in high school are now coding applications for social networks (FaceBook, Friendster, MySpace, etc.), and these applications are being downloaded or used by millions of people. He called these disposable Applications, were one or two people build an application, it only last for a short time, but it is used by mass amounts of people. For individuals to code these apps, they have to have a framework, and that is were the engineers of today are headed. He also pointed out that Open Source communities are also pushing this kind of environment, where mass amounts of people can contribute a small amount of time, to create a collective framework. Which in turn, individuals’ will then create additional disposable applications.

TS-5234 – LinkedIn Communication Architecture

The presenters, Ruslan Belkin and Sean Dawson, did a great job of showing how they build the LinkedIn architecture. They discussed how they resolved some of the issues they came across when their network grew faster than expected. This reminded me of the problems we have had converting to PS Premier, dealing with performance and scalability. One interesting thing was that their entire architecture is 100% Java based, with 22 million members, this give me hope that we can scale to even larger school districts, one we move to a more Java based architecture.

Travel: We checked out of the hotel and traveled back home on AmTrak. We had some lady next to us get all made because we chatted about the conference the entire way home. Maybe she should have slept in the sleeper car?

  1. No comments yet.

You must be logged in to post a comment.