TMC Terminates Business with JBoss, Inc.
JBoss由于最近的TSS Fake Account事件搞得声名狼藉,TSS今天正式宣布终止一切和JBoss的商业合作,还发表了措辞十分强烈的一个声明。唉,钱啊。。。

Test Driven versus Test First
PragDave的这篇文章描述了这两者间的区别。

JavaServer Faces 1.1 Released

JavaServer Faces 1.1 has just been released: http://java.sun.com/j2ee/javaserverfaces/
Following is a link for changes from 1.0 to 1.1: http://java.sun.com/j2ee/javaserverfaces/docs/README
Go to the JSR 127 home page
The Faces Console GUI tool has also been updated to support JSF 1.1: http://www.jamesholmes.com/JavaServerFaces/

Jakarta-Struts Live
TSS的电子书一般来说都是可读性还可以的,这本Strusts Live也是这样,还附了很不少的范例代码。

— from TheServerSide.COM

Review: Fedora Core 2
来自Linux.com的评测基本给FC2定了性:

Fedora Core 1 has proved to be a remarkably stable and well-supported distribution suitable for home and office desktop work, after the missing (non-open source) pieces are installed.

Fedora Core 2 is not. It is bleeding-edge technology that will become mainstream in a year or so, and as such is an important distro for people who will be working with next year’s technology. It’s an important step in the evolution of Linux, and I’m glad it’s here to experiment with, but I won’t be using it for production work anytime soon.

— from NewsForge

Is Swap Necessary?
这是Kernel Trap最近最热门的一个thread,——为什么总是没有swap的系统比较快?老实说在物理内存接近、达到甚至超过2G、4G得今天,这是个要认真考虑的问题,不过最过瘾的是这帮家伙真是思路活跃的只能用BT来形容。。。

— from Slashdot.org

Naming Classes – Do It Once And Do It Right
比一般的这类东东看上去好理解和容易操作些。

Cool log4j Hack
see below

— from JRoller.com

OK, here’s what you need to do:

  1. Download the log4j sources, and unzip them somewhere.
  2. Locate the Priority.java file and open it.
  3. Replace these lines:

    bc[Java]. final static public Priority FATAL = new Level(FATAL_INT, “FATAL”, 0);
    final static public Priority ERROR = new Level(ERROR_INT, “ERROR”, 3);
    final static public Priority WARN = new Level(WARN_INT, “WARN”, 4);
    final static public Priority INFO = new Level(INFO_INT, “INFO”, 6);
    final static public Priority DEBUG = new Level(DEBUG_INT, “DEBUG”, 7);

    With:

    bc[Java]. final static public Priority FATAL = new Level(FATAL_INT, “\033[41mFATAL\033[0m”, 0);
    final static public Priority ERROR = new Level(ERROR_INT, “\033[41mERROR\033[0m”, 3);
    final static public Priority WARN = new Level(WARN_INT, “\033[43mWARN\033[0m”, 4);
    final static public Priority INFO = new Level(INFO_INT, “\033[42mINFO\033[0m”, 6);
    final static public Priority DEBUG = new Level(DEBUG_INT, “\033[44mDEBUG\033[0m”, 7);

  4. Now recreate the log4j.jar file and drop it into your libs/jars directory again.
  5. Restart your application and look at the console where your logs are directed (System.out).

Voila – colour coded priority messages (at least on Linux and Unix), which makes it much easier to spot the important log entries. Thanks to Steve Byrne who came up with the idea, even though I did all the coding.

— by Mats Henricson