Fatbrain.com (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
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.
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.
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.
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.
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.
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.
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.
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 amazon.com (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 amazon.com 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.
java.text
(NumberFormat
,
DecimalFormat
, DecimalFormatSymbols
)?
They're in a different package (com.ibm.text
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
com.ibm.text.DecimalFormat
. This is a real issue since even though
the com.ibm.text
classes are designed as drop-in replacements for the
java.text
classes, there are java.text
classes likxe DateFormat
that aren't duplicated in com.ibm.text
.
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.
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.
Sun's posted beta 2 of the Java Platform Debugger Architecture (aka JBUG) on the Java Developer Connection (registration required). This release requires Java2.
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.
java.math.BigDecimal
)
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!
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.
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.
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
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.
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.
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.
Sun's posted beta 1 of the Java 3D 1.1.1 API for DirectX on the Java Developer Connection (registration required).
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.
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.
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.
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.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. )
Sun is seeking a limited number of private beta testers for Hotspot.
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)".
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.
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.