Home » Archive

Articles in the Uncategorized Category

Uncategorized »

[25 Aug 2004 | One Comment | 740 Views]

I just wrote a plugin to search my del.icio.us bookmarks using Mozilla Firefox’s search engine functionality.
For those of you know don’t know, Mozilla Firefox is a great, light-weight, Web-browser that I have found to be a very nice replacement for Internet Explorer. Firefox has a search box that you can use to search any search engine you want, just by adding a plugin.
del.icio.us (pronounced “delicious”) is a free social-bookmarking Website. It allows you to keep your bookmarks online and share them with other people. del.icio.us (only) allows you to search …

Uncategorized »

[17 Aug 2004 | No Comment | 602 Views]

Let’s say that you are using a type-safe enumeration pattern to reference a list of protocols. Your protocol object might have a reference to a ProtocolHandler class which a client would use to load on demand using reflection.
Look at the following code see if you can identify a possible trouble spot.
public class Protocol {
private Class protocolHandlerClass;
public static final Protocol TIBCO = new Protocol(
TibcoProtocolHandler.class);
.
.
.
private Protocol(Class protocolHandlerClass) {

Uncategorized »

[15 Aug 2004 | No Comment | 614 Views]

I have published a new article that introduces the Spring framework. Here are some excerpts from the introduction to the article:
“One of the more exciting open-source Java frameworks that has gathered steam in the last year is Spring. Spring aims to minimize dependency of application components by providing a plug-in architecture. Because Spring links objects together instead of the objects linking themselves together, it is categorized as a ‘dependency injection’ or ‘inversion of control’ framework.”
“Though dependency injection is the basis of the Spring framework, Spring also provides a …

Uncategorized »

[16 Jul 2004 | One Comment | 1,656 Views]

Pragmatic Programmer, Dave Thomas, argues that Test-Driven Development and Test-First Development are different. What he calls “Test-Driven Development”, I would call “Test-Friendly Development”.
Here is how Kent Beck, the guy who wrote the book on Test-Driven Development (and who I believe came up with the names for both TDD and TFD) defines TDD:
“Without taking too much counsel of our fears, here’s what we do: we drive development with automated tests, a style of development called Test-Driven Development (TDD). In Test-Driven Development, we write new code only if an …

Uncategorized »

[22 Jun 2004 | 2 Comments | 673 Views]

I have a new article available on devx.com that shows you how to use the Java Cryptography Extension to encrypt a password in a flat text file. It is a pretty simple thing to do, but I have reused the code that I provide in the article several times and have found it to be very useful.
Here is an excerpt:
“When application developers are developing, parameters are often hard-coded in the source code. These hard-coded parameters are often pulled out of the source code and put into property files or …

Uncategorized »

[24 May 2004 | No Comment | 588 Views]

I was talking to a friend who works for Trilogy Software in Austin, TX, and he was describing their model for developing software in developing nations (no pun intended). Apparently, they save a considerable amount of money over hiring U.S. workers, which is what attracts most people to try utilizing the workforce in developing nations. In addition to saving money they are highly successful in delivering quality/timely code to their customers, which seems to be rare among the companies that try utilizing foreign developers.
Here are some of …

Uncategorized »

[17 May 2004 | No Comment | 596 Views]

I’ve found that it is difficult to push XP style unit testing when you are first introducing unit testing into a team that is not test infected, whether the developers are experienced or not. The best approach I’ve found is to introduce unit testing incrementally.
First introduce the process necessary to acheive continuous integration with unit testing:
• No non-compiling code should ever be checked into the repository
• All unit tests should pass before and after synchronizing with the repository
• All the tests should be run recursively under the src directory …

Uncategorized »

[22 Apr 2004 | One Comment | 632 Views]

If two people split the cost of buying a CD, do they both have the right to listen to it? Do they both have the right to make a back-up copy of the CD for their own purposes? Do they both have the right to download the songs onto their computers and MP3 players to listen to? What if three people split the cost of a CD? What about four.. or five.. or two-thousand people?
Wouldn’t it be legal to create a cooperative where each person pays …

Uncategorized »

[19 Apr 2004 | No Comment | 653 Views]

My new article is now available here on the JavaPro Website. I believe that the article should be published in the printed version of JavaPro in the next month or so.
Here is an excerpt:
“Two major problems that can occur when running applications on an application server are performance degradation (because of high load) and downtime (because of hardware or software failure). Both problems can be remedied by using the clustering features provided by WebSphere Application Server (WAS) 5.X. Clustering provides scalability through load balancing and high availability through failover, …

Uncategorized »

[16 Apr 2004 | No Comment | 1,089 Views]

Many people (including myself) advocate using only RuntimeExceptions (unchecked exceptions) in Java. Many people tend to dislike checked exceptions because they can cause problems with coupling, they clutter code with try-catch blocks, and they are often wrapped and forgotten (when a developer doesn’t do anything with the exception besides catching it).
I’ve been involved in many debates discussing the pros and cons of using only unchecked exceptions. The strongest argument that I’ve heard against using unchecked exceptions goes something like this:
“Java advocates using checked exceptions for recoverable exceptions and …