Pushing the envelope

Darren's take on Java, agile methods, cool open source stuff, interesting technologies and other random wanderings through the land of blog.
Updated: 26/01/2003; 11:49:34.
Places to go
Apache Jakarta Project
c2.com
ExtremeProgramming.org
OpenSymphony
XProgramming.com
XP Developer

People to see
Russell Beattie
Eugene Belyaev
Tony Bowden
Mike Cannon-Brookes
Jeff Duska
Paul Hammant
Scott Johnson
Brett Morgan
Rickard Öberg
James Strachan
Joe Walnes

Things to do

Subscribe to "Pushing the envelope" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.


That was the day
August 2002
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Jul   Sep



Archives
December 2002
November 2002
October 2002
September 2002
August 2002

Listening To


Valid RSS

Click here to visit the Radio UserLand website.

  12 August 2002

Worthy of further study:

Webwork is an MVC framework along the lines of struts, but smaller and cleaner, with less servlet-specificness.

Xindice is a native XML database that allows the use of XPath for queries.

Kodo is a JDO implementation that makes persistence look really easy.

Sitemesh is a dynamic decoration framework for HTML pages.

Lucene is a java based document indexing system and full text search engine.


10:24:33 PM      comment []

While trawling through some legacy web application code today, a paraphase of Greenspun's tenth rule of programming occurred: "Any sufficiently complex 3-tier application will start to resemble an ad-hoc, buggy, poorly implemented version of an existing open source framework."

Original quote: "Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp."


8:57:56 PM      comment []

Been tussling with classloaders and SAX parsers this morning. Class.forName is essentially broken when using modern app. servers with multiple classloaders. Fixed that by using Thread.getCurrentThread().getContextClassloader(). Unfortunately this then broke JUnit with a ClassCastException when using the reloading classloader. Had to add a fallback to the bootstrap classloader to cover both bases.

The implementation of SAX shipped with Java 1.4.0_01 no longer uses class.forName(), which should make life easier.


8:57:19 PM      comment []

OK. Got bored with trying to make MovableType work on my hosting provider's system. Shame, as its otherwise a nice tool. Time to let the blogging commence...

8:56:43 PM      comment []

© Copyright 2003 Darren Hobbs