March 1999 Java News

Wednesday, March 31, 1999 (formerly Computer Literacy) is running a special promotion to celebrate their new name that lets you preorder Java I/O for $11.35. That's more than half off its normal cover price of $32.95, and $15 less than the normal $26.35 price at Fatbrain. Just use the referral code of "FATBRAIN" when you order. (Of course, you could use the referral code to get $15 off a different book, but why would you want to?)

At SD99 West on May 12 Microsoft's CVM development lead and principal architect Steve Lucco will allegedly demonstrate "a virtual machine that can safely and efficiently run programs written in different programming languages, including C++, Visual Basic, and Java. CVM incorporates novel fault isolation, bytecode, and program compression technologies that eliminate many of the performance barriers currently inhibiting widespread adoption of virtual machine application platforms." Sounds interesting. I hope I'm not scheduled to speak at the same time he is.

IBM's alphaWorks has released version 2.0.2 of TSpaces with assorted bug fixes and performance improvements. TSpaces is a set of network communication buffers called tuple spaces and an API for accessing those buffers.

The Java Apache Project is starting work on MOD_JAVA, will be an extension module for the Apache web server that allows other extension modules to be written in Java, rather than C. Developers are needed.

Live Software has released version 2.3 of the JRun servlet engine. This version fixes assorted bugs and adds support for Apache 1.3.6

Sunday, March 28, 1999

The Princeton University Secure Internet Programming Lab has uncovered a new security bug in the JDK 1.1 and 1.2 as well as Netscape Navigator 4.0 and possibly other products. This bug allows an untrusted applet to execute unverified code under certain, unspecified circumstances. Sun says this is an implementation problem and not a fundamental flaw in the Java security model. As usual you should probably turn off Java in your browser until more details are available and/or the bug is fixed.

Barnes and Noble seems to be the first online bookstore to get Java I/O in stock. Borders has it too. I think Amazon sold out their entire first shipment on pre-orders alone. They should have more in stock soon. Computer Literacy lists it as available in two to four weeks.

I've begun building the home page for Java I/O, my latest book from O'Reilly. I've put up all the example code from the book including some lagniappe programs that didn't make it into the book. You can also look over the Table of Contents and the index. I've also got an errata page which is so far blessedly empty. (I wonder how long that will last?)

I'm also thinking about starting a mailing list dedicated to general Java I/O issues. I'm not aware of any that already exist, but if you know of one, please drop me a line about it. I'd prefer not to duplicate effort. I'll get it started in a week or so, unless somebody tells me about an existing list first.

IBM's alphaWorks has released version 1.7.2 of the Skij Scheme interpreter written in Java. This release features assorted bug fixes.

Saturday, March 27, 1999
Congratulations to Dr. Philip Greenspun for finishing and successfully defending his thesis, which is far more interesting and less boring than most dissertations. Somewhere along the way he also found time to write a pretty solid Introduction to Database Management Systems.

Seth David Schoen has found the most significant problem yet with Apple's Public Source License. Specifically, its discriminatory against some non-U.S. citizens.

Friday, March 26, 1999

Version 1.0.1 of the LGPL'd Village JDBC filter layer has been released. Village is a 100% Pure Java API that sits on top of JDBC to make it easier to interact with a JDBC compliant database. By using Village, it is possible to execute and manage select/insert/update/delete SQL statements without having to actually write SQL.

Thursday, March 25, 1999

IBM's alphaWorks has released the iButton Bean suite for communicating with JavaCard applets running inside smart cards built around the iButton microprocessor.

AlphaWorks has also updated Speech for Java with audio error reporting, event delivery for Swing applications, and assorted bug fixes and performance improvements.

Wednesday, March 24, 1999

Sun's posted a release candidate of JDK 1.1.8 for Windows 95, 98, NT 4 and Solaris on the Java Developer Connection (registration required). This release fixes bugs in memory management and internationalization.

Apple's posted version 2.1.1 of Macintosh Runtime for Java. This is mostly a bug fix release. MRJ 2.1.1 is based on JDK 1.1.7. It requires a PowerMac, Mac OS 7.6.1 or later, and at least 32 MB of RAM. QuickTime 3.0 is recommended.

Tuesday, March 23, 1999

The Pizza project has released version of 0.6 of gj. GJ is a superset of Java that supports generic types (templates). The release contains a fix with makes -g work under JDK 1.2.

The European Linux Yearbook is finished.

Monday, March 22, 1999

My latest book, Java I/O, will be hitting store shelves any day now. O'Reilly's posted an interview Peter Wayner did with me about this book. Java I/O may not be The Phantom Menace, but I have noticed in the past that the first shipment of any of my books tends to sell out very quickly at most bookstores, especially (generally within hours of my first mentioning it here). Consequently, if you know you need Java I/O, you may want to go ahead and pre-order it from now, rather than waiting for it to be listed as available. That way you'll get it just as soon as amazon gets theirs. If you don't know whether you need Java I/O, I'll have a lot more to say about it here soon to help you make up your mind.

IBM's alphaWorks has released a NumberFormat class that provides all the capabilities of the JDK NumberFormat, as well as scientific notation, BigDecimal support, space padding, and rounding. This is a nice product that will be of much use to many programmers. Nonetheless, I really have to wonder why they gave their classes the exact, same names as the equivalent classes in java.text (NumberFormat, DecimalFormat, DecimalFormatSymbols)? They're in a different package ( instead of java.text), but since the class names are the same you won't be able to import and use both packages without using fully qualified names like This is a real issue since even though the classes are designed as drop-in replacements for the java.text classes, there are java.text classes likxe DateFormat that aren't duplicated in Consequently using these new classes will be a lot less convenient than it could and should be.

(Side note: java.text.NumberFormat and actual and potential subclasses are discussed in great detail in Chapter 16 of Java I/O.)

IBM's alphaWorks has also released version 5.1 of the JAX application packaging and compression tool. This release contains assorted bug fixes as well as the ability to preserve package names during name compression and include or exclude specific classes.

Sunday, March 21, 1999

Apple's posted the first public beta of QuickTime for Java for both Mac and Windows. QuickTime 3.0.2 is required, as is Macintosh Runtime for Java 2.1 on the Mac or JDK/JRE 1.1 or 1.2 on Windows.

Saturday, March 20, 1999

Sun's posted beta 2 of the Java Platform Debugger Architecture (aka JBUG) on the Java Developer Connection (registration required). This release requires Java2.

Thursday, March 18, 1999

Microsoft's released version 3.2 of its Java Software Development Kit for Windows. This release includes build #3167 of the Microsoft Virtual Machine and build number 8424 of the jvc compiler. This release supports the Alpha chip and includes version 1.8 of the Microsoft XML Parser as well as assorted other new items, mostly dealing with native methods, COM, and other aspects of impure Java. The jvc compiler now turns off Microsoft extensions by default, as required by Judge Whyte's court order from a few months ago.

IBM's alphaWorks has released

Bruce Perens has written his own analysis of the Apple Public Source License. As well as the points I noted here yesterday, he caught one more. The license would not survive the demise of Apple Computer or even of one particular URL at Apple's Web site, and we all know how unstable URLs are. This problem, however, seems like a minor point that's easily fixable as compared to the patent and termination issues which are much more fundamental.

The European Linux Yearbook 1999 is a project to write an open source book in 24 hours on March 21. And I thought computer book deadlines were ridiculously short now!

Wednesday, March 17, 1999

Apple's getting a lot of press for releasing the Darwin operating system in source form, but what this really amounts to is a bunch of pieces that were mostly available in open source or public domain form already; basically the Mach micro-kernel from Carnegie-Mellon and BSD Unix. The major additions seem only to be porting it all to the PowerPC and adding AppleTalk. This is not MacOS X.

More importantly and contrary to many published reports elsewhere, Apple's Public Source License fails to meet the open source definition. First of all, it includes a termination clause. (Admittedly, the open source definition should be clearer on this point, but this is the precedent established by previous cases such as the IBM Jikes license.) The problems of termination clauses were discussed in a recent article by Bruce Perens. Secondly, the license asserts that "Modifications and/or Larger Works may require additional patent licenses from Apple which Apple may grant in its sole discretion.". In other words, Apple may assert patent rights against programmers who do stuff Apple doesn't like to keep them from publishing their changes. One wonders what Eric Raymond was doing up on the stage with Steve Jobs at the announcement. Did he actually read the license before endorsing it?

In related news, MacOS X includes Java 1.1.6. Does anyone happen to know if this is simply Macintosh Runtime for Java 2.1 running in the MacOS compatibility layer (blue box) or a native VM?

IBM's alphaWorks has updated the Jikes parser generator. It has been rebuilt for Windows 95 and NT (whatever that means). They've also releasd version 0.47 of Jikes with bug fixes and some additional support for Java 1.2.

AlphaWorks has also released new non-terminated licenses for Bean Markup Language and the Install Toolkit for Java.

Tuesday, March 16, 1999

Bernd Kreimeier posted the following on the java-linux mailing list:

With respect to "Java3D for Linux": Arcana Ltd., the company that till last week provided a very popular Java OpenGL API and implementations for JNI, RNI and Netscape's JRI on Linux, Windows, Mac, and other platforms, has been forced to close shop.

As Magician was pretty much the basis of the ARB efforts to create official JavaGL bindings, this might well set back anybody who wants to do efficient, performant graphics with Java for quite some time.

It seems unlikely that Arcana is in a position to afford an open source release, handing over Magician to the public domain. Currently, the source and rights are offered for sale. If you or your company is using Magician, and wants to see its development continued, consider contacting them

John Brewer's posted version 1.0b2 of his JarRunner utility fo the Macintosh. This release supports Macintosh Runtime for Java 2.1 and includes source code.

Monday, March 15, 1999

IBM's alphaWorks has released new Graph Foundation Classes, a framework for drawing graphs in Java.

AlphaWorks has also posted a new CodeFormatter Java bean that pretty prints Java source code files.

FInally, they've updated JKQML to alpha 5.1a. JKQML is a framework and API for Java-based, KQML-speaking software agents that communicate over the Internet. The Knowledge Query and Manipulation Language (KQML) is an agent communication language

Saturday, March 13, 1999

Open source afficionados Cygnus Support are sponsoring the Mauve Project, a collaborative effort to write an open source test suite for the Java class libraries. Current collaborators include the Kaffe project, the GNU Classpath project, the Cygnus Java project, and Hewlett Packard.

Friday, March 12, 1999

Guy Brooker has released the first version of Run That Java, an end user tool for running Java programs from jar and class files on a Mac, without the MRJ SDK.

He's also released version 1.2.1 of the developer oriented DropMain, his utility for running command line Java programs on a Mac. Version 1.2.1 has a few bug fixes and minor new features.

New Atlanta's ServletExec for the Mac OS has been upgraded to version 2.0.2 with assorted bug fixes.

Thursday, March 11, 1999

The Mozilla folks have posted a development version of a Netscape 4.x plug-in that allows current Mac versions of Navigator to use Macintosh Runtime for Java 2.1 to run Java 1.1 applets. There are several problems with this release, mostly caused by limititations in the plug-in API. In particular pages must use the EMBED tag instead of APPLET, and top level windows can't be created.

Wednesday, March 10, 1999

Sun's posted beta 1 of the Java 3D 1.1.1 API for DirectX on the Java Developer Connection (registration required).

Tuesday, March 9, 1999

Apple's posted the final release of the Macintosh Runtime for Java Software Development Kit 2.1 (MRJ SDK 2.1) on its ftp servers.

The Blackdown Project's Java-Linux Porting Team has posted a pre-release version of Java 2 (aka JDK 1.2) for LinuxPPC.

Monday, March 8, 1999

Sun's posted the free community license version of the almost universally dissed Java Workshop 3.0 IDE for Sparc Solaris. The actual source code for Java Workshop won't be released until at least the summer.

Netscape's posted Communicator 4.5.1 on their ftp servers. Versions are available for Power Macs running MacOS 7.6.1 or later, Windows, assorted Unixes including Linux, Solaris, Irix, AIX, and HP/UX but not SunOS, Windows 3.1, MacOS 7.5 and earlier or 68K Macs. Available languages include English, Japanese, and German. Professional, full, and Navigator-only versions are available. There do not appear to be any significant changes in Java support in this release.

Sunday, March 7, 1999

I've updated the errata for Java Network Programming with significant corrections to Chapter 8, Server Sockets, and Chapter 9, UDP. I've also updated the online examples to reflect the new corrections.

Mark Hale's released a new version of his JSci class library with support for

Saturday, March 6, 1999

Luca Lutterotti's posted a new MacOS Look and Feel for Swing, derived from Sun's Swing MacOS look and feel. This L&F adds an appearance savving theme, more Mac behaviour for TextFields and buttons, and a screen bsaed menu bar not attached to any windows.

IBM's alphaWorks has released version 5.0 of JAX, a Java application packaging tool that reduces the size of a Java application by removing code that isn't used by the application. Version 5.0 has assorted bug fixes and performance improvements.

AlphaWorks has also updated the IRC Client for Java with a few bug fixes and a 9/30/1999 expiration date.

Friday, March 5, 1999

The Blackdown Project's posted the first pre-release of the JDK 1.2 for Linux. There are lots of known bugs here, but it does almost pass the Java Compatibility Kit tests. The exceptions are some bugs with multicast sockets that stem from kernel bugs. Apparently in the latest example of playing favorites, Sun has decided to let the Linux folks go ahead and release anyway, even though their contract would seem to prohibit this. (Note that I don't think it's a bad thing that Sun did this. I just wish they'd treat everybody equally. Mac developers have been screaming for even feature incomplete versions of Java2 for some time now, but Apple can't even consider that because of their contract with Sun. )

Thursday, March 4, 1999

Sun is seeking a limited number of private beta testers for Hotspot.

Wednesday, March 3, 1999

Sun has announced plans to release picoJava and SPARC chip designs under its play-now, pay-later Community Source License. The RTL design and associated software for the picoJava-II core should be available by the end of the month.

Sun's also licensed the various JavaMedia APIs (Java3D, JavaSound, etc.) to the blackdown Linux porting team. The Blackdown's Java2 port has currently passed all the Java compatibility kit tests except for "multicast socket issues (caused by Linux kernel bug! in 2.0.3x kernels)".

Tuesday, March 2, 1999

Sun's posted the Java 2 SDK Production Release for Sparc Solaris 2.6 and later. According to the README

This release of the Solaris SPARC JDK 1.2 includes new Java class libraries and Java virtual machine featuring an improved Just-In-Time (JIT) compiler, fast synchronization and a generational memory system that accelerates garbage collection. Improved collection performance is achieved in part by requiring that native methods be implemented using the Java Native Interface introduced in JDK 1.1. This system does not support the original native method interface (NMI) in JDK 1.0.

Sun's also posted version 1.2 Early Access 1 of the Java Naming and Directory Interface (JNDI) on the Java Developer Connection (registration required). Java 1.1.6 or later is required.

Monday, March 1, 1999

Guy Brooker's DropMain 1.2 program for running command line Java programs on the Mac has been released with support for MRJ 2.1 and improved configuration

Apple's Developer Technical Support Department has posted several Java on the Mac Q&A's.

You can also read the news from January or February if you like.

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

Copyright 1999 Elliotte Rusty Harold
Last Modified March 31, 1999