JavaOne Impressions ...

I missed the general sessions. I heard that Jonathan's keynote address was good. I am not a JavaOne Veteran, but I think this year, it was definitely an upbeat atmosphere at the venue. San Francisco is a great city and taking a walk from the Caltrain Station to Moscone Center is a bliss. I thoroughly enjoyed that.

Note: The user name and password (I don't know why this is required, because user name/password is published at http://java.sun.com/javaone/sf. It is one of those rituals that you need to perform ... So, please use

contentbuilder/doc789

to download any of the presentations.

Day 0, Monday, May 15.

This was the preparation day. It is wise to get registered (if you are local, that is) for the conference in whatever capacity on the day before the conference commences. (Oops, I revealed the secret :) ). I was photographed as an attendee and maybe they'll publish my picture somewhere.

The registration was as smooth as ever and I thought the division of conference items was appropriate and convenient. Pavilion and sessions were on the opposite side and that made sense. Moscone Center is a really good choice for these conferences. Recent addition of Argent Hotel is also a nicety.

 Well, I got myself registered as a speaker (for the first time :) ) and was ready to present my talk and attend those from some of the Industry's finest ...

Day 1, Tuesday, May 16.

I started a bit late and reached the Moscone around noon. First session that was waiting for me was regarding new concurrency utilities in Java SE 5.0.

New Concurrency Utilities in Java SE 5.0 - Brian Goetz and David Holmes

I wanted to understand the famous java.util.concurrent package which is the result of JSR 166  with experts that are well-known in this area. Brian and David did a good job of providing an overview of high level and low level features to do the thread-safe programs both right and better. The Executor Framework looks nice. Like Joshua Bloch and Neal Gafter revealed later, we don't have to extend the java.lang.Thread class neither do we use Thread.start(). Leave it to the Executor Framework. No more need to write your own Semaphores and Thread Pools. Timer is improved.

Overall Impression: Good.

The PDF presentation is here.

Beyond JUnit: Testing with TestNG

Someone is both famous and infamous for the controversy (mostly artificial) emerging out of his blogs. Yes, Hani Suleiman presented on TestNG. (I believe that it was the same Hani who presented there). There was a lot of buzz around testing at the JavaOne and for the attendees who had registered for the session, there was a long queue to get in to the conference room. Wow!

 I could finally get in, only to witness what was a very stereotyped presentation with little reflection. It was surprising to find how barking dogs seldom bite :) (This is again if it is the same Hani). Apart from the ability of TestNG to separate "running the tests" from "tests themselves", there was nothing that I could really take home.

One thing I realized was GlassFish's adoption of TestNG (Take a look at the Quality Portal) has created a win-win situation for both. I never knew that this would be such a heavy-weight recommendation on my part ;).

Overall Impression: OK.

The PDF presentation is here.

There are a lot of other sessions that I could not attend, most notably, Eammon's presentation on JMX.

Day 2, Wednesday, May 17.

This was Joshua Bloch day. Joshua, the same Professor Joshua Bloch who is arguably the best critic of the Java Language and API design. His style was as entertaining as ever. A subtle difference that I sensed was regarding his well disguised bitterness about his former employer, which is rather unfortunate (this is strictly a personal opinion). Undoubtedly though, his acts at JavaOne were those like a hero.

Effective Java Reloaded (What to do with Java SE 5.0)

This book is coming soon to a bookstore near you. The rooms were 102/103 absolutely full and overflow room had some technical difficulties. The picture used to freeze and piss the audience off, but it appeared to me that the contents of the talk were neatly organized and informative. On popular demand though, the session was repeated on Friday at noon.

Overall Impression: Can't say.

The PDF presentation is here.

Java Puzzlers with Joshua Bloch and Neal Gafter (What not to do with Java SE 5.0)

This was an eye-opener. Careful study of the Java API lets you realize that there is a long way (still) before you could be an expert on Java. This was a resounding testimony of that. I could only get (a pathetic) 2 of the 8 puzzles that were asked at the session :(. The style was really entertaining. I have now got to assess my liking of autoboxing. I thought that was a cool and good new feature. But apparently it is not.

Also, they made a compelling case against the situation that you might arrive at when method overloading joins hands with varargs.

Overall Impression: Excellent.

The PDF presentation is here.

Integrating XML into Java - Mark Reinhold

Mark took a really good overview of what it would be like to integrate XML into Java. His homework appeared adequate to make a case for reducing the pains of the so-called XML processing. This is going beyond the parser implementations being integrated into the JRE. This is like introducing a new data type called XML into the language. This is risky and challenging and on the other hand does offer some great promises for the developer ease of use. This would soon be a new JSR for Dolphin.

One observation: The preso repeated had (mis)use of java.lang.Object.equals(Object) method like

if (!s.getText().equals("approved")) {

}

Isn't it a big "DON'T DO THIS?" Why should "demo code" be bad?

Overall Impression: Good.

The PDF presentation is here.

Immediately following this presentation, I met Eamonn and we had some interesting ideas discussed about future of JMX.

I had to prepare for my own BOF about self management along with Sankara and Nandini which was at 7.30 PM.

Declarative Self Management in GlassFish, BOF - 7782 (along with Sankara Rao and Nandini)

We covered this idea and a case study in GlassFish. Obviously the attendance was rather weak but I am satisfied with overall ideas we expressed. We did receive hard questions and I thought we did a fair job of responding to them. Maybe someone who attended it should blog about it :)?

Overall Impression: Fair

 The PDF presentation is here.

Day 3, Thursday, 18 May.

Solaris DTrace and Java

Well, Adam Leventhal (the Kernel Developer) and Jarod Jenson did a great job of explaining the use and superiority of dtrace in understanding the systemic view of processes running on Solaris and its tremendous promise in real-time diagnosis. But then the same thing. You have to bow way down (almost to the level of intimidation) before you could enter the land of Solaris OS. Why? Why should everything be inferior? Why should someone presenting at JavaOne refer to Java as "Mustang or whatever", bash legal department etc.? I mean that's entertaining to some, but not advisable at a technical session.

When will things have synergy and not combative stance? Maybe someone should reinforce the deeper meaning of "We are 105 (not 100 and 5)". (I will blog about this a bit later).

For that matter, I have a really bad experience installing Solaris 10 X86 DVD on my Dell machine. How do I start familiarizing myself with the goodies like ZFS, SMF, DTrace ...? The experience is: It wouldn't install!

Overall Impression: Very good.

The PDF presentation is here.

 I did not go there the last day. I am sure there were some entertaining sessions.

See you next year from May 8 to May 11.


Comments:

Hey Kedar,
Sorry to raise Solaris on a pedestal -- completely unintentional, but I would admit to taking some pride in what we put together in Solaris 10. As for the "Mustang or whatever" comment, I'm not really a Java guy and I have a hard time keeping track of Tiger vs. Mustang vs. Dolphin vs. Octopus and J2SE 1.4.2 vs. Java SE 5.0 vs. Java 6 etc. Can you blame me?

Yes, yes, the Solaris installer is, ahem, deficient. Big hole, I know, and it's being worked on. For the time being, try running Solaris as a VMware guest.

Glad to hear you enjoyed the session, and I hope you can make some use of what Jarod and I talked about.

Posted by Adam Leventhal on May 21, 2006 at 05:17 AM PDT #

Adam, No doubt you guys have done an incredible job on S-10. Hats off!

I am not sure if it was the impeccable confidence that you displayed (you deserve it) that made me write it. I just somehow feel that we have a better alignment in terms of features that we offer. For example, I'd want to know how I could make an app server user's life better if there is an easy integration of its (that of app server) admin console with DTrace. I need to play more with it in order to form an opinion and more importantly demonstrate solution of a problem (or maybe a class of problems).

I attempted such thing with SMF integration (http://blogs.sun.com/roller/trackback/bloggerkedar/Weblog/app_server_and_solaris_10), want to do same thing with DTrace and other goodies in the most stable platform till date. If the features in Solaris are not integrated appropriately, how can our administrators know of it?

I need Solaris 10 DVDs to be readily available for installs on any X86 laptops. I am going to buy one cheap AMD box soon. Maybe I will send you an e-mail then, to help me install the bits? :) Regards, Kedar

Posted by Kedar Mhaswade on May 22, 2006 at 10:41 AM PDT #

Are the PDF links supposed to be publically available? I'm getting asked for user/password.

Posted by Dick Davies on May 23, 2006 at 09:50 PM PDT #

Updated the blog with user name and password. It is funny that it requests for the password. Use contentbuilder/doc789.

Posted by Kedar Mhaswade on May 24, 2006 at 03:25 AM PDT #

Works great, appreciate it!

Posted by Dick Davies on May 25, 2006 at 12:53 AM PDT #

Post a Comment:
Comments are closed for this entry.
About

Welcome to my blog where mostly my work related thoughts are expressed.

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today