September, 2004 Java News

Thursday, September 30, 2004

Sun's released Java 1.5 (Excuse me: Java 2 Standard Edition 5.0 Kit Java Development Kit 1.5 Java Legalese Marketing Speak Crap 15.0™). It's available for Linux, Windows, and Solaris. If you're so bothered by ClassCastExceptions and old-fashioned for-loops that you absolutely have to have the latest features, you may want to upgrade, but most users would be better served by waiting for the next .1 or _01 release when Sun should fix some of the numerous known bugs in this release, as well as probably a few more as yet unknown issues. Java 1.5 is not yet available for Mac OS X or Mac OS 9, and will probably never be available to 100% of the current installed Mac base. Apple seems likely to require an OS upgrade to get Java 1.5, and this will probably be available sometime in the first half of next year.


Subversion 1.1.0, an open source version control system designed to replace CVS, has been released. New features in 1.1 include:

Wednesday, September 29, 2004

Damn It. Somebody just sent me a spoiler for The System of the World. It's a 900 page book that came out two days ago! You may not have a life, but I do. Please give me a little time to read the thing before sending me commentary. I am officially not reading or answering any e-mail on the subject of Enoch Root, Neal Stephenson, Cryptonomicon, or The Baroque Cycle until I have finished The System of the World. However, if you've finished Cryptonomicon yourself, you may be interested in new content I added yesterday to the What's up With Enoch Root? page. If you've finished The Confusion and Quicksilver, go ahead and read the new Baroque Cycle page which introduces some hyptoheses and evidence about the nature of Enoch Root from the first two books in the cycle.


The Eclipse Project has posted the second milestone of Eclipse 3.1, an open source integrated development environment (IDE) for Java. It also doubles as a base platform for your own applications, an alternative to the AWT and Swing, and a powerful floor wax and dessert topping. The main new features in 3.1 are Ant 1.6.2, quick fixes for serial version IDs, and some (still incomplete) support for Java 1.5. New features in this milestone include:


Carnegie-Mellon University has posted the first beta of Sphinx-4, an open source speech recognition engine written in pure Java. features include:

Java 1.4 or later is required.


IBM's alphaWorks has released version 1.2.3 of the IBM Toolkit for MPEG-4, a Java class library for working with MPEG-4 video and audio. Version 1.2.3 makes various bug fixes.

Tuesday, September 28, 2004

I've just received my copy of The System of the World, the final volume in Neal Stephenson's Baroque Cycle. At this point, there's no real question that something very strange is indeed up with Enoch Root. Unless Stephenson, the person, (as distinguished from Stephenson, the narrator) is deliberately lying to us, Enoch Root is one individual who has somehow managed to live for at least several centuries. Exactly how he has managed to do this is still an open question (unless perhaps it's answered in the latest volume, which I have not yet read). Hypotheses to date include:

There are other possibilities; Root could be the wandering Jew. He could be a space alien. The most ridiculous explanation I've heard yet is that Root is the Riemann Zeta function. Jon Paul Henry has recently suggested to me that Root is a robot, based on what seems to me to be over-reaching based on one small description in the text. But perhaps if I toss that hypothesis out, some other people may point out additional points in the text that support this hypothesis. (And even if Root is a robot, this still leaves open the question of who made the Root robot hundreds of years ago, which leads to the possibility of time travel.) Still the three , I've listed seem to be the main, reasonable theories; and honestly the whole Root=Gandalf business seems to me as symbolism and a possible deliberate allusion to The Trilogy in Stephenson's own trilogy, but not really a practical explanation of just what's up with Enoch Root. I'm a little surprised the first two books in the Baroque Cycle didn't reveal more, but Root wasn't really a major character in either one. Perhaps all will be revealed in the The System of the World, or perhaps we'll have to wait for the final third of Cryptonomicon, set in the future, to be published, before we discover the answer. (Stephenson originally planned the story of Cryptonomicon to have three parts: one in the past, one in the present, and one in the future; but he dropped the future part when it was obvious the book was getting too long.) In the meantime I'm going to spend a little time today collating and collecting the various comments made on this over the last year. Since many of them rely on information contained in Quicksilver and The Confusion, I've started a new Baroque Cycle page to avoid spoiling the fun for anyone who's only read Cryptonomicon.

By the way, I think all these books are wonderful. If you haven't read them yet, you really ought to, starting with Cryptonomicon. I know they're a bit large and intimidating—it took me two years to open Cryptonomicon—but they're well worth the effort. I know a few readers were turned off by the more cerebral nature of Quicksilver. If that's the case, don't hesitate to read The Confusion. It's a real page turner with lots of swashbuckling, conspiracies, exotic locales, court intrigue, and just a generally fun read all around. The Confusion focuses almost exclusively on Jack and Eliza (and a little of Bob Shaftoe too) with almost no Daniel Waterhouse or Isaac Newton. Of course, this looks to change in the final book when all the major characters arrive in London at the same time, though what happens then I don't yet know. Check back next month.

Monday, September 27, 2004

Senior Airman Ahmad I. al-Halabi, the second of three soldiers assigned to Guantánamo Bay and arrested for being Muslim (well, officially for espionage, but let's face facts: this never would have happened to a white Christian) has been cleared. He had originally been arrested for attempting to bring classified documents to Syria. Of course, it turned out that the documents on which the case was based weren't actually classified. Throughout, the case was marked by prosecutorial misconduct including witness tampering and lying to the defense team. In an ironic twist, the initial chief investigator in the case, Marc Palmosina, was pulled from the case after he took classified documents to his home, the same offense he was investigating al-Halabi for.

It's not a complete victory for al-Halabi. He pleaded guilty to four minor counts of taking photographs, lying to investigators, and improperly handling sensitive materials, spent ten months in jail, was demoted, and will probably be dishonorably discharged from the Air Force. (The discharge will be appealed.) Even these charges were questionable, but I suspect al-Halabi just wanted to get this over with and out it behind him.

Beyond the serious and trumped charges levelled at al-Halabi and three others, the various legal actions in the cases have revealed numerous instances of petty, racist bigotry in the military. One of his sergeants referred to him as al-Qaida instead of al-Halabi. Non-Muslims at Guantánamo made various derogatory comments about the Muslim translators, and sent each other Abu Ghraib style posed photos of Muslims praying via e-mail. This whole disgusting affair should be yet another warning to any Muslims considering joining the U.S. military that they're not welcome.

In related news, Colonel Jackie Farr, the only white, non-Muslim accused in this fashion, has all charges against him dropped. He allegedly received "nonjudicial punishment", whatever that means. The discrepancy in treatment of Muslims and non-Muslims for the same minor offenses is particularly telling. Not that I think Colonel Farr should have been demoted, spent ten months in prison, and dishonorably discharged for minor oversights. By I do wish justice were applied equally without considering the defendant's religion and race. Sadly that seems unlikely in today's army. The one remaining case is against civilian translator Ahmed Mehalba. He's been in jail for about a year now. Hopefully his case will come to trial soon, and he too will be released.

Sunday, September 26, 2004

The first release candidate of XDoclet 1.2.2 has been posted. The web page aptly describes this:

XDoclet is an open source code generation engine. It enables Attribute-Oriented Programming for java. In short, this means that you can add more significance to your code by adding meta data (attributes) to your java sources. This is done in special JavaDoc tags.

XDoclet will parse your source files and generate many artifacts such as XML descriptors and/or source code from it. These files are generated from templates that use the information provided in the source code and its JavaDoc tags.

XDoclet lets you apply Continuous Integration in component-oriented development. Developers should concentrate their editing work on only one Java source file per component.

This approach has several benefits:

  1. You don't have to worry about out dating deployment meta-data whenever you touch the code. The deployment meta-data is continuously integrated.
  2. Working with only one file per component gives you a better overview of what you're doing. If your component consists of several files, it's easy to lose track. If you have ever written an Enterprise Java Bean, you know what we mean. A single EJB can typically consists of 7 or more files. With XDoclet you only maintain one of them, and the rest is generated.
  3. You dramatically reduce development time, and can concentrate on business logic, while XDoclet generates 85% of the code for you.

XDoclet requires an Ant based build system. 1.2.2 is a bug fix release that also adds support for Java Server Faces, J2EE 2.1, and Java Data Objects 2.


Peter Graves has released version 0.21 of j, an open source, multiwindow programmer's editor written in pure Java. It can syntax color Java, C, C++, XML, HTML, CSS, JavaScript, Lisp, Perl, PHP, Python, Tcl/Tk, Verilog, and VHDL code. Features include automatic indentation, directory buffers, regular expressions, multifile find and replace, autosave and crash recovery, undo/redo, FTP/HTTP support, customizable keyboard mappings and themes. Version 0.21 is now compatible with Java 1.5 and includes Armed Bear Common Lisp 0.0.4. j is published under the GPL.

Saturday, September 25, 2004

Stefan Reich has released SuperVersion 1.1, a single user version control system suitable for small projects, as opposed to multiuser, server-based systems like CVS and Subversion. According to the web page, "Superversion 1.1 is feature-complete, very stable and suitable for everyday use. It can be (and is!) used for local versioning today; an extension for client/server operation is under development." Version 1.1 adds the ability to classify files as binary or text. Superversion is published under the GPL.


Bare Bones Software has released version 8.0.1 of BBEdit, my preferred text editor on the Mac. This is primarily a bug fix release BBEdit is $179 payware. Upgrades from 8.0 are free. Upgrades from earlier versions are $49 for 7.0 owners and $59 for owners of earlier versions.

Friday, September 24, 2004

Version 1.0.8 of the open source Subversion source code control repository has been released to plug a minor security leak. "mod_authz_svn, the Apache httpd module which does path-based authorization on Subversion repositories, is not correctly protecting all metadata on unreadable paths....This security issue is not about revealing the contents of protected files: it only reveals metadata about protected areas such as paths and log messages. This may or may not be important to your organization, depending on how you're using path-based authorization, and the sensitivity of the metadata....These issues only affects users of mod_authz_svn, not people using native httpd.conf directives (such as <Limit> or <LimitExcept>) directives to limit general readability on whole repositories." There's also a new release candidate of Subversion 1.1 that includes this fix.


Apple has released the Java 1.4.2 Update 2 to all users via software update. This update "provides improved behavior for applets in Safari, and increased stability for desktop Java applications. Java 1.4.2 Update 2 also includes all the improvements from Java 1.4.2 Update 1. The system will be updated to Java 1.4.2 Update 2. If the system currently has Java 1.4.1, it will be removed. Any previous Java 1.4.2 installation will be completely replaced." Mac OS X 10.3.4 or later is required.

Thursday, September 23, 2004

Novell has released Mono 1.1.1, an open source implementation of Microsoft's .NET framework that runs on Linux, Unix, Mac OS X, and Windows. Mono includes an ECMA Common Language Infrastructure (CLI) runtime engine, a cross platform IKVM Java runtime engine, a C# 1.0 compiler, class libraries implementing the .NET 1.1 profile, the Gtk# 1.0 GUI programming toolkit, GNU Classpath for the CLI and a Visual Basic runtime. Version 1.1.1 is a development release. New features include:

According to the Mono Project, "Plenty of optimizations have been implemented at every level: from low-level JIT optimizations to tuning and stress testing the higher class libraries. For example, the C# compiler in the 1.1.x series is 20% faster over the 1.0.x series while doing more work." Mono is published under the GPL.


For the more risk-averse developer, Novell has also released Mono 1.0.2, an open source implementation of Microsoft's .NET framework that runs on Linux, Unix, Mac OS X, and Windows. Mono includes an ECMA Common Language Infrastructure (CLI) runtime engine, a cross platform IKVM Java runtime engine, a C# 1.0 compiler, class libraries implementing the .NET 1.1 profile, the Gtk# 1.0 GUI programming toolkit, GNU Classpath for the CLI and a Visual Basic runtime. 1.0.2 is a bug fix release.


The Eclipse Project has released the Eclipse Visual Editor 1.0, an open source GUI designer tool for the Eclipse IDE. It currently supports both the Swing and SWT GUI toolkits and can be extended to support others.


The Eclipse Project has also released version 3.0.1 of their namesake integrated development environment. This is a bug fix release. Java 1.4 or later is required. Eclipse runs on Windows, Linux, Mac OS X, and probably other Unixes.


C.N. Medappa has posted beta 2 of JRex, a Java HTML rendering component based on the Mozilla Gecko engine. JRex should work on Windows and Linux. Java 1.4 and Mozilla 1.4 or later are required.


David A. Hall has posted Generic Algorithms for Java 0.6, a free-as-in-speech (LGPL) collection of generic algorithms not included in the Java class library. According to the web page,

The primary functionality to be provided is:

  • a set of functors and predicates that may be applied both the generic collections and to other areas of the standard java library.
  • basic utility algorithms for use with java collections such as those found in STL
  • implementations of standard java classes that are intended to be user-derivable that apply the algorithms and functors for general benefit (for example, implementations of standard swing models that take advantage of predicates and functors)

YourKit, LLC has released the YourKit Java Profiler 3.0, a 295€ payware tool for detecting memory leaks and memory consumption bottlenecks. It features Automation of memory leak detection, an object heap browser, JUnit integration, IntelliJ IDEA, Borland JBuilder integration. Version 3.0 features a redesigned user interface including a new "Allocations HotSpots" view. It also allows you to see the merged call tree and back-traces for a method. It also adds support for Java 1.5. The profiler runs on Windows or Linux.


Websina has released BugZero 3.9, a $1299 payware (+$300 for maintenance) Web-based bug tracking system that supports multiple projects, group-based access, automatic bug assignment, file attachment, email notification, and metric reports. Bug Zero is written in Java and can run on top of various backend databases including MySQL. 3.9 is mostly a bug fix release.

Wednesday, September 22, 2004

Mark Stephens has released JPedal 2.25, a pure Java library for extracting content from PDF files and rasterizing them. Text fragments are extracted as XML elements with font and location information. Images are extracted in both their raw formats and their clipped and scaled formats as TIFF, PNG, or JPEG files. According to Stephens, "version 2.25 adds a number of significant features, the most major being support for outlines and thumbnails of the screens and ability to highlight text onscreen....This is a major release which also includes a large number well of fixes and substantial speed improvements." JPedal is published under the GPL.


Sun has submitted Java Specification Request 255, Java Management Extensions (JMX) Specification, version 2.0, to the Java Community Process. According to the JSR,

This specification will update the JMX and JMX Remote APIs to improve existing interfaces, notably with respect to ease-of-use, and to add new functionality whose usefulness has become clear since those APIs were completed. Some key changes that are proposed are:

  • Use generics in the JMX API, for example have MBeanServer.queryNames return Set rather than just Set.
  • Use annotations to make writing MBeans easier.
  • Make Open MBeans easier to use to address interoperability and versioning concerns.
  • Generalize monitors so that they can monitor attributes that are not simple types, and so that their thresholding is customizable.
  • Support cascaded (federated) MBean Servers.

It is a key goal of this JSR to be incorporated into version 6.0 of the J2SE platform (Mustang), and this might mean that some of these proposed changes end up being postponed to a later JSR.

Comments are due by October 4.

Tuesday, September 21, 2004

Enterprise Distributed Technologies has released edtFTPj 1.4.4, a free (LGPL) FTP library for Java. A $1999 payware version adds support for FTP over SSL. 1.4.4 is a bug fix release.


ej-technologies GmbH has released version 3.2 of JProfiler, a $698 payware profiler based on the Java virtual machine profiling interface (JVMPI that can report on CPU usage, memory size, threads, and "VM telemetry" (whatever that is). New features in 3.2 line number resolution, Comma Separated Values and XML export, and two different hot spot calculation modes.


The Jakarta Apache Project has posted the second alpha of HTTPClient 3.0. "Although the java.net package provides basic functionality for accessing resources via HTTP, it doesn't provide the full flexibility or functionality needed by many applications. The Jakarta Commons HttpClient component seeks to fill this void by providing an efficient, up-to-date, and feature-rich package implementing the client side of the most recent HTTP standards and recommendations....Designed for extension while providing robust support for the base HTTP protocol, the HttpClient component may be of interest to anyone building HTTP-aware client applications such as web browsers, web service clients, or systems that leverage or extend the HTTP protocol for distributed communication." Changes since 2.0 include:

"At this point HttpClient is fully feature-complete and is just a few issue reports short of being code and documentation complete. All of the important new features such as the new preferences architecture and exception handling framework are completely documented. We strongly encourage comment and criticism of the current API so we can have everything worked out by the first beta release. Following this release the development effort will focus on stabilizing the 3.0 API and adding more documentation. Depending on on how well this release is received, as well as the quality and quantity of feedback, we are looking at an API freeze in one to two months time."

Sunday, September 19, 2004

I've posted beta 5 of XOM, my dual streaming/tree API for processing XML with Java. This beta primarily focuses on fixing bugs in XInclude and improving performance of builders when reading from files. It also deprecates the setNodeFactory() method in XSLTransform which will be removed in the next drop. In its place, there's a new constructor:

public XSLTransform(Document stylesheet, NodeFactory factory)

Finally, the four XSLTransform constructors deprecated in the last release have been removed.

I don't have any other major issues in the TODO list for 1.0. If nobody finds any bugs in this beta, I may label the next drop release candidate 1.

Saturday, September 18, 2004

JXTA J2SE 2.3.1 has been released. JXTA "is a set of open protocols that allow any connected device on the network ranging from cell phones and wireless PDAs to PCs and servers to communicate and collaborate in a P2P manner. JXTA peers create a virtual network where any peer can interact with other peers and resources directly even when some of the peers and resources are behind firewalls and NATs or are on different network transports." Version 2.3.1 is API and protocol backwards compatible with previous 2.x releases. It fixes bugs and trims about half a meg from the JARs.


Subversion 1.0.7 has been released. Subversion is an open source version control system designed to replace CVS, the open source version control system we've all learned to hate. This is a bug fix release.


Nathan Fiedler has released version 2.27 of JSwat, a graphical, stand-alone Java debugger built on top of the Java Platform Debugger Architecture. Features include breakpoints, source code viewing, single-stepping, watching variables, viewing stack frames, and printing variables. Version 2.27 fixes some bugs and remembers the expressions typed in the evaluate dialog. JSwat is published under the GPL.

Friday, September 17, 2004

BlueJ 2.0, a free integrated development environment (IDE) for Java aimed at education, has been released. The major new feature in 2.0 is support for Java 1.5 (a.k.a Java 5). Other new features include full keyboard navigation for the class diagram and object bench, the Code Pad for interactive Java code evaluation, and an enhanced extensions API.


The Apache Jakarta Project has released three new JSP tag libraries:

Thursday, September 16, 2004
Picture of a Cat, Tomcat logo

The Jakarta Apache Project has posted Tomcat 5.5.2, an open source servlet container for the Apache web server and the official reference implementation of the Java Servlet API and Java Server Pages (JSP). "Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires configuration to run on J2SE 1.4....In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling JSP pages. This means you no longer need to have the complete Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment (JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the binary Tomcat distributions. Tomcat can also be configured to use the compiler from the JDK to compile JSPs, or any other Java compiler supported by Apache Ant." This implements version 2.4 of the Java Servlet API 2.4 and version 2.0 of Java Server Pages. The version numbering is funky. This is really more like an alpha release and is definitely not considered to be ready for production.


Gaudenz Alder has released JGraph 5.0.2, a free-as-in-speech graph component for Swing that requires Java 1.4 or later. JGraph is accompanied by Graphpad, an open-source diagram editor for Swing that offers Automatic Layout, Printing, Zoom, and much more. It is available in English, German and French. Version 5.0.2 adds an edge renderer gradient painting mode and fixes bugs.

Wednesday, September 15, 2004

The third release candidate of Subversion 1.1.0, an open source version control system designed to replace CVS, has been posted. "The term 'release candidate' means the Subversion developers feel that this release is stable and ready for production use, so we encourage people to test this release thoroughly. The final 1.1.0 release is scheduled for late-September, in order to provide plenty of time for testing." New features in 1.1 include:


Rob Lougher has released JamVM 1.2.0, a free (GPL) Java Virtual Machine that "conforms to the JVM specification version 2 (blue book). In comparison to most other VM's (free and commercial) it is extremely small, with a stripped executable on PowerPC of only ~100K, and Intel 80K. However, unlike other small VMs (e.g. KVM) it is designed to support the full specification, and includes support for object finalisation, the Java Native Interface (JNI) and the Reflection API." Like most free VMs it relies on the GNU Classpath library. 1.2.0 fixes bugs and speeds up code execution. JamVM only interprets code. It does not have a Just-In-Time compiler.


Werner Randelshofer has released the Quaqua Look and Feel 2.0, "an extension for Apple's implementation of the Aqua Look for Swing. Quaqua aims at fixing inconsistencies between user interface elements implemented in Swing and those of native Mac OS X applications. To achieve this, Quaqua selectively replaces UI elements of Apples Aqua Look And Feel with elements of its own." Quaqua is dual licensed under the BSD license model and the LGPL. Java 1.3 or later and Mac OS X 10.2 or later are required.

Tuesday, September 14, 2004

Gaudenz Alder has released JGraph 5.0.1, a free-as-in-speech graph component for Swing that requires Java 1.4 or later. JGraph is accompanied by Graphpad, an open-source diagram editor for Swing that offers Automatic Layout, Printing, Zoom, and much more. It is available in English, German and French. Version 5.0.1 makes various small API changes including the ability to disable cell selection.

Monday, September 13, 2004

The Apache Project has posted the second milestone release of Geronimo, their open source J2EE application server. "The aim of the project is to produce a large and healthy community of J2EE developers tasked with the development of an open source, certified J2EE server, that is ASF licensed and passes Sun's TCK reusing the best ASF/BSD licensed code available today and adding new code to complete the J2EE stack."

Sunday, September 12, 2004

Martin Fowler points out some really weird behavior in JUnit. Apparently JUnit creates a new test object for each test. I understand why it does that, and I agree with the principles behind it. But this has some other implications:

Several people have now tried to explain this to me, including Bill Venners, and it still doesn't make a lot of sense. The only real difference appears to be that the constructor is called before any tests are run and the setUp method is called immediately before each test is run. I suppose if the fixture did something like open a file for writing that only one object could do at a time you might have to use setUp but barring that there's not a whole lot of reason to use setUp.


SpaceRoots has released Mantissa 5.3, "a collection of various mathematical tools aimed towards for simulation. It is not a complete mathematical library like GSL, NAG or IMSL, but it contains various algorithms useful for dynamics simulation and 3D geometry computation." Its algorithms include:


André Simon has released Highlight 2.2-3, a free-as-in-speech (GPL) source code formatter that understands 85 programming languages including Java and generates HTML, XHTML, RTF, TeX, LaTeX, and XSL-FO output. Highlight is a command line application written in C++ for Unix and Windows.


Frank Karlstrøm has posted the second beta of JCache 1.0, an open source caching system for Java database-based applications based on the JSR-107 JCache API. This is mostly a bug fix release. JCache is published under the LGPL.

Saturday, September 11, 2004

Siemens and Motorola have submitted Java Specification Request 253, Mobile Telephony API (MTA), to the Java Community Process. According to the JSR,

Mobile Telephony API (MTA) defines a set of functions for controlling calls and using network services suitable for Java applications written for J2ME devices. An example of Java application that uses MTA can be conference application, scheduled calls, or voice services. The MTA must be suited to small devices in terms of functionality and processing. Existing APIs such as JTAPI and JAIN JCC do not suit these requirements.

It is not intended to model the whole telephony network, nor is it necessarily intended to expose every telephony feature available in every wireless network. The goal is to define a portable API basis that exposes common telephony features available in most wireless handsets. The design targets extensibility such that unique features available in some networks can be made available as option packages.

The MTA supports call and supplementary services handling as well as access to the call-related parameters that are required for call management. The interface is an abstraction of the underlying protocols (GSM, CDMA, or UMTS), therefore call and call-related functions must be generalized in order to be applicable independent of the network protocol. The API does not deal with any service functionality and call control on the operator side. The API neither deals with user interfaces nor any presentation issues. The Mobile Telephony API allows java applications to access call-related functionality such as:

  • Initiate voice and emergency calls
  • Receive/accept an incoming call
  • Control and end an existing call
  • Receive event notifications of call state changes
  • Receive event notifications of network state changes (e.g. roaming to a different network)
  • Access network information such as Network ID and "Network Selection Modes"
  • Use supplementary services such as multiparty calls, and call forwarding
  • Get status information about supplementary services
  • Activate/deactivate supplementary services
  • Send/receive Unstructured Supplementary Service Data
  • Manage call-related phone and user parameters such as "Phone Identity Presentation Restriction" or "User Group"

The resulting APIs will be suitable on both the CLDC and CDC platforms.

This JSR does not define mapping of the Mobile Telephony API to underlying protocols and does not deal with any protocol details. The choice of the underlying protocol to use is a responsibility of the API implementation.

Comments are due by September 20.

Friday, September 10, 2004

Jason Hunter has released JDOM 1.0, an open source, tree based API for processing XML with Java. The API is unchanged since beta 10. A few bugs have been fixed. Java 1.2 or later is required.


Sleepycat Software has released Berkeley DB Java edition 1.5.3. Berkeley DB JE is a non-relational embedded database written in Java. The data is exposed through "a Java Collections-style interface, as well as a programmatic interface similar to the Berkeley DB API." This is a bug fix release. Licensing is unclear, but it seems to be some weird form of semi-viral open source license. Java 1.4.2 or later is required.


From the "I thought this died years ago deparment", I'm pleased to note that the Alpha Cabal has posted beta 16 of AlphaX 8.0, a Mac OS X native text editor that Tcl/Tk as a scripting language and supports Java, Perl, Tcl, TeX, HTML, C, C++, Fortran, and Pascal. It includes syntax coloring, grep search/replace, unlimited undo/redo, and other features.


IBM's alphaWorks has released the Resource Bundle Inspector For Java, a tool that "enables initial verification and inspection of translated messages in resource bundles before product testing is done. These translated messages have come from different geographical translation centers. This tool helps testers to speed up the verification of messages before integrating them into any product. Bugs found in translated messages can be detected at early stage of product testing cycle; this helps in increasing the testing cycle efficiency."

Thursday, September 9, 2004

Apple has posted the Java 1.4.2 Update 2 Final Candidate on the Apple Developer Connection (registration and Mac OS X 10.3 required). Apple warns, "Please note that this is a prerelease build which will overwrite the existing Java 1.4.x installation on Panther. Please install this build on non-critical systems if you are concerned with changes that may affect your work or Java applications. The only way to revert to the standard Panther 1.4.1 will be to archive or erase reinstallation of Panther." No word yet on what's been fixed in this version.

I'm in the process of combining three different computers onto a single Mac OS X desktop. So far it's mostly going well, though the Mac has had some troubles talking to my SGI monitor. But the SGI 1600SW monitors I use are very funny beasts that predate the introduction of DVI, and Linux and Windows both have had trouble supoorting them. Software wise, almost everything seems to work, with the notable exception of Java 1.5, which is a pretty serious omission, and means I'll have to keep the Linux box going for awhile longer. The latest scuttlebutt out of Apple is that Java 1.5 won't ship until Tiger does (Apple's Tiger, Mac OS X 10.4; not Sun's Tiger, JDK 1.5) and likely won't ever run on Mac OS 10.3 and earlier. Unnecessary obsolescense to force paid upgrades is a bad thing, and something Apple didn't use to do. Microsoft is much better in this respect.

Other notes from the transition:

Wednesday, September 8, 2004

The Apache Jakarta Commons Project has posted the first release candidate of Commons Math 1.0, an open source library providing many mathematical functions for statistics, random data generation, linear algebra, root finding, interpolation, erf, gamma and beta functions, arrays, factorials, complex numbers, distributions, matrices, and solving linear systems. It looks like it covers most prctical math you might encounter at roughly the level of a typical undergraduate course in mathematical methods for physics. Based on spot checks of the Complex class and the factorial function, this looks like pretty solid work. I don't see any of the usual mistakes I'm used to seeing in such classes. For instance, the MathUtils.factorial() method throws an ArithMeticException if the result overflows the bounds of a long. Commons Math is published under the Apache 2.0 license.


The Gnu Project has released version 3.4.2 of GCC, the GNU Compiler Collection. GCC contains frontends for C, C++, Objective C, Chill, Fortran, Ada, and Java as well as libraries for these languages. GCC is a clean room implementation of Java that doesn't use any Sun code, so it doesn't always exactly match Sun release versions, but this is roughly at the Java 1.4 level with some omissions. 3.4.2 is a bug fix release. It isn't immediately obvious if any of the bug fixes apply to the Java parts of the compiler but it looks like a few of them might.

Tuesday, September 7, 2004

The Apache Jakarta Commons Project has released JEXL 1.0. "Java Expression Language (JEXL) is an expression language engine which can be embedded in applications and frameworks. JEXL is inspired by Jakarta Velocity and the Expression Language defined in the JavaServer Pages Standard Tag Library version 1.1 (JSTL) and JavaServer Pages version 2.0 (JSP)." However, JEXL is not a compatible implementation of EL as defined in JSTL 1.1 and JSP 2.0.


ej-technologies has released Install4j 3.0.2, a $698 payware cross platform tool for building native installers and application launchers for Java applications. New features in 3.0.2 adds a couple of methods to the API.


YourKit, LLC has posted the seventh early access release of the YourKit Java Profiler 3.0, a 295€ payware tool for detecting memory leaks and memory consumption bottlenecks. It features Automation of memory leak detection, an object heap browser, JUnit integration, IntelliJ IDEA Borland JBuilder integration. Version 3.0 features a redesigned user interface including a new "Allocations HotSpots" view. It also allows you to see the merged call tree and back-traces for a method. The tool runs on Windows or Linux.

Sunday, September 5, 2004

Slava Pestov has released jEdit 4.2, an open source programmer's editor written in Java with extensive plug-in support and my preferred text editor on Windows and Unix. New features in 4.2 include:

In my initial testing, it appears to have somewhat improved dialog focus. In previous versions, the failure to correctly focus dialogs like Find was responsible for a lot of mistyped text that ended up in windows other than the one it was intended for. However, there are still some dialogs like "No Matches Found" that don't properly get the focus when shown.

jEdit is published under the GPL. Java 1.3 or later is required.


Linus Tolke has posted ArgoUML 0.16.1, an open source UML modelling tool written in Java. This is a bug fix release. ArgoUML is published under a BSD license.

Saturday, September 4, 2004

Jonas Bonér and Alexandre Vasseur have posted the first release candidate of AspectWerkz 1.0, an open source aspect oriented programming framework for Java. According to the web page, "AspectWerkz utilizes runtime bytecode modification to weave your classes at runtime. It hooks in and weaves classes loaded by any class loader except the bootstrap class loader. It has a rich join point model. Aspects, advices and introductions are written in plain Java and your target classes can be regular POJOs. You have the possibility to add, remove and re-structure advices as well as swapping the implementation of your introductions at runtime. Your aspects can be defined using either an XML definition file or using Runtime Attributes." AspectWerkz is published under an "LGPL-style license".


Michael B. Allen has posted jCIFS 0.9.8, a free (LGPL) SMB client library written in pure Java. It supports Unicode, named pipes, batching, multiplexing I/O of threaded callers, encrypted authentication, full transactions, domain/workgroup/host/share/file enumeration, NetBIOS sockets and name services, the smb:// URL protocol handler, RAP calls, and more. The API is similar to java.io.File. Version 0.9.8 fixes a few bugs including one security bug.

Friday, September 3, 2004

Michael Jakl has posted FProfiler 0.6.3, an open source instrumenting profiler for Java based on BCEL and log4j. It inserts the needed instructions directly into the bytecode of the classes. 0.6.3 is a bug fix release. FProfiler is published under the GPL.


Sun has submitted Java Specification Request (JSR) 252, Java Server Faces 1.2 to the Java Community Process (JCP). According to the JSR, "JavaServer Faces 1.2 provides a minimal enhancement of the JavaServer Faces 1.1 specification. It is not a new feature JSR. The primary goal of this JSR is handling the Faces side of the JSP/Faces alignment issues addressed in the parallel JSR-245." Comments are due by September 13.


Dan Creswell has released version 2.1.5 of the Blitz JavaSpaces Server Edition and version 0.9.3 of the pure Java edition. Bltiz is an open source (BSD license) implementation of JavaSpaces that is Jini 2.0 enabled and implements smart indexing, tuneable persistence, and active/passive lease cleanup. This release adds a utility for making memory and disk consumption estimates a new HostStat statistic that provides details of the machine Blitz is executing on, and event and task throttling.


Michael Fuchs has posted version 0.59 of his DocBook Doclet that creates DocBook SGML and XML documents from JavaDoc. This release adds support for JavaHelp, user-customized fo drivers, and fixes some bugs.


Teodor Danciu's posted version 0.6.1 of JasperReports, an open source Java library for generating reports from XML templates and customizable data sources (including JDBC). The output can be displayed on the screen, printed, or written to XML or PDF files. Version 0.6.1 adds a lastPageFooter section. He's also released JasperAssistant 1.3.1, a $59 payware, Eclipse plug-in visual report designer for JasperReports.


Enterprise Distributed Technologies has released edtFTPj 1.4.3, a free (LGPL) FTP library for Java. A $1500 payware version adds support for FTP over SSL.


JCraft, Inc has posted JSch 0.1.17, an open source, pure Java implementation of SSH2 that supports port forwarding, X11 forwarding, file transfer, etc. This version adds some minor features including handling hostkeys included in known_hosts file and setting timeout values for opening sockets. Java 1.2 or later and the JCE are required. JSch is released under a BSD license.


Websina has released BugZero 3.8, a $1299 payware (+$300 for maintenance) Web-based bug tracking system that supports multiple projects, group-based access, automatic bug assignment, file attachment, email notification, and metric reports. Bug Zero is written in Java and can run on top of various backend databases including MySQL. 3.8 adds an "editasgn" project access code that allows users to edit only issues assigned to them.


YourKit, LLC has posted the sixth early access release of the YourKit Java Profiler 3.0, a 295€ payware tool for detecting memory leaks and memory consumption bottlenecks. It features Automation of memory leak detection, an object heap browser, JUnit integration, IntelliJ IDEA Borland JBuilder integration. Version 3.0 features a redesigned user interface including a new "Allocations HotSpots" view. It also allows you to see the merged call tree and back-traces for a method. The tool runs on Windows or Linux.


SolarMetric Inc. has released Kodo JDO 3.1.5, an implementation of Sun's Java Data Objects (JDO) 1.0 specification plus "preview features of the upcoming JDO 2.0 specification." JDO permits Java objects to be transparently stored in relational databases. This is mostly a bug fix release. Kodo JDO Standard Edition sells for $600 per developer license, and Kodo JDO Enterprise Edition sells for $3000 per developer license and adds J2EE application server support.

SolarMetric has also posted the first release candidate of Kodo 3.2.0, which focuses on support for the JDO 2 standard.

Thursday, September 2, 2004

Sun's posted a release candidate of Java 1.5, a.k.a Java 5, a.k.a Java 2 Standard Edition 5.0 Java Development Kit, a.k.a Java 2004 SuperSized Edition 50.0 Release Candidate For Developers Lord Only Knows What This Will Be Called Next Week 50.0. They claim more than 99% of their tests are passing, and they think fixing the remaining < 1% of test failures is too risky. The tentative release data is September 30th.


The Apache Jakarta Project has released Commons Validator 1.1.3, an extensible framework for defining validation methods. Although it uses XML to define the validation rules, this component is intended for general data validation, not specifically or even primarily XML validation. It is published under the Apache 2.0 license.


Stefan Reich has posted beta 9 of SuperVersion 1.0, a single user version control system suitable for small projects, as opposed to multiuser, server-based systems like CVS and Subversion. Beta 9 adds new CVS-compatible keywords ($RCSfile, $Source, and $Date) and recognizes UTF-8 files as text. Superversion is published under the GPL.


Ben Litchfield has posted PDFBox 0.6.6, an open source (BSD license) Java library for manipulating PDF documents and extracting contents from existing PDF documents.

Wednesday, September 1, 2004
Picture of a Cat, Tomcat logo

The Jakarta Apache Project has released Tomcat 5.5.0, an open source servlet container for the Apache web server and the official reference implementation of the Java Servlet API and Java Server Pages (JSP). "Tomcat 5.5 is designed to run on J2SE 5.0 and later, and requires configuration to run on J2SE 1.4....In addition, Tomcat 5.5 uses the Eclipse JDT Java compiler for compiling JSP pages. This means you no longer need to have the complete Java Development Kit (JDK) to run Tomcat, but a Java Runtime Environment (JRE) is sufficient. The Eclipse JDT Java compiler is bundled with the binary Tomcat distributions. Tomcat can also be configured to use the compiler from the JDK to compile JSPs, or any other Java compiler supported by Apache Ant." The announcement didn't mention anything about the versions of servlets and JSP supported, so I assume this still implements version 2.4 of the Java Servlet API 2.4 and version 2.0 of Java Server Pages like Tomcat 5 did. The version numbering is funky. This is really more like an alpha release and is not considered to be ready for production.


For those who prefer to bleed a little less, the Jakarta Apache Project has also released Tomcat 5.0.28. "This release addresses a number of bugs and contains updated documentation, status, and dependencies."


Older news:

2004200320022001200019991998
January January, 2004 January, 2003 January, 2002 January, 2001 January, 2000 January, 1999 January, 1998
February February, 2004 February, 2003 February, 2002 February, 2001 February, 2000 February, 1999 February, 1998
March March, 2004 March, 2003 March, 2002 March, 2001 March, 2000 March, 1999 March, 1998
April April, 2004 April, 2003 April, 2002 April, 2001 April, 2000 April, 1999 April, 1998
May May, 2004 May, 2003 May, 2002 May, 2001 May, 2000 May, 1999 May, 1998
June June, 2004 June, 2003 June, 2002 June, 2001 June, 2000 June, 1999 June, 1998
July July, 2004 July, 2003 July, 2002 July, 2001 July, 2000 July, 1999 July, 1998
August August, 2004 August, 2003 August, 2002 August, 2001 August, 2000 August, 1999 August, 1998
September September, 2004 September, 2003 September, 2002 September, 2001 September, 2000 September, 1999 September, 1998
October October, 2004 October, 2003 October, 2002 October, 2001 October, 2000 October, 1999 October, 1998
November November, 2004 November, 2003 November, 2002 November, 2001 November, 2000 November, 1999 November, 1998
December December, 2004 December, 2003 December, 2002 December, 2001 December, 2000 December, 1999 December, 1998

[ Cafe au Lait | Books | Trade Shows | FAQ | Tutorial | User Groups ]

Copyright 2004 Elliotte Rusty Harold
elharo@metalab.unc.edu