February 2000 Java News

Tuesday, February 29, 2000

Tim O'Reilly has posted an open letter to Jeff Bezos asking Amazon to rethink their patent strategy. Everyone is encouraged to add their comments, and sign the letter.

For the record, ditching the Amazon links is on my to-do list for Cafe au Lait and Cafe con Leche. I haven't gotten around to it yet, because it's a fairly big project given the way my work flow is implemented. But I do promise to get it done in April if not sooner, assuming Amazon doesn't change their tune by then.


Sun's posted two new Java Specification Requests:

Monday, February 28, 2000

Horst Heistermann's posted the first public beta of his free-beer HTMLWindow component for rendering HTML. It does not seem to be as fully featured as the Swing JEditorPane though.

Sunday, February 27, 2000

The seventh beta of jEdit 2.3, the open source programmer's editor written in pure Java, is now available. This release fixes assorted bugs, especially those related to plug-ins.

Saturday, February 26, 2000

Sun has posted version 1.0 of their Java API for XML Parsing developed in Sun's closed, proprietary community process. They have not yet released an actual implementation of this specification. The spec is only available in PostScript and PDF format.

I remain opposed to this API on principle, and I'm happy to note that there are realistic alternatives like SAX, DOM, and Xerces that have a lot more traction in actual use. Some of these form part of Sun's proprietary API. What Sun is really trying to do with this API is hijack control of APIs for XML parsing in Java from more open processes. Sun is simply incapable of accepting a process for Java standardization that they don't control.

This isn't just a theoretical problem either. For example, here's a direct quote from the spec:

This specification subsumes the XML Namespaces 1.0 Recommendation in its entirety. This specification reserves the XML namespace prefixes beginning with java and javax (case insensitive) for future usage by the Java Platform.

This is completely wrong! The whole point of namespaces is that nobody reserves prefixes. You only get to reserve URLs which are mapped to prefixes at run time. However, Sun gets apoplectic at the mere thought of anybody else potentially using the name "Java" so they have to try to grab every possible use of the word they can imagine, even if they don't have a clue what they're going to do with it.

Leaving aside for the moment the questions of whether or not Java APIs for XML should be developed in open, democratic forums or in Sun's closed, proprietary process, there's another question of whether or not now is the right time to standardize a Java API for XML. I think it's way too early on the adoption curve to write anything in stone that will only have to be deprecated next week. Right now I'm working hard on my presentation about Java and XML at SD2000 West in a few weeks. In the last week, there were three separate releases of software and changed specs that necessitated rewriting my notes! And I expect that to continue for the next few weeks and beyond. This is very bleeding edge stuff. Sun's Java API for XML relies on SAX1 which isn't really namespace aware. SAX2 changes lots of things and deprecates a lot that Sun's writing into their API. Their support of DOM1 instead of DOM2 has similar problems. If Sun wants to add SAX and DOM to the core Java APIs, then they should at least wait until those APIs are stable.

Friday, February 25, 2000

IBM's alphaWorks has released Jinsight 1.2, a program to trace the runtime behavior of a Java application on Windows or AIX. Version 1.2 adds support for tracing server-side applications such as servlets and dumping object population and references.

AlphaWorks has also released version 0.81 of their Log Package for Java. This release adds roll over of the log files, multiple log output targets, makes it easier to write new configuration file formats.

Thursday, February 24, 2000

Sun's released the JavaMail API 1.1.3 and POP3 1.1.1 implementations. These fix assorted bugs and add support for SMTP Authentication and SMTP Delivery Status Notification.


IBM's alphaWorks has posted a new version of The Beanery Java bean creation wizard to fix assorted bugs.

Wednesday, February 23, 2000

Enhydra logo of an otter drinking a cup of coffee Lutris has released the first alpha version of the Enhydra 3.0 open source application server. This release supports version 2.2 of the Java Servlet API Servlet 2.2 and Version 1.1 of Java Server Pages and adds load balancing, dynamic recompilation of XMLC, cookie-less sessions, better multiserver adminstration, better support for JBuilder , and many bug fixes.



Bruce Eckel has posted revision 7 of the second edition of Thinking in Java.

Tuesday, February 22, 2000

Microsoft has released three new builds of its Java virtual machine to plug the security hole that Dr. Hiromitu Takagi discovered.


Mark Hale's released version 0.858 of the JSci class library with a new DoubleSparseMatrix class as well as assorted bug fixes and performance improvements.


Cover of the Unicode 3.0 specificationVersion 3.0 of the Unicode Specification is now available in printed book form. This is a major upgrade to Unicode that adds thousands of new characters in many languages. The most significant new character set supported is Ethiopic. You can order a copy from amazon.com or any other book store that carries computer books. Various information is available on the Unicode web site, but due to the poor support for Unicode in most existing software, this is still one case where a printed book is preferable to electronic documentation.


Monday, February 21, 2000

Borland's released a free beer version of their C++ compiler for Windows and associated command line tools. This does not include the C++ Builder IDE and it is not open source. I'm still using C++ Builder 3.0 (This is 5.5) for my occasional Windows C++ work, and I do find it to be a solid product. In fact one of the reasons I continue to rant and rave that there still aren't any good Java IDEs is because none of them come close to being as useful or as bug free as C++ Builder 3.0.

Saturday, February 19, 2000

Romain Guy's released version 2.7 of his Jext programmer's editor. Version 2.7 adds multi document editing, shortcuts edition, and file filters. Jext is written in pure Java and released under the GPL.

Friday, February 18, 2000

The next release of Visual Basic will be a lot more object oriented, according to Microsoft PR. The language will add inheritance and polymorphism for the first time. It will also allow arguments to be passed to constructors. Other new, not specifically object oriented features include method and operator overloading, structured exceptions, multithreading, optional type safety, static class members, and Java-like initialization of variables where they're declared. If Microsoft had done this five years ago, Java probably wouldn't be where it is today.

Thursday, February 17, 2000

I've reorganized the Cafe au Lait home page so that it is now possible to load it without getting the links bar on the right (which I don't update nearly frequently enough in any case). If you'd like to just see the news, and see it much more quickly, then point your browser at http://metalab.unc.edu/javafaq/shortindex.shtml. I'm also experimenting with some changes to the table structure to make it load faster and be easier to read.

For the moment, I'm going to leave the slower, table-based page as the default. However I will be checking the logs to see which one readers seem to prefer. Before I can make a decision to go completely over to the simpler page, I'll need to think about how I want to make some crucial pieces of the left hand column like the search box available on the simpler page. (Yes, I know the search box isn't working too well right now. Metalab's copy of InfoSeek has hit its maximum URL limit, and other solutions are being explored.) It's possible that all this experimenting will expose some bugs in my site's back end. If you notice a problem, please drop me a quick email. Thanks!

Wednesday, February 16, 2000

A new Volano Report has been posted detailing the latest VolanoMark server-side benchmark results across 18 virtual machines on a variety of X86 platforms. Blackdown's Linux JDK was the VM able to handle 4,000 active concurrent connections on the 256-megabyte test machine. Overall speed results were, in order from fastest to slowest,

  1. Tower TowerJ 3.1.4 Linux
  2. IBM JDK 1.1.8 Windows NT
  3. IBM JDK 1.1.8 OS/2
  4. Microsoft VM 3234 Windows NT
  5. Microsoft VM 3229 Windows 2000
  6. IBM JDK 1.1.8 Linux
  7. Sun HotSpot Server 2.0 Windows NT
  8. Sun JDK 1.3 RC1 Windows NT
  9. Sun JDK 1.2.2-001 Windows NT
  10. Sun JDK 1.2.1_04 Solaris
  11. Novell JDK 1.1.7 NetWare
  12. Sun/Inprise JDK 1.2.2 Linux
  13. Blackdown/Inprise JDK 1.2.2 Linux
  14. Blackdown JDK 1.2.2 RC4 Linux
  15. Transvirtual Kaffe 1.0.5 Linux
  16. Blackdown JDK 1.1.7 Linux
  17. JDK 1.1.8 FreeBSD

Details of test configurations, which VMs crashed during the test run, and so forth are available in the report.


I'm speaking at the O'Reilly Java conference. The O'Reilly Enterprise Java Conference, at which I'll be speaking about Web Client Programming in Java, is offering discount admissions to members of "the Java User Group". Apparently they aren't too picky about which Java user group that is. Tell them you're a member of the Cafe au Lait Java user group and use the code "JUG20X" and you'll get $400 off the price of admission. The conference is in Santa Clara California in the heart of Silicon Valley, and runs from March 27-30. If you register by February 25, admission is $995 before the discount. Half-day tutorials, like my Java Network Programming talk, are extra.

Tuesday, February 15, 2000

Sun's released the production (final) version of the Java Development Kit (JDK 1.2.2) for X86 Linux. A redistributable JRE is alaso available. No Just-In-Time Compiler (JIT) is included, but it should work with the Inprise JIT. Kernel 2.2.5 and glibc 2.1 or later are required.

Monday, February 14, 2000

FatBrain has posted my latest Straight Java column, ProgressBarInputStream. This column shows you how to add a simple progress monitor to time consuming operations like loading large files from the network.

Sunday, February 13, 2000

The fifth beta of jEdit 2.3, the open source programmer's editor written in pure Java, is now available. This release fixes assorted bugs and adds some minor features. This is possibly the last release before 2.3 final.


Gerhard Paulus has released version 0.9.8 of his storedObjects open source object database. storedObjects is written in pure Java. This release adds an implementation of the TPC-W benchmark.

Saturday, February 12, 2000

The Blackdown Project has posted release candidate 4 of of their port of the JDK 1.2.2 and Java Plug-in 1.2.2 to Linux. You can retrieve it from the usual list of mirror sites.


IBM's alphaWorks has released the first version of the Locale Converter, a Java program to convert locale information between Java, ICU, and POSIX formats

AlphaWorks has also released version 2.1.1 of TSpaces. TSpaces provides group communication services, database access, URL-based file transfer services, and event notification services. This release fixes assorted bugs.

Finally, alphaWorks has updated the Log Package for Java to version 0.8. This release changes the API change to use the category class directly for logging.

Friday, February 11, 2000

Bill la Forge has released Quick 1.0. Quick builds on SAX, providing a simple API for transforming XML documents into Java objects. Quick aims to minimize the coupling between XML markup languages and an application's classes, relying mostly on an XML binding schema to effect the transformation at run time. Quick is distributed under a modified BSD license.


Christopher Clemens Lee JavaNCSS is a GPL'd source measurement suite for Java. It can tell you how many "Non Commenting Source Statements" (NCSS) there are in your code as well as calculating the "Cyclomatic Complexity Number (McCabe metric)". The current version is 7.2.1.

Thursday, February 10, 2000

Sun's posted an early version of the PersonalJava 1.2 specification for public review. Comments are due by February 14.

Wednesday, February 9, 2000

Sun's posted five new Java Specification Requests:

Tuesday, February 8, 2000

Borland (a.k.a Inprise, a.k.a Inprise/Borland) and Corel have announced plans to merge and focus on Linux products. It would be interesting to see these classic Windows-only companies survive only by abandoning Windows.


IBM's alphaWorks has released the first public version of OLEBridge, a software development kit for communicating with OLE/COM objects from Java, either locally or over a network with the use of RMI. This sounds useful for developers who need to play in the Windows space.

Monday, February 7, 2000

The fourth beta of jEdit 2.3, the open source programmer's editor written in pure Java, is now available. This release has many bug fixes and minor feature enhancements, but it is still a beta so caveat downloader.

Friday, February 4, 2000

Sun's released version 1.0 of the Java Authentication and Authorization Service (JAAS). JAAS provides a means to enforce access controls based on whose running the code. JAAS, but the authentication modules are only available for Windows and Solaris. JAAS requires Java 1.3.

Thursday, February 3, 2000

The Fifteenth Annual Obfuscated C Contest is now under way. The contest runs till March 31. If nothing else, this should remind us why we love Java.


The third beta of jEdit 2.3 , the open source programmer's editor written in pure Java is now available. This release has many bug fixes and minor feature enhancements, but it is still a beta so caveat downloader.

Wednesday, February 2, 2000

Apple's released Macintosh Runtime for Java 2.2 and the Macintosh Runtime for Java 2.2 Software Development Kit. These simply offer improved support for Java 1.1. MacOS 8.1 or later is required. However you may be able to a custom install onto MacOS 7.6.1 or later if Appearance Manager 1.0.3 Text Encoding Convertor 1.4.2 are already installed.

Java 1.2 will not be supported on MacOS 9.x and earlier in the foreseeable future. Support for Java 1.2 in MacOS X is still an open question. Technically it's not as hard as supporting MacOS 9. However, Sun and Apple have not yet signed a license agreement, and there seem to still be some pretty serious points of contention they need to iron out.


I've received three reports confirming the security hole Dr. Hiromitu Takagi discovered in Microsoft's Java virtual machine for Microsoft Internet Explorer version 4 and 5 (IE4, IE5) for Microsoft Windows 95/98/NT. The problem seems to be with ClassLoader.getSystemResourceAsStream() and can expose files with known names to a hostile applet. I still haven't reproduced the bug myself, and probably twice as many people who wrote to me couldn't manifest it on their systems than could. However, that's not unusual for this sort of bug. These things tend to be highly dependent on very minor differences between systems. In any case, this is a pretty major bug and I recommend you turn off Java in Internet Explorer or replace it with the Java Plug-in until it's fixed. Netscape Navigator and HotJava are not affected.

Tuesday, February 1, 2000

Dr. Hiromitu Takagi claims to have found a new security hole in Microsoft's Java virtual machine for Microsoft Internet Explorer version 4 and 5 (IE4, IE5) for Microsoft Windows 95/98/NT. He alleges that a problem with ClassLoader.getSystemResourceAsStream() can expose files with known names to a hostile applet. However, the demonstration applet failed to actually expose any files when I tested it, throwing a NullPointerException instead. I'd be curious to hear from anyone who can confirm or deny this report.

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 2000 Elliotte Rusty Harold
elharo@metalab.unc.edu
Last Modified February 15, 2000