Skip to main content

My Heart Is An Apple

Posted by editor on May 18, 2007 at 7:37 AM PDT

Of building, or wanting to build, OpenJDK

So, I wanted to do a poll question as a counter to last week's ("What was the most important announcement from the JavaOne 2007 general sessions?") that would get into the question of what wasn't in the Tuesday keynotes at JavaOne. Something like "What was conspicuous by its absence at the JavaOne general sessions?" Of course, the problem of finding things that are missing is much harder than pounding on what's present. When editing feature articles, determining if something important is missing -- if there's been a jump in logic or a critical step left out -- is both vitally important and profoundly difficult. For the poll, I started coming up with a list of things that had been talked up in advance of JavaOne, or mentioned in previous keynotes, and asked some friends for help. But I don't feel like we ever came up with a really satisfactory list of options, and it was burdensome to go through the keynote videos to ensure that items from our list weren't covered. For example, there's been little talk this week about the invokedynamic bytecode to support dynamic languages on the JVM, but it looks like it's alluded to by a single slide at 21:12 (no, not a Rush reference, calm down) into the first segment of the Sun Technical Session.

For what it's worth, some of the things that got brought up as possible responses for this poll idea were a JDK 7 timeline, a new properties syntax, language-level XML support (mentioned as a possible JDK 7 feature way back at JavaOne 2005), multimedia, Java EE 6 re-proposal, JSF 2 with Facelets, and a response to Harmony's open letter. It's an interesting list, but I couldn't get past the thought that there were probably bigger things that people were expecting... so maybe that would be a good topic for the comment section.

So for today's poll, I went back to the previous question about the JavaOne 2007 announcements, and kept in mind Ethan Nicholas' complaint that the consumer JRE has been overlooked in all the JavaFX frenzy. The last poll had the consumer JRE as a choice (and the top vote-getter), along with two responses for Java FX (desktop and mobile). And that leaves one other interesting response from the previous poll: the announcement that, save for a few encumbered bits available only as binaries, OpenJDK has now been completely released. Maybe it didn't get talked up as much because it was fairly well expected, but the fact remains that the complete Java class library, runtime, and compiler are now available under the GPL.

And what are you going to do with it? That's where I found the inspiration
for today's Poll, which asks:
"Have you downloaded and built OpenJDK yet?" So cast your vote on the front page, then check out the
results page for current tallies and discussion.

Have I downloaded and built it? Well, that gets to the title of today's blog: it doesn't build on any of my four viable computers, because they're all Macs, which is not an OpenJDK target, and the ones that I could plausibly put Linux on are PowerPC, not Intel. Sigh. It would be nice to have an up-to-date Java, but that's another blog for another time...

Having mentioned it above, do have a look at

Ethan Nicholas'
Announcing the Consumer JRE (again!), one of today's Weblogs.
"With all the fuss about JavaFX, you may have missed an equally important announcement: the new Consumer JRE is on its way, with a host of exciting improvements."

David Herron speculates on the viability of
Closed versus open multimedia formats:
"Clearly if JavaFX is going to compete with Flash we need some media viewers which can compete not just with Flash but with Windows Media Player and Quicktime."

Finally, Arun Gupta has a JRuby session recap in
Getting Started with JRuby - Tutorial at RailsConf.
"Earlier today, I attended Charles Nutter and Thomas Enebo "Your First Day with JRuby on Rails" tutorial at Rails Conf 2007. The key message is Ruby as the programming language and Java for the platform and libraries provides the best of both worlds to developers."

In Java Today,

JIDE Software has released a set of open-source GUI components as the JIDE Common Layer project. They write in: "JIDE Common Layer is a layer above Java/Swing/AWT. When we first started working on JIDE components, we found many missing or wrongly implemented features in Swing/AWT. So we created such a layer and built all JIDE products on top of the layer. As time goes by, this layer grew into a module with over 100k lines of source code and over 30 components. Since most of the features we provided in this layer are so commonly used and probably should be included in Swing anyway, we decide to open source it so that everyone can use it and contribute to it."

In a slideshow hosted by JavaLobby, Building Applications with NetBeans Visual Library, NetBeans' Roman Strobl returns with some super slick demos of the new NetBeans Visual Library in NetBeans 6.0. Watch as he shows you what makes their Mobility and JSF tools tick.

Issue 121 of the JavaTools Community Newsletter is out, featuring tool-related news from around the web, announcements of new tools in the community, and a "Tool Tip" on how to get statistics for your project.

In today's Forums,
lucaf would apparently like to develop some artificial voice chat participants and needs help with
Natural Language Processing:
"Hi everybody, this question is a little bit out of scope - I hope you don't mind... I've been developing some demo Bots based on MobiCents and the XMPP-RA lately, and now I would like to put some NLP functionalities into them. Does anyone of you by chance know any open source framework for Natural Language Processing? Has anyone already tried to use some kind of NLP logic?"

tarbo offers socket wisdom in
Re: Basic Java Help (BufferedReader and PrintWriter).
"The issue is most likely that you are binding two sockets to the same port because you are running both server as client on the same IP address. This doesn't need to be a conceptual issue. Client sockets can be bound to virtually any port; what's important is what port they are connected to. The server socket, however, is listening for connections and should do so on a port that was agreed upon beforehand. So try creating a client socket that binds to any socket address, but connects to the server socket address."

Finally, mvatkina points out an interesting and complicated rollback problem in
Re: JPA - entityManager.flush().
"It is a complicated problem. If you mark a row as inProcess and commit the change, but the scanner()'s tx fails, you'll never be able to fix that task - all other queries/threads will think that it is still inProcess and is being taken care of. Which means that you either need another way of modeling his flow or have another method that is marked as timeout which in turn calls the scanner() in a try-catch block, then restore the inProcess value on rollback."

Current and upcoming Java

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

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 href=""> Archive.

Of building, or wanting to build, OpenJDK