February 2001 Java News

Wednesday, February 28, 2001

We note with sadness the passing of Claude Shannon Saturday. He was 84. Shannon is best known for inventing information theory.

Tuesday, February 27, 2001

KDE 2.1 has been released. Among many other things, new features include better support for Java 1.2 and later

Sun's released version 1.0.1 of the Java2 Micro Edition (J2ME) Wireless Toolkit FCS. (At some companies FCS stands for "Final Candidate System", i.e. the last beta barring show-stopping bugs. At others it means "First Customer Ship". I've never figured out which expansion Sun uses.) The J2ME Wireless Toolkit provides an emulation environment, documentation and examples for developing Java programs for screen, bandwidth, CPU, and memory limited devices such as cell phones and pagers. This version supports the J2ME Connected Limited Device Configuration (CLDC) 1.0 and the Mobile Information Device Profile (MIDP) 1.0.

Monday, February 26, 2001

Pascal Brisset's uncovered a nasty bug in some older versions of the Java Production VM. Only servers are affected. For a change browsers are safe. From Sun's announcement:

A vulnerability in certain versions of the Java Runtime Environment may allow malicious Java code to execute unauthorized commands. However, permission to execute at least one command must have been granted in order for this vulnerability to be exploited. Since no permission is granted by default, the circumstances necessary to exploit this vulnerability are relatively rare. In the Java Development Kit 1.1.x (JDK(TM) 1.1.x) (browsers included), an applet must be signed to have execute permission (signed applets may execute anything in JDK 1.1.x.)

This issue may or may not affect other vendors' Java technology implementations which are derived from Sun's JDK source base. Sun has notified and made the remedy available to its Java licensees.

To the best of Sun's knowledge, Netscape Navigator(TM) and Microsoft Internet Explorer are not exposed to this vulnerability.

Sun recommends that you upgrade to the latest JDK and JRE releases listed in section 3 of this bulletin.

2. Affected Releases

The following releases are affected:

Windows Production and Solaris(TM) Reference Releases

     SDK and JRE 1.2.2_005 or earlier
     SDK and JRE 1.2.1_003 or earlier
     JDK and JRE 1.1.8_003 or earlier
     JDK and JRE 1.1.7B_005 or earlier
     JDK and JRE 1.1.6_007 or earlier

     Solaris Production Releases

     SDK and JRE 1.2.2_05a or earlier
     SDK and JRE 1.2.1
     JDK and JRE 1.1.8_10 or earlier
     JDK and JRE 1.1.7B
     JDK and JRE 1.1.6
Linux Production Release

SDK and JRE 1.2.2_005 or earlier

Solaris Production releases SDK and JRE 1.2.1, and JDK and JRE 1.1.7B and 1.1.6 should no longer be used. In addition, releases prior to JDK and JRE 1.1.6 for Windows or Solaris should no longer be used. Users of these releases should upgrade to a later release listed in Section 3.

This vulnerability was fixed in Java 2 Platform, Standard Edition, v 1.3.

3. Binary Update Releases

The following update releases are available in relation to this issue.

Windows Production and Solaris Reference Releases

SDK and JRE 1.2.2_007 http://java.sun.com/products/jdk/1.2/ 
SDK and JRE 1.2.1_004 http://java.sun.com/products/jdk/1.2.1/ 
JDK and JRE 1.1.8_006 http://java.sun.com/products/jdk/1.1/ 
JDK and JRE 1.1.7B_007 http://java.sun.com/products/jdk/1.1.7B/ 
JDK and JRE 1.1.6_009 http://java.sun.com/products/jdk/1.1.6/ 
Solaris Production Releases

SDK and JRE 1.2.2_07 http://www.sun.com/software/solaris/java/download.html JDK and JRE 1.1.8_12 http://www.sun.com/software/solaris/java/archive.html

Linux Production Release

SDK and JRE 1.2.2_007 http://java.sun.com/products/jdk/1.2/download-linux.html

There's an interesting interview in LinuxWorld with Bjarne Stroustrup, the inventor of C++, in which he pontificates about the future of C++. You really should read the whole thing, even if you don't use or plan to use C++. However, as well as today's quote of the day, I found this little gem particularly telling:

Consider "major" language facilities often discussed for C++:

  • Concurrency: I'd like to see a library supporting threads and a related library supporting concurrency without shared memory.
  • Reflection: I'd like to see something like that supported through a library defining the interface to extended type information.
  • Persistence: I'd like to see some support in the Standard Library, probably in connection with the extended type information, but I don't currently have any concrete suggestions.
  • Hash tables: Of course, some variant of the popular hash_map will be included.
  • Constraints for template arguments: This can be simply, generally, and elegantly expressed in C++ as is.
  • Assertions: Many of the most useful assertions [a means of code verification and error handling] can be expressed as templates. Some such should be added to the Standard Library.
  • Regular expression matching: I'd like to see a pattern-matching library in the standard.
  • Garbage collection: I'd like to see the C++ standard explicitly acknowledge that it is an acceptable implementation technique for C++, specifying that "concealed pointers" can be ignored and what happens to destructors for collected garbage. (See section C.4.1 of The C++ Programming Language for details.)
  • GUI: It would be nice to have a standard GUI framework, but I don't see how that could be politically feasible.
  • Platform-independent system facilities: I'd like to see the Standard Library provide a broader range of standard interfaces to common system resources (where available), such as directories and sockets.

What's interesting is that of these ten features, seven of them are already available in Java; and two, assertions and regular expressions, are probably coming in 1.4. See Java 1.4 and Beyond for more details on that.

RBManager is a new tool from IBM alphaWorks that automates many of the tedious tasks associated with managing resource bundles for localized programs.

Sun's posted a beta of HTML Converter 1.3.1 on the Java Developer Connection (registration required). HTML Converter is a utility for adjusting HTML pages to use the Java plug-in instead of the browser's built-in virtual machine.

Sun's posted a public review draft of the ECPerf Specification 1.0. The ECPerf becnhmark is a "performance workload meant to measure the scalability and performance of Enterprise JavaBeans" servers and containers.

Sunday, February 25, 2001

I'm back from my trip to London for XMLDevCon. A good time was had by all. I've posted the notes from my talks on Java 1.4 and Beyond for the UK Unix Users Group (UKUUG). Tomorrow I'll be catching up with all the news that piled up while I was away. I did finally get my laptop into a state where I could run all the presentations from Linux, though the vagaries of circumstance prevented me from doing that.

One thing I noticed on this trip, and several other trips I've taken lately, is that it gets really annoying to have to keep reconfiguring the TCP/IP settings on my Windows 2000 laptop every time I plug it into a different network. Windows 2000 seems to let me save multiple dial-up settings, but not multiple LAN settings. Is there any magic way to save different LAN settings for my home, office, hotel room, speaker's lounge, etc.? If you know how to do this, please let me know. Thanks.

And now here's a question for the Linux gurus: is there anyway to safely power down a Linux+Gnome system without suing to root and issuing the shutdown -h now command? It seems to me that a single-user client system should allow the user to simply and safely shut down the computer, without having to switch to root.

Monday, February 19, 2001

The first beta of GNOME 1.4 is out, code named "Oops, we did it again". (Damn it. Now that song is going to be stuck in my head all day!) I've actually got Linux, X, and Gnome installed on my laptop now, and if I can just figure out how to get NFS running so I can connect to my Snap server and install my notes I may be able to use it for my presentations this week at the XML DevCon show in London this week and the UKUUG meeting on Thursday night. I'm still not sure what I'll be talking about, but it will probably be something like "Java 1.4 and Beyond". The talk will take place at The Institute of Education, Bedford Way, London (nearest tube station: Russell Square) in Room 639 from 7:00 P.M - 8:30 P.M. Stop by if you're in town. On the flip side, updates will probably be a little slow here until I return next week.

Sunday, February 18, 2001

The Jakarta Apache Project has posted the first milestone release of the next version of Tomcat 3.x, Tomcat 3.3. This implements the Java Servlet API 2.2 and Java Server Pages 1.1. This version focuses mostly on cleaning up the code.

Sun's released the CVM implementation of Connected Device Configuration (CDC) and Foundation Profile. This is a new generation Java virtual machine designed for embedded devices running Linux and VxWorks. This is all published under the pseudo-open-source Sun Community Source License (SCSL).

Saturday, February 17, 2001

Sun's released the first early access version of the Java2 Enterprise Edition Integrated Development Environment (J2EE IDE) toolkit software on the Java Developer Connection (registration required). This integrates the Forte for Java Community Edition 2.0 and the J2EE 1.2.1 Deployment Tool to try to provide a more user-friendly application development environment for the J2EE SDK.

Sun's posted the public review draft of JSR-35 JAIN INAP API. If you don't work for a phone company, you probably don't care about this.

Friday, February 16, 2001

Sun's released version 1.1 of JAXP, the Java API for XML Processing. This is essentially SAX2, DOM2 Core, Trax, and a few factory clases for finding a parser.

Thursday, February 15, 2001

The U.S. Court of Appeals for the Federal Circuit in Washington, D.C. has overturned the injunction prohibiting Barnes & Noble from using Amazon.com's one-click on the grounds that Barnes & Noble "has mounted a substantial challenge to the validity of the patent."

Personally, I'm in the minority of programmers who think that One-Click is a unique and non-obvious invention, for which I've yet to see any prior art. It should be patentable if anything of this nature is. Where I part ways with Amazon is on the question of whether anything of this nature should be patentable. I tend to think not. But it is a very unique invention. Many of the people criticizing the patent don't seem to realize just how radically it changes the buying process. When I ask programmers to describe to me how they'd implement this "obvious" idea, more than half the time they make the same mistakes Amazon's programmers made when Bezos first told them what he wanted. They turn a one-click process into two clicks or more, even with Amazon's prior art staring them in the face. Of course, once you really understand that what's desired is a true one-click process with no confirmation step, then writing the code is trivial. But that understanding goes against everything programmers have been taught, and it doesn't come easily. This is a unique and valuable idea. The real question, to my mind, is whether you can patent an idea. I tend to think the answer should be no, you can't. I'm just not sure courts and the patents office see it that way.

Wednesday, February 14, 2001

Sun's posted the first public beta of the JDK 1.3.1 on the Java Developer Connection (registration required). This is a bug fix release.

Jason Hunter has submitted Java Specification Request 102, JDOM, to the Java Community Process. JDOM is a tree-based, Java-centric API for processing XML documents. Jason's told me that this will be the first example of using the Java Community Process to develop and standardize an open source API. Discussion is supposed to take place in the clear on the jdom-interest mailing list. Comments are due by February 26, 2001.

Sun's posted the Proposed Final Draft 2 of the Java 2 Enterprise Edition (J2EE) 1.3 Platform Specification.

Tuesday, February 13, 2001

IBM's released version 1.12 of the open source Jikes Java Compiler.

Sunday, February 11, 2001

Slava Pestov's posted the first pre-release of jEdit 3.1, an open source programmer's editor written in Java. Major new features include:

Saturday, February 10, 2001

Version 1.1.2 of the BlueJ IDE has been released. BlueJ is a free integrated development environment for Java written in Java and targeted at educational users. New features include:

Friday, February 9, 2001

Frances L. Van Scoy has taken over the Reid First Course Programming Language List that Michigan State's Dick Reid maintained before his retirement. This lists the languages used in the first course for computer science majors at various colleges. I'm not sure how accurate this iteration is. It got my university wrong; (We switched from Pascal to C++ several years ago) and I'm surprised by how few schools are using Java and how many are using C++. The number of schools using ADA was really shocking, given that I've never actually encountered it in a university or corporate setting (though I do seem to get more flames whenever I say anything negative about ADA here than about any other lanaguage, Java included. It sort of reminds me of the Amiga ten years ago, a small diehard community that's dying off slowly but can still make a lot of noise.) Nonetheless, the list is interesting. Your corrections for your institutions would be appreciated.

Eidola is a new kind of programming language that isn't tied to any particular representation such as text source code. (like Prograph perhaps?). Its fundamental form is a set of mathematical abstractions. The kernel is implemented in Java. There's not a lot there yet, but it could be important in the future.

Sun's released the public review draft of the Preferences API Specification. This will eventually become a standard part of the Java class libraries in the java.util.prefs package. Sun offers this example as a "typical use of the preferences facility".

package com.acme.widget;
import  java.util.prefs.*;

public class Gadget {
    // Preference keys for this package
    private static final String NUM_ROWS = "num_rows";
    private static final String NUM_COLS = "num_cols";

    void foo() {
        Preferences prefs = Preferences.userNodeForPackage(this);

        int numRows = prefs.getInt(NUM_ROWS, 40);
        int numCols = prefs.getInt(NUM_COLS, 80);


IBM's alphaWorks has posted Tivoli JMX (TMX4J), an implementation of the Java Management Extensions (JMX) Specification 1.0. JMX defines an API for network management in Java.

Thursday, February 8, 2001

Sun's posted the first public release draft of JSR-21, the JAIN JCC/JCAT Specification. The JAIN Call Control (JCC) Specification defines a Java API for basic session control. The JAIN Coordination and Transactions (JCAT) Specification defines a Java API for advanced session control. If you don't work for a phone company, you probably don't care about this.

Wednesday, February 7, 2001

Sun's posted the first beta of the Java 2 SDK, Enterprise Edition 1.3 for Solaris, Windows, and Linux on the Java Developer Connection (registration required). This release enhances the servlet and Java Server Pages technologies with the Tomcat 4.0 container. Servlets now support application level filters and application event listeners and JSP pages support XML page syntax. The J2EE Connector Architecture provides additional connectivity to existing enterprise information systems. Enhancements to the Enterprise JavaBeans (EJB) component model include message-driven beans and a mechanism for interoperability between EJB containers. JDK 1.3 is required.

IBM's alphaWorks has released version 2.0 of the JInsight performance analyzer. This release offers an expanded visualizer, new call tree and table views, flexible filtering and grouping of information, and improved navigation among views. AIX Java instrumentation is now at the JDK1.1.8 level.

Tuesday, February 6, 2001

Sun has submitted Java Specification Request 101, Java APIs for XML RPC to the Java Community Process... Comments are due by February 12, 2001.

Richard Laing's written a Mac OS X Service to check selected text against the Sun Java Coding Standard and to generate a table of any problems. It can be accessed from the Services menu from any Cocoa application. It is based on the JStandard plugin for jEdit. I haven't installed MacOS X yet on my Mac, so I don;t know exactly what a service is in this context, but it sounds interesting.

The Jakarta Apache Project has posted the first beta of Ant 1.3. Ant is a Java based build tool which "is kind of like make without make's wrinkles." 2 weeks of beta testing are planned before the final release.

Monday, February 5, 2001

Sun's posted a beta of the Java Advanced Imaging API 1.1 on the Java Developer Connection (registration required). Image processing techniques include contrast enhancement, cropping, a scaling, geometric warping and frequency domain processing. New fetaures include TIFF support, remote imaging, support for editing rendered op chains, better multi tile support, and more.

IBM has refreshed TSpaces with a service pack for version 2.1.2. TSpaces is a set of network communication buffers, APIs, and classes that allow heterogeneous, Java-enabled devices to exchange data with little programming effort.

Saturday, February 3, 2001

LinuxWorld was fun last week. I signed a bunch of books at the O'Reilly booth, and talked to lots of people. As at most IDG shows, the exhibits floor was a lot more interesting than the conference sessions, many of which were presented by vendor employees pitching products and/or by relatively inexperienced and uncomfortable speakers. The keynotes I saw were more polished but not more interesting. This seems to be a perennial problem for the large PCExpo/Internet World/LinuxWorld style shows that exist more to sell exhibit space than seminars. At these shows, the conference tends to end up as an afterthought to try to rope in a few more attendees to sell to the exhibitors, who are the real customers of these shows after all.

The exhibits floor was a lot of fun though, if not quite as wild as last year's. The crash of various open source stocks probably meant there was less ready-capital to blow on big booths. I didnt see anything that really knocked my socks off, like I did last year; but I did get some questions answered and learn lots of useful things. Among them,

Friday, February 2, 2001

IBM's alphaWorks has updated their FoCuS code coverage tool for compatibility with Java 1.2. This release adds new test generation capabilities, and some usability improvements including "increased ease of use with automated models."

You can also read the news from January, December, November, October, September, August, July, June or May if you like.

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

Copyright 2001 Elliotte Rusty Harold
Last Modified February 25, 2001