The Source for Java Technology Collaboration
User: Password:
Register | Login help    

Search

Online Books:
java.net on MarkMail:


Ships in the Night

Posted by editor on September 6, 2006 at 7:30 AM PDT

Important facts you may have missed

The forums were particularly interesting yesterday, and I ended up putting three forum items on the front page instead of the usual two. There were two others I thought about posting, but instead, I'd like to address their teachable moments in the daily blog.

The first, by nishu_saini, is in the Java Advanced Imaging (JAI) forum, and asks Where are the binaries of this project:

I have to use the Java Advanced Imaging Image-IO API but I could not find the binaries of any version of this project. I find it very tedius task to checkout from cvs and build the project myself. I am sitting behind a firewall and not able to ping java.net and therefore unable to checkout from cvs.

Granted, if you look at the JAI project, and click on its Documents and Files link, there are no downloads there. However, look at the front page and you'll see a Downloads link, which takes you to the explainer:

The latest early access build of Java Advanced Imaging, JAI 1.1.3-beta, is one of the binary builds available on java.net.

If you take a look at that "binary builds" link, you'll see that what this project is doing is using its web space rather than the "downloads and files" section to post its binaries. OK, maybe that's not the standard approach, but it seems to work for the JAI project. Plus, the project web space is an underappreciated resource -- you could host all kinds of content here, such as Javadocs, documentation, community documents (like maps to get-togethers), etc.

nishu_saini's complaints continue in a followup message, Where are the binaries of this project:: The projects in Java.net suck, which reads:

I hope to find the latest binaries of all releases of the project in the documents and files section but to my disappointment..... most of the projects on java.net do not provide binaries for their projects nor a good description of how to check out from cvs behind the firewall.

Having already covered the location of JAI's binaries, there may be an issue here that I hadn't thought of: our CVS-based projects use the typical pserver option for file transfer, and that typically runs over port 2401. It's entirely possible that some users work in environments with Stalinist network administrators who block all ports except for 80 and 110 (web and POP mail), which is a hideous network anti-pattern that usually makes things less secure, not more, but it's their network, and they're the ones with the shiny MCSA certifications <snicker/>. For small projects, one workaround would be to just browse the CVS source with your browser. Another option is to host projects with the http-friendly Subversion, which java.net has supported for new projects for some time now (existing CVS-based projects have the option of freezing their old project and starting a new one that uses Subversion, or working with CollabNet on a fee-based conversion from CVS to Subversion).

As for all projects not providing binaries, it's not a given that every project should immediately (or ever) provide binaries. A just-launched project will probably need some time before its owners feel its ready to have a binary release. And many projects on the site have purposes other than creating binaries, such as projects to host JUG's, documentation projects like eclipse-tutorial, localization projects like the Simplified Chinese Translation of the JDK javadocs, etc.

It's also kind of interesting to note that some of the forgie-come-latelies, like Google Code Hosting and Mac OS Forge don't appear to have a release mechanism or web space at all. Both offer Subversion-based code repositories and a blog-like mechanism for one-way communication from project owners to the rest of the world. Google's also has a bug tracker. But at first glance, they don't appear to offer mailing lists, forums, wikis, a release mechanism, or webspace (outside of, say, creating a www directory within the project and handing out that URL, as both sites use http-based Subversion). They also seem uninterested in community, offering nothing that would bring together members of different projects, or lurkers who aren't even in projects. These are all things that we think distinguish java.net. Of course, if they're doing something right that we're doing wrong, please let us know.


Among today's other Forum messages, robilad stresses the issue of compatibility in the age of open source Java in Re: I think, there could be existing a unique Java-license: "Everyone is interested in seeing full compatibility between different implementations of the standards. There are many ways to encourage and get that, from releasing the TCKs under friendly licenses, to opening the reference implementation under suitable licensing conditions so that it can be shared and worked on together, to working more closely on JSRs. These approaches are not mutually exclusive, and Sun has shown some really encouraging movement on many sides in the past, including this year's commendable push towards free software in that area."

mkaul appears to need some help navigating the various desktop Java options, writing in JDIC capabilities: "I just came across JDIC. I am not sure if this is what I need. But I have someone who wants to have the ability to launch desktop applications from Windows/Linux.. existing applications like Lotus Notes, E-mail clients, IM clients etc. Is this possible in Java? I have a j2ee enterprise application that has no client component, so was wondering how I can extend it such that I can launch desktop applications."

Finally, twalljava talks about practical approaches to bringing unit-testing to desktop Java apps in Re: Testing custom components: "For testing custom components, I'd recommend a library based on java.awt.Robot, since you want to verify proper responses to native events. These tests can fit in nicely with JUnit (see abbot's front page for an example of what the code looks like). For regular plumbing/listener/hookup testing, programmatic frobbing (JButton.doClick()) may be sufficient, and you can also do that within JUnit (also check out the libraries for their component lookup utilities). For automating the application itself, your mileage may vary depending on your context. Some folks swear by it, some at it."


In Java Today, the JSR Community page notes that JSR review balloting is underway for JSR 305: Annotations for Software Defect Detection, and will end on Monday, Sept. 11. You can also nominate yourself for membership in the expert group, as noted on the JSR page. This JSR will "attempt to develop a standard set of annotations that can assist defect detection tools", such as annotations to prompt checks for null-ness, concurrency, internationalization, and return value usage.

The NetBeans Profiler developers have added a new HeapWalker feature to Milestone 2 of NetBeans 6.0. This new feature is still being defined and the developers are very open to feedback. To make it even easier to try it out, they even created a small Java Web Start version of the HeapWalker. For full details, check out the NetBeans Profiler Milestone 2 project page.

With so many Continuous Integration (CI) servers to choose from, it can be difficult to decide which one is right for you. In Choosing a Continuous Integration server, development automation expert Paul Duvall looks at a handful of open source CI servers, including Continuum, CruiseControl, and Luntbuild, using a consistent evaluation criteria and illustrative examples.


Evan Summers unveils Plumber's Hack 2: Blog o' warez in today's Weblogs. "As much as i love HTML/CSS as my preferred format for writing technical documents, i wanna to make it easier for myself. So i've thrown together some softwarez to lemme write with the minimal of markup noise. It parses my "poor text format" file and generates my desired output, eg. HTML for my weblog with syntax highlighting, innit."

Kohsuke Kawaguchi does a little implementation planning for Separate compilation in the JAXB RI 2.1: "A better support for separate compilation is one of the key proposed features in JAXB 2.1. So today's topic is how it will work."

Finally, in Munge: Swing's Secret Preprocessor, Tom Ball recalls: "The Swing team had run on 1.1 and 1.2 JDKs with conflicting APIs while seeming to change package names every week based on community and legal feedback. Munge is the tool we used to manage these changes easily, and here it finally is."


In today's java.net News Headlines :

Registered users can submit news items for the java.net 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 java.net News RSS feed.


Current and upcoming Java Events :

Registered users can submit event listings for the java.net 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 java.net it will be archived along with other past issues in the java.net Archive.



Important facts you may have missed
Comments
Comments are listed in date ascending order (oldest first)