A couple of updated products from IBM's alphaWorks lead off today's news:
With 23 votes in favor, one against (Compaq) and two abstentions, the ECMA has voted to form TC41 - Platform-Independent Computing Environments, a technical committee that will attempt to standardize Java. However, the ECMA, chosen for its reputation as a docile lapdog for vendor submitted technologies, is now showing a few teeth of its own and demanding that it (not Sun) will "assume responsibility for the maintenance of the ECMA standards prepared by this TC with a commitment to preserving binary and source compatibility across platforms, and compatibility with the initial ECMA standard". It seems likely that Sun won't stand for this, and may well pull out of the process before the first scheduled meeting of the committee in August. On the other hand, if that seems too suspicious, Sun may wait a couple of years and then pull out, citing some phantom rule change, as they did with the ISO process. The fact is Sun is coimpletely unwilling to work in an environment that in any way threatens their absolute and exclusive control of Java.
Sun is accepting beta tester applications for the Java 2 Software Development Kit, Enterprise Edition (J2EE SDK). This is a more traditional private beta program.
Dean Perry's posted a new build of his Java wrapper for QuickDraw 3D for Windows and Mac (though unfortunately QD3D seems to just be the latest in a long string of orphaned Apple technologies). This is an object oreinted 3D API with hiearchically structured Java analogues for all QD3D classes, methods, and data structures.
Version 0.1.003 of tritonus, the JavaSound implementation for Linux, is now available. This is a slightly more complete implementation though there's still a long way to go.
Clemens Lee has released version 26.89 of his Jacob class browser and project manager. This release adds support for environment variables and the jEdit and Gnu Emacs editors.
The Question of the Week has been answered below. I'll post a new one as soon as I can think of a good one.
Greg Guerin's updated his open source MacBinary Toolkit for Java with various bug fixes and some additional info you can retrieve about files.
Arcane Technologies Ltd. has released version 2.1.0 of their Magician OpenGL library for Java for Irix, Linux, and Windows 95/98/NT. Magician supports 100% of core OpenGL 1.2 and GLU 1.2 including support for NURBS surfaces, tesselators and quadrics.
Sun has posted an early access release of a cross-platform (Solaris/Linux/Windows) installer product called the Webstart Wizards 3.0. Applications built using the Web Start SDK can be installed locally from a Java desktop environment, or remotely from a Java-enabled Web browser. This may eventually be extended to a standard installer API for Java applications. (Then again it may not.) Exact details (inclusing exactly how cross-platform this really is) are a little sketchy at this time.
My account on metalab was cracked over the weekend while I was out of town. So far it appears to just be a random attack, probably through password sniffing. The sunsite admins caught it pretty quickly and locked the account out. Nothing appears to have been changed; but I don't really know yet. Please let me know if you spot anything that seems out of place though.
Gerhard Paulus has relased version 0.6 of his Jacob object oriented database and IDE. This release adds a partial implementation of the Java Messaging Service (JMS).
IBM's released a "technical preview" of VisualAge for Java for Linux. To get it you'll need to be a registered user of the VisualAge Developer Domain.
<RANT>Is anyone else, really, really sick of all this pointless registration everywhere? I don't think I've given my real name in a registration form in several months. I did notice that the user ID f***ibm (without the asterisks) was already in use so I know I'm not the only one that feels this way. To top it all off, the VisualAge for Java Web site has one of the worst uses of frames I've seen in a long time (and that's saying a lot). Why can't vendors just put their downloadable software on an anonymous ftp site, and save everyone a lot of hassle and aggravation? </RANT>
I've updated the notes for Week 4, More Objects, of my Intro to Java Programming course notes. The main addition is some new material on exceptions.
Bill Bercik checked in with this news from JavaOne:
Swing 1.1.1 will be the last version of Swing to work with JDK 1.x. They said that further Swing development will be JDK 1.2 only. This to me makes sense if Java 1.2 was available on Mac, HP-UX, SGI, but this is awful if it takes a while for these platforms to ship 1.2.
Java 2D has tons of native code meaning that a Mac OS 8 port would mean a lot of work. Aside from that an Apple guy said that the largest issue related to a Mac port of JDK 1.2 is not technically related.
Java-2D's Jim Graham was pretty reasurring about fixing JDK 1.2's drawImage bug (JDC's #1 bug). It sounds like the bug is actually a combination of several bugs.
Sun is working on a new method of storing Swing components state to a file. This is good news to those wanting something similar to the Windows' .rc file. What is nice about it is the file format is XML.
IBM's started releasing source code for some of its networking alphaBeans including the FTP Java beans, the POP3 Java beans, the SMTP Java beans, and the SNMP JavaBeans.
Sun's released the HotSpot JIT reference implementation for the Sparc Solaris.
So far there's a lot of vapor from JavaOne, but little of real interest. The PalmPilot may become the reference platform for PersonalJava. (Excuse me, "Java 2 Platform, Micro Edition"; Rule of PR #1: If you don't have something new to announce, change the name of something old.) Netscape 5.0 will probably include Java2 as will a hundred million AOL drink coasters (excuse me, CDs). I'm not actually at the conference though, so if you've seen something interesting, especially stuff from smaller vendors and groups that doesn't attract the notice of reporters drawn like sharks to the biggest bowl of free shrimp, why don't you drop me a line, and I'll note it here? Usual rules apply: no vaporware; only shipping products.
Version 1.0 FCS of the Java
Advanced Imaging API has been released for Solaris and Windows 95, 98, and NT.
This allows you to add Photoshop like operations to your Java programs.
This release removes the IMage I/O codec framework that formerly existed
This has been moved to the
package and will be replaced by a new
Image I/O API at some point in the future.
Sun's also posted version 0.9.0 of the JavaTV API for controlling television like devices. This API handles tasks like choosing channels, programming a VCR, and interfacing with the cable box. It is not a general purpose API for playing video. No implementation is yet available.
Version 1.47 of the Install Toolkit for Java from IBM's alphaWorks adds support for HP/UX and fixes assorted bugs.
I spent the last few days in New Orleans eating beignets and drinking cafe au lait so news updates have been a little spotty here, but I'm back in Brooklyn now and will be posting a lot of news from JavaOne and elsewhere throughout the week. Also the latest Question of the Week is answered below.
The Java Apache Project's released version 1.0 of JServ, their servlet module for the popular Apache Web server. This release supports version 2.0 of the Java Servlet API.
Java Specification Request 014, Add Generic Types to the Java Programming Language, and Java Specification Request 015, Image I/O Framework Specification, have both been approved. These were previously in an indeterminate state after their initial comment period expired with no apparent resolution. It seems both were held up unexpectedly for several weeks because one key person at Sun was out sick.
Two new specifications have been proposed, JSR 019, the Enterprise JavaBeans Specification (review closes 9:00 a.m. PDT, Monday June 21, 1999) and JSR 020, Orthogonal Persistence for the Java Platform (review closes 9:00 a.m. PDT, Monday June 28, 1999). The latter defines a means for computations to survive stops and restarts of the virtual machine and is based on SunLabs' Forest Project.
Sun's posted the JDBC CachedRowSet, an implementation of the JDBC 2.0
Rowset interface, on
the Java Developer Connection (registration required).
Sun's posted the first release of the RMI over IIOP compiler on the Java Developer Connection (registration required). This is for Java remote method invocation using the CORBA Internet Inter-ORB (IIOP) protocol instead of the normal RMI transport protocol. This compiler generates Java client stubs and server skeletons from CORBA Interface Definition Language (IDL).
Jesper Linnet and Henrik Schulz are using a distributed applet system to attempt to solve the the largest Quadratic Knapsack Problem in the world as part of their master's thesis. Point your browser at http://www.lauritz.dk:8080 to help out.
Adobe's posted an alpha Acrobat Viewer written in pure Java that should run on any Java 1.1 compatible platform.
IBM's alphaWorks has released a bunch of new products. The most interesting is an alpha of a Linux port of the JDK 1.1.6. This provides an alternative to the Blackdown port, and should run on most Linux 2.2 systems with glibc. It appears to use some of the same code base and optimizations as IBM's high performance JDK 1.1.7 for Windows.Other new products include
Sun's posted version 0.91 of the JavaPhone API specification. This API is aimed at phone-like devices that have a screen and an Internet/Web-browsing component. It add services like address books and calendars on top of PersonalJava.
I've updated the notes for Week 4, More Objects, of my Intro to Java Programming Course. This update focuses on exception handling and JAR files.
Sun's released version 1.1.2 of Java3D for Solaris Sparc and Windows using OpenGL. A new Windows beta that uses DirectX is also available on the Java Developer's Connection (registration required).
IBM's alphaWorks has released the WBI Development Kit for Java. This is a "programmable proxy for developing and running intermediary applications on the web", whatever that means. My guess would be that this allows you to write applets that talk to hosts other than the one the applet came from (the code base) via a proxy on the code base, but the documentation doesn't seem to say that. It seems to be something that sits on the Web server and filters requests, more like a servlet or a Java server page. More explication is definitely needed.
Matthias Pfisterer's released version 0.1.001 of tritonus, a partial implementation of the JavaSound API 0.86 for Linux X86. The pre-release JDK1.2 for Linux and the Network Audio System (NAS) is required. This release only supports audio output and is quite buggy. Extreme early adopters only.
I did a little clean-up work on the site yesterday that had been piling up for quite a while as I worked on the XML Bible. First off, I've finally fixed the Cafe au Lait search engine so you should be able to search the archives again. It turned out to be a one-word change in the form necessitated by the shift from sunsite to metalab. Also, for those of you who type your URLs, this site is now accessible at the URL http://metalab.unc.edu/java/ as well as http://metalab.unc.edu/javafaq/.
Sun's released version 1.1 of the JavaMail POP3 provider. This release adds a new provider-specific method to retrieve POP3 UIDLs.
Sun's released version 1.0 of the JavaServer Pages Specification.
I don't know how long this will last, but right now Java I/O is number 3 on Ingram's list of bestselling programming books for the week of May 31. That's a new record for one of my books.
The second pre-release of the JDK 1.2 for Linux is now available from the Blackdown folks.
Matthias Pfisterer's released version 0.1.00 of tritonus, a partial implementation of the JavaSound API 0.86 for Linux X86. The pre-release JDK1.2 for Linux and the Network Audio System (NAS) is required. This release only supports audio output and is quite buggy. Extreme early adopters only.
CityJava's posted the complete transcript of Top 10 Misconceptions on Java I/O, the presentation I gave to 250 people at their meeting on May 13.
IBM's alphaWorks has updated the
Graph Foundation Classes for Java
to remove dependency on
ibm.* packages and add new
They've also updated CFParse, a low-level API for manipulating class files at the byte code level.
Finally, a new version of VisualTestCoverage "contains the VisualAge Java version" (whatever that means).
Lot's of new releases from Sun today. First, Sun's posted the first release candidate of the JDK 1.2.2 on the Java Developer Connection (registration required).
Next, Sun's released version 1.1.2 of the JavaMail API with a few bug fixes. This release requires the JavaBeans Activation Framework (JAF).
Sun's also released version 1.0.1 of the JavaBeans Activation Framework (JAF) with assorted bug fixes.
Sun's updated the Java Naming and Directory Interface (JNDI) with the JNDI/COS Naming service provider maintenance release 1.0.1. This release supports the FCS release of RMI/IIOP.
Finally, Sun's released version 1.2.2 of the Java Accessibility Utilities for Java2. This package provides allows assistive technologies like screen readers and braille printers to find and query GUI objects inside a Java application.
New Atlanta's released version 2.1 of their $495 payware ServletExec servlet/JavaServer Pages (JSP) engine for IIS, Netscape, Apache, and MacOS web servers. Upgrades are free for owners of ServletExec 2.0. This release supports version 2.1.1 of the Java Servlet Development Kit (JSDK) and HotSpot.