The Source for Java Technology Collaboration
User: Password:



Gregg Sporar's Blog

May 2007 Archives


Talking About JavaOne 2007

Posted by gsporar on May 30, 2007 at 07:12 PM | Permalink | Comments (6)

Unlike past years, I did not blog during JavaOne this year. I posted one entry the day before JavaOne started, providing a recap of NetBeans Day San Francisco. But other than that, I was silent. This was by design. I find that time spent blogging takes away from time spent going to sessions, socializing, and most importantly, sleeping.

This blog will serve as a substitute. It is a bit tardy in arriving because after I got back from JavaOne I came down with the flu. So I am just now getting back to full strength.

At last night's meeting of the Austin Java Users Group the topic was a recap of JavaOne. I talked about what I saw, along with three other members who attended: Rich Cohen, Rob Ratcliff, and Michael Yuan. So while this blog entry might be late in arriving, it has more content because I will try to describe some of the comments from Rich, Rob, and Michael.

Rob started things off with some excellent photos, videos, slides, and the demo from his JavaOne technical session, Designing Scalable High-Performance Rich Clients from the Trenches. I had attended Rob's session and the demo was pretty cool: synchronization of sensor data, plotted geographically (and in other ways as well) in a Swing application. Lots of non-trivial problems to solve to get all that to work correctly.

Rob said he mostly attended the Desktop talks and he seemed pleased with the quality of them. He and I talked about how much we both enjoyed Ben Galbraith's Debugging and Optimizing Swing Applications presentation. Rob also showed the JavaFX and World Wind demos. It had been several years since Rob had last been to a JavaOne and he commented on how much the crowd control has improved.

I was up next and in contrast to Rob I had no presentation slides, interesting pictures, or cool demos. Rob was kind enough to leave the World Wind demo up on the screen. For my money, World Wind was the coolest looking demo I saw at JavaOne this year. I spent most of my time, however, talking about JavaFX. In particular, JavaFX Script. To me, there are several pieces to watch for in order to gauge how much of an impact JavaFX Script will ultimately have:

  • A compiler. Right now the language is interpreted. Luckily, there are some really smart people around Sun who know how to write compilers.

  • The deployment piece. Creating an appealing application quickly is not helpful if the potential users cannot get the JRE running. Again, some smart people are working on this.

  • The media piece. Wouldn't it be nice to be able to easily support playing movies within a Java (or JavaFX Script) application? Read more about this in an entry from Chet Haase.

  • The tools. Right now there are plugins available, which is a good start. But in addition to improving those plugins, it seems like an entirely new set of tools is needed to compete against things like Adobe Illustrator.

Rich Cohen was up next and he described some of the talks he enjoyed the most. I recall he specifically mentioned the talk on Testing Concurent Software. Rich also commented on something that I noticed this year as well: the schedule was changed so that there was a break during lunch time. The last couple of years they scheduled technical sessions during the lunch hour and this year (thankfully) they did not.

Michael Yuan finished things up with a really good presentation whose central theme was: the big news from JavaOne 2007 was that there was no big news. He used as one of his data points the fact that most of the books on the top 10 list at the JavaOne book store were books that were available last year. I think he makes an excellent point. He admitted that JavaFX Script looked interesting, but that it is of no relevance to him (and by extension, to many other JavaOne attendees). This is a direct result of Michael's focus on Java EE, which in all fairness is where a lot of the work in the Java world is done today.

Michael's real passion is mobile devices, however, and his comment on JavaFX Mobile was very clear: "Thanks, but no thanks." His concern is the lack of handsets and he is skeptical that the major handset manufacturers will sign on to the idea.

There were quite a few questions and discussions with the audience. All three of the other presenters said nice things about NetBeans Day San Francisco, so I told the story of Bob Beasley and his Doggie Oral Reward Kit (D.O.R.K.) which was built in part with the NetBeans Visual Web Pack and a Sun SPOT.

One of the questions I was asked about JavaFX Script was: "What is the advantage of this over Flash?" to which I responded: "Easy access to the wide world of Java software out there." Another question was: "How does this compare to SVG?" to which I paraphrased a comment from Chris Oliver, the inventor of the JavaFX Script language: "I didn't like describing my user interface in XML."

So all in all, a fun evening. The photo below is of me, Michael, Rich, and Rob.

DSCN2948.JPG

NetBeans Day San Francisco, 2007

Posted by gsporar on May 07, 2007 at 08:09 PM | Permalink | Comments (2)

After several years at the Argent Hotel, for 2007 NetBeans Day San Francisco moved to the Moscone Center. The room at the Argent was no longer large enough.

There were 1,380 people registered for this event. Actual attendance at the opening general session looked to be around 1,000 (last year we had about 800, the year before about 550). This year for the first time there were additional sessions going on as part of CommunityOne and folks were free to mix-and-match NetBeans Day sessions with the talks that were done by the GlassFish folks, and OpenSolaris, etc.

The opening session for NetBeans Day was straightforward. Jeet Kaul, who is the Vice President of Developer Products and Programs at Sun was the emcee. He talked about how the NetBeans community has grown over the years and used a chart that showed email list subscribers to make his point. He chatted with Adam Myatt of General Electric, the author of a recently released book about the NetBeans IDE. Jeet also talked with folks from two of the companies that are in the NetBeans Strategic Partner Program: Sprint and InfoSys.

The main entertainment during the opening session was from the big brass: Jonathan Schwartz and Rich Green. They did an informal discussion where Jonathan asked Rich "hard questions" such as, "Where did Java go wrong?"

After that, it was time for an entertaining lunch with the Java Posse. They got up on stage and recorded a podcast episode while the attendees were eating lunch. According to Dick Wall, some of the feedback they have gotten is that they should be more controversial. So they went through and did not only a top ten list of things they would like to see added, but also a top ten list of the things they would like to see removed from Java. My favorite from that list was Tor's suggestion that close() should not throw IOException.

Lunch was followed by break out sessions. There were two tracks. In Track A the first session was all about the new features in NetBeans 6.0. Jan Lahoda started things off with a demo of the vastly improved editor. He was followed by Geertjan, who talked about Project Schliemann. After that Arseniy Kuznetsov got up and did some quick demos of new debugger features and also showed the local history and visual diff features. Finally, Jiri Sedlacek (who blogs here) did some demos of new features in the NetBeans profiler: profiling points, the areas of interest graph, and dynamic attach. I finished things up with a quick demo of the JMeter integration and the profiler's Heap Walker.

Meanwhile, over on Track B there was a session I did not get to attend. It was a showcase for two NetBeans Strategic Partner companies. Collabnet showed off their Subversion support in the NetBeans IDE and Yasu Technologies demonstrated their business rules engine plugin. From what I heard it went okay.

The second session on Track A was all about the enhancements to the NetBeans GUI builder (formerly known as Project Matisse). The big news is support for the Swing Application Framework (JSR 296) and for Beans Binding (JSR 295). Hans Mueller and Shannon Hickey, respectively, led those discussions. The 296 demo was a Flickr "search" utility and it was entertaining to see what sorts of random images were found for various terms. For some reason, the first image found for "James Gosling" was a picture of swans.

The other topic covered in that session was additional GUI building features that are being added in NetBeans 6.0. These have been available on the NetBeans 5.5 Update Center for a while so I was already familiar with them. So I went over to see the remainder of the session on Track B, which was all about support for developing mobile applications. By the time I arrived, Martin Ryzl was introducing Eric Arseneau, who demonstrated the NetBeans mobility tools being used to develop an application for Sun SPOTs.

The final break out session on Track A was on JRuby and I decided to skip it. I had just seen an excellent presentation by Charlie Nutter and Thomas Enebo on JRuby a few weeks ago and I have also seen Tor Norbye demonstrate the excellent Ruby tools that are available in NetBeans 6.0. So I decided to attend the final session on Track B, which was another partner showcase featuring Intland and Xoetrope.

The Intland presentation was mostly done by Olaf David, who is a customer of Intland. Olaf works for the United States Deparment of Agriculture (USDA) and he and his team make extensive use of both NetBeans and Intland's CodeBeamer server software for application lifecycle management (ALM).

The Xoetrope session was about XUI, an open source framework for building rich Internet applications. The speaker was Luan O'Carroll and he did demos of XUI applications. He used plugin modules that Xoetrope has created for the NetBeans IDE to build the sample applications.

At the end of the break out sessions there was a closing keynote by James Gosling. My co-worker Brian Leonard told James about the two guys who went all the way to Israel to deliver a NetBeans CD. Brian showed the short film that they made, which was actually pretty entertaining. Using this film as inspiration, we will be doing a video contest - more details soon.

And then it was time for James's NetBeans "toy show." There were three toys this year. First up was Henry Story who does research on the semantic web. Henry did a demo of his NetBeans plugin. Next up was Geertjan with his NetBeans-based movie player.

But the biggest hit by far was Bob Beasley and his dog-training application. Bob used the NetBeans Visual Web Pack to create a web application that he can use for doing remote training of his dog Sadie. Sadie was unable to make the trip, but Bob brought a movie of Sadie in action.

So as usual, another fun and informative day. Photos soon (I hope).



JavaOne 2007 Has Not Started Yet

Posted by gsporar on May 06, 2007 at 04:06 PM | Permalink | Comments (0)

DSCN2916.JPG

It is deja vu all over again.... Last year on the Sunday before JavaOne it was unseasonably warm in San Francisco. At 3:00 PM this afternoon the temperature was 81 F (27 C)! And just like last year, I was walking along minding my own business and I came across two guys that I know eating lunch.

Last year it was Michael Kölling and Ian Utting. This year it was Geertjan and Tom Wheeler. So I chatted with them for a while and then when registration opened up we went over to Moscone.

At Moscone we ran into a whole group of people that I know: Michael Yuan, Martin Adamek, Jarda Tulach, Charles Ditzel, Chet Haase, etc.

I suspect all of those folks will be at NetBeans Day tomorrow. If you are in the area, please stop by. It is a free event, but you do have to register.



Tracking Down Memory Leaks, Part 2

Posted by gsporar on May 01, 2007 at 09:41 PM | Permalink | Comments (0)

Part 2 of the memory leak article I wrote with Sundar has been published. This time around we added our co-worker Frank Kieviet as an additional author. As with Part 1 of the article, the editors at Software Test & Performance magazine provided a more descriptive title: "It's Not Just The Younger Generations." It begins on page 26 of of the May, 2007 issue.

Part 1 of the article discussed what I refer to as "regular" memory leaks. In other words, objects allocated by an application's code that are no longer being used but that continue to live on the heap because of an inadvertent reference that prevents the vitual machine's garbage collector from removing them.

I refer to these as "regular" memory leaks for two reasons. First of all, they happen all too often. Second, the objects are on the "regular" part of the heap, which is used to hold objects allocated by using new. In other words, the portion of the heap controlled by the -Xmx and -Xms flags. For folks who are really into the implementation details of the garbage collector, these are the young and tenured generations of the heap.

The permanent generation, on the other hand, is a very different beast. It is primarily used by the virtual machine to store things like class data. So just the running of a Java application causes the usage of permanent generation memory - the application code itself does not have to do anything.

This indirect link between application behavior and usage of the permanent generation can make tracking down memory leaks in the permanent generation very difficult. Frank Kieviet has significant experience tracking down these sorts of problems and his contribution to the article was invaluable.

If you are attending JavaOne next week Frank and Edward Chou will be doing a BOF on the topic of permanent generation memory leaks. I'm hoping Frank and Edward will show up for JavaOne one day early in order to attend NetBeans Day on May 7. If you plan to be in the San Francisco area that day, be sure to join us - it is a free event, but you do have to register.

One final note - I spotted two typos that snuck into the article during the layout process:

  • On page 29 this command line flag is specified: "XX:+TraceClassUnloading" and it should begin with a hyphen "-XX:+TraceClassUnloading"

  • On page 30 there is a sentence that starts "With JDK 6, simply use the new-dump option...." A space character got removed - it should read "With JDK 6, simply use the new -dump option...."





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds