Articles in the Uncategorized Category
Uncategorized »
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 »
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 »
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 »
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 »
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 »
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 »
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 »
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 »
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 »
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) {
…
