August 2001 Java News

Friday, August 31, 2001

Sun's posted the second beta of the Java 2 Software Development Kit, Standard Edition, v 1.4.0 (i.e. JDK 1.4 beta 2) on the Java Developer Connection (registration required). As well as many bug fixes, this release adds 64-bit Support for Solaris/SPARC. Besides Solaris/Sparc, this release is available on Solaris/Intel, Windows, and Linux X86.

Thursday, August 30, 2001

Zero G's posted a free-beer developer preview of their payware InstallAnywhere 4.5. Notable new features include MacOS X support, on-the-fly creation of native launchers for Java apps, support for Mac-native multiple fork files, and support for installations that require user authentication.

Wednesday, August 29, 2001

Slava Pestov's released version 3.2 of jEdit, an open source programmer's editor written in Java. In fact, I'm using it to type this announement from the Speaker's Lounge at SDExpo 2001 in Boston. This version features better integration with Windows, multiple selection, and various other minor new features. However, the FTP plug-in does not seem to work, so I've resorted to using the command line FTP program in NT to download and upload this file.

Friday, August 24, 2001

I'm leaving for Software Development 2001 East shortly, so updates may be a little sparse here over the next week. A lot depends on what sort of Internet access I have at the conference and in my hotel room at the Sheraton Boston.

The JSR-32 expert group has posted the finished release of the JAIN SIP API Specification. "The JAIN SIP API specification provides a standard portable interface to share information between SIP Clients and SIP Servers, providing call control elements enabling converged-network applications."

Thursday, August 23, 2001

Converting Flat Files to XML, Chapter 4 of Processing XML with Java, has been posted. This chapter covers reading data in a variety of non-hierarchical forms including CSV text files and relational databases, and converting that data into well-formed, potentially valid XML documents. Topics covered include StreamTokenizer and StringTokenizer, XSLT, SQL, XQuery, servlets, designing tree data structures in Java, and the U.S. Federal Budget. As always, any comments you have would be appreciated. I'm particularly interested in knowing whether you can follow the examples as written or whether more explication or input data is required.

GCC 3.0.1 has been released. This release contains only critical bug-fixes from GCC 3.0 including:

Wednesday, August 22, 2001

Eric Raymond's article quoted today struck me as very interesting. If you haven't read it yet, go read it now; then come back here for my response. Or you can read my repsonse first, but you'll probably be stuck wondering just what the heck "flerbage" is. :-)

Raymond's premises seem basically correct. However, the logic he uses to get the consequences he wants to to get is not. The flaw doesn't appear until very late in the article. Here it is:

But now let's suppose that, after years of lobbying, messrs Kuhn and Stallman get a law passed that makes proprietary licenses illegal. We are now in the world of the FSF's premise.

As a user, my flerbage doesn't change. I never wanted to issue software under a proprietary license to begin with, so the new license doesn't touch me.

But as a developer, things are very different now. If I walk up to someone and offer them the same proprietary license that I did before the law was passed, police may come to my house to drag me off to jail, or kill me if I resist arrest. My flerbage has seriously decreased.

The situation is not symmetrical after all. We have broken the deadlock, and suddenly the FSF's premise doesn't seem so benign any more. See how much clearer things are when you avoid using slippery ping-pong-ball words and focus on actual behavior, and especially on the question of who gets to use force and when they get to use it?

Raymond's set up a straw man that nobody is advocating and then viciously attacked it. However, if he looked at the real proposals that are out there, and what Stallman is actually advocating, his premises would force him to come to the exactly opposite conclusion. Under the theoretical Stallman regime, you're free to sell your software. You're also free to sell it with a proprietary license, but that license is completely unenforceable. The clause in the license saying you can't share the software have as much meaning as a clause saying Bill Gates can fly like Superman. Just because it's in the license agreement, doesn't make it true.

Most importantly, in the Stallman regime nobody comes to anybody's doors to drag them off to jail for violating software licenses. If Microsoft sells me a proprietary license, then Bill Gates still gets to sleep at night, secure in the knowledge that the software police aren't going to knock down his door. And if I turn around the next day and sell Microsoft's software to somebody else or just give it away in total violation of the license, I get to sleep secure in the knowledge that the software police aren't going to knock down my door. We have achieved maximum flerbage for the maximum number of people, far more flerbage than exists in the status quo Raymond is advocating. Today the BSA is threatening to knoeck down many people's doors and in fact actually doing it in a few cases. There are arguments for allowing proprietary license, but this just isn't one of them.

Next week I'll be at the Software Development East Show in Boston, where I'll be discussing XML, SAX, DOM, XInclude, and other XML-related matters. Registration is still open, and we're also looking for a few more volunteers to help out with distributing class evaluations and doing general gopher work in the sessions. If anybody is interested in volunteering in exchange for free admission to the conference, (You get one-day at the conference for each day you volunteer, and of course when volunterring you get to attend the sessions you're assigned to.) please email Nicole Garbolino at

Tuesday, August 21, 2001

Yesterday's comments about jEdit elicited a number of responses. Mouse wheel support and tabbed panes proved to be available through plug-ins. Several people suggested I check out the Clipper and/or XInsert plug-ins to provide me with an HTML palette. The Clipper jar archive seemed to be corrupt so I wasn't able to install it or test it. XInsert worked but it used a window rather than an always-on-top floating palette. Thus the focus kept getting shifted from one window to another and either the XInsert window or the document window would keep getting hidden. If this could be fixed (Is it possible to create floating palettes in Swing?) then XInsert might be what I'm looking for.

Update: Several people wrote in to suggest that I dock the XInsert window. Bingo! Now it's usable and does pretty much exactly what I want. I still don't think its HTML palette is quite as nice as BBEdit's HTML palette, but it's better than UltraEdit's; and it should let me write my own custom Docbook palette which BBEdit won't do. That's one more thing to check off my list.

I did notice today that jEdit does not seem to support drag and drop. This is not a show stopper, or I would have noticed before now; but since everyone's been so helpful I thought I'd ask: does anybody know of jEdit plug-in that adds drag and drop support for text within the same window? Or is there a preference I should be checking somewhere?

On another minor note, when I start up jEdit on Windows using the jedit.bat file, it brings up a DOS window for its error messages, which I can't close without shutting down jEdit. Is there any way to turn this off? I normally keep one DOS window open for console type stuff, but when jEdit brings up a second DOS window, half the time I find myself activating the wrong one. Update: allegedly this is fixed in 3.2pre9. Wonderful!

Monday, August 20, 2001

Slava Pestov's posted version 3.2pre9 of the jEdit open source programmer's editor written in Java. New features in this prerelease include the ability to bind macros to letter keys without modifiers and a Make Bug Report macro as well as improved Python syntax highlighting.

I've been evaluating jEdit lately and considering it for both my own personal editor to replace BBEdit and as a text editor for some hands-on XML classes I'll be teaching soon. Overall jEdit is very good. I'm particularly impressed with the professionalism of the user interface relative to such poor Windows products as Textpad and UltraEdit, which don't even get the standard menu shortcut keys correct. At this point I think jEdit may arguably be the best free editor for Windows. However, there are several issues that make me think it's not quite ready to replace BBEdit yet:

Update: Trevor Hambric wrote in to say that JEdit has support for both the mouse wheel and the tabbed view of open documents as plugins called WheelMouse and BufferTabs, respectively. Wonderful! Back to work on the next two-issues.

However, in total these issues are relatively minor. If jEdit had been around when I was last evaluating text editors I might never have bought Textpad and UltraEdit. Now that I'm accustomed to the quirks of UltraEdit and come to rely on some of its special features, I'm not quite so eager to switch. I think I'm going to start using jEdit as the default editor in my hands-on classes, though of course students will still be free to download and install the editor of their choice if they prefer.

Sunday, August 19, 2001

Mark Hale released a new version of his JSci class library. The complex vector and matrix classes have been optimized as welll as the Cholesky decomposition method for tridiagonal matrices. He's also added pivoting to the LU decomposition methods to increase stability.

Saturday, August 18, 2001

Sun's posted the first public release specification of JSR-43 JTAPI 1.4 in the Java Community Process. JTAPI 1.4 extends and enhances the current Java Telephony specification.

Wednesday, August 15, 2001

Sun's posted the Java API for XML Registries (JAXR) v0.6 Specification as well as an early access implementation. JAXR is a Java API for accessing different kinds of XML Registries for web services eventually including ISO 11179, OASIS, eCo Framework, ebXML and UDDI. Currently detailed bindings are provided for ebXML and UDDI. JAXR 1.0 is planned to become an optional package for the Java 2 Standard Edition. Commennts are due by September 13, 2001.

Sun's released the Jini Technology Core Platform Compatibility Kit v 1.1B.

Tuesday, August 14, 2001

Sun's posted the second Maintenance Review Draft Specification for JSR-912 Java 3D API 1.3 to the Java Community Process. This review closes on September 24, 2001.

Monday, August 13, 2001

I've posted Writing XML, Chapter 3 of Processing XML with Java. This chapter teaches you how to output XML documents from your programs. Topics covered include output streams, writers, Unicode, servlets, XML-RPC clients, SOAP clients, Latin, and rabbits taking over the world. As alway, comments and corrections are much appreciated.

JSwat 1.3.2 is a standalone, graphical Java debugger front-end, written to use the Java Platform Debugger Architecture (JPDA). The program is licensed under the GNU General Public License (GPL).

Version 31.113 of the open source Jacob is now available. Jacob, the Java Commando Base, is a Java browser and project manager for Emacs. This version can now create a basic Ant build.xml file for your current project to use for compilation. A few bugs are fixed too.

Sunday, August 12, 2001

Slava Pestov's posted jEdit 3.2pre8. New features include PV-WAVE syntax highlighting and some important bug fixes.

Saturday, August 11, 2001

The Jakarta Apache Project has posted the first beta of Ant 1.4. Ant is a Java and XML based build tool. The configuration files are XML documents "calling out a target tree where various tasks get executed. Each task is run by an object which implements a particular Task interface."

The URL may stop working over the weekend or early next week due to the combined incompetence of EasyDNS, Tucows, and Network Solutions. (Actually, I shouldn't accuse Network Solutions of incompetence. It's entirely possible they're being deliberately obtuse to try to blackmail me into staying with them.) In any case, if this URL does stop responding, should still work. Meanwhile, if you're thinking about registering a domain name or buying DNS service, don't use any of these companies. They are not reliable, and in the case of Network Solutions I doubt they're even honest.

Friday, August 10, 2001

The Jakarta Apache Project has posted beta 7 of Tomcat 4.0, the servlet engine for Apache. This release "conforms to the Proposed Final Draft 3 version of the Servlet 2.3 and JSP 1.2 specifications, which will go final soon, and incorporates all of the latest bugfixes." In addition, this release fixes a security vulnerability on Windows 9X that allows users to browse the directory tree above the web application's context root by using request URIs including three or more dots ("/..."). Users running on Windows 2000 and Unix/Linux are *not* susceptible to this vulnerability.

FYI, my servlet question of a few days ago really touched a nerve. I got more feedback on that than just about anything in the last year. Many people noted that you don't necessarily have to be root to administer Tomcat, just one of a special class of privileged users. The difference seems a little academic to me. My point is that as a servlet user, I should be able to do anything I need to do without bothering my sysadmin. Whether the special account is called root or administrator or JohnDoe and whether there's one person or many in it, really doesn't matter to me as long as I'm not in that class. My sysadmin should be able to grant me permission to manage my own servlets without granting me permission to manage everybody else's too.

On a related note, various people suggested alternative servlet engines including Caucho's Resin, the open source Jetty, Macromedia JRun (nee Allaire JRun, nee Live Software JRun), and the expensive Orionserver. Furthermore I was told TomCat 3.3 will autoreload web.xml as needed and that TomCat 4.0 won't. (I'm not sure if that information is accurate. It seems strange that 3.3 would add a feature and 4.0 would take it away.) Regardless, I'm stuck with the servlet engine the sysadmins at IBiblio have installed unless I feel like firing up my Qube again and running my own server, in which case I might as well run TomCat since I'd need to be root anyway.

Thursday, August 9, 2001

This QuickTime movie has absolutely nothing to do with Java, but is one of the funniest things I've seen in a long time. Check it out.

Netscape's released version 6.1 of their flagship web browser for Windows, MacOS, and Unix in English, German, and Japanese. This release includes the Java Plug-In from Sun, Overall, this is a huge improvement over the disastrous Netscape 6.0. If you're still using Netscape 4.x or IE, you may want to check it out. If you're using Netscape 6.0, you definitely need to upgrade. On the other hand I'm still partial to Mozilla.

Wednesday, August 8, 2001

Apparently it is necessary to shutdown and restart Tomcat before it will reload web.xml so my diagnosis of yesterday's problem was correct. This is extremely poor design, but typical of far too many servers. Worse yet, you have to be the root user to restart it. This is a far too common assumption in far too many Unix systems. Imagine, for the sake of comparison, if a Web server had to be restarted every time you added a new HTML page to a site. That's essentially what I'm dealing with here. Cay Horstmann addresses the problem by shutting down Tomcat every hour on the hour and restarting two minutes later. That still leaves a lag time of up to an hour before changes are reread.

Several people suggested that I add a url-mapping to web.xml. Indeeed I had already tried that. That would let me change the URL, but it wouldn't fix the fundamental problem that web.xml is not automaticaly reloaded when changed. What you can do is access the servlet by using its class name rather than its official URL. This should be enough for me to do what I need to do for the time being. Thanks to everybody who wrote in.

Sun's released version 1.2.2_09 of the Java 2 Runtime Environment, Standard Edition (JRE) and Java 2 Software Development Kit, Standard Edition (JDK). This release fixes about a dozen assorted bugs.

Sun's also released version 2.1.1 of the Java Media Framework Reference Implementation. Source code is available under the non-open source Sun Community Source License.

Sun's released Java 3D 1.2.1_02

Finally Sun's posted early access release 0.4 of the Java Accessibility Helper. This tool helps developers make their GUI Java programs "accessible to persons with disabilities. The Helper generates a report that includes a prioritized list of problems and potential problems with the application being tested. For example, the Helper verifies that all input fields in an application can be reached using only the keyboard. The Accessibility Helper does not require the source code for the application being tested and will work with any AWT- or Project Swing-based application. This release fixes a problem in the v.0.3 release. On some systems, v.0.3 would throw an 'invalid url' exception and fail to start."

Tuesday, August 7, 2001

I've been experimenting with servelts recently for Chapter 3 of Processing XML with Java. Specifically I'm writing some servlets that generate Fibonacci numbers as XML documents. The first servlet I wrote works fine. See However, I cannot figure out how to get the second servlet to be recognized. The URL for that servlet is; but if you check it out, you'll just see a Tomcat error message saying it can't find /xml/wa/servlet/fibonacciXMLRPC.

I'm guessing that the problem is that Tomcat is not rereading the the web.xml file where I added the info for the new servlet, but I could be wrong. The relevant points of web.xml are:



Does anyone have any suggestions as to what might be wrong? Especially why Tomcat finds one servlet but not the other? Please send any suiggestions to Please note that I do not have root access to this system, and cannot just shutdown Tomcat and restart it. If that turns out to be necessary to restart Tomcat every time web.xml is changed, then I'm going to need to look for an alternative web host/servlet engine. Thanks!

jXUL is an open source project to integrate the XML User Interface Language (XUL) with Java on top of Swing. Thisn is not ready for prime time, but developers who wish to particpate are needed and welcome.

Russian hacker Dmitry Skylarov was released on $50,000 bail yesterday. This whole prosecution is a travesty of justice. Both the DMCA law he's being prosecuted under and the prosecution itself represent nothing more than the craven subservience of the U.S. government, Democrats and Republicans alike, to big corporations.

Monday, August 6, 2001

The Avalon team has posted the 1.0b4 beta release of LogKit, a logging toolkit designed for secure performance oriented logging. Changes in this release include a new ContextMap class, an ExtendedPatternFormatter class to allow log messages to be formatted with caller method and thread ids, a SafeFileTarget class, basic unti tests, more thread safety, a stylesheet to convert Stylebook markup to DocBook markup, and more.

Sunday, August 5, 2001

Version 31.111 of the open source Jacob is now available. Jacob, the Java Commando Base, is a Java browser and project manager for Emacs. This version fixes assorted bugs.

Saturday, August 4, 2001

IBM's alphaWorks has released a Windows version of their Self Voicing Kit. The kit "enables automatic speaking of Java applications." Java 1.3 is required. Unlike most alphaWorks techynologies, this is $1000 payware.

Friday, August 3, 2001

Slava Pestov's posted version 3.2pre7 of JEdit, an open source programmer's editor written in Java. This release adds Visual FoxPro syntax highlighting, as well as many minor changes and bug fixes.

Thursday, August 2, 2001

Sun's posted the Proposed Final Draft, Update 2 of JSR-000059 J2SE Merlin Release Contents v 1.4.0.

Older news:

JanuaryJanuary, 2001January, 2000January, 1999January, 1998
FebruaryFebruary, 2001February, 2000February, 1999February, 1998
MarchMarch, 2001March, 2000March, 1999March, 1998
AprilApril, 2001April, 2000April, 1999April, 1998
MayMay, 2001May, 2000May, 1999May, 1998
JuneJune, 2001June, 2000June, 1999June, 1998
JulyJuly, 2001July, 2000July, 1999July, 1998
AugustAugust, 2001August, 2000August, 1999August, 1998
SeptemberSeptember, 2001September, 2000September, 1999September, 1998
OctoberOctober, 2001October, 2000October, 1999October, 1998
NovemberNovember, 2001November, 2000November, 1999November, 1998
DecemberDecember, 2001December, 2000December, 1999December, 1998

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

Copyright 2001 Elliotte Rusty Harold
Last Modified August 13, 2001