Tomcat and Windows Server 2003

Many server hosting companies are offering Windows Server 2003 these days at attractive prices.  If you use Tomcat and are thinking of using Windows Server 2003, you should be aware that IIS 6 will have to be reconfigured to run in IIS 5.0 Isolation Mode which is a major sacrifice in terms of performance, stability, and manageability.

While Apache Tomcat team seems to be satisfied with this workaround, I am not.  So I am holding off on moving to Windows Server 2003.  I suppose I can fix this problem myself, but knowing that this sort of short hacks can easily lead to a year long stream of bug reports, I won't.

If you really need to run Tomcat on Windows Server 2003 and IIS 6.0, here are some resources hosted by Adam Krouskop (HTTPS access only):

StAX Patent?

StAX (Streaming API for XML) was recently approved and implementations are starting to emerge from BEA, Oracle, and Sun, but I just noticed that a patent application has been filed by Chris Fry, an employee of BEA and the StAX spec lead at JCP (Java Community Process), on November 26 of last year.

Given that streaming XML parser implementations have been around way before that and well publicized, I am somewhat confused by this patent.  Can someone, preferably Chris, shed some light here?

XML Library Benchmark

If you are still not sure which XML parser to use, here is a nice benchmark result.  While benchmark results are not always trustworthy, these results matches my experiences with expat, libxml, and Xerces parsers.  The parser I recommend is libxml for providing excellent performance with reasonable footprint and resource consumption.  For XSLT, I recommend libxslt which provides much of the same for XSLT transformation.

Unfortunately, Berkeley DB XML uses Xerces which falls way behind libxml.  Also, I thought Berkeley DB XML stored XML in preparsed format, but the doc say XML is stored as in UTF-8.  It might be interesting to build a native XML database using libxml on top of SQLLite that stores canonicalized XML documents as well as binary versions of those documents…  If I had the time that is.

FYI, Expat is small and fast for simple tasks but offers only a fraction of libxml features and Expat third-party libraries I have looked at are no where near what libxml delivers.

Red Hat Drop

Red Hat is dropping support for non-Enterprise versions of its Linux distribution.  Drop date for Red Hat 7 and 8 is end of the year.  For Red Hat 9, which I am grumpily using, the date is end of April 2004.  So now I am running unsupported OS on my server.  I am half tempted to replace it with Windows 2003 Server at this point.  Last thing on my mind is upgrading to Red Hat Enterprise.

Adobe Software Developer Mailing List?

I looked around for a mailing list for Adobe software developers but couldn't find any.  There is com.text.pdf newsgroup for PDF users/developers, but I think there is a need for Adobe developer-only mailing list.  Yes, I do have access to ASN, but there ain't much peer-to-peer activities going on there and ASN knowledge bases leaves a lot to be desired.  If you know of one, please let me know.

Update – Via Google, I found product specific newsgroups for developers at http://www.adobeforums.com.  Nevermind.

JDK Installer Trash

I was running out of space on my laptop's system drive so I started deleting trash left over by programs long gone.  When I looked inside my user account folder within the idiotically named "Documents and Settings" folder, I was surprised to find several complete copies of JDK and JRE installer files (MSI).  I am not sure why they were there but wiping them out saved me quite a lot of space.  If you installed JDK or JRE on your system, take a look inside:

> %SystemDrive%
  Documents and Settings
    %USERDOMAIN%.%USERNAME%
Local Settings
Application Data

Folders containing the copies have OLE GUID names like {ABCD-1234-ABCD-1234}.

Roller Weblogger

I played with Roller Weblogger yesterday.  Urgh.  It seems to be using jars from every open source Java projects out there.  WEB-INF/lib contains 50 jars, many of them betas or release candidate versions.  What is the chance of all 50 of them being free of memory leaks?  It also creates a pool of background threads and is memory hungry.  Adding Roller webapp to Tomcat increases memory consumption by 30 meg even before the first request is made.

This is ridiculous considering that JSPWiki adds only 1 meg to total Tomcat footprint which takes up 22 meg with default set of webapps.  SnipSnap which comes with Jetty web server embedded uses only 14 meg total.  Roller Weblogger will become a hallmark example of how not to write a Java web application unless the Roller team isolate non-essential features and options into add-on packages and refactor the remainder.

Eclipse 3.0 M4

I am very happy with Eclipse 2.1.1, but Eclipse 3.0 M4 has interesting new features including a new browser plugin, so I tried it today.  Well, I didn't get very far into it.  IDE itself feels pretty solid but plugins I use were not quite up to the challenge.

Several plugins I use require EMF and XSD plugins, but those plugins are hardwired to Eclipse 2.1.1 for some unknown reasons and were causing configuration problems.  Patching the offending dependence tags in EMF and XSD features.xml files didn't fix the problem.  Since I need those plugins and don't have time to fix the problem myself, I can't use 3.0 M4.

BTW, Eclipse 2.1.2 will be released end of this month with at least 54 bug fixes.  EMF and XSD will still cause problems, but I expect them to be updated fairly soon for Eclipse 2.1.2.  Eclipse 3.0, on the other hand, won't be released until well into next year.

Back to the Future: Visual Studio 6

I use Visual Studio .NET 2003 (VS.NET) for Win32 projects and .NET tinkering.  Unfortunately, my clients are still using Visual Studio 6 (VS6) which uses different project file format from the VS.NET series.  VS.NET will convert VS6 projects into VS.NET projects but not in the opposite direction.  This is a common problem for Windows developers who want to use the latest tools like me.

I use Stephane Rodriguez's open source tool to convert VS.NET projects to to VS6 projects.  It used to work only with VS.NET 2002 projects but the most recent version works with VS.NET 2003 projects as well.  Problem solved.