December 2000 Java News

Sunday, December 31, 2000

The Jenesis Language Syntax API is a tool for generation of Java source code files. Language syntax elements are composed as an object tree which is then transformed to text. The resulting .java source file can be automatically compiled using either javac or Jikes and subsequently reflected, if desired. Jenesis is published under the GNU General Public License 2.0. Java 1.2 or later is required.

Thursday, December 28, 2000

Sun's posted a beta of the Java Advanced Imaging API 1.1 on the Java Developer Connection (registration required). New features in 1.1 include:

Wednesday, December 27, 2000

Sun's posted two new bug fix releases of the Java Development Kit (JDK) 1.1 and 1.3:

Tuesday, December 26, 2000

Slava Pestov's released JEdit 3.0, an open source text editor written in Java. According to the announcement, new features include:

Macro system improvements
The limited macro language used in jEdit 2.6 and earlier has been replaced with BeanShell. BeanShell is a full-featured scripting language with a syntax very similar to Java; hence Java programmers will be able to pick it up very easily. Recording user actions is still supported, so non-programmers can continue to use jEdit's macro features.

User interface improvements
  • The buffer switching tabs have been replaced with a combo box (the BufferTabs plugin, available from plugin central, can be installed to get the old tabs back)
  • I/O progress is now displayed in the top-right corner of the editor window
  • Caret location information is now displayed in the bottom-left corner of the text area
  • Some of the larger option panes in the 'Utilities->Global Options' dialog box have been split into multiple panes, for a less cluttered appearance
  • A 'tip of the day' is now shown on jEdit startup (this can be disabled)

Search and replace improvements
  • The search and replace and HyperSearch dialog boxes have been merged
  • Multiple line search and replace is now supported
  • The jEdit 2.5-style search bar is back

Word wrap
jEdit now supports word wrap. Inserting characters beyond a specified wrap column will automatically place a line break at the appropriate location.

Indent width -vs- tab width
The indent width (used when doing auto indent and shifting lines) and the tab width (used when displaying tabs) can now be set separately.

Caret positions saved in recent file list
jEdit now remembers the caret position in recently opened files, and automatically restores it when a recent file is opened.

Scrolling improvements
The horizontal scroll bar width is now set according to the longest visible line.

The text area can now be scrolled from the keyboard using the commands in the View->Scrolling menu. (Contributed by Ollie Rutherfurd )

New miscellaneous commands
  • File->Insert File: inserts specified file into current buffer
  • File->Save a Copy As: saves buffer to a different file, and doesn't rename the buffer

New edit modes

Syntax highlighting was added for the following file types, bringing the total number of supported file types up to 46:

  • Assembly (Intel x86 MASM/NASM)
  • C#
  • RPM spec
  • Texinfo

Assembly syntax highlighting was contributed by Kristian Ovaska (). C# syntax highlighting was contributed by Ollie Rutherfurd ().

FTP support moved to a plugin

FTP support has been moved out of the editor core to the 'FTP' plugin, which can be installed using the plugin manager.

Saturday, December 23, 2000

The Public Review Draft Specification for JSR-34 Java Advanced Imaging API 1.1 has been published to the Java Community Process for Public Review. Comments are due by February 5, 2001.

I'm leaving for Christmas vacation a little later today if LaGuardia's still open. I'll have Internet access while I'm away. Nonetheless things are likely to be a little slow here for the next week, and you probably have better things to do than think about Java right now. But I do promise to have some big announcements and a major shift in direction for this site come the New Year.

Friday, December 22, 2000

Version 3.1 of the free NetBeans IDE for Java has been released. Major new features in version 3.1 include:

There are also improvements to the Form Editor, the Source Editor, the CVS Module, the JSP Module, the I18n Module, and the Properties Module Enhancements

Thursday, December 21, 2000

Sun's posted the final draft proposal of the Java API for XML Processing 1.1 in PDF and PostScript format.

The finished version of JSR-56, Java Network Launching Protocol, has been released. This describes the protocol used by Java Web Start. As usual the spec is in PDF format, and requires a click-wrap license agreement. Here's an idea for the next iteration of the JCP now being discussed: absolutely anybody should be allowed to read the specs for free without agreeing to anything.

The Maintenance Review Draft Specification for JDBC 2.1 has been posted to the Java Community Process. So far the listed errata are just in the JavaDoc. No actual functionality changes seem to be proposed. Comments are due by January 18, 2001.

Wednesday, December 20, 2000

Four new Java Specification Requests (JSRs) have been posted to the Java Community Process:

Tuesday, December 19, 2000

Idoox has released IdooXoap for Java version 1.0, an implementation of the Simple Object Access Protocol. The major improvements since pre-betas include:

Hiromitsu Takagi has uncovered a major security hole in Apple's Mac OS Runtime for Java 2.2.3 that lets applets read files and transmit the information back to the originating Web site. It is not yet known if earlier versions of MRJ have been affected. Mac users should turn off Java. Non-Mac users don't have to worry. Takagi reported the hole to Apple in October. Apple apparently ignored him.

The College Board, the monopoly that brings you the SAT and the Advanced Placement Tests, has announced that starting in 2003 the AP Computer Science test will include object orientation (about 10 years late), Furthermore, the language will change from the current C++ to Java.

Monday, December 18, 2000

IBM's alphaWorks has posted version 2.0.4 of their Logging Toolkit for Java that "provides message logging and tracing functions for Java applications."

Sunday, December 17, 2000

The Unicode Consortium has published the first beta data files for Unicode 3.1. Version 3.1 adds many new characters and new blocks including:

Most importantly, even for developers who don't have a specific need for any of these characters, all of these have code points greater than 65535 (0xFFFF). Characters beyond the Basic Multilingual Plane are no longer just a theoretical possibility. Java is simply not ready for this. and getting it ready is going to break a huge amount of existing software. A two-byte char is no longer going to be adequate to represent Unicode. I'm not sure whether it would be possible to redefine chars as 4 bytes without breaking a lot of code, but that's probably the simplest solution at this point. It might also be possible to break the assumption that one char maps to one character by using surrogate pairs, but that makes programming a lot more difficult. For instance, you can't just count up the number of chars in a String to get its length. You have to consider what chars are in the String. And not all sequences of chars actually form legal Strings.

I don't know whether or not Sun has thought about how they're going to handle this. Unicode aficionados have known this was coming for years now. It could have been foreseen back before Java 1.0 was released. Java 1.3 still doesn't support Unicode 3.0, even though the changes from 2.1 to 3.0 were much less wrenching, so I'm not optimistic about the prospects of this getting straightened out any time soon. This is particularly bad news when integrating Java with non-Java standards like XML that already do allow these new characters to be used.

One80 Software has announced Geneva, a small clean-room Java virtual machine for 8-bit processors. It's targeted at the embedded device market. There's some usefully skeptical discussion on SlashDot.

Saturday, December 16, 2000

Sun's posted the final version of the Enterprise JavaBeans 1.1 Specification in PDF and PostScript formats.

Sun says they've posted the FCS version of Java Web Start 1.0. However, I couldn't get the download links to work, so I'm not sure if it's really there or not. Java Web Start is a new, hopefully better way to install Java applications under the control of a security manager. Sun's failed at this task twice before with applets and JAR archives, both of which were way too hard to for developers to get comfortable with for different reasons. Let's hope the third time's the charm.

Sun's also posted the third beta of the Java Media Framework 2.1.1 on the Java Developer Connection (registration required). New features in beta 3 include:

And of course various bugs were fixed.

Friday, December 15, 2000

Slava Pestov's posted JEdit 3.0 beta 5, an open source text editor written in Java. New features include RPM spec file and Texinfo syntax highlighting, and as usual many bugs have been fixed.

Vita Nuova has released a beta of an Inferno plug-in for Internet Explorer. Inferno is an experimental operating system from Bell Labs and the folks who brought you C and Unix. Inferno applications are written in Limbo, a simple, modular, C-like language which is alleged to be exceptionally easy to read and understand. Limbo has built-in facilities for string handling, list manipulation and interprocess communication and synchronization. Maybe when Netscape talked about replacing the OS with the browser, they were just a few years too early?

Thursday, December 14, 2000

Bare Bones Software has released version 6.0.2 of BBEdit, the payware Macintosh text editor I use to produce most of this site. The major new feature is support for the Compact HTML 2.0 format used in iMode phones. Many bugs are fixed besides. The upgrade is free for 6.0 owners.

Picture of a Cat, Tomcat logoThe Jakarta Apache Project has released Tomcat 4.0, milestone 5. All Tomcat 4.0 users should upgrade immediately as it fixes the security vulnerability I mentioned here yesterday. Besides that, this release adds a web connector for Apache and a JNDI naming context for use when running outside a J2EE application server. Many bugs are fixed as well. This is the feature freeze for Tomcat 4.0. NO new features should be added until Tomcat 4.1.

Sun's posted the final draft of the PersonalJava 1.2a Specification. There's yet another ridiculous click-wrap license aghreement before you can actually download it.

Wednesday, December 13, 2000

Picture of a Cat, Tomcat logoThe Jakarta Apache Project has identified multiple security vulnerabilities in both Tomcat 3.1 and Tomcat 3.2 final as well as Tomcat 4.0 milestone 4. If you're using Tomcat (a JSP and servlet engine for Apache), you should immediaately upgrade to 3.1.1 or 3.2.1. Tomcat 4.0 milestone 5 will fix the one vulnerabaility that affects this version, but is ot yet available. In the meantime, you might want to downgrade to 3.2.1.

Sun's posted a beta of the Java Access Bridge 1.0.1 on the Java Developer Connection (registration required). The Java Access Bridge enables Windows based Assistive Technology to work with the Java Accessibility API found in Swing components. According to Sun, "This release fixes incompatibilities with JavaTM 2 Platform, Standard Edition, v1.3, and also cleans up the installer."

Monday, December 11, 2000

Arcane Technologies Ltd. has released Magician 2.1.4 for Windows 95/98/NT/2000, Linux/PPC and SPARC/Solaris. Magician 2.1.4 features full OpenGL 1.2 and GLU 1.2 functionality ncluding support for NURBS surfaces, tesselators and quadrics (whatever those are). Magician interfaces directly with existing OpenGL installations to deliver hardware-accelerator-aware 3D capabilities to Java.

Wolfram Research has released JLink 1.1, a toolkit that integrates Mathematica and Java so Mathematica programs can invoke Mathematica code and vice versa. Version 1.1 includes full source code for JLink, a MathCanvas Java class for displaying Mathematica graphics, ragged arrays, some performance optimizations, and other new features.

Saturday, December 9, 2000

Greg Guerin sent in this note on BlackBerries and PageWriters:

According to this CNN article the personal information device known as Blackberry is hot, and it's programmable in Java (the J2ME/MIDP genre). It looks interesting:

However, I find this response a bit clue-impaired:

Q. What about Motorola, which has new two-way pager-wireless devices on the market that are being touted by Hollywood celebrities?

A. Motorola is selling a pager, a very simple device, that runs on a legacy network and has limited functionality.

These must be the Motorola PageWriter devices. For being "a very simple device" they have a small but usable QWERTY keyboard, can send & receive email, provide address-book, calendar, & alarm functions, and support third-party software via the FlexScript language.

While FlexScript isn't Java, it isn't as crippled as WAP, either. And "limited functionality" is true of ANY handheld device, whether it supports Java, MIDP, or anything else. Not even the most capable Palm device has unlimited functionality.

(BTW, since Motorola owns Metrowerks, I keep wondering why they don't just distribute CW compiler plug-ins instead of stand-alone semi-lame platform-specific IDE's for everything. Maybe it just takes a while for the clues to really sink in.)

I don't normally post unsolicited email aside from product announcements, but in this case Guerin included one very important sentence at the end of his message: "Permission granted to quote or publish." I do sometimes get interesting thoughts or responses from readers, but unless permission is explicitly granted to publish these notes I assume each one is intended as a private communication (again, aside from product announcements which the correspondent clearly wants me to publicize unless they say otherwise.) So if you are sending me materials for publication, please be sure to tell me that's what you're doing! Of course this all may become moot next year when I finally (fingers crossed) get discussion forums working on this site.

Frederic Lavigne's released 0.3.1 of Skin Look And Feel. This release adds theme packs (GTK/KDE themes in one file) and SkinRegion. SkinRegion (Windows only) lets you create irregular windows. SkinRegion is currently available only for Microsoft Windows.

Romain Guy's released Jext 2.10, an open source programmer's editor written in Java. New features include single JVM loading, workspaces, virtual folders and templates.

Friday, December 8, 2000

The Apache XML Project has released the first beta of Batik, a Java program/class library for browsing Scalable Vector Graphics (SVG) documents and converting them to GIF or PNG. This is based on the Java 2D API, and supports most of the static features of the November 2nd, 2000 Candidate Recommendation of SVG. Animation and other dynamic features are planned.

The current beta 1 release is definitely a little rough, and I recommend it for extreme early adopters only at this point. Clearly a lot of thought has gone into the initial documentation, and there were copious step-by-step instructions for installing this and getting it to run, including such often omitted details as setting particular environment variables and setting up your CLASSPATH. Unfortunately that's no substitute for a more intuitive. less complicated process. I had a great deal of trouble getting it to display the sample documents, problems which I eventually tracked down to an old version of w3c.jar in my ext directory. Less motivated/experienced users would never have gotten past this. Clearly the problem isn't with Batik itself, which is a very nice piece of work. It's with Java's insanely complex, difficult and unintuitive installation system. Here are three changes I propose to make Java software much more competitive with compiled software:

In what is perhaps a related note, IBM's alphaWorks has updated their Install Toolkit for Java with some minor enhancements and bug fixes.

The IBM T.J. Watson Research Center has posted a new release of the Agent Building and Learning Environment (ABLE), a toolkit for developing hybrid intelligent software agents and agent applications in Java, on alphaWorks. This release is a "major redesign of inference engines adding support for user libraries and Java object scripting, new CommonRules and DecisionTree beans" as well assorted bug fixes.

Thursday, December 7, 2000

Sun's released the final version of JavaMail 1.2. This version fixes more than 40 bugs, and adds many new features including:

Sun's released the JDBC API Test Suite 1.2.1. This "uses the J2EE SDK to test a JDBC driver with an application server. After passing the JDBC API test suite, driver developers will have confidence that their JDBC driver will work as part of a J2EE compatible environment."

Opera Software is releasing a free-beer, ad-supported version of their namesake web browser, Opera. Information about what adds have been seen, user dmographics, and the like are sent to Opera's servers using an XML format. For $39 you can turn off the ads. Opera 5.0 is currently availabled for Windows only and supports XML, Java (separate download required), 128-bit encryption, TLS 1.0, SSL 2 and 3, CSS1 and CSS2, HTML 4.01, HTTP 1.1, ECMAScript, JavaScript 1.3, and provides experimental support for DOM and WAP/ WML.

Wednesday, December 6, 2000

I've been trying to avoid buying from Amazon lately. Its recent anti-union activities are just one more in a long list of reasons why I don't like supporting them, and why I would really like to never buy from them again (or at least until they start treating customers and employees fairly). I just wish its competitors wouldn't make this so hard.

For a recent Christmas gift order, I had to try three different stores before I found one (FatBrain) that could fill my order. At the first two stores I tried ( and A1Books) I couldn't even figure out how to put a book in my shopping cart. And none of these stores offered gift wrapping, so I'll have to wrap the books myself when they arrive and then reship them to the recipient.

Next I wanted to order a CD-player and a CD-RW drive. At Amazon this could have been part of the same order with the books. However, everywhere else this meant going to a different store. At least at I was able to get both the CD player and the CD-RW drive in one order. However, I had to use my PC to place the order because's site simply doesn't work on my Mac. If I wasn't in that small percentage of Mac users who have a PC sitting right next to their Mac, Outpost would have lost this several-hundred dollar order. The exact problem isn't important, but what it boils down to is that uses more complicated DHTML than is actually needed to let people browse their catalog and order from them. I reported the bug in their site months ago and they still haven't fixed it. I don't know how many thousands of dollars in sales they've lost since then, simply because their site is more complex than it needs to be. has similar though more sporadic problems.

My Christmas shopping finished for the moment, I decided it was time to sign up for an online brokerage account so I could take advantage of what I thought was a real buying opportunity for Red Hat stock, so I surfed over to etrade. However, the first thing I wanted to know before I signed up for an account was how much their commission was going to cost me. That information may have been somewhere on their site, but I certainly couldn't find it. Every time I clicked on a link that looked like it might take me somewhere useful, I was presented with a request for a username and password I didn't have and wasn't going to get unless I signed up for an account first. But I wouldn't sign up for an account unless I first found out about the commission structure. Catch-22. Consequently etrade lost my account.

The state of user interface design at ecommerce sites is almost universally abysmal. Amazon is one of the few sites that gets it right; and that, more than anything else, explains their market-leading position. Everybody else needs to go read everything Jakob Nielsen's ever written and accept it as revealed gospel truth. Poor user interface design is costing ecommerce sites real money today. It's hard to quantify the exact cost of a missed opportunity, but many of these sites are so bad that I wouldn't be surprised if it's significantly more than the sales these sites are actually closing. Despite all its political and PR problems, one thing Amazon understands better than anyone is how not to frustrate surfers and chase customers away once they arrive at one of its sites. I wish all its competitors would learn how not to do that as well.

Sun's posted the second early access release of the Java API for XML Processing (JAXP) 1.1 on the Java Developer Connection (registration required). JAXP 1.1 is based on SAX2 and DOM2, the TRAX API for XSLT processing, and a few factory classes for locating a parser. It includes Sun's Crimson XML parser and a version of the Apache XML Project's Xalan XSLT processor.

Tuesday, December 5, 2000

Sun's posted the The Public Review Draft Specification for JSR-57 Long-term Persistence for JavaBeans to the Java Community Process. Comments are due by January 3, 2001.

Arcane Technologies Ltd. has released Sorceress, a set of Java bindings for the OpenGL Optimizer and Cosmo3D libraries from SGI, as open source (GPL). Cosmo3D is a scene graph API upon which OpenGL Optimizer is built. Optimizer is a high-level API designed to allow you to represent higher-order surfaces simply, such as NURBS, Coons patches and ruled surfaces.

Slava Pestov's posted the "first" prerelease of JEdit 3.0, an open source text editor written in Java. However, this is really just 2.7p4 with a renumbering. New features include DSSSL syntax highlighting and a tip of the day, and as usual many bugs have been fixed.

Sunday, December 3, 2000

Alex Cozzi of IBM has released MulticastChannel, a Java class library and API that "simplifies the development and use of services based on UDP multicast sockets." MulticastChannel provides a distributed naming service that associates names with address/port/time-to-live triplets so that programs can communicate in a one-to-many fashion using fast UDP multicast sockets. IBM claims this can "exchange up to 10MBytes/sec of information on a 100Mb Ethernet network."

AlphaWorks has updated Regex for Java, their regular expression class library. This release adds new substitute and split functions as well as support for XML Schemas style regular expressions. The primary difference between XML schema regular expressions and most traditional regular expression languages is the addition of regular expressions for Unicode character classes. For instance, it's easy to match any character that's a currency sign or a digit, regardless of language or script.

AlphaWorks has also updated the Jinsight tracing program, a visual tool for optimizing and understanding Java programs . This release just fixes a few bugs.

Friday, December 1, 2000

The Apache Jakarta Project has released Tomcat 3.2, a servlet and JSP engine for the Apache Web server. Tomcat implements the Java Servlet API 2.2 and Java Server Pages 1.1. This release has many new features including support for SSL connections, should be significantly faster, and fixes more than 100 bugs.

Sun's posted the FCS version of the Java 2 Micro Edition Wireless Toolkit. This is a set of development tools for MIDP compliant applications targeted at devices such as cell phones and two way pagers..

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

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

Copyright 2000 Elliotte Rusty Harold
Last Modified January 6, 2001