Home » Archive

Articles in the Uncategorized Category

Uncategorized »

[12 May 2005 | No Comment | 295 Views]

I just finished reading a book called Free Culture by Lawrence Lessig. I would highly recommend this book to anyone who wants to gain a good understanding of the debate over copyright and understand how current copyright legislation it is affecting our culture and our ability to innovate. The book is mainly about copyright, but he demonstrates how copyright laws are inhibiting innovation in software. I like the style of the book because he teaches through telling stories about people and events that have been affected by copyright issues. Though …

Uncategorized »

[4 May 2005 | No Comment | 245 Views]

In enterprise applications, system failure notification is often mission critical. If an application or a computer system fails to respond, or an application produces an unrecoverable failure, human intervention may be required.
Notification can be accomplished in many ways. An error message can be captured in a log file, e-mailed to an individual or a mailing list, or even sent as a text message to an application support team. These technologies all have advantages and disadvantages. For example, anybody who needs to access a log …

Uncategorized »

[4 May 2005 | One Comment | 402 Views]

If you’ve ever done a toString on an object that doesn’t override toString(), you’ve probably noticed that it returns something like this.
com.mycode.MyClass@1312311
Now the big question: can two different object instances ever have the same value after the ‘at’ (@) sign?
The answer is yes. If you look at the source for Java’s Object class, the toString() method prints the name of the class, the @, and the value of the hashCode() method. If your class overrides hashCode(), and you create two objects that have the same exact hash code …

Uncategorized »

[23 Apr 2005 | No Comment | 264 Views]

I’ve been looking around for a decent way to work out of an encrypted file system. I’ve come to learn that such systems are called On-The-Fly Encryption (OTFE) systems. The one that appealed to me the most was an open-source project called TrueCrypt.
TrueCrypt allows you to create encrypted “volumes” and map them to Windows drives. The tool will prompt you for your encryption password when you try to mount a volume. A volume can be a hard-disk partition, USB stick, floppy disk, or a file. …

Uncategorized »

[20 Apr 2005 | One Comment | 281 Views]

The next time you are responsible for naming something, be it a software product, an organization name, a brand of clothing, or whatever, please keep this in mind: people will probably want to search for the name of your “thing” on the Web.
It is really annoying when I Google for spring factory and I don’t get anything remotely close to what I am looking for in the first two results pages. The phrase spring framework factory definitely does better, but I hate having to type framework everytime I want …

Uncategorized »

[7 Apr 2005 | No Comment | 588 Views]

It is important to realize the differences between synchronous and asynchronous systems.
A synchronous system is one that you make a request to and wait for a response back from. Examples include a database, a Web server, a method call, a voice telephone call.
An asynchronous system is one to which you send a request and needn’t wait for a response. If a response is generated, you receive notification from the system once it is complete. Examples include the observer pattern, messaging queues, and voicemail systems.

Uncategorized »

[14 Dec 2004 | No Comment | 306 Views]

Here’s an excerpt of my newest articleUnit Test More Efficiently with Mock Object Alternatives, published on DevX.com:
The mock-object testing pattern has commonly been used to test an individual unit of code without testing its dependencies. While this pattern works well for interaction-based testing, it can be overkill for state-based testing. Learn how to streamline your unit-testing using stubs and the pseudo-objects testing pattern.
When you’re unit testing, you often want to test an individual unit of code without testing its dependencies. One common solution to this problem is to utilize the …

Uncategorized »

[18 Oct 2004 | 2 Comments | 626 Views]

I have a new article available on the Spring MVC framework.
http://www.devx.com/Java/Article/22134
Excerpt:
“Struts is in fairly widespread use in the Java world, but the Spring MVC framework promises to provide a simpler alternative to Struts for separating presentation layer and business logic. Learn how to build a simple stock trading Web application using Spring’s MVC framework.
In a previous article, I introduced you to the Spring framework, showed you how to use Spring’s basic functionality to create objects, and how to do some simple database interactions. In this follow-up article I will introduce …

Uncategorized »

[25 Aug 2004 | One Comment | 350 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 | 276 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) {