Skip navigation
ANNOUNCEMENT: is currently Read only due to planned upgrade until 28-Sep-2020 9:30 AM Pacific Time. Any changes made during Read only mode will be lost and will need to be re-entered when the application is back read/write.

Two Hearts Blog

Posted by kfarnham Jun 29, 2008

Your program's business objects and database want to be different things

How little things change, it seems. In the mid 90's, at my first really serious programming jobs, one of the first things we did was to create our business objects and start developing "DB" classes to persist those objects to a relational database and populate them from database queries. Back in the Java 1.1 days, before the bounty of free frameworks to do that kind of thing for you, it meant writing lots of SQL code by hand, stitching together strings forSELECT statements with fields from the user's query, trying to santitize it so that funny input wouldn't break the query string, etc. This approach had lots of drawbacks: not only was it labor-intensive to get working in the first place and somewhat brittle, it was also highly resistant to needed updates in the business objects (something that's inevitable in a startup as plans change), and subclassing the business objects to add new fields made for even more fun.

And today... well, we have frameworks to do this for us, from EJB to Hibernate, but the underlying problem is the same: objects and database are based on fundamentally different concepts, and bridging the two can be a difficult pursuit. And short of abandoning one side or the other -- using an object database, or using shallow, row-like data models in your application -- it's a challenge that many of us will continue to have to deal with.

Writing in ACM Queue magazine, Craig Russell takes a look at Bridging the Object-Relational Divide, explaining the problems it addresses and why it's so frequently talked about, noting that "in modern applications, however, the amount of effort devoted to persistence can dominate the cost of a project, and using ORM tools can significantly reduce this cost."

"ORM can provide significant improvements in programmer productivity, application quality, and maintainability. One of the most important ways this is achieved is through separation of concerns: separating the behavior of the domain object model from the access of the data from the database. Using a standard API allows the choice of implementation to be a late decision, providing more time for evaluation of alternative mapping and database technologies."

Also in Java Today, The Aquarium and Ed Burns note that Mojarra lead developer Ryan Lubke has been posting a series of blogs on the new features of JSF 2.0. The series so far covers Packaging / Project Staging, Resources,Resource APIs, Resources and EL, Publish/Subscribe Event System, and Resource Re-location.

In the a SDN article, Carol Zhang discusses How Java Plays With Scripting Languages. "Java and scripting languages are not mutually exclusive. On the contrary, they are complementary and can play together in many scenarios. Combining scripting languages with the Java platform provides developers an opportunity to leverage the abilities of both environments. You can continue to use scripting languages for all the reasons you already have, and you can use the powerful Java class library to extend the abilities of those languages."

In today's Weblogs, Kito D.

DHTML or Applets? Or both?

The big story coming out of Apple's choice to leave both Flash and Java out of the iPhone is not the corporate intrigues with Adobe or Steve Jobs' flippant comment that Java is a "ball and chain", but rather the company's apparent embrace of highly dynamic webapps, chock-ful of JavaScript and CSS trickery, as their preferred form of RIA delivery. There's a choice to be made in RIAs, and they've picked a side. We've also seen Google place itself squarely in the browser-technologies camp, and it was their embrace of these technologies in GMail and Google Maps that legitimized Ajax for a lot of people.

On Artima, Frank Somers looks at the philosophies, politics, and technologies behind the competition for the net-connected desktop in Rich Internet Applications: VM Runtimes or Browser Standards?. "A great deal of commentary followed Apple's announcement that it would use the Sproutcore JavaScript framework for its upcoming online offerings. Most of the debate centers around the question of whether a virtual machine-based environment or reliance on browser standards are preferable when developing rich Web apps."

This has been an ongoing competition for years. On the one hand, you've had a lot of people expecting that sooner or later, the browser-only stack of JavaScript/DOM/CSS/Ajax would eventually reach its limits, and fall down for reasons of compatibility, performance, or complexity. And, once that approach is fully discredited, the way to manage the need for high interactivity would be to put a VM into the browser: Java, Flash, etc. But on the other hand, some of us have been waiting for the Ajax stack to fall for years and it hasn't happened yet. This tower of kludgery blunders on, despite our oh-so-smart insistence that it must surely collapse soon. Indeed, while JavaScript may be the ugliest of hacks, CSS has continued to evolve and offers a surprising amount of functionality; I was stunned to see that WebKit's CSS supports 3D transformations. So maybe expecting Ajax to die is naive? Maybe the rise of the VM-based RIA is not inevitable?

Now what does this mean for Java? Specifically JavaFX? In a sense, JavaFX playing both sides of this street. Obviously, JavaFX is a VM-based option, and we'll have to see what kinds of delivery options are made available for JavaFX applications (applets, web start, double-clickables, etc.). But since JavaFX uses WebKit as its rendering engine -- the same code that Apple is relying on for Safari on the Mac, Windows, and iPhone, and their webapp-centric vision of the future -- doesn't it seem like JavaFX has that option covered too?

In light of this, the latest Poll asks "What RIA platform do you prefer?" Cast your vote on the front page, then visit the results page for current discussion and tallies.

And no, JavaFX isn't a choice, because it hasn't been released yet (and therefore is unlikely to be anyone's practical "favorite"), and it's not clear how JavaFX deploys as an RIA (is it an applet or a stand-alone app, or what?), but if you'd like to vote for it as "something else" and provide a follow-up comment, please do.



Amateur Hour Blog

Posted by kfarnham Jun 26, 2008

An IDE for getting started

A few weeks ago, Program Manager Gary Thompson pointed out that Michael Kölling was going to be presenting a paper on BlueJ at next week's ITiCSE


Over The Summer Blog

Posted by kfarnham Jun 25, 2008

A look at new Subversion features

While some projects need the highly distributed features of source control systems like Mercurial and Git, most of us do pretty well with Subversion. A few weeks back, actually, we made Subversion the only visible choice for new projects, though you can use CVS by request if you really need it for some reason. But for most typical development projects, Subversion is an appropriate default choice.

Subversion 1.5 just came out a few weeks back -- no, it won't be on until it's part of a future CollabNet Enterprise Edition update -- and it just so happens the next in our series of JavaOne mini-talks is about features in Subversion 1.5. Granted, this was recorded a month ago, so some of the comments will be forward-looking, but it's still useful.

In j1-2k8-mtT15: Subversion: Merge Tracking, Eclipse Integration, and CollabNet Desktop Edition, The latest JavaOne Community Corner Podcast, Brian Dawson gives a brief Overview of new features in the upcoming release of the open source SCM Subversion including enhanced merge tracking and change set management as well as using CollabNet Desktop Edition within Eclipse to facilitate team based task and change management.

In Java Today, the SDN has posted a transcript of May's "Ask the Experts" session on JRuby Support in NetBeans IDE 6. "One of the significant new features added to NetBeans IDE 6 is support for JRuby. With this support, Ruby developers can take advantage of NetBeans IDE features such as code completion and the debugger to develop and maintain their Ruby code. In this session, NetBeans and JRuby experts Tor Norbye, Charles Nutter, and Brian Leonard answered a variety of questions about JRuby support in NetBeans IDE 6."

In a new article at TheServerSide, Raj Radhakrishnan takes a look at new Portlet 2.0 functionality in JSR 286 Portlets: Action-scoped Request Attributes. "Java Portlet Specification v1.0 (JSR 168) defines the portlet API, container-portlet contract and packaging requirements for Java portlets. The recent Java Portlet Specification 2.0 final draft (JSR 286) facilitates implementing portlets with more advanced capabilities. This article illustrates the use of the action scoped request attributes runtime option, which facilitates Java objects created during action phase being accessible during render phase in the form of request attributes.

A two-part series of articles by Brent Boyer takes a look at Robust Java Benchmarking. "This article, the first in a two-part series, guides you around the many pitfalls associated with benchmarking Java code. Part 2 covers the statistics of benchmarking and offers a framework for performing Java benchmarking. Because almost all new languages are virtual machine-based, the general principles the article describes have broad significance for the programming community at large."

In today's Weblogs, Jim


I Predict Blog

Posted by kfarnham Jun 24, 2008

Java to be fully open-sourced this year

I know, I know. How is it that we were just on Friday about IcedTea in Fedora passing the JCK, and now today's big news says the final and complete open-sourcing of OpenJDK is still a couple months off? Well, passing the JCK and removing allencumbrances are two different things. To wit, does someone happen to know if the current JCK exercises the graphics and sound APIs? That might be an explanation right there. Moreover, just because an "unencumbrance" is in IcedTea, that doesn't mean it's been made available to the OpenJDK project yet. So it seems like we have a while to wait.

But let me back up a second to this big news. ZDNet has a video interview with Sun's Simon Phipps, who lays out the final encumbrances that OpenJDK is clearing, and when they'll be done. In Sun: Java to be 100 percent open by year's end, Phipps discusses the open-sourcing of 2D rasterization code, along with some sound-related code that Sun is now rewriting because a vendor won't agree to an open-source release. He says, "I'm expecting that -- certainly by the end of this year and hopefully sooner -- we'll have all of the source code for Java under the GPL."

The video's short and worth watching if for no other reason than fact-checking. To wit, ZDNet quotes him as saying:

We released under the GPL everything we had the rights to release under the GPL, and that was last summer. There were a couple of holdouts there. One was the area to do with raster graphics and 2D graphics. That turned out to be owned by a company that didn't want us to release that code as open source. We negotiated with them and because they've said: 'Yes, you can open source the code', I can tell you they're Codec...

Your accent may vary, but I'm pretty sure that last word is supposed to be "Kodak". Of course, there's a history there.

ZDNet also links to an article clearly from the same interview,Sun: We screwed up on open source, which provides some history of Sun's attitude towards open-source, admitting that the company alienated some in the open-source community earlier in the decade, but has proven its seriousness about OSS by open-sourcing its Java implementation.

Also in Java Today, the Mobile & Embedded Community is promoting the recently-announced Sprint Instinct Developer Contest: "Sprint is planning its first ever application developer contest, the Instinct Java Developer Contest, which is focused on the recently announced, new Samsung Instinct. Java Mobile developers will have the opportunity to create an application on the amazing touch-screen phone with a network to back it up, the Now Network. Grand prize: $20,000! "

The Imixs IX JEE Workflow is a full featured JEE5 compliant Workflow Server based on the IX Workflow Technolgies. "The IX Workflow Technologies are an open source project supporting an easy to use Java API and other technologies to build workflow management systems (WFMS). Our goal is to provide a JEE compliant workflow engine which focus on human based business processes. This means that the IX JEE Workflow is for Human-To-Human Workflows but can also be used for technical business process management."

From AWT to Swing, JSP to JSF, Ajax to JavaFX, a lot of time is spent developing GUIs to visually express relationships that are implicit, if not manifest, in the data itself. So why not let the data shape the GUI? Automatic GUI builders do just that, and in ourFeature Article, Automatic User Interface with OpenXava: An Evolutionary Option for GUIs, Javier Paniza shows how OpenXava does it.

In today's Forums,thamizh posts a JavaFX General Question. "I have some general questions about javafx. a. How JavaFX application can be useful in enterprise solution? b. JavaFX application can be used like applets in web application. In that case how the applets can be useful? Loading time and everything? c. What are the other readings useful for getting more knowledge about JavaFX? (like 2D). d. How the database access should be handled? e. I have some dilemma on over JavaFX and Flex. Can any one clarify me?"

ajayyaduwanshi might be in for a re-design after posting Audio Recording does not work on linux server. "I am working on the audio recording, All I have to do is to record an audio over the web and save the recorded file in the server. I tried with the javax.sound api, it works well from my local system, but when I tried to deploy my code in the server, and try to record, it does not work. Would any one figure out , what might be problem, or can any one point me to the right code which works in linux."

Finally, skaul asks for the JXTA community's guidance in ACTION REQUIRED: Status of JXTA Election. "The voting period for the recent JXTA Elections closed Tuesday, June 17th at midnight PST. Per the JXTA Election Rules, it takes 50 votes to certify the election. This number was established seven years ago when the JXTA community was first created. In this election, we received 23 votes. After review by the JXTA Board of Directors, it was unanimously agreed that the greater JXTA community should determine the status of this election. In this effort, we request your vote on the following initiatives..."

The latest Java Mobility Podcast is Java Mobility Podcast 50: iMob, in which David Theron, Managing Director of iMob, shares his experience as a mobile developer in South Africa.



Beat the Clock Blog

Posted by kfarnham Jun 23, 2008

Performance and debugging tools getting better

Since it's been a while since I wrote anythingreally big -- I used to say that Java gets interesting and scripting languages get impractical around 10,000 lines -- I feel like I've fallen behind in terms of what's happening on the performance and debugging front. I recently saw a demo of the "instruments" used for Mac OS X debugging and came away highly impressed. Along with traditional tools for tracing back through an object's allocation stack to see where your leaks are coming from, they have tools specific to the pathologies of Cocoa programming, like tracking "zombies", deallocated objects that still have pointers to them. While Java's memory management protects us from those problems, I came away thinking that tools adapted to the specific problems that Java developers typically face would be highly useful. And for all I know, these may already exist in NetBeans and the like; I just haven't had cause to go looking for them.

On the other hand, if they don't, then what kind of programming anti-patterns would you like a problem-specific debugging tool help you with? Leaking memory because you've mistakenlyadded or inserted something into a collection, with no corresponding remove? Race conditions because you make calls from multiple threads into thread-unsafe code? What other common mistakes are out there that could be tooled out of existence?

Helping you to debug and speed up your code, this week's Spotlightis on BTrace, a safe, dynamic tracing tool for the Java platform. BTrace can be used to dynamically trace a running Java program (similar to DTrace for OpenSolaris applications and OS). BTrace dynamically instruments the classes of the target application to inject tracing code ("bytecode tracing"). Tracing code is expressed in Java programming language. There is also integration with DTrace for the OpenSolaris platform. There will be a VisualVM plugin for BTrace soon - so that the users can trace their application from the VisualVM client. Alternatively, if you'd prefer you can run BTrace from command line shells as well. BTrace is available under GNU Public License v.2 w/Classpath Exception.

In Java Today, the new Atmosphere project "is a POJO based framework using Inversion of Control (IoC) to bring push/Comet to the masses. Finally a framework which can run on any Java based Web Server, including Tomcat, Jetty, GlassFish, Resin, Jersey, RESTlet etc., without having to wait for Servlet 3.0 or without the need to learn how push/Comet support has been differently implemented by all those Containers." The Aquarium has more details about the project's launch in Bringing Comet to the Masses - Atmosphere.

A new SDN tutorial introduces techniques for Using the Scene Graph to Present Visual Objects in JavaFX Script. "This article describes a demo that uses the scene graph features in JavaFX. The demo provides nodes with three different types of contents and enables the user to apply animation and translucency effects. The user can select any combination of nodes to make them visible. The data binding mechanism is extensively used in this demo, providing an automatic synchronization of GUI elements and application data."

eBay team lead Cees de Groot has returned from TheServerSide Symposium convinced that scaling is the biggest issue Java developers will face in coming years, as he discusses in the Artima blog Java going bigger, bigger, bigger. "Scaling is something that every Java developer is going to have to deal with as hardware is converting to multi-cores. Two is the norm today, but we were told to expect a doubling of cores every 18 months or so (yup, Moore's law still seems to hold), meaning that a measly notebook will likely have 8 cores in three years, and servers will typically ship with 32 cores. In order to use that horsepower, software needs to change to parallelism which means that every Java developer has to read up on multi-threading, synchronization (and why you should avoid both), java.util.concurrent (and why you want it), etcetera."

In today's Weblogs, Fabrizio


Pinch Me Blog

Posted by kfarnham Jun 20, 2008

A fully FOSS Java passes the JCK

A day that the Java community has been working towards for a long time has finally arrived. It was one thing to say Javawould be open sourced. It was another to annouce that ithas been. But now, it can be proved: IcedTea's version of OpenJDK 6, with encumbrances removed, passes the Java Compatibility Kit.

Rich Sharples has announced the accomplishment IcedTea, RedHat's effort to replace OpenJDK encumbrances with code from GNU Classpath, among other sources. "This week the IcedTea Project reached an important milestone - The latest OpenJDK binary included in Fedora 9 (x86 and x86_64) passes the rigorous Java Test Compatibility Kit (TCK). This means that it provides all the required Java APIs and behaves like any other Java SE 6 implementation - in keeping with the portability goal of the Java platform. As of writing, Fedora 9 is the only operating system to include a free and open Java SE 6 implementation that has passed the Java TCK. All of the code that makes this possible has been made available to the IcedTea project so everyone can benefit from the work."

Congratulations are being posted in response to the announcement. Dalibor Topic writes, "congrats to Lillianand the team behind OpenJDK in Fedora on making it through the finishing line in time for FUDCon, and getting OpenJDK6 to pass the compatibilitychecks on x86-fedora9 and x86_64-fedora9!" David Herron's Great milestone reached by OpenJDK on Fedora looks at the history of the history of the effort to make Java fully FOSS compatible, and addresses misstatements and distortions from a related Slashdot thread.

But we're not done, so let's give Dalibor the last word, the closing line from his latest blog: "On to the next distribution!"

Also in Java Today, in an article for InfoQ, Jeroen Borgers asks the surprising question Do Java 6 threading optimizations actually work? "Much attention has been given by Sun, IBM, BEA and others to optimize lock management and synchronization in their respective Java 6 virtual machine offerings. Features like biased locking, lock coarsening, lock elision by escape analysis and adaptive spin locking are all designed to increase concurrency by allowing more effective sharing amongst application threads. As sophisticated and interesting as each of these features are, the question is; will they actually make good on these promises? In this two part article I will explore these features and attempt to answer the performance question with the aid of a single threaded benchmark."

The latest JavaOne Community Corner Podcast is j1-2k8-mtT14: Java User Groups International Map, in which Van Riper describes how the JUG Mapwas created. He also demonstrates how individual JUGs can customize the JUGs Map to embed it in their own JUG pages like one that was set up for Silicon Valley JUGs.

In today's Weblogs, John


Who Needs Sleep? Blog

Posted by kfarnham Jun 19, 2008

Why stay up late hacking on Open Source?

A question about open source: what's in it for you? Some would argue that open source depends on a give a little / get a lot mentality -- you contribute something you're good at, and then dip into the pool of everyone else's output. Problem is, this doesn't address the "free rider problem". There's not much about using open source that requires users to make any form of contribution. And in the big picture, most don't (indeed, OSS users surely outnumber capable developers by several orders of magnitude). So for anyone to be creating open source software, there must be some other motivation.

Bruno Ghisi takes on this question in the weblog Why do we write open source code?, in which he produces survey results from 2002 showing four general groups of OSS developers -- believers, skill enhancers, fun seekers, and professionals -- and the factors that motivated them.

I can understand this group segmentation, but I think the time has definitely changed and we - communities, companies and softwares - have definitely evolved. Some years ago, Java was not open source, Firefox and were getting more adopters, Ubuntu was not out, companies were not doing contests and giving prizes away, etc, etc, etc. But my big question is, why do you write open source code? I mean, why do you join, for example,, SourceForge, Google Code or freshmeat and commit your code there in order to create a whole community around it? Why do you send code to help a current open source project? Answering this question, I would say that I am a believer because I do it for the knowledge sharing between people, but I definitely do it for the fun too. How fun is sharing your ideas, getting new ones, mixing all together and creating something even more nice?!

So what do you think? Are you in it for the fun? The prestige? The renown or the improvement in your own skills? Or something else entirely?

Also in today's Weblogs, Collin


Call And Answer Blog

Posted by kfarnham Jun 18, 2008

Checking in on some of Java's most contentious debates

One of the debates that just seems not to get settled in the Java community is just how prominent Java should be to the end-user. People were surprised to find out that the Amazon Kindle is a Java ME powered device, as it had been on the market for months before this news came out.

Contrast that with the behavior of the Java Plug-In, particularly in Java 6 Update 10, which makes sure you know you're using Java by defaulting to a Java splash screen, and putting a Java toolbar item on the Windows system tray.

What's better: quiet success that does nothing to promote the Java brand? Or getting in the user's face, which got Java dinged asannoying (and which we discussed before).

This debate is the topic of today's featured Forum messages. We start with jwenting in Re: Comments on J6 Update N. "The reason is that end users couldn't care less whether they're running Java, Flash, or Boo and shouldn't be constantly reminded of something they don't care about. I don't see many "written in Visual C++" banners when starting applications quite obviously written in in that, yet Visual C++ programmers aren't afraid that people will pass their products by if they knew they were using that particular programming environment..."

fatbatman says it's the web developers, not the end users, who need to deal with the splash screen in the reply Re: Comments on J6 Update N. "The people that own websites make the decision on what technology to use, if they don't like the effect the look of the splash screen and how it damages the look and feel of the site, they won't and don't use Java in the first place. Regarding the end users, if a user has previously had their browser lock up after seeing this strange coffee cup, and eventually crashing this will make them more weary in the future if they see that a site is "powered by Java". The locking and crashing will hopefully be fixed in update 10, but peoples perception will take time to fix and should be done by stealth, not a fanfare."

jwenting is active in another thread on the topic,Re: Please remove the toolbar installer! "Don't force spyware and adware onto users as part of the JRE installation process. It makes Java look incredibly cheesy from the moment it's being installed, not a good start. In fact if I didn't need it for my work as a Java programmer I'd be so put off by that idiocy (and yes, you can turn it off if you look carefully at the installer screens and click the right things at the right time) that I'd cancel the installer as soon as it got to that stage and decide to never use anything written in Java again. It's unprofessional, makes your product look like some cheap piece of spyware/adware. Yes, I know you can bypass it. But you shouldn't have to."

Speaking of ongoing debates, JavaWorld has posted a new article aimed at Understanding the closures debate, which we're featuring in theJava Today section. "With three proposals vying for inclusion in Java 7, understanding closures and the arguments for and against their inclusion in the Java language is essential. In this article Angelika Langer and Klaus Kreft give us a detailed overview of the three proposals -- BGGA, CICE, and FCM -- discussing the pros and cons of each, where they differ, and how they compare. The authors also explain the arguments against adding closures to Java 7, and conclude with their insight into where this debate will lead in the year ahead."

The Aquariumreports, "Java Champion Adam Bien has been running the following series of blogs around EJB 3 in the past few days:

Adam makes several points around the "lightweightness" of EJB's both at development time and runtime, contrasts the EJB3 approach with similar yet different technologies like Spring or Guice, and takes the upcoming EJB 3.1 improvements into account concluding that EJB's should be considered as no more than "midweight". Overall this three-part set of posts is a very nice read with fact-based opinions."

The latest edition, issue 172, of the JavaTools Community Newsleter is out, with a look ahead to Jazoon, tool-related news from around the web, announcements of projects that have joined the community, and a Tool Tip on CPU and memory profiling with VisualVM.

The latest JavaOne Community Corner Podcast is j1-2k8-mtT13: EDR-MDS A less is more aproach to Master Data Services by Thor Henning Hetland. "Service Oriented Architecture is all over us. There seems to be some kind of consensus that one type of SOa services are domain object repository services - and vendors are monitoring and releasing their SOA Data Server products to close the gap. By pioneering the SOA space with EDR, we quickly had to solve the Master Data challenge in SOA. This talk will discuss the main contenders for the ownership of your business objects definitions, and comment on their consequences - and then follow up with a "less is more" approach to enable companies to gain the combined advantages of all the platforms by extending the EDR pattern to also include Master Data Service features."

Today's Weblogsbegin with an entry from Kito D.


If I Had $1,000,000 Blog

Posted by kfarnham Jun 17, 2008

...then I might be able to get my app on a phone.

At the Mobile and Embedded Developer Days, we heard a lot about different roadblocks that make it difficult, sometimes impossible, to develop Java ME applications and deploy them to real-world devices. On the one hand, there are the many incompatibilities between devices, or even between the capabilities of the same device running on different carriers' networks. Beyond that, there is an even greater challenge presented by the seeming unwillingness of handset makers and carriers to allow third-party applications on their devices and networks. As I recall someone grumbling on a forum years ago, the carriers "can't stand the thought of someone making a buck on their network if they don't get 99 cents of it."

However, a day of reckoning may be at hand. Surely some of this has to do with rival devices and platforms, like Android and the iPhone, the latter of which has logged 250,000 downloads of its SDK and 25,000 applications to its paid developer program, all in less than three months. But there's another form of pressure being applied to the carriers' lock-down of their mobile networks.

As Terrence


One Week Blog

Posted by kfarnham Jun 16, 2008

A hasty book update

Two weeks ago, Joshua Marinacci and I got a notification from O'Reilly that they need to do a reprint ofSwing Hacks, and they gave us a week to clear up all the unconfirmed errata. The timing could have been better, as I had a conference to go to last week, but we got all but one of the problems resolved; the comment on page 68 about providing proper shift- and ctrl-click selections in the checkbox JListneeded more work than I could commit to in that timeframe, so it's going to get left broken. Sorry.

Still, we did get a lot done for a quick one-week review.

Actually, I think you could say Josh and I have different attitudes towards the reprint. I see the book as a product of its time, early 2005, and believe the point of a reprint is just to have more physical copies available. O'Reilly didn't ask us to do a second edition, and if we were doing that, we'd want to take a fresh look at where Swing is in 2008, taking out anything redundant or dated and bringing in new material appropriate to contemporary Swing. But that's not what a reprint is, and there are limits to what you can (or even should) do in a reprint, since the publisher's resources are limited. If you want something more recent, Filthy Rich Clients, released last year, is a good example of a Swing book that incorporates more modern thinking on Swing, particularly considering how much the authors did themselves to advance Swing in that time.

And of course, with JavaFX coming down the pike, everything's in play on the desktop anyways.

In Java Today,The Aquarium reports on the recent release of an OpenDS 1.0 Release Candidate. "The Release Candidate for OpenDS 1.0 is now available. The RC follows the earlier M1 Milestone (Feb 29th); Ludo describes it as "complete, stable and suitable for testing by any user". Check the Build Details and please provide feedback through Project Issues or the Mailing List. The first release is intended for Early July; for tentative dates for other releases check the Project Roadmap. Additional details in Ludo's Announcement."

The final version of JSR 286, the Portlet Specification 2.0, has been released and is available for download. Major changes in Portlet 2.0 include an event API, portlet filters, public render parameters, JSR 188 support, enhancements to caching support and the portlet tag library, WSRP 2.0 features, and more.

The Mobile & Embedded Community is taking a look a the new version ofPerst Lite, an open source, object-oriented embedded database for Java ME (J2ME), which has been upgraded to version 3.0. "Memory and storage footprint are major concerns for developers in Java ME. Perst Lite adds powerful on-the-fly compression in version 3.0 that reduces stored data


Save A Prayer Blog

Posted by kfarnham Jun 13, 2008

What do you really want to be doing?

For the first time in a number of years, the kinds and styles of programming opportunities seem to really be in play. You don't see this anywhere more clearly than in the mobile space. On the one hand, the newer smartphone platforms (you know the ones I'm talking about) are more like desktops than the limited phones of yesterday. And this is what James Gosling was talking about when he foresaw Java SE eventually becoming the basis of mobile Java: the devices are getting powerful enough that you don't necessarily need to make the compromises that led to the original development of Java ME.

On the other hand, it's not the end of the line for Java ME, not when that's the basis of increasingly interesting programming opportunities for interactive television, Blu-Ray Java, and other embedded devices. ME means "micro", not "mobile", and some of the coolest ME has nothing to do with phones.

And of course, the majority of Java developers are probably still working on the server, in middleware, back-end business logic, webapp presentation, etc.

So, with new choices on the table, where do you want to be? The latest Poll asks "What kind of code would you most like to develop?" Cast your vote on the front page, then check the results page for current tallies and discussion.

The latest JavaOne Community Corner Podcast is j1-2k8-mtT12: EDR - Master Your Distributed Data by Thor Henning Hetland and B


New Religion Blog

Posted by kfarnham Jun 12, 2008

Another vision of the "next" Java

For some time now, we've had a running debate in the community about the "next" Java, which sometimes is understood to mean a future evolution of the current language, and at other times is a code word for Java's presumed successor (recently, Scala's gotten a fair amount of advocacy in this department).

But what does "Java 3" -- or "Java 3000", or "Java: The Next Generation" -- look like? Is it the current language with closures and multiple return values an other syntaxes bolted on? Is it a whole different language? It's easier to find people talking about its desired traits than its actual form.

Over in his blog, Stephen Colebourne is taking a look at a fully-formed candidate for the next Java. In The Fan language - Is it JavaNG?, he looks at fan programming language, which he says "fixes 95% of the pain points in Java in a manner and style that is close to that which you'd naturally pick if you were creating JavaNG/Java3/BetterJava."

The key point for me is that Fan represents much of what JavaNG/Java3/BetterJava would look like if all our ideas were adopted. And while it has many similarities to Java, there is also quite a sense of difference. Perhaps, the biggest aspect of this is that the APIs are different. But that is perhaps inevitable if you want to get any real benefit from closures and fixing generics (by simplifying them).

And that perhaps gives us the definition of where JavaNG/Java3/BetterJava ends and BeyondJava starts. If the language is based around the Java APIs, its a JavaNG/Java3/BetterJava language (eg. Groovy). If the language has its own APIs, its a BeyondJava language (eg Fan, Scala).

The colon-equals takes me back to Pascal, but maybe that's a good thing. What do you think? Is Fan something you'd like to try out?

Also in Java Today, the OpenJDK community has approved the Caciocavallo: Portable GUI Backends project. This project, accepted by the OpenJDK Community Innovators' Challenge, seeks to "improve the internal interfaces of the OpenJDK AWT and 2D subsystems in order to make it easier to port AWT to new platforms." A more detailed description of Caciocavallo is available in the final proposal document.

In a new article on InfoQ, Srini Penchikala looks at Domain Driven Design and Development In Practice. "Domain Driven Design (DDD) is about mapping business domain concepts into software artifacts. [...] The objective of this article is to cover the domain modeling and design from a practical stand-point on how one would go about taking a domain model and actually implementing it. We will look at the guidelines, best practices, frameworks and tools that the technical leads and architects can use in the implementation effort."

In today's Weblogs, Artem

End of the line for QTJ?

OK, just so everyone understands, I'm not the one violating NDA by posting stuff from Apple's WWDC conference... I'm just linking. That said, considering that one of the other hats I wear, I can't completely ignore reports of big news about QuickTime for Java, or, indeed, its end.

A post to the QuickTime for Java mailing list suggests that Apple has announced the deprecation of QTJ. Chang Yun writes, "I am currently attending 2008 Apple WWDC conference. Apple announced today they will release new OS (10.6 Snow Leopard) in year 2009. Instead of QuickTime 7.X, QuickTime X will accompany the new OS. Apple also officially announced today that QTJava will be deprecated once QuickTime X becomes available." The post has spawned a number of follow-ups discussing potential alternate technologies and calls to revive or rescue QTJ.

And just remember, Steve, I'm just linking here... I'm not saying squat about what may or may not have been in any of the sessions...

Also in Java Today, if you're back in the job market, you might be surprised by how much things have changed in the Java world since your last job search. JDJ Enterprise Editor Yakov Fain has posted 30 questions you might face, along with some good answers, in Secrets Of The Masters: Core Java Job Interview Questions. So if you don't know the difference between a Vector and anArrayList (question 18), or what other method you must override if you override equals() (question 25), then now might be a good time to hit the books

You may know about JavaFX Script's ability to use standard classes, but what about the other way around? In a new SDN article, Michael Heinrichs looks at Using JavaFX Script Objects in Java Programs. "The seamless integration of JavaFX Script with pure Java code is one of the most interesting features of JavaFX Script. Using Java objects within JavaFX Script is simple, because JavaFX Script was designed with this feature in mind and the necessary instruments have been build into the language. This article will present possible ways to create JavaFX objects and use them in Java code."

There are two new podcasts featured on the front page today. The latest Java Mobility Podcast is Java Mobility Podcast 49: Bug Labs. Bug Labs is a new kind of technology company, enabling a new generation of engineers to tap their creativity and build any type of device they want, without having to solder, learn solid state electronics, or go to China. Hear Ken Gilmer from Bug Labs talk about this new product and the way it is extending phoneME advanced.

Meanwhile, the latest JavaOne Community Corner Podcast is j1-2k8-mtT11: Introduction to Shoal by Shreedhar Ganapathy and Sheetal Vartak. Project Shoal is a Java language based dynamic clustering framework that can be plugged into any product for runtime clustering. This mini talk will introduce Shoal's clustering capabilities covering the cluster lifecycle event model and its messaging APIs. Project Shoal is seeing increasing interest in several mainstream and unique projects thus making its use multifaceted beyond the middleware constructs of clustering. Among the known projects using Shoal as their clustering engine are projects such as GlassFish, Sailfin, GreenFire, FishFarm, OpenFire Collaboration Server, etc.


In today's Weblogs, Terrence


Come Undone Blog

Posted by kfarnham Jun 10, 2008

Whatever happened to Java chips?

Ages ago, I was coming home from a vacation and bought a copy ofByte magazine... back when there was a Byte magazine... and its cover story was about Java performance. This was back in the 1.1 era, I guess, and it has a pull out diagram showing a lot of the potential approaches for getting your Java code to run faster, with estimated trade-offs of difficulty and payoff for each approach. For example, the authors placed a fair amount of hope in just-in-time compilers, which not only paid off, but were replaced by Hotspot's even better dynamic compilation approach.

There was item in the group that I distinctly remember underachieving, and that was the Java chip. Highest in difficulty for obvious reasons, it promised the highest potential payoff in terms of bytecode execution.

So whatever happened to the Java chip?

We get a reply from Terrence Barr in one of today's featured forum messages. In Re: Java execution acceleration, he writes:

Java hardware acceleration has been a long-time subject of investigations. In fact, I actually worked on Sun's picoJava hardware acceleration engine way back when. Also, phoneME has the hooks to support ARM's Jazelle technology. However, I think the general experience has been that providing hardware acceleration is a losing battle except for very specific and constrained applications. General purpose CPUs benefit from the rapid evolution of semiconductor technology and there is a lot of economy of scale for using the CPU for most, if not all, processing requirements in a system including Java execution - with the notable exception of graphics engines (this seems to be too demanding for even modern CPUs to support). We have found over the years that Java hardware acceleration provides marginal and short-lived performance benefits in most real-world applications - although there are specific application scenarios in which it does provides tangible benefits.

So, since we can't expect hardware to save us, and since Moore's Law takes so darn long, what else can we do? Wisely, the top recommendation from the old Byte article, the best tradeoff for difficulty and result, was "write better code". Seems like a "duh", but when was the last time I ran my code through a profiler? It's been a while, actually...

Another performance-oriented message in today's Forums, comes frombriand, writing in the thread Re: XX:+AggressiveHeap. "One final note - although you'll still see AggressiveHeap used in some benchmark results (typically AppServer benchmark results), the JVM team view AggressiveHeap as an anachronism and would like to see it go away. Instead, we'd prefer for you to determine which of the individual options that AggressiveHeap sets actually impact your app, and then set those on the command line directly. You can check the Open JDK source code to see what AggressiveHeap actually does (arguments.cpp)."

alexfromsun discusses SwingX design strategies inRe: Should the processEventXXX method should be in the UI? Why not in JXLay. "The idea behind JXLayer is - to wrap your component with it, and then implement everything you need it its UI delegate, so switching UI delegates when a components' state is changed sounds like an incorrect usage of JXLayer, You should create your custom LayerUI and implement painting for focused and unfocused components there. Have a look at from the demo package -- there is a UIDelegate which implements different decorations for the different button's states."

In Java Today,The Aquarium takes note of the new Hudson Plugin Update Center: "We are beginning to see the results of Kohsuke's new job: as of last Monday (Hudson 1.220) Hudson includes an update center for plug-ins. Like the GF Update Center it tracks what has been installed and what's available. Like the NetBeans UC it can be invoked directly from within the tool." Kohsuke has more details in his blog.

The latest edition, issue 171, of the JavaTools Community Newsletter is out, with tool-related news from around the web, announcements of four new projects that have joined the community, and a Tool Tip on saving space with package names on Netbeans.

The Cube-J project is an open-source, lightweight IDE, whose goal is to provide a fast, multi platform and easy to use Java IDE for students and professionals. The project "started just as any other simple notepad. Since then It was developed and it became an IDE. It's an IDE purely made in Java with a vision to tell the world that Java can be fast as any windows application." Features include a Java editor, line numbering and highlighting, keyword highlighting, auto indenting and bracketing, and more. The project owner adds, "we are in need of additional developers, Please do join the project."

In today's Weblogs, Cay


New Moon on Monday Blog

Posted by kfarnham Jun 9, 2008

A month later, is it still all about JavaOne?

A couple of the front page items today reference JavaOne, and that's kind of interesting when you consider that the conference ended a month ago, and that part of the Moscone convention center has now given way to Apple's WWDC, and hosted Google IO before that.

Is JavaOne the "gift that keeps giving", a bountiful source of announcements, opinions, new releases, and innovations that's so immense it takes weeks to work through it? Or is it so big that there's really nothing after it, except for a long silence as wiped out Sun employees and attendees collapse from exhaustion and don't really get going again until Fall?

At any rate, has posted six interviews with Rock Stars of JavaOne 2008. Read on for insights from Joshua Bloch, Tony Printezis, Tor Norbye, Raghavan Srinivas, Chet Haase, and Ben Galbraith.

This week's Spotlightis on one of the most talked-about introductions at JavaOne 2008, the Lightweight UI Toolkit. LWUIT makes it very easy to create compelling UI's that will look and behave the same on all devices using a programming paradigm similar to Swing. It supports platform look-and-feels and themes, touch screen functionality, animation and transitions, rich widgets, 3D integration, painters, and more. The project already has a wealth of information available, including a tutorial,developer's guide (PDF), javadocs, and a wiki. You can also learn more in episode 46 of the Java Mobility Podcast

Also in Java Today, the Accendia Iris Application Server enables high performance Java networking by implementing Remote Procedure Call over a binary wire protocol. The server is handling client request using non-blocking sockets and a pool of execution threads minimizing resource usage when servicing a large number of simultaneously connected clients. The Java 1.6-based project also has a number of demo applications with source as part of its distribution.

The latest NetBeans.tvepisode takes a look at TagsME GUI, a NetBeans Rich Client Platform application developed to provide a graphical editor to the JavaME framework, TagsMe. With TagsMe, you define your screens in XML files that are parsed at runtime. You can also download those files, while the application is running, from a web server, allowing creation of online applications. A big component library (buttons, bitmap fonts, animations, sprites, maps...), a plugin architecture, and a script language (very similar to Java) are provided.

Josh Marinacci continues one of his demo series in today's Weblogs. In Java Doodle: fading translucent windows, on PC & Mac, he writes, "this is the next in my series of Java Doodles. This time I'm going to show you how to make a translucent window by setting the opacity value using new apis in JavaSE 6 update 10."



A Must To Avoid Blog

Posted by kfarnham Jun 6, 2008

When will Java and iPhone get together?

Adding a Java-on-iPhone-related forum post to today's front page, I was reminded of the timeliness of the item: next week is Apple's big World Wide Developer Conference, at which the company will presumably offer new iPhone models, given that the originals have been unavailable for a few weeks, and generate further iPhone-related headlines.

The iPhone has been a sore point for a number of Java developers. Despite the popularity -- "ubiquity" might be themot juste -- of Java on mobile phones, Apple left Java out of the iPhone, with Steve Jobs even telling a reporter that Java is a "big ball and chain". Apple didn't put Flash on the iPhone either, but apparently didn't feel the need to trash Flash publicly.

Still, with the introduction of a public SDK for iPhone, hope sprang eternal that Java could be put on the device (despite licensing terms that would seem to prohibit running interpreted code or VMs). A number of parties are working on it, including blogger Bruno Ghisi, who reported his progress last month, and Hinkmond Wong, who set up a wiki to collect Java-related iPhone knowledge, including how to use the "jailbreak" toolchain.

So, even if we don't see a Java/iPhone reconciliation next week, efforts to bring Java and its large mobile software library continue.

In light of this, the latest Poll asks "How important is it that Java be made to run on the iPhone?" Cast your vote on the front page, then visit the results page for current tallies and discussion.

The message that stirred this blog is in today's Forums, in whichup2dream complains about the Mac-only iPhone toolset in Re: Porting to iPhone. "It seems I got a problem... iPhone SDK is only for Mac OS X and I do not have it! I was trying to look a way to make it work on Linux or Windows, but it seems there is no one right now due to XCode and other stuff... Any chances to skip step 1? I cannot believe my iPhone will keep sucking."

ewernli reports a IIOP timeout exception in GlassFish. "We are regularly getting IIOP timeout exception when stressing our application on a 16-CPU server. The problem does not seem to appear on slower machines. Our application is a multi-threaded (about 10-30 threads), stand-alone application (not using the Application Client Container) and each thread access Glassfish. We are using Glassfish V2UR2. This looks a bit like this issue The bug report says it's fixed in GlassFish v2 B36 (the V2.1 branch). Is there a patch available for the V2UR2 ?"

Finally, shashwat_anand discusses color matching in Java in Re: Making Images to ICC v4 compatible. "We have built an application in Java that displays a lot of photos taken by AP Journalists. These photos contain ICC profiles, and when using an a web browser that recognizes ICC profiles, the photos are displayed with the proper color-managed profile. Firefox 3 and Safari are color managed browsers that display these profiles. Users of the application in Java would like to view these color profiles in Java as well. I am able to fine the ICC color profile in Java and apply it but not able to see any difference."

The latest JavaOne Community Corner Podcast is j1-2k8-mtT09: Java User Group: How to Find One, How to Start One by Dave Klein. "In this mini-session we will talk about how to find the JUG nearest you. Then, if there is no JUG near you, we'll show you how easy it is to start one and where you can go to find help. "

In Java Today, NetBeans IDE 6.1 is now available in Japanese, Simplified Chinese, and Brazilian Portuguese. The entire range of NetBeans Packs and Bundles can be downloadedin these languages, as well as in English. To get NetBeans IDE 6.1 in the language of your choice, use the Language pulldown menu located above the NetBeans IDE Download Bundles table. Community participation was instrumental to this multilingual release, with localization teams from Japan, China and Brazil contributing product testing, or providing translations for User Interface and documentation. Those interested in further translations should check out the Translation Project for details

One of the more anticipated talks at the 2008 JavaOne conference took place on Tuesday evening: author Brian Goetz's "Let's Resync: What's New for Concurrency on the Java Platform, Standard." This session discussed some of the advancements made in JSR 166, Concurrency Utilities, which was initiated by Java technology luminary Doug Lea, in light of the upcoming JDK 7 release. Robert Eckstein recaps the presentation in the SDN article 2008 JavaOne Conference: Working With Java Technology in a Multicore World.

JeXML stands for "Java Electric XML", a library inspired by Ruby's REXML. JeXML uses DOM and XPath and has an interface similar to that of REXML but in Java. "This way xml queries can become very simple using xpath directly. No other standard java classes need to be used, everything is nicely wrapped and transparent. A simple call to the JeXML class can give you a huge control over xml data from within your java code with the least possible effort."


Different approaches for ME GUI presentation

Everyone I know in mobile came away from JavaOne talking about the Lightweight UI Toolkit (LWUIT). I think Cooper and Daniel were both IM'ing me on Tuesday afternoon, saying "have you seen this?" It's highly appealing as a means of theming and presenting ME applications.

And it's the topic of the latest Java Mobility Podcast. In Java Mobility Podcast 48: Sprint on LWUIT, Titan and Windows Mobile, Nathan Smith, Application Developer Program Group Manager, and John Jones, Product Development Engineer at Sprint talk about their past and future involvement in LWUIT, Windows Mobile development and Titan development and Sprint Professional Developer Program.

That said, it's not the only way to re-theme your ME application. There's also the option of just painting everything yourself, ala Swing on Java SE. In today's Feature Article, Biswajit Sarkar presents A Customized User Interface for Mobile Phones. Showing how to develop your own widgets atop the Canvas class, he writes "No doubt LWUIT will provide the platform for sophisticated and consistent user interfaces. However, if you need a simple lightweight UI that needs to be different from the standard lcdui screens, look and act the same on all Java ME (MIDP 2.0) compatible phones and is easy to integrate into your application, you will find the approach shown here worth going with."

Depending on your device and your needs, today's page gives you two very different options to go with. Take a look, and see what suits you.

In Java Today,JSR 311, "JAX-RS, Java API for RESTful Web Services", has passed its public review, with 12 yes votes, 0 no votes, and 3 abstentions. The JSR aims to provide "a high level easy-to use API for developers to write RESTful web services independent of the underlying technology and will allow these services to run on top of the Java EE or the Java SE platforms." The public review draft is still available fordownload.

The JXTA Community has officially opened the JXTA Community Elections for the new Board of Directors and for the new committee chair positions. Details have been posted in a discussion list message. Stephanie Kaul, who is handling the process, adds "although the voting booth is open through Tuesday, June 17th, please consider placing your vote now so that you don't have to worry about it as we draw closer to the deadline. This is a very important activity for our community, so please take a moment from your very busy day to vote!"

JAJP (Java API for Json Processing) is a project to define a common API for json processing. The project has released the first versions of two API specifications, SAJ and DOMJ, and a reference implementation. SAJ, Simple API for Json, is an event based parser for json, while DOMJ, the Document Object Model for json, is an in memory representation of Json. the Streaming API for Json will be the next specification to be developed.



There's a Kind of Hush Blog

Posted by kfarnham Jun 4, 2008

Getting Chet Haase to speak up

Over on his Pushing Pixels blog, Substance creator Kirill Grouchnikov has been interviewing a number of Desktop Java luminaries about the state of Swing, where JavaFX is taking Desktop Java, and the platform's user-facing future. We've noted some of his previous installments, such as his interview with Amy Fowler.

Well, now he's snagged an interview with Chet Haase, one-time Desktop Java guru, blogger and author, and source of many corny jokes and puns. Chet has moved over to Adobe, and in Desktop, browser and RIA - interview with Chet Haase, he acknwoledges that what he's doing over there is to add additional animation support to the Flex SDK.

Kirill asks an important question about that: do slick GUIs matter? Specifically, can business applications justify sleekness, animation, 3D effects and the rest? Chet makes the case for these being important cognitive assets that productive applications should want to have:

I think that it's easy to write off graphical and animated effects as just being eye-candy. But I believe that any application can benefit from some level of effects in order to make the application more powerful, effective, and useable. In the case of a business application, you might not want to put throbbing buttons and spinning sprites all over the screen, or to make the application look more like a media player than an HR forms database front-end. But the same techniques can be used to make this kind of business application more useable; you just need to know how and when to apply them. For example, animation can also be used to provide a subtle pulsation of the default button, or transitions between states of the application. It's this last one that has been of particular interest to me for some time. Why give your users new GUI pages to figure out whenever the application screens change? Keep them connected to the application, and more productive, by animating between the states so that they can more quickly determine what's going on and what they have to do.

Read on for Chet's thoughts on leaving the GUI to the designers, cross-platform UI toolkits, the three most important things for a good user experience with a UI, and more.

In Java Today, a recent SDN feature article by Dmitry Bondarenko shows How to Create Translucent and Shaped Windows. "One of the major features introduced in the Java SE 6u10 release is the ability to create translucent and shaped windows. This includes making application windows translucent (tuning the general opacity of the window and using a per-pixel translucency effect), and setting shapes on application windows."

The just-released Java Posse #190 podcast features an interview with Bill Pugh and Brian Goetz, discussing deep concepts in the Java language and VM. "We cover concurrency and strategies for dealing with it, static analysis, upcoming Java language improvements (particularly related to annotations), upcoming changes to the JVM, Java FX script compilation and lots more."

The latest JavaOne Community Corner Podcast is j1-2k8-mtT08: The Return of the JEDI, with Daniel deOliveira and Scott Simpson. No description was provided for this mini-talk.

In today's Weblogs, Tim

Test-first development without the fanaticism

Have some test-driven development advocates gone so far with their cause that they've actually turned off some developers? Are the doctrines, or how they're espoused, driving some developers away?

John Ferguson


Into Something Good Blog

Posted by kfarnham Jun 2, 2008

What's your favorite project?

An interesting poll/survey/chat is going on... but not on Over on JavaLobby, Java Champion Adam Bien is asking readers What's Your Favorite Project? He writes, " seems to be a little bit underestimated. It is actually a great platform for open source projects—and very easy to set up. You get SVN or CVS access with mailing lists, project homepage, etc—the full infrastructure. However, there are already some really interesting projects out there."

Adam's list is:

He asks readers to mention their favorite projects, and with our project count having just pased the 5,000 mark, there are plenty of good choices. Readers have suggested SwingExplorer, Facelets, Woodstock, and Flying Saucer. And that's just the start... readers should remember affiliated projects likeDirect Web Remoting and OpenSymphony, to say nothing of longtime favorites like ROME and AppFuse.

And this is just scratching the surface. There are another 4900+ to consider. So what are your favorites?

Also in Java Today, Christopher Kampmeier blogs about the packaging and delivery of OpenDS as IPS packagesin OpenDS in IPS Format Using the UC2 Toolkit: An Experiment. "This article describes the results of the first of several experiments intended to demonstrate how projects' build environments can be enhanced to deliver IPS-based distributions. In this article we address the first stage of an experiment based on the popular OpenDS project." Advantages include Multi-OS platform packaging of packages and updates, pre-installed installation images, ongoing installation image management, network repository-based delivery of add-ons and updates, and desktop notification of updates and new add-ons. Eduardo Pelegri-Llopart adds "IPSis the format we are going to use with the next version of the GlassFish Update Center."

Andrew Hughes has announced the release of IcedTea 1.7, which "provides a harness to build the source code from OpenJDK using Free Software build tools and provides replacements libraries for the binary plugs with code from the GNU Classpath project." Andrew's blog entry has a summary of changes in this release, including a GNU/Linux HotSpot port, javax.sound.midi support, and a free version of jtreg.

In today's Weblogs, blogs about privacy with an ominous Knock Knock. "Slowly our lives are being moved online, yet how can we effectively secure our data? It seems traditional techniques become less than effective when left in the incapable hands of the average user, yet new technologies like biometrics present their own issues."


Filter Blog

By date: