Home » Archive

Articles in the Uncategorized Category

Uncategorized »

[24 May 2005 | One Comment | 871 Views]

My name literally means ever-lasting in Farsi.
It is officially pronounced: JAW-veed. The JAW is the strong sound and is pronouned just like the body part, and veed rhymes with weed.
Growing up, American friends / teachers always pronounced it: JAV-id, where JAV sounds like the first part of java and id sounds like the first part of idiom. Growing up, I never really bothered correcting people, and I eventually got used to this pronunciation. This is still how I introduce myself to American people.
There are also about 10 other …

Uncategorized »

[13 May 2005 | No Comment | 560 Views]

I’ve been looking into home theater PC (HTPC) software lately and I’m very impressed with some of the packages available. HTPC software is essentially a digital video recorder (DVR) on steroids. You can use it not only to record live television, but also to provide access to all of your stored media content (mp3s, ‘ripped’ dvds, mpeg, game emulators, etc).
Some HTPC software packages provide RSS aggregators (feed readers). You can use this to read the news through your HTPC, but you can also use it with feeds that provide bittorrent …

Uncategorized »

[12 May 2005 | No Comment | 672 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 | 531 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 | 786 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 | One Comment | 630 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 | 647 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 | 2,024 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 | 653 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 | 1,819 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 …