Archives: September 2004

Sun aims to consolidate EJB3.0 and JDO2.0 persistence

Sun has released a letter to the community aiming to consolidate the EJB3.0 and JDO2.0 current efforts to produce one common POJO-based persistence mechanism for J2SE and J2EE.

The letter sounds like JDO2.0 is going to be brought inline to be more compatible with EJB3.0 persistence api, and also allow for EJB3.0’s persistence implementation to be used outside of a J2EE container.

This sounds like a great move forward.

(Page views: 32)

Adding a Spam Blacklist filter to your Sendmail config

Add the following line to you sendmail.mc file use SpamCop’s email blacklist filter on your sendmail email server:


FEATURE(`dnsbl', `bl.spamcop.net', `"Spam blocked see: http://spamcop.net/bl.shtml?"$&{client_addr}')dnl

Regenerate your sendmail config with:

m4 sendmail.mc > sendmail.cf

then restart your sendmail server with

. /etc/init.d/sendmail restart

To block individual domains:

  • Edit /etc/mail/access
    <code>
    ...
    exmapledomain1.com    REJECT
    exampledomain2.com    REJECT
    ...
    

  • Convert access to access.db
    <code>
    makemap hash /etc/mail/access.db < /etc/mail/access
    </code>
  • Restart sendmail
    <code>
    # /etc/init.d/sendmail restart
    </code>

    (Page views: 41)

Craig McClanahan comments on the future of Struts

Craig McClanahan, one of the main developers of the Struts framework, recently commented on the upcoming future releases of Struts and how Struts may be used in conjunction with, rather than being replaced by Java Server Faces.

He mentioned that the existing HTML tags are likely to be replaced by JSF equivalents and that there is unlikely to be any continued development on these Tag Libs. However, development on the rest of the framework will continue, with the addition of an upcoming Struts/JSF integration package in the pipeline.

(Page views: 28)

Mozilla Firefox 1.0 release exceeds 1million downloads in first 5 days

Version 1.0 of Mozilla’s latest lightweight streamlined browser, Firefox, was recently released and downloads exceeded 1 million in the first 5 days.

This is the latest statistic showing an increase in web surfer migration away from the current Microsoft Internet Explorer dominated playing field.

Some websites are reporting a significant drop in usage of IE, from 84% to 75%, while Firefox is rapidly increasing.

(Page views: 22)

XP Pair Programming thoughts

This blog entry caught my eye on JavaBlogs, discussing whether Pair Programming is the “magic silver bullet” or not.
In my opinion, I believe there are real gains to be had from pair programming, however from my own informal experience it does improve code quality but at the cost of efficiency.

I think it takes a lot longer to produce the same piece of code with two heads as there is a lot of continuous discussion that takes place while the code is being written. That said, the interaction and discussion can produce better and more appropriate solutions to problems.

I think its a hard balance to get right and depends very much on the successful pairing and what you intend to gain from the pairing. For example, the less experienced developer paired with the more experienced developer can result in a valuable knowledge share and the less experienced developer picking up valuable skills. This is a definite benefit to the team. However if the pair consists of two more experienced developers, you might find that more time is wasted debating purely academic issues than actually producing code, at the cost of not having that second developer producing code of his own or helping with other less experienced developers.

(Page views: 32)

Interesting OnJava.com article on side-effects of using static initializers

O’Reilly’s OnJava.com have a great article on their site discussing the side effects of using static initializers in your Classes, and describes how accessing static members if different ways may effect when the static initializers are executed.

I’ve run into a couple of these before, particularly the fact that initializers for static members are executed in the order they appear in the code – this is something you should be aware of if there are dependencies between the static variables and or their initializers.

(Page views: 17)