Sample to write custom indexer for lucent: http://www.onjava.com/lpt/a/6428 Overview of Antlr, Martin Fowler think it is better than SableCC - http://martinfowler.com/bliki/HelloAntlr.html JMS performance test - http://www.c2b2.co.uk/iPoint/ipoint?SelectedPage=69&110ArticleID=17 Six JDK Classes You Think You Know 1) java.lang.Double.MIN_VALUE, it is not negative number 2) java.lang.Thread.setDefaultUncaughtExceptionHandler and java.lang.Runtime.addShutdownHook can have racing 3) java.util.Properties.load 4) java.lang.String.getBytes 5) Use update row, java.sql.ResultSet.updateRow http://jnb.ociweb.com/jnb/jnbDec2010.html