October 23, 2011
JDOM 1.1.2 Released (JDOM)

I'm happy to announce the release of JDOM 1.1.2 today. It's a drop-in replacement for JDOM 1.1.1 with more than a dozen bugs fixed. You can download the release here:


You can see the changes here:


It'll appear in maven-central shortly too.

Thanks to Rolf Lear for doing all the heavy lifting for this release!

Posted by Jason Hunter at 06:10 PM
July 26, 2009
JDOM 1.1.1 Released (JDOM)

You can get the build here:


Here's what's new:

Fixed a synchronization issue in the Namespace class that could cause a
hang when doing concurrent builds.

Added output support for Unicode surrogate pairs.

Added a new flag on SAXBuilder named setFastReconfigure() which, when set,
can speed reconfiguration by skipping repeated attempts to set features that
are determined not to be present on a parser. Useful when doing many builds
per second.

Updated the provided Jaxen library from a modified Jaxen 1.0 to the latest
which is Jaxen 1.1.1.

Added reflection code in the error reporting system to support Android's
Dalvik VM which doesn't have the java.rmi.* classes.

Posted by Jason Hunter at 10:43 PM
December 26, 2008
New COS Release (What's New)

Today I released a new version of the COS library, best known for its MultipartRequest and MultipartParser file upload components. This release adds a few browser workarounds, a new exception subtype, and support for esoteric platforms.

It's available at http://servlets.com/cos.

Posted by Jason Hunter at 10:15 PM
November 19, 2007
JDOM 1.1 Released (JDOM)

I just posted the JDOM 1.1 release. The 1.0 release was very stable and robust, but over time we've fixed enough bugs and added enough small features that it was worth making another formal release.

There's about 20 improvements and bug fixes in all. Details can be found in the jdom-announce email.

Posted by Jason Hunter at 09:57 AM
August 21, 2007
iPhone 1.0.2: Beware ()

OK, I just have to get this off my chest. After a long time where Apple software "just worked" that's suddenly changed. Did they lay off the QA department or something?

A few weeks ago, as some of you may have noticed, the latest QuickTime minor update caused Rosetta to stop working. The fix? You had to uninstall Java 6. OK, when QuickTime breaks Rosetta and you fix it by removing Java, you know something's broken in Cupertino.

Now I upgraded my iPhone to 1.0.2 and as a result all my music and movies are seen as "Other" in iTunes and, not be visible at all to the phone. My 8 Gig iPhone became a 2 Gig iPhone. And before you ask, no, I didn't do any hacking on my phone. I bought it at 1.0, upgraded to 1.0.1, and upgraded to 1.0.2. My theory is that I sync my contacts and calendar with my laptop while I sync music and movies with my Mac server, and so upgrading to 1.0.2 on my laptop somehow caused the music and movies to be mishandled. The QA department must never have tried this. If I'm right then lots of people are going to hit this problem.

No problem, I figure, I'll do a restore. Well the restore times out: iTunes could not restore the iPhone "iPhone" because a timeout occurred while waiting for the iPhone to restore. Hello!! I'm willing to wait a few minutes here to get my phone's data back!! No dice. So I'm starting fresh. What a joy.

All because I upgraded to iPhone 1.0.2 to get the "Bug fixes". Seems I got those few bug fixes and one bug nasty enough to annihilate the phone.

Posted by Jason Hunter at 10:05 PM
November 03, 2006
What's on Jason's Hard Drive? (Personal)

O'Reilly just posted a new article of mine titled What's on Jason's Hard Drive? It's all about document management.

Posted by Jason Hunter at 10:54 AM
June 01, 2006
Sun: First thing we do, let's fire all the lawyers (Java)

Today's big news story is that Sun will lay off 5,000 employees -- 13% of its workforce. My advice to Sun: start with the lawyers.

Sun's controlled by their lawyers. Paralyzed by their lawyers. At Sun you don't ask the legal team for advice, you ask for permission. If a lawyer says no, you don't get to proceed.

Well that's not entirely true. If you're a Sun VP or higher, you can overrule the lawyers and decide that the business benefit is worth the legal risk. If you're a director on down, any lawyer trumps you. You may have a brilliant strategic plan, a sure-fire way to make gobs of money, but if it involves any legal risk, the only way you're going to proceed is to convince your VP to act on your behalf with the lawyers.

It's painful to think about the amount of time Sun engineers and directors waste in dealing with their own lawyers and trying to convince their VPs to call off the legal guard dogs. If Sun has to let 5,000 people go to trim costs, I predict they could actually accomplish more, be far more innovative, and stun the world again if the majority of those 5,000 were their lawyers.

Posted by Jason Hunter at 12:22 PM
March 23, 2006
Verizon EV-DO: I'm Lovin It (Personal)

I'm speaking at The Server Side conference at Caesars Palace in Las Vegas this week where they want $15/day for WiFi, but I'm not paying! I've got Verizon EV-DO.

Out of the left side of my laptop sticks a little PCMCIA card with a cute antenna nubbin and a flashing bright blue light. (The light's kind of annoying, but I've learned to associate it with my having net where I wouldn't have had net two weeks ago, so now it gives me a warm fuzzy feeling. Thanks, Pavlov.)

If you haven't heard of EVDO, it's a cellular-based broadband option that works nationwide and advertises speeds of 400-700 kbps downstream and about a quarter of that upstream. In testing I've seen numbers even better than that: 840k down, 215k up -- and that's while driving on the 280 interstate. (Don't worry, my wife was doing the real driving.) Pings show about a 150ms latency. Connection negotiation happens in about 3 seconds too, faster than I can connect to a WiFi base.

The coverage is pretty good. Most major metro areas are hot with what they call BroadbandAccess; the less populated areas fallback to the 80k NationalAccess technology, a speed that's not great for work but fine for email.

It's priced at $80/month for unlimited usage, clearly targetted at business users. It's $60/month if you have a Verizon cell phone. Of course, with hotels wanting $10 or $15 (or $17 in NYC) per night, it doesn't take long to make this attractive for those on the road a lot. Plus it's just so cool to do an email sync from a plane right before takeoff. And for a frequent speaker like me, it's great to have guaranteed net when talking about Greasemonkey or giving a real world XQuery demo.

You also need to buy the PCMCIA access card (or buy a new laptop like the ThinkPad T60 with built-in antenna). I got the Kyocera KPC650 since it had the best reviews, and ordered from booster-antenna.com because they had the best price. I coughed up the extra $80 for a booster antenna too. So far I've only found the antenna useful in testing when I intentionally went to a spot in the middle of a building with thin reception where the antenna helped boost my speeds.

Last tip: The VZ Access software that comes with the service is pretty cool, but I disabled the Venturi Client service that tries to do line compression to boost speeds. It listened on port 8001 and several other ports that I needed for other services.

Based on my last few weeks enjoying the service, I can predict that it won't be long before looking around for a WiFi access point and paying exorbitant prices for a single day's service will seem quaint.

Posted by Jason Hunter at 05:00 PM
To be notified when important content is added to the site, click here.