January 2001 Java News

Wednesday, January 31, 2001

O'Reilly announced Safari today, a new online subscription service for their books. Pricing starts at $9.95 a month for up to five books. However, the Java pickings are a little slim, and so far none of the books I've written and none of the books I want to read are available. :-(

Tuesday, January 30, 2001

WebPager is a standalone Java application for Windows that allows local and remote "paging" (browser control) for guided or unattended live URL-based slide shows. Both a light-weight server and a multi-threaded client are included. The app. is provided as a signed .exe (MS jexegen generated) file for MS JVM (IE4+) or a signed JAR java application for J2SE1.2+.

Monday, January 29, 2001
Book Cover, Peacock

I'm pleased to announce the official release of XML in a Nutshell by W. Scott Means and Elliotte Rusty Harold (i.e. me). This is a book a lot of developers have wanted for a long time now. Over a year before the contract was signed, readers were showing up at the O'Reilly booth at Internet World asking when XML in a Nutshell was going to be released. There were a few sputters and starts along the way, and as with all such books multiple deadlines were missed; but I'm pleased to announce that XML in a Nutshell is now available at bookstores everywhere. I think you'll like it.

One of my favorite comments about The XML Bible came from a reader in Norwich England who wrote, "It would seem to me that if you asked the author to write 10,000 words about the colour blue, he would be able to do it without breaking into a sweat." You know, I probably could write 10,000 words about blue, but I can write short books too, and XML in a Nutshell is the book that proves it. I'd estimate that it covers over twice the material that the XML Bible does in less than half the space and at just about half the price. In fact, XML in a Nutshell even weighs less than half what the XML Bible weighs, so not only will it not break your budget; it won't break your back either. (Whether I can write this concisely without the able aid of my coauthor W. Scott Means is still an open question.) I still like the XML Bible. I think it's a good book, but even I have to admit that I think twice before packing it in my carry-on luggage.

XML in a Nutshell, is a complete introduction to the state of the art in XML as of early 2001 including well-formedness, DTDs, namespaces, XLinks, XPointers, XPath, XHTML, XSLT, XSL-FO, SAX2, DOM2, Unicode, and more. Very few XML books even attempt to cover this much material, and I guarantee you that none of them do it in this few pages. There is simply no quicker way to learn everything you need to know about XML than by reading this book. It is the most concentrated, cost-effective way to educate yourself about XML.

For those readers who've already learned everything you need to know about XML, I know of no better reference to remind you of the things you've forgotten. Part IV contains detailed references for XML, XSLT, SAX2, DOM2, XPath, and Unicode; all carefully designed to facilitate fast look-up when you just can't quite remember the name of that XSLT element or the exact signature of that SAX method. Before Scott and I wrote this book, I wasted way too much time searching the specifications of XML, XSLT, DOM and more for little details like the proper namespace for SVG. Now I just flip open XML in a Nutshell, and the answers I need are right there. We wrote the reference work I always wanted to have.

Now for the bad news: bookstores have only preordered 17,000 of these. While that sounds like a lot, more than 20,000 people a day read Cafe con Leche and about 40,000 read Cafe au Lait, which means bookstores are going to be caught short, and probably more. Amazon, in particular, sold out their initial allotment on preorders alone and is now listing it on "4-6 weeks availability". But don't worry. O'Reilly can get them more copies a lot faster than that. Most other bookstores are listing it as 2-3 days availability. Still, if you know you want this book, don't wait. Order it now. It is now available very soon from any bookstore that carries computer books including:

If you need to special order it, the ISBN number is 0-596-00058-8. It's $29.95, published by O'Reilly, and written by Elliotte Rusty Harold and W. Scott Means.

Saturday, January 27, 2001

www.cafeaulait.org will be down a little later today to switch over to a new UPS. If all goes well, the interruption should be just a few minutes. The pages on metalab will be unaffected. Update, 12:08 EST: The switchover is complete. All pages should be functioning now.


Sun's posted the final draft of the Java2 Micro Edition (J2ME) Remote Method Invocation (RMI) Profile 1.0, JSR 66.

Sun's also posted the first public release of JSR-32, the JAIN SIP specification. If you don't work for a large phone company, you probably aren't interested in this.

Friday, January 26, 2001

Mike Clark's JDepend is an open source (BSD license) program that traverses a set of Java source file directories and generates design quality metrics for each Java package. The metrics are based on the work of Robert Martin and include:

Some of these seem a little suspicious to me. There's always a temptation to focus on what's easy to measure quantitatively rather than on what's important qualitatively, but very difficult to quantify. For instance, the claim is made that "The number of concrete and abstract classes (and interfaces) in the package is an indicator of the extensibility of the package." I don't see why. I think extensibility has more to do with the proper design of each indiviodual class in a package rather than the sheer number of classes in the package. However, some of the metrics seem more plausible than this, and the overall idea looks interesting.


The winning entries in the 15th International Obfuscated C Code Contest have been posted. Nothing else reminds me quite so much of why I like Java. :-)


Sun's posted the second public beta of the Java 3D API 1.2.1 on the Java Developer Connection (registration required). Mostly this is a bug fix release, but there are a few new and revised sample programs and utilities, including PrintCanvas3D, ViewPlatformBehavior and OrbitBehavior.

Thursday, January 25, 2001

Jason Hunter's updated his com.oreilly.servlet utility package with a few new features and bug fixes. There shoudl also be an updated second edition of his popular Java Servlet Programming book in the near future as well.


Sun's posted version 1.0a of the MIDP/#finalspec">Mobile Information Device Profile (MIDP) Specification. MIDP is a set of Java APIs which, together with the Connected Limited Device Configuration (CLDC), provides a complete Java 2 Micro Edition (J2ME) application runtime environment targeted at devices like cell phones and two-way pagers.

Wednesday, January 24, 2001

It's over. Sun and Microsoft have agreed to settle their long-standing suit over Java. Microsoft will pay Sun $20 million. The original licensing agreement, which was set to expire in two months anyway, is nullified. In its place is a new agreement, which allows Microsoft to distribute their current Java 1.1.4 virtual machine (which is just as compatible or incompatible as it always was) as well as previous version in all products with which it is currently bundled as well as with future versions of these products for the next seven years. Microsoft may not use Sun Java source code for any purpose except fixing bugs and filling security holes--i.e. they can't develop their own Java 1.3, 1.2 or even Java 1.1.8 runtime based on Sun's Java 1.1 source code. They have to start from scratch. New versions of Microsoft's VM to fix bugs and fill security holes must pass Sun's Java 1.1.4 compatibility tests, aside from a few well-defined exceptions to allow multicast, delegate and other preexisting Microsoft extensions. However, there is now a permanent injunction against Microsoft using the term "Java-compatible" (even if it's true).


IBM has posted the first public beta of their JDK 1.3 for Windows 2000 on Itanium, the next generation CPU from Intel.


Slava Pestov's released version 3.0.1 of the jEdit open source text editor written in Java. This is mainly a bug fix release.

Tuesday, January 23, 2001

Stephen Fitch pointed out that Bug 4304571 in the Bug Parade on the Java Developer Connection (registration required) is a closed Request for Enhancement asking that Sun "Add character properties for new characters in Unicode 3.0 standard". This is allegedly fixed in a non-public release, so maybe we'll see it in JDK 1.4 later this year. Unicode 3.1 is going to require much bigger changes however.

There's also a note, apparently from within JavaSoft, in Bug 4313773:

In fact, since JDK 1.1.7 we've been based on Unicode 2.1, and we're planning to upgrade to Unicode 3.0 in the Merlin release. It's probably not a good idea to burden the language specification with tracking these details. We should instead write something to the effect that Java tracks the Unicode standard and that in future the Unicode version for each Java version will be specified in the javadoc for the Character class (there is a bug 4247314 to that effect). Then, since older versions of the Character class had incorrect or no information on the subject, historical information might be given:

JDK 1.0.x -> Unicode 1.1.5
JDK 1.1 to JDK 1.1.6 -> Unicode 2.0
JDK 1.1.7 and up, Java 2 SE 1.2.x and Java 2 SE 1.3.x -> Unicode 2.1
Monday, January 22, 2001

The Unicode Consortium has published the first public working draft of Unicode 3.1. The primary new feature of Unicode 3.1 are 44,946 new characters covering several historic scripts, several sets of symbols, and many additional CJK ideographs. For the first time, characters are encoded beyond the original 16-bit codespace or Basic Multilingual Plane (BMP or Plane 0) in code positions of U+10000 and higher. In particular, there are three new supplementary planes:

Supplementary Multilingual Plane (SMP) U+10000..U+1FFFF
Historic scripts and symbols: Old Italic, Gothic, Deseret, Byzantine Musical Symbols, (Western) Musical Symbols, and Mathematical Alphanumeric Symbols
Supplementary Ideographic Plane (SIP) U+20000..U+2FFFF
Additional unified Han ideographs known as Vertical Extension B, comprising 42,711 characters, as well as 542 additional CJK Compatibility ideographs
Supplementary Special-purpose Plane (SSP) U+E0000..U+EFFFF
97 tag characters. These duplicate the ASCII graphic characters at different code points. However, they indicate markup rather than text. In other words, instead of writing >P< to indicate a paragraph, you might just write P. However, you'd use the P at U+E0070 instead of the P at 0x50. (Note: neither XML or HTML uses this. It's intended to be used for future standards.)

I'm not sure how relevant this is, since Java seems to still be stuck somewhere around Unicode 2.0. Would anyone with acccess to the JDK 1.4 beta care to spill the beans about whether we can expect more current Unicode support in Java 1.4?

Sunday, January 21, 2001

ICEMail 3.0.4 has been released. ICEMail is a free email client written in Java. This release now bundles the the JavaMail 1.2 library from Sun, and fixes a few bugs.

Saturday, January 20, 2001

Sun's posted a Java Specification Request (JSR) for a Java API for XML Registries 1.0 (JAXR). Acccording to the JSR abstract, "JAXR provides an API for a set of distributed Registry Services that enables business-to-business integration between business enterprises, using the protocols being defined by ebXML.org, Oasis, ISO 11179." The JSR further claims that, "JAXR may be viewed as analogous to Java Naming and Directory Interface (JNDI) but designed specifically for internet sharing of XML-related business information." Review closes on Jabuary 22, 2001. (Monday)

Friday, January 19, 2001

OpenSymphony has released the first public beta of OSCache, a Java Server Pages (JSP) tag library and servlet listener that caches JSP content. This has two claimed benefits:

I'm frankly a little skeptical of the second one. I like to see my errors. Fixing errors automatically is a good thing. Hiding them is not. In my experience caching often causes more problems than it solves, and should at best be viewed as a stopgap measure until performance, bandwidth, and reliability reach the point where caching is no longer necessary. But in the meantime, this looks interesting.

Thursday, January 18, 2001

The Mac OS 9 Software Update control panel is now showing availability of Mac OS Runtime for Java 2.2.4 which fixes the security hole discovered by Hiromitsu Takagi. It doesn't seem to be on Apple's Web site yet, though.


Macromedia is merging with Allaire. macroMedia makes Shockwave, Director, Flash, Freehand, and Dreamweaver. Allaire is responsible for ColdFusion and JRun. Macromedia will exchange 0.2 shares of its stock and $3 in cash for each Allaire share.

Wednesday, January 17, 2001

I was noodling around on java.sun.com today when I noticed that http://www.javasoft.com/j2se/1.4/ produces a "Forbidden
You don't have permission to access /j2se/1.4/ on this server." error message; whereas most other random URLs such as http://www.javasoft.com/j2se/1.5/ produce an "Oops! We couldn't find your document" message. One wonders what 's hiding in /j2se/1.4/. Maybe we'll see something interesting from Sun soon.

Tuesday, January 16, 2001

The Sav Z API is a Java API for a new expressive language called Z. Z focuses on the development of mobile object-relational database applications. Z algebraic expressions reflect peculiarities of Z ORDBMS. The Sav Z API can be thought of as JDBC improved for synchronous connection with Z databases. I'm not quite sure what all this means, or how widespread it is, but there are more details on the web site.

Saturday, January 13, 2001

We note with sadness the passing Friday of William Hewlett at 87. Hewlett was a true pioneer who, with partner David Packard, founded Hewlett-Packard in a garage in 1938. In so doing, they also unintentionally created today's Silicon Valley. He will be missed.

Friday, January 12, 2001

Inxar has announced ds2 0.4, a GPL'd build tool for Java development projects (similar to make or ant). It requires a Unix-like environment such as UNIX, Linux, or Cygwin.


Matt Plumtree wrote in about an oxymoronic open source, Java byte code obfuscator RetroGuard 1.1. RetroGuard is distributed under the LGPL.

Thursday, January 11, 2001

Do you remember those old jokes about Microsoft acquiring the Federal Government? It may be one step closer to happening. News.com is reporting that Microsoft, Dell, and Unisys are collaborating on new computer-based voting systems. In all likelihood, Dell would provide the hardware, Microsoft the software, and Unisys the service and technicians. Let's hope a few intelligent, honorable politicians catch on to the dangers of this and pass laws requiring that ALL hardware and software used to register and count votes is open and auditable. This should include not just the voting software itself, but also the operating system the software runs on, the BIOS in the computer, the drivers for the video card, the firmware in the modem, and more.


TomcatX 1.0 is a "simple MacOS X GUI front-end for the Apache Tomcat servlet/JSP engine."

Wednesday, January 10, 2001

IBM's alphaWorks has released DirectDOM for Mozilla Milestone 18 (they're running a couple of releases behind the Mozilla project). DirectDOM allows Java developers to build GUIs by manipulating documents using the browser's Document Object Model (DOM). That is, the DOM replaces the AWT. Java 1.2.2 or later is required.

Monday, January 8, 2001

I've updated the User Groups Page to include more current URLs for a lot of groups. There are still a number of groups that moved without leaving a forwarding address whom I can't locate. If you notice that I've got the wrong address for your group, please let me know. Thanks.

Sunday, January 7, 2001

IBM's alphaWorks has updated EJBMaker, a tool for EJB developers writing applications for the WebSphere application server environment. EJBMaker automatically generates source for CMP entity beans from a bean descriptor file written in XML, plus scripts used to create the required bean persistence tables in DB2. This release adds support for Java 1.2, and WebSphere 3.0 and 3.5. It also generates DB2 scripts for importing and exporting bean data are from databases and creating tables. It's available for AIX, Solaris, and Windows NT.

Saturday, January 6, 2001
Cat Logo

The Jakarta Project has posted the first beta of Tomcat 4.0, a servlet and Java Server Pages engine for Apache. According to the release announcement, "While the code for Tomcat 4.0 running in standalone mode is considered to be near production quality, the web connector to run behind Apache is still alpha quality code, with limited functionality. It is likely that there will be interim updates of the web connector software in between beta releases of the entire Tomcat 4.0 package."


Completely off-topic, but this is one of the most strikingly beautiful pictures I've seen in a long time.

Friday, January 5, 2001

The transition to www.cafeaulait.org seems to be moving reasonably smoothly, with only a few minor glitches. I'll probably try and move the news pages this weekend. I am a little worried about performance over the SDSL line. However, IBiblio was completely unreachable for several hours yesterday, so a T3 would not be a magic solution. Still, I need to look into a backup plan in the event that Verizon does something stupid to break the SDSL connection (and you can always count on Verizon doing something stupid.) I'll probably need to place a backup site on somebody else's server and a way to point DNS to it in the event of an outage at my site. On the other hand, this is going to be really hard to arrange cheaply once I'm running the site out of a database.


Version 2.4 of the Linux kernel is finally here. There are too many new features to list them all, but some of the most significant include;

Most non-bleeding-edge users will probably want to wait for 2.4.1 in a couple of weeks, or for it to get bundled with the major distributions.

Thursday, January 4, 2001
Cobalt Qube 3 server

I'm in the process of moving parts of this site to www.cafeaulait.org, a Cobalt Qube 3 sitting in my office and connected to the Net via SDSL. Over the next few days I'll be moving all the pages I eventually hope to translate to database driven pages instead of the static pages they are now. These include:

and probably a few others too. The rest of the site--books, course notes, slides, etc.--contains mostly static pages and will remain here on IBiblio for the time being. I've already moved the old news and quotes pages. I will be using Apache's mod_rewrite heavily to make sure that all old links and book marks still work, even after the pages have moved to the new server. (The Web would be a much better place if more webmasters used mod_rewrite when they reorganized or moved their sites. It is never acceptable for an existing URL to change.) Nonetheless, there will doubtless be some hiccups and glitches while the move progresses. If you notice anything strange, such as a missing quote of the day, a page that bounces back and forth between two URLs, or even a simple broken link, please let me know ASAP by sending email to elharo@ibiblio.org. Also, if anybody knows of a good free tool for searching an entire site for broken links, that information would be much appreciated. Thanks!

Wednesday, January 3, 2001

The Maintenance Review Draft Specification for JSR-000908 Java Media Framework 2.0 has been posted to the Java Community Process. The changes seemed focused on RTP. Comments are due by February 1, 2001.

Tuesday, January 2, 2001

Dr. Dobbs has posted an MP3 audiocast of my Java I/O session at SDExpo 2000 East last November. The notes are also online here at Cafe au Lait. I'll be reprising this talk at the International Java Conference in New York at the end of February.


I've updated the Java Conference list with all the shows I'm aware of in 2001. Doubtless I've missed a few, so please send in any others you may have heard of. Shows where I'll be speaking over the next year include:

I'm sure I'll add to this list as the year goes on. If you're running a show, and would like me to speak please drop me a line. I've posted numerous abstracts for talks I've given in the past on both XML and Java so you can get an idea of the sorts of things I like to talk about.

To answer the most frequently asked question, I'm not planning on attending JavaOne this year. Because I'm a freelancer, I try to limit my out-of-town trips to shows where the conference is willing to ones where the conference is willing pick up the tab. Since JavaOne doesn't pay its speakers, and since I'm not located in the Bay Area, I generally do not attend JavaOne.

Monday, January 1, 2001

Happy New Year! Happy New Millennium! May this one find you well. Today I thought I'd update you on my progress on last year's New Year's resolutions for Cafe au Lait/Cafe con Leche.

1. I will move these sites onto their own dedicated Linux boxes and 24/7 net connections so I won't be limited by what the system administrators are willing to install.
It took most of last year to get the physical infrastructure in place. However, that has now been accomplished. My SDSL line is installed and running, and I've got a spanking-new Qube 3 ready to go. I've also purchased the domain names cafeaulait.org and cafeconleche.org. I'm going to be spending today trying to get the Web server working like I want. I'll be moving pages over one-at-a-time to the new system, starting with the least popular pages so I can work out the inevitable glitches. I expect this to be my major project for the next month or so.

2. I will establish a database back end for this site. No more editing the HTML pages manually!
Once I've figured out how to get the Qube to serve static pages to the world, I'll start using MySQL and PHP. I think I'll begin by porting the mailing lists pages and the books pages from FileMaker Pro to MySQL. Then I can begin moving the daily news into a database backed system.

3. I will get discussion forums working on this site. I'm tired of reading all the interesting responses I get in my email and not being able to share them with you.
I'm still looking at this. I may try using PHPNuke, or I may try to roll my own using MySQL and PHP. But it's still on my ToDo list.

4. I will get Prentice Hall to honor their contract reverting the rights to the Java Developer's Resource to me. Once that's done, I will update the book to Java 2, and post the entire text here on Cafe au Lait.
This was my biggest success. I do have the rights back to the Java Developer's Resource and I have begun to post updated chapters. Much work remains to be done to bring the entire book up to spec with the current incarnation of Java.

5. I will get the rights back to Java Secrets as well, update it, and post it here on Cafe au Lait.
I also got the rights back to Java Secrets. I haven't had time to update it yet. However, since it isn't nearly as out-of-date as Java Developer's Resource. I think maybe I should just take a quick look at it and post the unupdated files. I would need a good conversion tool to move Word documents to HTML.

You can also read the news from 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
elharo@metalab.unc.edu
Last Modified January 21, 2001