Appraising Wealth, Effort, Legacy, and Markets
Late last night, after I posted new content on the java.net home page, I was wandering the corridors of the java.net projects space. On the one hand, I was looking for tools that I might be able to bring into an experimental project I've been considering, a kind of reinvention of the financial mathematical modeling that has occupied varying amounts of my spare time since 1986. I'd build the reinvention by integrating old (and, ultimately, new) mathematical/analytic formulas with important Java/JVM technologies that are present in java.net projects, that could be useful in my project. Then, I'd also write blogs and articles about how I used the technologies, adding to the wealth of available documentation. I've done this before -- see Porting a Project from Visual Studio .NET to Mono and Analyzing Statistics with GNU R, for example.
But, as I did this wandering, I was struck by the complexity of some of the larger projects and tools -- for example Hudson, Jersey, >Shoal, Grizzly. By complexity, I don't necessarily mean that implementing and using these projects is difficult. I don't mean that at all. What I'm referring to is the breadth and scope of the problems that the projects undertake to solve, and their success at addressing the multitude of situations that an enterprise-level application must successfully address.
For example, look at the Jersey 1.1.5 User Guide. I look at that, and what I see underneath it all is an application that contains painstakingly developed code intended to address all the problems and situations that are discussed in the documentation, from MIME types, to URIs, POST and GET, XML and JSON, JAXB bean implementation. The User Guide itself occupies 51 pages when I do a quick cut and paste from the HTML into OpenOffice Writer. The user manual alone is the product of a significant effort. How much more effort, then, has gone into the Jersey software itself to date?
Then I looked at Hudson, and was surprised to find how much bigger and broader its capabilities are than what I had previously thought. For example, I didn't know Hudson can be applied to monitoring cron job execution and output, external jobs, etc.
Meanwhile, Shoal addresses a problem dear to my heart: clustering and fault tolerance, reliability and availability. And Grizzly applies the Java NIO API to facilitate the development of scalable server applications, by solving thread management issues that had previously made it impossible to scale to thousands of users on a single server.
This is all great work! As I said yesterday, I really am curious about the details of how these capabilities have been implemented at the code level. When you've spent 30 years developing software, you tend to want to see the details of how difficult problems were solved...
Turning to today: in a few minutes, I'll be watching the Oracle + Sun Strategy Update Webcast. It's going to be interesting to see how the strategy is stated. I mean, this is primarily directed at customers, so I don't know that there will be much focus on Java -- though the webcast outline does mention Java. Bullet 4 (the last item) tells us that Oracle + Sun will:
Continue to drive innovation in SPARC, Solaris, the Java platform, and many other technologies
What I saw in my roaming last night was a glimpse of the enormous effort that Sun and non-Sun developers have put into creating the very significant code base that is present in the java.net Projects space. That represents a wealth, and a legacy, going forward -- no matter what the market-driven future brings.
Thinking of that future, I like what Amy Fowler said in her most recent blog post, heart and soul. Amy has been with Sun since college. Here's her first Sun badge:
Of those days, Amy says:
Sun was 6. I was 22. I chose Sun because it seemed like networking might be important for the future. We were battling IBM, DEC, and HP, and feared that Windows NT would be the death of Unix. Apple's future seemed bleak. Let that be a lesson to anyone who thinks they know what the future holds in this business.
Very well stated!
To the future! Cheers!
In Java Today, James Sugrue interviews Paul Duvall in Continuous Integration Refcard Released: Meet The Author:
This weeks refcard covers Continuous Integration: Patterns and Anti-Patterns with tips on how to get started using continuous integration techniques in your project. I spoke with Paul Duvall, author of the refcard and CI expert about the benefits of continuous integration. Paul also outlines a set of tools that he recommends to get going with CI...
Java Champion Jim Weaver writes about an interesting JavaFX data visualisation app by Nik Silver:
Because of its rich UI capabilities, one very natural and powerful use of JavaFX technology is data visualization. In today's post I'd like to highlight the JavaFX applet that Nik Silver created to visualize and navigate news. Nik's app accesses the Guardian Open Platform API from Guardian News and Media Limited, and presents it in the bubbles-style interface shown below...
The Java ME SDK Team Blog answers the question, Where are my logs .. ?:
It is nice and polite when application writes log. Especially when something went wrong it can help to track down the source of problem. JMESDK has several components which produce their own log files. Here they are: Device-manager * This is core component for the product. It starts automatically and registers all devices and emulators. Since all communication goes through device-manager...
Though I've yet to receive my red pill or my blue pill, I cannot let this eve pass without a formal farewell to the company I've called home since college. Just the other day I came across my original Sun badge while cleaning out an old box ... Sun was 6. I was 22. I chose Sun because it seemed like networking might be important for the future. We were battling IBM, DEC, and HP, and feared that Windows NT would be the death of Unix. Apple's future seemed bleak. Let that be a lesson to anyone who thinks they know what the future holds in this business...
I wrote a small post about the Java Tools Community Tweets from Campus Party Brasil:
As I noted last week, the java.net Java Tools Community is attending and tweeting from the Campus Party Brasil event this week. Now, in my post last week, I pretended the event was just going to be a fun-filled affair. Now that the tweeting has begun, I decided to check in on the feed. Here's a sampling of the Java Tools tweets from Campus Party Day One (in time forward order): You can watch Campus Party presentations live at http://tv.campus-party.org/ . Most of the talks are in Portuguese, though...
Kohsuke Kawaguchi talks about the new MSI installers for Hudson:
I've finally managed to produce the Windows installer for Hudson, as originally raised by Håkan Reis. Please try it out and let me know how it works. This one took much longer than the installer for any other platforms, and while I normally think of Microsoft technologies very highly, Windows installers and WiX are a real disappointment. For example, you write the description of the installer in XML, but the language design is such that you need to write an ID for various XML elements...
In the Forums,
mozste has a Blu-ray Disc Java question on https setup?: hi all, I have a question about usage of https protocol from xlets. Very basic question, in fact: has anyone successfully done it? Is there anything that needs to be configured prior to open the connection to an https URL? I'm asking because i tried to open some https urls from an xlet ...
In the Java SE forum,
yoss writes about a Network communicator (HashMap) problem: Hello. I'm writing a network communicator. At the moment infinity number of clients can connect and write text to server. When server receive any message it sends it to all connected at this moment clients. Now, I want to make a comunication between two clients. I'm using name of user for identification (for now). I heard, that to make such communication, first of all I have to put into HashMap key...
In the OCAP-RI Users forum,
eelliott is having problems with network access: I am new to OCAP development and I'm trying to understand how to access an http URL with a URLConnection in an unbound xlet, using OOB communication (as a starting point). I have two related groups of questions: 1 - How does the xlet signing process work for OCAP? ...
Our current Spotlight is Janice Heiss's interview with Java Champion Adam Bien on JavaFX. Adam's opening statement: "Good UI controls and layout are the key to success. JavaFX was very strong from the beginning in effects and graphics. It was, however, initially lacking in good, "skinnable" components, but this was fixed with version 1.2. JavaFX requires writing less code while it integrates very well with existing business logic written in Java. A reason to go the JavaFX route is better maintainability, and faster development with less code..."
This week's java.net Poll asks What's the most important java.net project going forward?. Voting will be close on Friday.
We've just published a new java.net Feature Article, Maven Repository Managers for the Enterprise, by John Smart. We're also featuring Jeff Friesen's Reading Newsfeeds in JavaFX with FeedRead, in which Jeff demonstrates how to apply JavaFX's RSS and Atom newsfeed capabilities to create a snazzy little JavaFX app that can run stand-alone or in a browser.
The latest Java Mobility Podcast is Java Mobile Podcast 92: MIDP 3.0 in Depth: Tutorials and Demonstrations: Excerpts from the JavaOne 2009 MIDP 3.0 In Depth: Tutorials and Demonstrations session with Roger Riggs, Lakshmi Dontamsetti and Stan Kao.
Current and upcoming Java Events:
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 java.net it will be archived along with other past issues in the java.net Archive.
-- Kevin Farnham