September 2003 Java News

Tuesday, September 30, 2003

I have to make yet another unexpected trip out of town today. I'll be checking e-mail, but updates will be a little slow until I return on Friday.


Sun has posted the public review draft of the next version of the Java Community Process. Among other changes the community review now becomes an early draft review, which is open to the public; and the rules for technology compatibility kits are tightened up.


Picture of a Cat, Tomcat logo The Jakarta Apache Project has released Tomcat 5.0.12, the servlet container for the Apache web server and the official reference implementation of the Java Servlet API and Java Server Pages (JSP). Tomcat 5.0 implements version 2.4 of the Java Servlet API 2.4 and version 2.0 of Java Server Pages. The numbering is a little confusing. but this appears to be the second beta release in the 5.0 series. It should really be numbered 5.0b2. Only users interested in testing beta software and reporting bugs should upgrade.


Steve Roy has released MRJ Adapter 1.0.4, an open source library that implements a unified API for developers to access Mac specific functionality built into the various versions of the Macintosh Runtime for Java (MRJ). MRJ Adapter enables developers to add Mac specific functionality to their applications without compromising the cross-platform nature of their application. MRJ Adapter also "incorporates many little tricks known only to seasoned Mac Java programmers, such as how to bring up a file dialog to pick a folder, or how to set up a menu bar when no frame is opened, which is a normal state for a Mac application that isn't natively supported by Java." Version 1.0.4 makes a couple of minor improvements in Preferences menu handling and fixes a bug with Quit handlers. MRJ Adapter is published under the LGPL.

Monday, September 29, 2003

Apologies to readers from outside the United States who tried to follow the link to yesterday's quote of the day from Teller. I have no idea why Showtime doesn't want non-U.S. readers to know about Bullshit, but apparently they don't. Maybe you can check out this interview with Penn ot this CNN article instead.


Amazon, Barnes & Noble have finally gotten Effective XML in stock for immediate shipment. My apologies to everyone who preordered after my initial announcement. I had no idea it was going to take so long for the copies to get from the publisher to the bookstore warehouses. Other bookstores should have it soon.


The Object Refinery has posted version 0.9.13 of JFreeChart, an open source library based on Java2D. JFreeChart can produce pie charts, line charts, various kinds of bar charts, XY plots and scatter plots, time series, high/low/open/close charts, candle stick charts, and combination charts. This release adds a progress indicator to the Gantt charts, a foreground/background option for the domain and range markers, and fixes assorted bugs. JFreeChart is published under the LGPL.

Sunday, September 28, 2003

Siemens AG and Nokia have submitted Java Specification Request 228 (JSR-228), Information Module Profile - Next Generation (IMP-NG) to the Java Community Process (JCP). According to the JSR, "This JSR will define a J2ME profile targeting embedded networked devices that wish to support a Java runtime environment similar to the Mobile Information Device Profile (MIDP) version 2.0, but that do not provide the graphical display capabilities required by MIDP 2.0. The Information Module Profile - Next Generation (IMP-NG) will be a strict subset of MIDP 2.0, where at least the APIs relating to GUI functionality (the LCDUI) are removed. Functionality not already present in MIDP 2.0 is not anticipated or desired." Example devices include modems, microwave ovens, and gas meters.


Siemens has also submitted JSR-229 Payment API to the JCP. This JSR proposes an API for J2ME to allow devices to charge for access to J2ME content; e.g. pay-per-feature or pay-per-use, rather than pay-per-application. Comments are due by October 5.


Finally Siemens has submitted JSR-230 Data Sync API to the JCP. According to the JSR, This optional J2ME API "enables applications to synchronize their application specific data stored in the terminal with corresponding data stored on a server, replicating any changes made to either instance of the data. It should provide a generic interface to the data synchronization device implementation, to enable data synchronization via underlying implementations of data synchronization protocols. One example of the data synchronization protocols to be accessed from Java applications will be SyncML / OMA Data Synchronization. The API should be a high level API, that provides a common set of synchronization commands." Comments are due by October 5.


Craig Russel of Sun has published a maintenance release of JSR-12 Java Data Objects (JDO) Specification. This is essentially a bug fix release.

Saturday, September 27, 2003

Kimberley Burchett has released Jatha 1.1, a smart open source macro preprocessor for Java. This is more like a Lisp maro processor than a C macro preprocessor. Jatha runs arbitrary Java code to generate the source code that the compiler sees rahter than performing simple text substitution. Jatha macros can reside in any kind of file--Java source files, C++ source files, plain text, etc. Jatha is published under the GPL.


Brendan Macmillan has posted version 2.1.1 of Java Serialization for XML (JSX) 2, a library for converting Java objects into streams of XML and reading the objects back from the streams. To use it, replace ObjectOutputStream with JSX.ObjectWriter and ObjectInputStream with JSX.ObjectReader. This release enables you to customize an object's XML representation by serializing a "memento" in its place. Also, this release implements the resolveClass() method so you can load specific classes with specific classloaders.


SwingSet 0.5.0-alpha is an open source Java toolkit that makes standard Java Swing components database-aware.

Friday, September 26, 2003

Sun has released version 1.3.1_09 of the Java™ 2 Platform, Standard Edition for Windows, Linux, and Solaris. This release fixes assorted bugs.

Thursday, September 25, 2003

ShiftOne has released JOCache 1.1, an open source library that provides various Object caching strategies including First In First Out (fifo), Least Recently Used (lru), and Least Frequently Used (lfu). JOCache is published under the LGPL.

Wednesday, September 24, 2003

The U.S. Army has arrested another of the soldiers they assigned to manage the prisoners at Guantánamo Bay. This time it's Senior Airman Ahmad I. al-Halabi, a translator. His alleged crime is providing information about the prisoners to the Syrian government, including top-secret data like the names of the prisoners. If there is anything real in this case and the previous arrest of Captain James Yee, and not just blatant anti-Arab/Muslim bigotry within the Army, then I very much suspect it's that these men were trying to provide basic humanitarian aid to the prisoners, things like contacting their families and to let them know they were alive, stuff like that. These aren't exactly the secret codes for the nuclear arsenal we're talking about here. I have a strong suspicion none of this would be happening if the Army were acting according to the Geneva Convention, or, for that matter, with basic human decency.


I18N FAQ has released jchardet, a port of the Mozilla character encoding detection algorithm to Java. jchardet is published udner the Mozilla Public License.


Robert Oloffson has posted version 0.34 of Java Memory Profiler (JMP). JMP uses the Java Virtual Machine Profiling Interface (JVMPI) interface to track objects and method times in a JVM . It uses a GTK+ interface to display statistics. The current instance count and the total amount of memory for each class is shown as is the total time spent in each method. This release fixes bugs. JMP is written in C for Linux.

Tuesday, September 23, 2003

The Zaval Creative Engineering Group has released version 3.5 of the Zaval Light-Weight Visual Components Library (LwVCL), an open source alternative to the AWT and Swing. It's published under the GPL.


Network Associates has released the Java Binary Enhancement Tool, an open source "Java program analysis and manipulation tool. Existing class files can be disassembled, reassembled, or edited programmatically through the JBET API. JBET can also be used to create new Java class files from scratch. JBET uses a convenient internal representation of all the contents of Java binary (.class) files, allowing the user to edit the classes easily, in a structured manner."


Alexandre Brilliant has released JSyntaxColor 1.2.1, a €110 shareware Java library for coloring user text input in real time. JSyntaxColor supports Java, SQL, and Formula syntax out of the box, and can be customized for other languages. This is a bug fix release.

Monday, September 22, 2003

The Gnu Project has released version 0.06 of GNU Classpath, an incomplete free implementation of the core Java class libraries. This release supports free Java VMs including the Jikes RVM and Kissme. New features in this release include GTK+2 java.awt peers and many newly implemented classes including java.awt.GridBagLayout and javax.swing.border. GNU Classpath is published under the LGPL.


 JGAP 1.0 has been released. JGAP is an LGPL'd genetic algorithms library for Java that "is designed to require minimum effort to use "out of the box", but is highly modular and allows custom components to be easily plugged in by the more adventurous." It supports XML persistence, an event system, and a default natural selection algorithm.


The JBoss Project has posted the fourth release candidate of JBoss 3.2.2, an open source Enterprise JavaBeans application server implemented in pure Java. This is a bug fix release, no new features. JBoss provides JBossServer, the basic EJB container and JMX infrastructure, JBossMQ for JMS messaging, JBossMail for mail, JBossTX for JTA/JTS transactions, JBossSX for JAAS based security, JBossCX for JCA connectivity, and JBossCMP for CMP persistence. It integrates with Tomcat Servlet/JSP container and Jetty Web server/servlet container, and enables you to mix and match these components through JMX by replacing any component you wish with a JMX-compliant implementation for the same APIs. Java 1.3 or later is required.


JCraft, Inc has posted JSch 0.1.8, a pure Java implementation of SSH2 that supports port forwarding, X11 forwarding, file transfer, etc. JSch is released under a BSD license. This release adds APIs for resuming uploads and downloads and fixes various bugs.


Websina has released BugZero 3.1.1, a $999 payware 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.1.1 fixes a security bug.

Sunday, September 21, 2003

The U.S. Army has arrested Captain James J. Yee, the Muslim cleric they assigned to minister to the prisoners at Guantánamo Bay. The facts of the case are unclear--the articles I read in the New York Times and the Washington Times are directly contradictory on several key points--but I'd be very surprised if this ultimately turns out to be anything other than anti-Muslim bigotry. He's Muslim, and he treated the prisoners as something more than non-human scum. Therefore he must be a terrorist. Possibly he did something like promise to communicate with the detainees' families or plan to talk to the press about the conditions there, something any decent person would agree to do, and the sort of humane action you'd expect from a chaplain in particular. I doubt very much Captain Yee did anything a rational person would find to be wrong.

This really smell like another U.S. government attempt to punish anyone who shows the least amount of basic kindness to people labelled as the enemy. It seems almost superfluous to say that none of the detainees have had even a show trial, and almost certainly some of them are innocent. Innocent or guilty, prisoners are entitled to certain rights which are being routinely violated at Guantánamo Bay. I wouldn't be surprised to find that Captain Yee's real crime was refusing to go along with the violations of both U.S. and international law.

Saturday, September 20, 2003

I set aside today for catching up on various Neal Stephenson/Enoch Root news and speculation in advance of the publication of QuickSilver on Tuesday. (Minor spoilers follow.)

First of all, I was right. There is definitely something funny going on with Enoch Root. The same character who appears in the 1940s and 1990s in Cryptonomicon, reappears in QuickSilver in the 1700s. This is the same person, not an ancestor or a person playing a role. According to a new interview with Stephenson,

NS: The links are somewhat loose, so this is not one of these situations where you've got to read one of the books to make sense of the others. There's a gap of about 300 years between the Baroque Cycle and Cryptonomicon, and if you've read Cryptonomicon, you'll recognize some family names that are in common. You can infer that some of the families in the Baroque Cycle have descendents who show up later in Cryptonomicon. It's largely a family saga kind of connection. And then there's a character, Enoch Root, who possesses unnatural longevity and shows up in person in both of the books.

HC: So it is the same Enoch Root in both of the books?

NS: Yes.

Stephenson has also revealed that QuickSilver is just the first volume of a three-volume trilogy. The next two volumes, The Confusion and The System of the World, will follow at six month intervals. The publisher has promised me a copy on Monday. I better work this weekend because I know what I'm going to be doing for the first couple of days next week. :-)

I've updated my main Cryptonomicon page with various thoughts readers have sent in since May. There are some interesting ideas here, though some of them are a little dated now that we know that Enoch Root does indeed live for centuries. Colin St. John suggests that the late 20th century Root is actually Lawrence Pritchard Waterhouse who took over the "role" of Root presumably following the death of the 1940s Root. PJ (anonymity requested) and Eve Proper both want to know who Gunter Enoch Bobby (GEB) Krivitsky's father really is. PJ also thinks that the Root name is passed down through the generations, but by blood rather than office. PJ also suggests that Root may be the alchemist Comte St. Germain, whcih would explain his longevity. Possible, especially given the alchemy connection. Another possibility is that Root is the legendary wandering Jew. Lee Harvey Osmond suggests I might want to check out https://www.eruditorum.org/ as well as http://www.eruditorum.org/. (no, they're not the same site. Look closer.)

Stephenson will be on a book tour from Tuesday through October 2, though all the scheduled appearances seem to be on the West Coast.

Friday, September 19, 2003

Today is the official release date for Effective XML. Later today it will be arriving at fine computer book stores around the country. Amazon, BookPool, and Barnes & Noble don't show it in stock yet, but that should change soon. Amazon in particular generally sells out of their initial shipments of my books very quickly, so you may wish to preorder it. The list price is $44.99, but most stores are offering their usual discounts. Amazon is currently 30% off. BookPool is running a special on Addison-Wesley book right now and has it at 45% off, only $24.95. That's the lowest price I've found, and it won't last so order now.

For new visitors to this site who haven't heard of this before, Effective XML is a collection of guidelines and best practices for using XML. It focuses on using and developing XML applications, with a particular emphasis on aspects of XML that are often misunderstood or misapplied. It follows the path blazed by books like Scott Meyers' Effective C++ and Joshua Bloch's Effective Java.

Learning the fundamentals of XML might take a programmer a week. Learning how to use XML effectively might take a lifetime. While many books have been written that teach developers how to use the basic syntax of XML, this is the first one that really focuses on how to use XML well. This book is not a tutorial. It is not going to teach you what a tag is or how to write a DTD. I assume you know these things. Instead it's going to tell you when, why, where, and how to use such tools effectively (and perhaps equally importantly when not to use them).

This book derives directly from my own experiences teaching and writing about XML. Over the last five years. I've written several books and taught numerous introductory courses about XML syntax, APIs, and tools. Increasingly I'm finding that audiences are already familiar with the basics of XML. They know what a tag is, how to validate a document against a DTD, and how to transform a document with an XSLT style sheet. The question of what XML is and why to use it has been sufficiently well evangelized. The essential syntax and rules are reasonably well understood. However, although most developers know what a CDATA section is, they are not sure what to use one for. Although programmers know how to add attribute and child nodes to elements, they are not certain which one to use when.

Since XML has become a fundamental underpinning of new software systems, it becomes important to begin asking new questions, not just what XML is, but how does one use it effectively? Which techniques work and which don't? Perhaps most importantly, which techniques appear to work at first but fail to scale as systems are further developed? When I teach programming at my university, one of the first things I tell my students is that it is not enough to write programs that compile and produce the expected results. It is as important (perhaps more important) to write code that is extensible, legible, and maintainable. XML can be used to produce robust, extensible, maintainable, comprehensible systems or it can be used to create masses of unmaintainable, illegible, fragile, closed code. In the immortal words of Eric Clapton, “It's in the way that you use it.”

XML is not a programming language. It is a markup language; but it is being successfully used by many programmers. There have been markup languages before, but in the developer community XML is far and away the most successful. However, the newness and unfamiliarity of markup languages have meant that many developers are using it less effectively than they could. Many programmers are hacking together systems that work, but are not as robust, extensible, or portable as XML promises. This is to be expected. Programmers working with XML are pioneers exploring new territory, opening up new vistas in software, and accomplishing things that could not easily be accomplished just a few years ago. However one definition of a pioneer is someone with an arrow in their back, and more than a few XML pioneers have returned from the frontier with arrows in their backs.

Five years after the initial release of XML into the world, certain patterns and antipatterns for the proper design of XML applications are becoming apparent. All of us in the XML community have made mistakes while exploring this new territory, the author of this book prominently among them. However, we've learned from those mistakes, and we're beginning to develop some principles that may help those who follow in our footsteps to avoid making the same mistakes we did. It is time to put up some caution signs in the road. We may not exactly say “Here there be dragons”, but we can at least say, “That road is a lot rockier than it looks at first glance, and you might really want to take this slightly less obvious but much smoother path off to the left.”

If you'd like to know more, the preface and ten chapters are posted in their entirety on the book's web page. The title is Effective XML; the ISBN number is 0-321-15040-6; the list price is $44.99; and you can order it from fine book stores everywhere including Amazon, Barnes & Noble , BookPool, and Powell's. Enjoy and Happy XML!

Thursday, September 18, 2003

Michael B. Allen has posted jCIFS 0.7.13, an 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. This release adds support for SMB signing. jCIFS is published under the LGPL.


Julien Ponge has released IzPack 3.2.0, an open source tool for building cross-platform installers in Java. This release adds a new ProcessPanel and collects a number of other small improvements. It's published under the GPL.

Wednesday, September 17, 2003

Version 1.4.1 of RefactorIT, a $295 payware tool that   can read Java source code and rewrite it by means of automated refactorings such as Rename Field/Method/Variable/Class/Package, Extract Method or Move Type, has been released. Version 1.4.1 adds support for package renaming and speeds up some operations. RefactorIT may be used as a standalone tool or installed as an add-in to IDEs like NetBeans, Forte, JDeveloper, and JBuilder.


Version 0.6.0 of JRat, an open source profiling tool that requires instrumentation of your code, has been posted. This release mostly fixes bugs and cleans up the code. JRat is published under the LGPL.


Joe Carter has released the Java Vision Toolkit 2.2.0, an open source "Java Advanced Imaging GUI/library for machine vision and image processing applications. It provides a framework for machine vision and image processing algorithms for 2D and 3D images." The Java Vision Toolkit is published under the GPL.


Michael Fuchs has posted version 0.5.0 of his DocBook Doclet that creates DocBook SGML and XML documents from JavaDoc. This release adds a new --no-tables command line parameter that suppresses any tables in the DocBook XML output of html2db.

Tuesday, September 16, 2003

Gentleware has released Poseidon for UML 2.0 a Unified Modeling Language CASE tool based on the open source ArgoUML. Poseidon for UML integrates with NetBeans/Forte/SUN One Studio, and features generation and import of Java code. This release adds support for UML 2.0. There's a free beer community edition and several payware editions depending on which features you want that range in price from $149 to $599. Upgrades from 1.x range from $49 to $229.


Steve Roy has released MRJ Adapter 1.0.3, an open source library that implements a unified API for developers to access Mac specific functionality built into the various versions of the Macintosh Runtime for Java (MRJ). MRJ Adapter enables developers to add Mac specific functionality to their applications without compromising the cross-platform nature of their application. MRJ Adapter also "incorporates many little tricks known only to seasoned Mac Java programmers, such as how to bring up a file dialog to pick a folder, or how to set up a menu bar when no frame is opened, which is a normal state for a Mac application that isn't natively supported by Java." Version 1.0.3 is a bug fix release. MRJ Adapter is published under the LGPL.

Monday, September 15, 2003

ROXES Technologies has released the ROXES Ant Tasks 1.0, a collection of three open source ant tasks:


Jeff Pace has released version 4.0.2 of DoctorJ, an LGPL'd Linux application written in C++ that analyzes Java source code in three areas:

Version 4.0 can auto-fix some errors with user confirmation. This release cleans up the code and makes various speed ups.


Websina has released BugZero 3.0.1, a $999 payware 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.0.1 is a bug fix release.


Tanuki Software has released Java Service Wrapper 3.0.5, an open source tool that enables Java applications to be installed and controlled like native NT or Unix services. It can even automatically restart crashed or frozen JVMs. Version 3.0.5 adds support for SGI Irix and fixes a problem with Mac OS X.


Jim Menard has posted version 0.7.13 of DataVision, an open source "database reporting tool similar to Crystal Reports". DataVision is written in Java and supports multiple databases including PostgreSQL, MySQL, and Oracle. This release makes some small improvements, especially in PDF support.


The Object Refinery has posted version 0.9.12 of JFreeChart, an open source library based on Java2D. JFreeChart can produce pie charts, line charts, various kinds of bar charts, XY plots and scatter plots, time series, high/low/open/close charts, candle stick charts, and combination charts. This release adds a layered bar renderer, improves HTML image map support, improves cloning and serialization support, and localizes resources for the chart property editors. JFreeChart is published under the LGPL.


SSHTools.com has posted J2SSH 0.2.5, a Java implementation of the secure shell protocol that "provides a fully featured SSH2 implementation specifically designed for cross platform development. Higher level components representing both the standard SSH client and SSH servers are provided which implement the protocol specification for user sessions and port forwarding." Supported features include public key and password authentication and the SFTP protocol. This beta fixes assorted bugs and makes some speed ups. J2SSH is published under the LGPL.


debugtools.com has released version 3.2 of JDebugTool, a standalone graphical Java debugger built on top of the Java Platform Debugger Architecture (JPDA). This release supports watchpoints for field reads and writes. JDebugTool is $99 (personal)/$199 (corporate) payware.


Ralph Jocham has posted release 0.95 of JCSC (Java Coding Standard Checker), a configurable tool for checking Java source code for adherence to standard conding conventions such as naming conventions, code structure, class size, and line length. JCSC is published under the GPL.


Atlassian has released JIRA 2.4, a $1000 payware J2EE-based bug tracking and project management server application. JIRA runs on a most application servers with various databases. Version 2.4 adds graphical portlets, Jelly-scripting support and much improved field configurability.


YourKit, LLC has released Memory Profiler 1.0.1, a 99€ 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. The tool runs on Windows or Linux.


IBM's alphaWorks has updated TSpaces, a "set of network communication buffers, APIs, and classes that allows heterogeneous, Java-enabled devices to exchange data with little programming effort." This release fixes some bugs.

Sunday, September 14, 2003

IBM has posted the first public review draft specification of Java Specification Request (JSR) 147, Workspace Versioning and Configuration Management in the Java Community Process. According to the JSR,

Collaborative authoring tools, including tools targeted for software development, document management, and web content management, need access to a variety of services for versioning and configuration management of the files and web resources being created and modified. The DeltaV protocol (which is an extension to the WebDAV protocol, which itself is an extension of the HTTP/1.1 protocol) provides a standard protocol for versioning and configuration management of web resources. The DeltaV protocol is the result of a three-year collaborative effort by a wide range of participants from the open source community, academics, and industry (e.g. IBM, Oracle, Merant, Microsoft, Rational). But this protocol has the following problems when used by a client:

  • The client often needs to maintain copies of the web resources in the client file system (e.g. for disconnected use and performance improvement). Unless clients agree on how that local file system state is maintained, it is impossible for multiple clients to maintain correct local file system state.
  • - DeltaV (since it is a client-server protocol) provides no standard mechanism for requesting information from the user to complete a requested operation.
  • There is a large amount of boilerplate coding required to generate and receive HTTP messages. It is far simpler and less error prone for a client application to simply invoke Java routines.
  • There are two significantly different variants of the DeltaV protocol: the client-workspace package and the server-workspace package.
  • From a client's perspective, these two packages provide the same functionality, and only differ by whether or not persistent state is maintained on the client.

This specification will address these problems by defining a client side library that will expose the full DeltaV functionality and will use the DeltaV protocol to communicate with a server, but will:

  • automatically provide client-side file maintenance required by any DeltaV operation
  • define GUI callbacks for requesting from the user any information required to complete an operation
  • generate the DeltaV messages and parse the DeltaV responses
  • hide the distinction between a client workspace and a server workspace in the client side library implementation, so that a user of the library is presented with a single uniform workspace interface
Saturday, September 13, 2003

Sun and IBM have posted the second proposed final draft specification for Java Specification Request (JSR) 168, the Portlet API. A portlet is like a servlet that produces only part of a page, rather than an entire page. For instance, you can imagine the quote of the day, the recommended reading, the news items, and the navigation column on the right hand side as all being produced by separate portlets whose output the server combines to form the page you're reading now. (That's not how this page is produced, but you can imagine it that way.)


David Hovemeyer has posted FindBugs 0.6.6, an automated open source tool for finding potential bugs in Java code. This release adds detectors for self assignment (x=x) of local variables and calls to wait(), notify(), and notifyAll() on an object which is not obviously locked. Furthermore, the inconsistent synchronization detector has improved accuracy. A few random bugs are fixed as well. Java 1.4 or later is required. FindBugs is published under the LGPL.


Linus Tolke has posted ArgoUML 0.15.1, an open source UML modelling tool written in Java. ArgoUML is published under a BSD license.

Friday, September 12, 2003

Today is the last day to submit talks for Software Development 2004 West. The 2004 show has expanded the number of talks by about a third so there's a better than usual chance of having your talks accepted. This conference will take place March 15-19, 2003, in Santa Clara. Once again I'll be chairing the XML track. However, there are also tracks covering Java, C++, Web Services, .NET. Architecture and Design, Wireless and Mobile computing, and more.


IBM's alphaWorks has released the Backward Compatibility Tester, a "tool for testing the backward compatibility of Java Archive (JAR) files. This tool tests whether or not the libraries are backward-compatible in terms of arguments, exceptions thrown, or any other particular. The tool can be used by companies to determine whether or not their new software development kit is compatible with the old one before selling it."


Sun's posted the proposed final draft of Java Specification Request 69 (JSR 69), Java OLAP Interface, in the Java Community Process. JOLAP is a pure Java API for J2EE that supports the creation and maintenance of OnLine Analytical Processing data and metadata.

Thursday, September 11, 2003

Slava Pestov has uploaded the fifth pre-release of 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 this release include improved syntax highlighting for Icon. In addition many bugs were fixed.

Wednesday, September 10, 2003

Apple has released an update to their Java 1.4.1 and 1.3.1 virtual machines for Mac OS X. The update adds support for AWT headless mode and features numerous speed ups and bug fixes. Mac OS X users can download it through software update.

Sunday, September 7, 2003

The Eclipse Project has posted the third milestone beta of Eclipse 3.0, 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. New features in this release are mostly minor. Overall this feels more like a 2.2 than a full version shift. New features since milestone 2 include

Friday, September 5, 2003

I have to make an unexpected trip out of town tomorrow. I'll be checking e-mail, but updates will be a little slow until I return on Wednesday.


Alexis Agahi has released Openim 1.0, an open source server implementation of the Jabber Extensible Messaging and Presence Protocol (XMPP) built on top of the Apache-Avalon Framework and Phoenix. XMPP is an open, XML-based protocol for instant messages.

Thursday, September 4, 2003

The Apache Jakarta Project has released Regexp 1.3, a 100% Pure Java, open source Regular Expression package. This is primarily maintenance release containing several bug fixes.


Pat Niemeyer has posted the first beta of BeanShell 2.0, an open source Java source code (as opposed to byte code). BeanShell extends Java with loose types, method closures, commands, and other scripting language features. Neimeyer writes that,

Version 2.0 is now "a fully Java compatible scripting language. BeanShell is now capable of interpreting ordinary Java source and loading .java source files from the class path. Although this code is still in beta I have been able to execute almost all of the 165 example programs from my book (Learning Java, O'Reilly & Associates) without modification.

BeanShell scripted classes are fully typed and appear to outside Java code and via reflective inspection as ordinary classes. However their implementation is fully dynamic and they may include arbitrary BeanShell scripts in their bodies, methods, and constructors. Users may now freely mix loose, unstructured BeanShell scripts, method closures, and full scripted classes. BeanShell scripted classes are "bound" in the script namespace in which they are declared and so can freely refer to other scripted items such as scripted methods, commands, and "global" variables of the script.

BeanShell is published under the LGPL.

Wednesday, September 3, 2003

The Jakarta Apache Project has released Commons Lang 2.0, a "set of Java libraries which enhance the standard Java core of java.lang and A These packages provide assistance for creating good equals(), toString(), hashCode(), and compareTo() methods, enumerations, nested exceptions prior to Java 1.4, object serialization and more. Classes include:

New classes added in 2.0 include

A few classes and methods have changed in incompatible ways, so read the release notes before upgrading. There's a lot of good stuff here. Everyone should check it out, at least for the ideas even if you don't want to use the library. I've already used some of their enum ideas (though not the actual code) in XOM.


Genuitec has released version 2.6 of its MyEclipse J2EE Enterprise Workbench for Mac OS/X, Windows and Linux, a product that extends the Eclipse 2.1.x platform with Web and Enterprise JavaBeans (EJB) developer tools, application server connectors, and exploded/packaged deployment. Features include:

Supported application servers include Bejy, JBoss, Oracle, Orion, Tomcat, WebLogic, WebSphere, and Jetty. MyEclipse Enterprise Workbench is rented for $29.95 per developer per year.


The JavaPLT group at Rice University has posted a new build of DrJava, an open source integrated development environment (IDE) for Java that supports interactive evaluation of expressions. "This release includes many large new features, including the ability to test all open JUnit test files, easily run the main method of a program, find and replace across all open documents, and load a history file as a script that can be executed one line at a time. There have been interface improvements including a convenient box that appears in the Interactions Pane to accept input from System.in, listing JUnit test methods as they are being run, and configurable colors that now work in all panes." DrJava is published under the GPL and requires JDK 1.3 or later.


Robert Oloffson has posted version 0.34 of Java Memory Profiler (JMP). JMP uses the Java Virtual Machine Profiling Interface (JVMPI) interface to track objects and method times in a JVM . It uses a GTK+ interface to display statistics. The current instance count and the total amount of memory for each class is shown as is the total time spent in each method. This release fixes bugs. JMP is written in C for Linux.

Tuesday, September 2, 2003

Michael B. Allen has posted jCIFS 0.7.12, an 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. This is a bug fix release. jCIFS is published under the LGPL.


Steve Roy has released MRJ Adapter 1.0.2, an open source library that implements a unified API for developers to access Mac specific functionality built into the various versions of the Macintosh Runtime for Java (MRJ). MRJ Adapter enables devlopers to add Mac specific functionality to their applications without compromising the cross-platform nature of their application. MRJ Adapter also "incorporates many little tricks known only to seasoned Mac Java programmers, such as how to bring up a file dialog to pick a folder, or how to set up a menu bar when no frame is opened, which is a normal state for a Mac application that isn't natively supported by Java." Version 1.0.2 "improves support for the Reopen Application event" and adds support for the setting a file's last modified time. MRJ Adapter is published under the LGPL.

Monday, September 1, 2003

Gaudenz Alder has released version 3.0 of JGraph, an open source 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. 3.0 changes the package name to org.jgraph. JGraph is published under the LGPL.


Older news:

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

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

Copyright 2003 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified September 15, 2003