Servlets.com Home
August 17, 2004
From Firstlink to Kattare, Tomcat to Jetty, CVS to Subversion

I moved Servlets.com and JDOM.org from Colorado to Oregon this week. With any luck you hardly noticed.

The reason is I dediced to abandon Firstlink, my Colorado ISP, because their quality had started to suffer. For my new provider I've chosen Kattare, based in Oregon, who has scored the most consistently high marks on the Servlets.com ISP rating pages. Kattare is also conveniently located as they're based in my old hometown. I can meet the guys for a beer while visiting my folks.

Now, truth be told, I absolutely hate moving machines. There's so many loose ends you have to watch out for. The one thing I enjoy about a move though is the chance to make serious upgrades on the software. Before a new box goes live, you can experiment and break things without danger and flip the switch only after you've leisurely cleaned up your mess.

As part of the move I've upgraded from Tomcat 3.2.1 to Jetty 4.2.21. Even though I helped develop the earliest version of Tomcat and have an affinity toward it, I decided to hop off the Tomcat 4.x and 5.x upgrade path. In these later versions Tomcat is no longer the lean alley cat it once was. It's gotten a bit "thick in the middle".

Here's the Tomcat 5.x dependencies as pulled from gump: ant xml-xerces jaf javamail jmx jsse xml-xalan2 jakarta-tomcat-coyote jakarta-tomcat-catalina jakarta-tomcat-jasper_tc5 jakarta-tomcat-util jakarta-servletapi-5-servlet jakarta-servletapi-5-jsp jakarta-regexp commons-el commons-modeler txt2html-task jakarta-struts junit jndi jakarta-site2 jdbc jaas jta ldap commons-beanutils commons-fileupload commons-launcher commons-collections commons-digester commons-dbcp commons-pool commons-logging commons-daemon xml-apis.

Here's the Jetty 4.x dependencies: ant commons-logging xml-xerces mx4j xml-apis.

It's 35 to 5, by my count. In the game of Bloat, lower scores win.

Apache friends I trust said they've had much better luck with Jetty and its more focused design, so I followed their advice. I've been very pleased. It's easy to configure, starts very quickly, and has great documentation. Only a few of the book examples aren't working yet, mostly those related to security. Servlets are portable but their security configurations (i.e. user lists) aren't.

While I had the box cracked open, I upgraded from Apache httpd 1.3 to Apache httpd 2.0. This was mostly so I could also upgrade from CVS to Subversion (which uses the Apache 2.0 WebDAV protocol). I've been using Subversion for the last couple months to setup and manage http://xqzone.marklogic.com and it's been a joy. The Subversion designers and developers have done a great job. I haven't moved JDOM to Subversion yet, but I want to.

Mailman got an upgrade too, to 2.1.5 which lets me directly reject any non-subscriber mail. The problem with Mailman (even 2.1.5) is that it doesn't let posts time out. I like the ezmlm way of doing things where the moderator gets an email with each new post, and if the moderator takes no action it's discarded in two weeks. So as moderator you only have to take an action to OK a valid post (seemingly 1 out of 100 times). Of course the downsize of ezmlm is that there's no way to utilize a group of moderators to see which posts someone else has already dealt with. Ah, they all suck I guess.

P.S. I'm again allowing comments on my blog posts. As part of the move I found the MovableType option to strip out HTML from the comments, so that should remove the incentive for spammers to post links. Of course, their bots may still try and we may get a lot of crufty posts. We'll see.

Posted by Jason Hunter at 02:46 PM