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.

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.

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.