Skip navigation

Holiday Pictures 2006

For technical reasons related to Wednesday's crash, we weren't able to produce the "Holiday Pictures 2006" as a feature article, like we've done in the past, so I'm going to use the last blog of 2006 to share the various contributions.

Daniel López is thankful this holiday season for the open-sourcing of the Java platform. So he sent in "a quick shot inside the office with a Duke we had from a J1 edition, the Suse mascot a Linux guy had on top of his monitor and a mini-Christmas tree my girlfriend handycrafted."

Merry open-sourced Christmas


Balakumar Muthu sent in two pictures, and writes "I would like to dedicate this picture to the Java Developers community all over the world and especially to Mary Smaragdis, Sun Microsystems."

Duke and Mickey


Duke goes for a ride


Finally, Leonardo S. De Seta writes in: "Duke has been around here, in Buenos Aires, Argentina. I just met him at the Obelisk, an emblematic and traditional monument in this city. He asked me to take this shot and send it to you. So, here it is!"

Duke in Buenos Aires

Thanks to everyone who participated.

This is the last editor's blog for 2006. We'll be freezing the front page next week so that we can spend the holidays with our families. Projects, forums, weblogs, mailing lists, wikis, and community pages will still be live, so feel free to check out the various parts of the site. We'll be back with a new front page on Tuesday, January 2, 2007.

Today will also be the last day for the "Java News" section. I'd like to say thanks to News Editor Steve Mallett, who worked on the section alongside his many other pursuits. Steve set up a site called to assist with pulling in the daily news, and if you're interested in a constantly-updated collection of Java headlines from about the web, check it out. Thanks again, Steve.

In Java Today, Peter von der Ahé has posted a Java SE 7 wish list: "With JDK 6 released, we are considering features for inclusion in JDK 7. Here is a list of things I would like to see..." His list includes "real" closures, type literals, some shorthand syntaxes, and more. He also pointedly wishes notto have three proposed features show up in JDK 7: Strings inswitch statements, XML literals, and an overloaded dot operator.

The sungrid project is the parent to Sun Grid Developer Community projects as they migrate from to The Sun Grid Compute Utility at provides easy and affordable access to an enormous computing resource over the Internet for the predictable and all-inclusive price of $1/CPU-hr.

The jdk-distrosproject, which provides packages of Java releases for Linux and OpenSolaris under the Distribution License for Java, has released bundles for Java SE 6. Bundles are available from the project's developer information page. Note that these downloads are intended for distro developers only and not end users, who can get Java SE 6 either from their distro or from the main Java SE 6 page.


Let's pretend yesterday never happened

Depending on when you looked at the front page yesterday, you may have seen new content in the center column, or Tuesday's items, or some stuff from June.

Sorry about that.

What happened is that coincident to a CollabNet maintenance window, and apparently unrelated to it, our app server and database had a bad crash. Rebuilding the db left us with no data newer than June. So, the team decided that the best remaining option was to roll back to our last backup, which was from late Tuesday. Unfortunately, this means that some content on the "O'Reilly side" of the site -- forums, blogs, news items, community page content -- posted late Tuesday or before Wednesday's crash, have been lost. We're sorry about that, and we're having a meeting later today to post-mortem the crash.

Today's page re-uses some of the items that were on Wednesday's lost page (which was up for only a few hours before the crash), but the forum messages I had highlighted are gone, so we have different forum postings. Also, I updated the story about the QuickTime for Java security hole with new links about that story.

Check back tomorrow for a fully-refreshed page, including Duke's Holiday Pictures.

In Java Today, the 1.0 release of Project Looking Glass, the Java-based 3D desktop, has been announced and is available for download as "mega-bundles" (including the JDK and Java3D) for Windows, Solaris, and Linux, and as a standalone install for Ubuntu, general x86 Linux, and Solaris. If you're new to Looking Glass, you can get some guidance from the guides Getting started with the Project Looking Glass Developer's Release orRunning the Project Looking Glass Developer's Release on Microsoft Windows.

MacSlash notesApple's release of Security Update 2006-008 which fixes a vulnerability involving Quartz Composer and QuickTime for Java. "This is a particularly fun bug. Quicktime for java is available to unsigned applets with certain restrictions. Until today, those didn't include restrictions on quartz composer movies. That means that the trick that's been floating around the web which displays live iSight footage in a web page can actually be used to send the user's picture up to the server that hosts the movie" MacSlash links to a demonstration of the flaw, and an O'Reilly Network blog has source for an equivalent exploit.

The article Google Deprecates SOAP Search API reports that "Google has deprecated its SOAP Search API, withdrawing one of the most prominent examples of Web service usage on the Internet. The remaining AJAX Search API is only a partial replacement." The article also points out feedback from some around the web, including Steve Loughran's claim that this represents the beginning of The End of SOAP.

Is everyone switching teams? First it was Joshua Marinacci, now it's David

Fun goings-on at end-of-year conferences

As much as we've been talking about JavaOne 2007 because of last week's proposal deadline, it's easy to forget there are some December conferences to close the book on 2006. Last week was theJavaPolis conference in Antwerp, overlapping in its last days with the beginning of The Spring Experience in Hollywood, Florida.

We're highlighting some blogs from these conferences in today'sWeblogs section. Actually, it's worth mentioning that there's more than would fit on our front page, so for further reading, you might want to check outChet Haase's brief report on speaking at JavaPolis. And to start building out your conference schedule for 2007, Ben Galbraith has an update on his "Desktop Matters" conference.

Let's start with Eamonn McManus' The Spring Experience 2006 (2), which conintues his recap of the conference: "Following on from my previous entry, some notes from the sessions I attended at the rest of the conference, including my own, with miscellaneous remarks about airports, trains, hotels, and raison d'tat."

Hans Muller's session was atypical in the extreme, as he reports in Javapolis Session Interrupted by Marriage Proposal: "This year I gave a session at Javapolis about the Swing Application Framework. Before it was all over, there was a surprise announcement."

And in a look back to one of JavaOne's most popular sessions, Scott Violet shows off the Extreme List View: "In my last blog we finally released the source for this years Extreme GUI Makeover talk; hooray! There are a number of aspects of the app that are worth exploring. For this blog, I want to explore how the extreme list view was done."

In Java Today, the Java 3D Project has released version 1.5.0 of their 3D graphics API. "The Java 3D API provides a set of object-oriented interfaces that support a simple, high-level programming model you can use to build, render, and control the behavior of 3D objects and visual environments" 1.5.0's new features include a JOGL Rendering Pipeline, support for non-power-of-two textures, NIO image buffer support for textures, a prototype lightweight JCanvas3D utility and more. You can download 1.5.0 from the project's release builds page.

The Java Tutorials' blog answers the question Why is Swing Called Swing? "Since I started at Sun in June of '99 I only recalled that Swing was used as the code name and it stuck. So I asked Jeff Dinkins, one of the original Swing engineers and former manager of the Swing team. Here is the story, from Jeff."

After talking with JUG-Leaders all over the world, Ahmed Hashim of the Egyptian Java Users Groupsuggests points on How to make a Successful Java User Group. If you have an inactive user group, or when you are going to establish a new user group, check out these tips.

In today's Forums,pohl has some concerns about JPA and clustering: "But this got me to thinking: what about a clustered environment? If I have two servers, and one of them changes an entity row that exists as a cached entity on the other server, then the same situation can result, right? Does the clustering in v2 keep JPA caches syncronized? If so, what would I need to do? If not, then should I be avoiding JPA?"

peppertech is trying to track down a jMaki permission denied error: "I need a bit of a kick in the right direction. I have created a very simple jMaki project in Netbeans and have deployed it to a Resin server that my Hosting provider is using. The pages starts to display in the browser but then stops before it renders the dojo.clock and dojo.according widgets with an error of... "uncaught exception: Permission denied to call method". I'm sure this is something that my hosting provider has messed up on their end (I've had to work around a lot of things with this stupid Resin server) but I don't know where this would be getting called in the code."

Finally, the JavaOne 2007 planning forum has added a topic for discussing the Community Corner, and bboyes writes: "Robotics will be here with posters, live demos (including wireless sensors and SunSPOTs this year), and mini talks. We've made a couple of session submissions, both involving open-source code hosted at So we think it's going to be possibly the best JavaOne ever. One reason is that we actually started on all this a couple of months ago (I know that seems hard to believe). We'll plan to have some demos running at the Monday night reception. Look forward to seeing you all there!"

In today's News Headlines :

Registered users can submit news items for the News Page using our news submission form. All submissions go through an editorial review before being posted to the site. You can also subscribe to the News RSS feed.

Current and upcoming Java Events :

Registered users can submit event listings for the Events Page using our events submission form. All submissions go through an editorial review before being posted to the site.

Archives and Subscriptions: This blog is delivered weekdays as the Java Today RSS feed. Also, once this page is no longer featured as the front page of it will be archived along with other past issues in the Archive.

Fun goings-on at end-of-year conferences  

People Get Ready Blog

Posted by kfarnham Dec 18, 2006

Are you ready to start using closures?

If there's one thing we've learned from the generics argument, it's that when language changes are being discussed, you pretty much have to take a side. If you don't like a library, you can just choose not to use it, but with new syntax, sooner or later you're going to be expected to use, or at least maintain it. The problem with the generics discussion is that too much of it happened after generics were added to the language, when it was too late for those who thought them overkill to really do anything about it... and simply ignoring them turned out not to be an option.

That's why I think that the closures proposal for JDK 7 is getting a closer look -- you might never plan to write one, but if closures become part of the language, you'll have to at least understand them, so better that they make sense and deliver some substantive value, right?

The question is, will closures provide enough value to merit all the millions of Java developers around the world having to learn a new syntax? Mikael Grev has kicked off an extensive discussion on JavaLobby with his JDK 7-oriented argument Why Closures in Dolphin is a Bad Idea, which we feature in the Java Today section. He starts out by proving that he knows what closures are and then wonders whether there are sufficient use-cases for closures that can't already be handled by existing tools, like anonymous inner classes. He also questions whether it's really worth the cost of making developers learn a new syntax, and whether it makes sense to try to closure-ify core Java API's like the Collections framework that weren't designed to use closures. He ends his case with a warning:

I think that closures are the rocket scientist's answer to a problem that can be solved by a plumber and a carpenter. If closures would have been here from the beginning I would have loved it but that is not the case and there's nothing we can do about that now. C++ went down the power over simplicity road and never came back.

Also in Java Today, the Java EE 5 SDK Update 2 and Java Application Platform SDK Update 2 have just been released, to capitalize on last week's release of Java SE 6. The SDK includes the GlassFish-based Sun Java System Application Server Platform Edition 9.0 Update 1 Patch 1, samples, blueprints, API documentation, a portlet container, and more. The "platform" download also includes NetBeans IDE 5.5 with NetBeans Enterprise Pack 5.5. For more information, Inderjeet Singh describes the contents and performance improvements of this release in a recent blog.

Kelly O'Hair has posted a JDK6 Build Cheat Sheet, which actually applies to builds of both JDK 6 and JDK 7, and in part to JDK 5. He shows how to use build flags to control the build and just include the features you want, as well as how to build just Java SE and not the VM, or just HotSpot and not the VM.

Reminder: there are just a few days left to send in your pictures of Duke's holiday for our annual year-end roundup. Please send pictures by Tuesday.



The End Blog

Posted by kfarnham Dec 15, 2006

Deadline for JavaOne 2007 Call For Papers

Well, if you're planning on speaking at JavaOne 2007, and you haven't submitted your proposal, today is officially crunch time. The Call for Papers closes tonight... lucky for you that Sun tends to set its deadlines by Pacific Time, which is pretty much behind everyone else, so you'll get a few extra hours just from that.

I sent my angry little BoF in (it'll never get accepted, but maybe I'll blog the content next year), and Daniel Steinberg told me by IM of a couple different sessions he was sending in. Annette Vernon said there were 319 submissions as of Wednesday evening. Of course, she also notes that last year there was a rush of over 1,000 submissions in the last 24 hours, so we'll see if that repeats itself this year.

Word to the wise though: leave yourself an extra hour or two before the deadline to deal with the submission system. It's the same one as last year. And I don't mean that in a good way.

So, with JavaOne on the brain, the latest Poll asks "How many session proposals did you submit for JavaOne 2007?" Cast your vote on the front page, then check out theresults page for current tallies and discussion.

Whether you're proposing a paper, planning on attending, or just want some attention paid to topics that interest you, check out ourPlanning JavaOne 2007 forum, which has been set up as a place to discuss the kinds of sessions you'd like to see at next year's show. One such message kicks off today's Forums section, with midipig asking for CDC coverage in the thread Re: Java Platform, Micro Edition (Java ME): "I'd like to see some CDC related topic, especially about the new JVM that comes with every Blu-ray player. Is there any other CDC platform that allow us to program on?"

dineshvasudevan is using JDIC and needs advice Accessing IE browser engine: "I am working on a swing application that actually has an embedded browser inside it. I used the jdic browser with IE as the browser engine. Now i need some added functionality in the browser. I need the actual object detail of the DOM object to be passed to my application when i hover over a particular DOM object like a textbox ( similar functionality that the firebug plugin of firefox has ) How can i access the IE engine or do i need to do some thing else to achieve this functionality?"

kennardconsulting is looking to figure out how Swing can trump Ajax in How to kill the Seductive Web Browser? "So Java 6 is upon us, with all its desktop improvements, and frankly looking at the current crop of increasingly hacky AJAX web applications I'm starting to think maybe Swing/Web-Start rich clients are the future. The problem, though, is that the Web browser is seductive. When my client first comes to me and says 'we just want a simple, entry-form application', then really a browser-based app is the right choice. Later when my client says 'we want you to link these two drop down boxes to update in real time', then I could rewrite the whole thing in Swing, but you can also just hack in a bit of AJAX and you get to the same place quicker."

Reminder: there are just a few days week left to send in your pictures of Duke's holiday for our annual year-end roundup. Please send pictures by Tuesday, December 19.

In Java Today,JFreeChart author Dave Gilbert tests out Java SE 6 performance in Is Java SE 1.6.0 Faster? Oh Yeah!. "I'm impressed! In all cases on 1.6.0, 500 charts are created (from scratch) in less than 10 seconds (that's 50 to 70 charts per second). And the performance boost going from 1.5.0_10 to 1.6.0 is staggering!"

The classpath is one of the most complex and infuriating parts of the Java platform, but mastering it is essential to becoming a professional Java programmer. In the article Managing the Java classpath (UNIX and Mac OS X), Elliotte Rusty Harold lays out the intricacies of the classpath and sourcepath and shows you how to master them on UNIX and Mac OS X. If you're using Windows, see the companion article.

The tutorial Beginning JNI with NetBeans C/C++ Pack 5.5, Part I will guide you through the creation of a sample application which uses JNI to execute some native code written in the C programming language. For the Java part of the application you will use NetBeans IDE 5.5; for the C part - NetBeans C/C++ Pack 5.5. You will start off by creating a simple Java project, adding a native method to it and then implementing this method in C using NetBeans C/C++ Pack 5.5.

Bug reporting systems for open-source Java top today's Weblogs, with Sue


Five to One Blog

Posted by kfarnham Dec 14, 2006

Running late again...

OK, late blog today... sorry about that. It's been a weird week, getting ready for the holidays and wrapping up work for the year. O'Reilly accounting naturally wants to close their books before the company's holiday break, so all us editors have to resolve all our billable business this week. Add to that the deadline for JavaOne proposals (more on this in a minute), and it seems a week of urgent little tasks.

I did dinner last night with author and blogger Jonathan Simon, who has started a new full-time programming gig here in Atlanta, though he'll apparently be primarily working remote from Phoenix. This is one of those arrangements that's becoming increasingly common: O'Reilly is headquartered in California, but the last two editors have been in the Eastern time zone (Daniel in Cleveland and me in Atlanta), and if you keep up with the prolific Joshua Marinacci, you'll recall he announced he is moving to Oregon, where he'll be a remote member of the NetBeans team.

Best reason to work from home? Avoiding the Atlanta commute. It took Jonathan almost an hour to drive 15 miles on the top end of I-285 at 6:30PM (anyone from Atlanta is probably thinking "only an hour?"). By comparison, my morning commute takes about two minutes: grab contact lenses, walk down the foyer steps, dodge the squeaky step (to avoid waking the kids), grab a Coke Zero, head down the basement steps, turn right at the Cowboy Bebop wallscroll, turn right again at the couch, flip on the heat, flip on the lights, wake up the G5.

I'd mentioned the JavaOne session proposal deadline, and in today's Weblogs, Annette


Take It As It Comes Blog

Posted by kfarnham Dec 13, 2006

How would you like your web service served up?

I've seen a couple of pieces go by related to Apache Axis, and I think one of the really nice and potentially reusable ideas in there is how is handles message-exchange patterns. Just getting your head around the abstract concepts of blocking on a reply, handling the response asynchronously (e.g., by registering a callback routine), or ignoring any response ("fire and forget"), is actually applicable in many other contexts. Certainly Swing programmers, careful to not block the event-dispatch thread, have often needed to put some expensive work on another thread, and handle the response asynchronously.

If you're interested in digging in further, our Feature Article, from Deepal Jayashinge is about Invoking Web Services using Apache Axis2. "This document is mainly focused on Axis2 client-related technologies and their usage. At the end this article, you should understand the key terminologies and concepts, and most importantly how to use Axis2 client for your SOA applications."

In Java Today, the JSF Extensions project is featured in a recent SDN article New Technologies for Ajax and Web Application Development: Project Dynamic Faces. "Project Dynamic Faces is one of several projects that are extensions of JavaServer Facestechnology. [...] Project Dynamic Faces is another innovative project that provides a way to add Ajax functionality to a JavaServer Faces technology-based application. This project allows you to Ajax-enable any of the JavaServer Faces components that your web applications already use. You don't need to modify your components to give them the power of Ajax. Neither do you need to rewrite any of your application to add Ajax magic to it."

The latest issue of the NetBeans newsletter is out. Issue 270 features NetBeans Visual Web Pack 5.5 & C/C++ Development Pack 5.5, a tutorial on Visual Web Pack, "Is NetBeans Visual Web Pack for You?", a note on January's NetBeans Day Atlanta, a call for Bloggers for the New Chinese Planet NetBeans Site, a session proposal for "NetBeans and Eclipse: A Tale of Two Rich Client Platforms", and more.

The Google Web Toolkit, which allows you to write Ajax applications in Java and then compile it into JavaScript and HTML, has announced that GWT 1.3 Release Candidate is 100% Open Source. "Today is quite a milestone for Google Web Toolkit: with the GWT 1.3 Release Candidate, our team is very happy to announce that all of GWT is open source under the Apache 2.0 license."

In today's Forums,luke_sleeman makes the case for alternative JVM sessions in the Planning JavaOne 2007 forum message Re: Alternative VMs: "Actually my company has been eagerly waiting for classpath to be come usable for swing development. We create applications for pocket pc devices - there is no really good JVM for this platform and sun definitely doesn't seem interested in providing one. The open sourcing of the JDK has been very exciting for us as we see a great potential for using suns open source java libraries with some of these JVMs. We feel that they have a lot to contribute to the java world."

abickerton vents some ME frustration in Do operators really want java and the associated data traffic?"During a recent excursion into the business side of applcation development. I find myself asking this question because of the following. Operators take 40-60% of the revenue from an application sold via their portals. These portals are often inside walled garden networks. The content is unlikely to sell as many units because the application is overpriced. This is bound to happen when an application developer has to double the retail price for an application just to cover costs. In turn content providers will not be so inclined to produce innovative content. Thus users will be turned off to downloaded applications/Games."

And there's an announcement from terrencebarr Re: Developing a Free Implementation of the WTK: "The good news is that we are working on getting an early access release of WTK for Linux out early next year. A more fully tested version is planned for April/May of 07. Note that this will *not* be an official product release at this point ... we see it as offering an optional platform to developers and to solicit feedback from the community for our future roadmap."

Java SE 6 release feedback continues in today's Weblogs. Vivek


Waiting for the Sun Blog

Posted by kfarnham Dec 12, 2006

Actually, Sun is waiting for your JavaOne proposal

OK, cutting to the chase because we don't have much time left in what, by historical standards, is a pretty short proposal period: the JavaOne 2007 Call for Papers closesthis Friday. Speaking at the big show can be a great way to call attention to your project or area of expertise, to meet people with similar interests and exchange ideas and code, and it's worth mentioning that getting approved as a speaker means you'll get a free conference pass too. Plus schwag; the year I spoke it was a laser pointer.

Similarly, I'd like to call your attention back to the Planning JavaOne 2007 Forum, which exists for all members to discuss the kinds of content you'd like to see at the show. Even if you don't think you're going to attend, it's an opportunity for you to indicate what you think should be on the minds of the Java community. Not to mention that you may be able to check out the sessions later, even if you don't go; presentation slides are routinely offered for download, and last year, multimedia versions with speaker audio synched to the slides were available to SDN members. And if you're on the fence about whether to submit a session proposal, you could use the forums to see what people are talking about in your realm of interest, or kick around a topic idea to get feedback.

Speaking of timing reminders, there's one week left to send in your pictures of Duke's holiday for our annual year-end roundup.

Getting back to the JavaOne 2007 discussion Forums,averyregier wants to see sessions on Alternative VMs: "I would like to see presentations on Classpath and some of the alternative virtual machines. In past years, these kinds of projects were totally ignored. Perhaps now is a good time to make the larger Java community aware of these projects? Classpath, JNode, Cacao, GCJ, Sablevm, etc."

fcmmok is interested not in other VM's but other languages on the VM, in the message Re: Tools and Languages, which calls for sessions on: "1) Language Features in the up coming 7.0 should occupy one sit. 2) also, how about a talk about the new features in Groovy RC 1 / Release 1.0. 3) For me, I really want to see what is coming from JRuby to JVM. I read some blog about JRuby in Jar, and JRoR on Glassfish. They are absolutely awesome. "

caclark has a possible explanation for MIDI problems in Java SE 6 in Re: MIDI Broken in Mustang??: "If you read the release notes of mustang (readme.html) there is an entry under JDK redistributables... "jre/lib/audio/ This MIDI soundbank is present in the JDK, but it has been removed from the JRE in order to reduce the size of the JRE download bundle. However, a soundbank file is necessary for MIDI playback, and therefore the JDK's file may be included in redistributions of the JRE at the vendor's discretion. Several versions of enhanced MIDI soundbanks are available from the Java Sound web site. These alternative soundbanks may be included in redistributions of the JRE." I don't know if this is the reason, but could be..."

Today's featured Weblogs are concerned with yesterday's final release of Java SE 6. James Gosling starts off by saying Thanks everyone! "JavaSE 6 is finally out in its glorious FCS bits. It's got all manner of cool new features (I particularly love the OpenGL integration that makes GLJPanel fly like the wind). Instead of the usual flag waving and "what's cool in JDK6" lists, I'd just like to say thanks to all of the folks in the community who have contributed to it."

Bruno F.


Break on Through Blog

Posted by kfarnham Dec 11, 2006

Java SE 6 goes final

Two years ago, Java SE 6 was in about the same stage that Java SE 7 is today: it existed as a code-base, with ongoing development to existing features, and major features yet to be decided. Meeting with some of the engineers, it struck me that there was this thing that would be called Java SE 6 (actually we called it something else back then), and we didn't even know what it would be, but we did know precisely how we'd get there. And how we were getting there (and why the O'Reilly editors were at the meeting) was that it was to be an open-source development project on, one which has been offering binary and source drops since late 2004.

And as of today, Java SE 6 is final.

So how did it work out? Probably the best sign of success is that that there were a number of outside contributors contributing code -- check out a podcast interview from the booth at JavaOne in which I spoke with Brian Harry, Jesse Sterr, and Andy Tripp about their experiences contributing to JDK 6.

So, before we turn our focus to JDK 7, let's take a minute to congratulate everyone who contributed to this major new release. After all, there's a lot in JDK 6. Its major new features are described in JSR-270, and include integrated web services, scripting language support, more desktop API's (including the famous SwingWorker), a compiler API, pluggable annotations, Swing L&F improvements, LCD subpixel rendering, XML digital signature API's, JDBC 4.0, and more.

What are you waiting for? If you're on a supported platform, godownload...

Also in Java Today, Brian Leonard's blog Java On Bare Metal features photos and a brief recap of a Sun SPOT demo at the Connecticut JUG's Holiday Party: " We were lucky to get guest speaker Angela Caicedo all the way from Sydney Australia. Angela "stopped by" on her from the Austin JUG to JavaPolisto talk about Sun SPOTs. JUG leader Ryan Cuprak did a great job of getting the word out to the robotics community as we had attendees drive over 90 miles to attend her talk."

A recent SDN article helps you Create Great-Looking GUIs With NetBeans IDE 5.5. "If you are a very skilled user interface (UI) developer who enjoys a challenge, you can write code manually to use a combination of layout managers to control precisely how components use their container space. Although the ability to lay out a GUI form by hand might win you the right to brag at the office, it is not always the best use of your time. In many situations, you can save time and effort by using a visual development environment to design and implement graphical forms."

Does your hosting provider not support WebStart or servlets but let you run scripts? In today's Forums,mthornton has a solution for serving up WebStart in the message PHP and JNLP download: "I recently acquired a little NAS device which also runs Apache and PHP. So I thought about hosting some WebStart applications on it. Like many cheap commercial services it doesn't allow much in the .htaccess file, and of course I can't use the JNLP download servlet as it doesn't run Java either. I found some simple suggestions that allow the correct MIME type to be supplied by using a bit of PHP at the beginning of the JNLP file, but that doesn't supply a timestamp nor does it allow versioned downloads. A few hours later and I have a PHP script which adds the timestamp, gives 304 responses if the client's file is already up to date, and can do versioned downloads (a bit more work needed on this bit). The current version also logs all the jnlp requests to a file on the web server. Is anyone interested in this?"

A Project Looking Glass release looms, as deronjdeclares LG is now feature frozen: "All of LG is now feature frozen for 1.0 GA. All parts: core and applications. After this point only P1 and P2 bugs can be fixed. You have until this coming Friday 12/15 to fix these bugs. After that point we will be hard frozen and we'll generate a release candidate for you to test."

qu0ll reports a Problem with Windows PLAF when switching PLAF: "I have found that if I use a custom table header then the UI that is selected when switching look and feels is incorrect for the Windows look and feel. Specifically, if I create a JTable using Ocean look and feel and then switch to Windows look and feel on a Windows XP machine at run time, the table header takes on the appearance of a Windows Classic header instead of a Windows XP header. Even when I simplify the custom header to little more than a default header the same problem happens."



Press Darlings Blog

Posted by kfarnham Dec 8, 2006

Who will be the next JavaOne rock stars?

There's one week left before the deadline for the JavaOne Call for Papers closes. And even if you're not going to submit a session or BoF proposal, you can still help to steer the conference content. Annette Vernon put out a call for a JavaOne Wish List to collect your ideas, suggestions, and preferences for next years conference.

To further that discussion, we've set up a Planning JavaOne 2007 forum to futher discussion of what you want to see on stage next May:

What is it that makes you want to attend JavaOne? What would you like to see there this year? What topics interest you? What types of talks are the best? Please let us know via the forum what types of talks others can put together that would make the conference that much better for you. The threads below are arranged in general subject areas, which are the topic areas used in the Call for Papers. If your ideas are specific to particular topics, please contribute to the appropriate thread(s). Otherwise, if you have general commentary on the conference or ideas that do not fit in the subject area threads, please join the Grab Bag thread.

So, if there's something you want to see at next year's conference, posting on the forum might help get a talk on that topic approved. Good for you, good for speakers, and you might just help discover the next JavaOne rock star.

Before continuing with the rest of today's highlights, I want to say a fond farewell to Helen Chen, our long-time community coordinator (and co-leader of the JXTA and Sun Grid communities), who's leaving Collabnet today. Helen has been consistent in her focus on developing and supporting community, doing the right thing by the users, because they are the community. This site wouldn't be what it is without her reasoned and intense focus on the continued success of our communities, and everyone on O'Reilly's team appreciates what she's done for the site, and we wish her the best as she moves on to the Next Big Thing.

Further down in today's Forums, "Dan Ackroyd" points out some ME hazards in Nokia S60 3rd edition - hidden method badness: "It appears that there are some (at least one) undocumented methods in the midp implementation on Nokia series 60 3rd edition devices for certain classes. If you accidentally override this method in a derived class, your app will fail to run, as the derived class will through an exception when the class loaded tries to load it."

In the announcement JXDropButton Demo now available, syhaas writes: "I have put together a small demo of the JXDropButton for some feedback. The JXDropButton is a button with a popup menu that when clicked will show the popup allowing the developer to reduce screen realty or increase functionality by combining similar actions into a single button. We've all seen this component in our browser's Back button for instance. If you click the button, you go back once. If you click the arrow, you get a popup menu of the locations you have visited."

The latest Poll asks "How many Java books did you buy this year?" Cast your vote on the front page, then visit the results page for current tallies and discussion.



Friend or Foe Blog

Posted by kfarnham Dec 7, 2006

Is your code behaving? Are you sure?

How much are you using annotations? It's hard to think of a case where this Java 5.0 feature has been more enthusiastically embraced than Junit 4. A lot of the old habits -- what you import, what you name your tests, how you associate and run them -- are all out the window in favor of an annotations-based approach.

But that's just scratching the surface. JUnit's embrace of annotations allows for simple expressions like "this test times out after 5000 milliseconds", things that weren't straightforward, or even practical, in earlier versions.

Ralf Stuckert has a tour of the new version in today's Feature Article. In JUnit Reloaded explains why it's time to take up JUnit 4:

When the first release candidate was available back in 2005, you could hardly use it in a productive working environment due to the lack of tool support at that time. By now, most build-tools and IDEs come with support for JUnit 4, so it's about time to give it a try. This article describes what's different compared to JUnit 3.8.x.

Have a look, see what's new, and see if it's something that you're ready to switch to, if you already haven't... or if it's worth switching back from TestNG for.

In Java Today, the jMaki project has released its first 1.0 beta. jMaki is an Ajax framework that provides a lightweight model for creating JavaScript centric Ajax-enabled web applications using Java, PHP, and Phobos. As Greg Murray points out in his jMaki Beta 1.0 is Out! blog, "jMaki provides also provides a large set of sample JavaScript wrappers for common services and toolkits including Dojo, Flickr, Google, Mochikit, Spry, and Yahoo. Here is what jMaki provides:" He also has a handy list of jMaki's major features.

The NetBeans community is proud to announce the first full releases of theNetBeans Visual Web Pack and the NetBeans C/C++ Development Pack. The NetBeans Visual Web Pack, allows you to rapidly and visually build standards-based web applications, including support for AJAX and JSF components. Meanwhile, the NetBeans C/C++ Development Pack provides support for a variety of C/C++ project types, and includes a makefile wizard. It also has sophisticated language model features, such as dynamic syntax highlighting, code completion, code folding and a class browser.

So how is the GPL release of Sun's Java SE and ME implementations going over? GPL Java: An interview with lead Kaffe developer Dalibor Topic, predicts a flurry of interest: "I think Free Software developers will embrace the JDK as a strong Free Software platform. The wealth of Free Software commons available on the Java platform shows that many Free Software developers have enjoyed working with the platform despite the drawback of having to rely on non-free software until suitable Free Software implementations around GNU Classpath became viable. Now that Java is being liberated, I'd expect it to be used by even more Free Software developers than before, as 'the Java Trap' is a thing of the past." Dalibor also talks about the effects on Kaffe, his experiences compiling the HotSpot and javac code, and more.

The fallout from the apparent collapse of SavaJe is underway in today's Weblogs, as John


Place in the Country Blog

Posted by kfarnham Dec 6, 2006

A visit from's first editor

Original editor Daniel Steinberg stopped by the house earlier in the week, on a quick one-day business trip to Atlanta. As we were talking about the site and how it came together, one of the things that came up that's surprising in retrospect is the fact that there was a pretty significant level of skepticism about the site when it first launched. We think that we've answered the critics, and then some, because after three and a half years, this site probably wouldn't be here, at least not in this form, if it weren't delivering some genuine value to the Java community.

A couple of predictions of how we'd screw it up (I've seen others, but these are some of the higher-rated hits in Google):

  • InfoWorld thought the site was to be a JCP alternative. Wrong, considering that a JCP community is part of our site, but there are some prescient ideas in the article that have largely been realized, such as "Sun clearly hopes that will be more than a clearing-house for Sun's own open source projects" and "the most interesting role of may be as an open testing ground where a large number of developers can participate in the development of technologies that then get proposed as Java standards." We've seen some examples of the latter (stuff from JDIC in Java SE 6, for example), but it would be great if more projects evolved into JCP standards.

  • Matt Raible thought the blogs would be irrelevant or censored. "So has weblogs. Boring ones I suspect. Why? Because this seems to be a 'corporate' portal and I doubt that these folks are going to wite about how cool their kids are or how nice their mountain bike ride was [...] Can these bloggers speak their true feelings (can they cuss) - or will Sun remove their posting?" For what it's worth, one of our guidelines to bloggers is to "write on topics of interest to Java developers" (meaning it's not really the right place for mountain biking blogs), and the last time I admonished anyone about a blog, it was months ago and was because they'd linked in some Google Ads, which is inappropriate for an ad-free site.

  • Slashdot's Sun Opens said the site was "worth a look", but most of the discussion complained about the possible confusion with Microsoft's .NET. One modded-up comment was pretty prescient though: "I think there should be a seperate community site for J2EE systems with a code repository, forums and recommendations, or am I ignorant of such a site?" I would submit that the Java Enterprisecommunity and the GlassFish community fit that bill pretty well.

But enough about the past. Three and a half years in, are we living up to our Guiding Principles and Vision? Let us know if we're getting it right, and sure to tell us if we slip up.

Going back to the idea of getting your code into the official Java SE pipeline, today's Forums, kicks off with an offer from jessewilson to help bring data binding to SwingX. In Re: JFreeChart + Swing in Incubator, he writes: "We did some JFreeChart binding in Glazed Lists. The approach worked well, if you're interested in it, I'd love to contribute code to SwingX. If you run our demo, you can see a line chart and pie chart being drawn dynamically, this is data is bound to the list of issue objects that are being downloaded."

john_silver is looking for a phoneME Benchmark: "I have a simple question that seems to have no simple answer. What is sun using to benchmark its JVM, or phoneME to stay on topic? I have tried several Benchmark suites that I have found laying around the net [...] More precisely I want to validate that optimising the JVM for let say a coprocessor, like iwmmxt on arm/xscale is worth it. And to see the performance differences of the JVM across different hardware and/or compile flags"

sksamuel complains about the state of GlassFish documentation in web.xml and jdbc resource: "I'm having real difficulty understand how to configure a JDBC connection pool resource, not being helped by the terrible documentation Glassfish has (full of information but no organisation to it). Anyway, in Resin I define a database inside the web.xml file and that contains everything I need to get a DataSource via JNDI in Servlet. In Glassfish I can't seem to do this. I seem to have read that I define resource ref in the web.xml and then 'map' it to a JDNI name in a sun.xml file? I cannot find a walkthrough that actually tells you how to configure this just numerous passing references. I've not even seen a tutorial that explains what this sun.xml file is or where to set it up."

In Java Today, Milestone 5 of NetBeans 6.0 (Dev) is now available for download. The biggest changes in M5 are Java editor improvements and a new Java language infrastructure that is based on Javac. Other improvements in NetBeans 6.0 M5 include a new "project group" feature, and a progress indicator in the status line for Ant proceses. For more information, see the New and Noteworthy wiki page and the overall report for M5.

The Enterprise-class WSRP Open Source Project, part of the overall Portal Open Source Project, aims to provide a WSRP v1 Producer, a WSRP v1 Consumer that can consume Remote Portlets exported by any WSRP v1 Producer, support Registries that allow publishing and discovery of remote portlets, and support user identity propagation and other security and policy capabilities between the Producer and the Consumer. The WSRP specification is defined by the OASIS Web Services for Remote Portlets (WSRP) TC.

Mark Petrovic argues that Desktop Java needs better network security policy management: "Desktop Java developers wishing to deploy with a security policy are hamstrung by the current policy file literal syntax for network addresses. For server side administrators, you have a human discovering allowed network addresses, and entering them into the policy file. But client side developers have to code these decisions in program logic - a generally much harder set of determinations to get right." He points to an RFE from 2003 that would support IP address prefixes.


Let's ease back with Duke

The holidays are getting close enough that it's hard not to want to start relaxing early... most everyone's had a busy year, and indications are that Java programmers will be even busier in 2007. GPL Java is rife with possibilities, and I've seen a lot of people report a big upswing in recruiter calls. Java remains heavily in-demand. So why not take a break before heading into the next crunch? Apologies, of course, to those still in an end-of-year crunch.

As in years past, we're asking readers to join in a lighthearted holiday tradition of working Duke into your holiday pictures -- lighting the menorah or hanging ornaments on the tree, traveling to interesting places around the world, tagging along for some holiday shopping.

The details are in the Feature Article,Holiday Pictures 2006 , which links to the reader-submitted pictures from 2005, 2004, and 2003. It also points out that with the open-sourcing of the Duke character, by way of the duke project, there's a huge stash of Duke images you can edit into your photos. Or, grab a plushy Duke and pose him in a real-world spot. We're interested to see what you come up with this year.

In Java Today,Episode 19 of Roumen Strobl's NetBeans podcast features an interview with Bruno Souza, who has joined Sun as a NetBeans community manager. Bruno is the chairman of SOUJava (probably the largest Java User Group on Earth with more than 18.000 members), and his new job will be to to work with NetBeans community and make it larger and even more successful. You can listen to the podcast by downloading the episode 19 MP3 or by subscribing in iTunes. Note that the interview was actually recorded in early November, before the Open Source Java announcements.

Sun Microsystems recently contributed source to launch Project Shoal, a Java-based dynamic clustering framework. The framework can be employed to build enterprise-quality fault tolerance and reliability applications and is pluggable into any product requiring clustering and related distributed systems functionalities. Shoal is part of the GlassFish community and is a result of collaboration between GlassFish and JXTA communities.

The one hundred-third issue of the JavaTools Community Newsletter is online, with tool-related news from around the web, new tool projects that have joined the community, and a "Tool Tip" on integrating your Ant build scripts with subversion, particularly if you use a continuous integration approach.

Java ME issues head up today's Forums, James Closs reports a freeze with Sony Ericsson Phones (e.g. k800) with 'camera' softkeys: "I've just had a QA report that one of my titles is freezing when the top softkeys that take you to the camera images on various SE phones are pressed. I checked - and it's actually happening across *all* my titles (all the ones tested anyway)!! Does anyone know what actually happens in the KVM when these keys are pressed? Anything odd that goes on?"

Meanwhile, olaf_razzoli is interested in the status of the CDC Windows port: "I would like to know if the porting of the CDC for X86 and Windows 2000 (as reported in the cdc_porting_guide.pdf, table 3.6) will be available as open source. I presume a similar version can be derived from the Linux porting currently available, but if such a port already exists I think it would be helpful."

In the SwingLabs thread, Kleopatra offers some help Re: the battle of the highlighters: "FYI, I started a wiki page on Highlighter basics (not much in there yet except links to past discussions - if somebody feels like filling the gaps, go ahead and a comparison of default renderer implementation details (beware, some are dirty!) That damned hack kept cruising in the back of my mind, knocking occasionally on the front door making me severely unhappy. As I hate to be unhappy, I gave it another try."



Stand and Deliver Blog

Posted by kfarnham Dec 4, 2006

The possibilities and perils of presenting at JavaOne

The other week, JavaLobby's Matthew Schmidt posted a blog calledSo You Want to be a JavaOne Speaker? which linked to a blog of the same title on the website. The two blogs are an interesting comparison. Matthew talks about having spoken twice, and all the anxieties that go with it:

You don't know whether anyone will show up for your talk, wondering what day you'll be scheduled on, being worried about forgetting your presentation. For those of us who aren't professional speakers, finding the time to write and rehearse a presentation between working constantly can be hard.

Meanwhile, the RockStarApps version starts nearly six months before the show, with an e-mail from the author's CTO suggesting they pull together a proposal before the deadline (then one week away), and then tracks the process of pulling together an idea, making the proposal, developing and rehearsing the talk, and finally delivering it.

From my own experience, having spoken in front of crowds of several hundred (a Swing Hacks talk at JavaOne 2005... no, wait, it wasJava™ Foundation Classes Swing Technology Hacks by the time Sun Legal had had their way with it), to a crowd of five (a QuickTime for Java talk at MacHack/ADHOC 2004), the advice I'd offer is: chill. I realize a lot of people are terrified of speaking in front of crowds, but if you're on the fence, let me just reassure you: the crowd wants to like you, and they're coming to your session because they believe you have something to say. You'll be fine, as long as you're deeply interested in your material and are willing to convey that. As an attendee, I'd rather you offend me than bore me, so jump in with both feet and make the most of your talk.

But what should be in the JavaOne 2007 tracks. Annette


Simply Irresistable Blog

Posted by kfarnham Dec 1, 2006

Java ME's so appealing, even Microsoft uses it

One item that made the rounds of O'Reilly'e editors list yesterday was Kevin C. Tofel's blog entry Windows Live Search for Mobile: the U.S. on your phone, which pointed out the breathtaking irony of Microsoft bringing their search product to mobile phones by way of Java ME. Kevin raves it's "as if Microsoft put their Virtual Earth on your phone." Yes, that Microsoft, the one that tried to embrace-and-extend Java to death with an incompatible fork, the one that plagiarized Java and the JVM as C# and the CLR. If imitation is the sincerest form of flattery, then what is wholesale adoption?

Looks to me like they're admitting that Java ME is a great way to deliver applciations to mobile handsets.

That said, when talk on the list turned to the idea that Microsoft's use of Java ME might further legitimize the platform, I pointed out that Google was doing at least as much and probably more in that department, with the ME-based Google Maps for Mobileand more recently GMail for Mobile. I also groused about my phone's seeming inability to use any of these apps, presumably due to carrier restrictions on network access by applications. As reader sfitzjavacommented on my earlier blog on this topic, "US providers are killing J2ME, and Sun needs to take a big club and beat the living, crud out of these jerks for crippling/chocking-off the J2ME technology."

However, O'Reilly's Brian Jepson encouraged me to try again, saying I should start by downloading Opera Mini. So, I did, figuring it wouldn't get to a start page or even its own terms of service. But after OK'ing a dialog about network use (that I swear I've always OK'ed in the past), I found I could browse just about anywhere. In fact, I could hit real web pages, and not just WAP-minimized cheese, as you can see from the familiar page below (as captured by my iSight):


Given this, I went back to the GMail application and, amazingly, it seemed like it was actually working. And Google Maps too, allowing the typical first-time-user ego trip of satellite viewing one's own house... but this time on the phone.

So, with Java ME on the brain, he latest Poll asks "How often do you use Java ME apps on your mobile phone?" Cast your vote on the front page, then check the results page to see the latest tallies and discussion.

Also in Java Today, TheServerSide has a particularly active conversation going on about Resource based GUIs vs. Code Generation in Java: "Almost every platform has a visual designer that serializes the GUI to resources (some XML, some proprietary binaries) and then attaches it to the controller at runtime. Apple has had this for years with Interface Builder, Vista has a similar philosophy now as well." After listing the benefits of resource-based GUI's, the article asks the question "With all that being said, why is it that code generators are still so prevalent in Java?" blogger John O'Conner switched to Mac OS X a few months ago and blogs about the current state of Java SE 6 on Mac OS X: "All that confidence is starting to wane just a little now though. I'm not giving up hope really, just getting nervous. The latest build # from Sun is 104...from Apple, it's 88. I keep checking to see if anything new gets posted. Nothing. Not even a note or explanation. I don't want to complain, and I'm not really... just describing my experience at this point."

Bruno F.

Filter Blog

By date: