Home » Archive

Articles in the Uncategorized Category

Uncategorized »

[1 Apr 2004 | No Comment | 573 Views]

My new article, XDoclet Meets Eclipse: Code Generation Made Easy, is available on www.devx.com. This article is a followup to my last devx article: JBoss Meets Eclipse: Introducing the JBoss-IDE.
“In an earlier article, you learned how to use an Eclipse plugin that supports XDoclet to administer a JBoss application server. Now, take it to the next level: Learn how to use the XDoclet plugin to generate code via a simple servlet-driven, EJB-based example. “

Uncategorized »

[19 Mar 2004 | One Comment | 564 Views]

This isn’t about software per-se, but I want to propose my solution for this whole music industry copyright quagmire.
Record labels have traditionally had several purposes. They find musicians, they advertise/promote on behalf of the musicians, they record music, they put the recorded music on the latest-greatest tangible media (audio tape, CD, DVD, video tape, etc.), and they distribute the tangible media to a store to be sold.
But today, two things are very different. First, tangible media is becoming unnecessary. We are rapidly moving away from obtaining information …

Uncategorized »

[15 Mar 2004 | No Comment | 585 Views]

In an earlier blog entry, I pondered the question of whether or not XDoclet was a necessary tool. Norman Richards has a wonderful response to my question.

Uncategorized »

[10 Mar 2004 | No Comment | 554 Views]

I use Microsoft Outlook for all my e-mail and contact management, so I’ve been looking for a news aggregator that integrated well with Outlook.
I tried intraVnews and I was fairly happy with it. There are a few problems, but its a pretty good product overall. The main problem was that every news item is pulled in as a seperate item (like an e-mail). This was a little annoying because I subscribe to about 30 different sources and I get a lot of news updates. I wanted …

Uncategorized »

[10 Mar 2004 | No Comment | 528 Views]

In his Weblog, Perryn Fowler recently advised to “Make it easy to use well, not hard to use badly“. This makes a lot of sense to me and reminds me of another bit of wisdom that I’ve heard from sales people, “cater to your top performers”.
Wisdom from the realm of sales advises sales managers to focus their training budgets on their top sales people. For example, many sales managers will spend their money sending their top sales-people to training seminars, while not training the rest of the …

Uncategorized »

[7 Mar 2004 | No Comment | 535 Views]

I just added comments to my blog using Halo Scan.
Update: I am now using blogger.com’s new commenting capability.

Uncategorized »

[4 Mar 2004 | One Comment | 2,224 Views]

I heard a news headline on the radio this morning about how some people in China are finding ways to circumvent the governments attempts to restrict internet access. I got to thinking about the possibility of a Web-based Web browser. After doing a search, I was quickly reminded that just about 99.99% of any software ideas anybody comes up with, somebody else has already written or pondered about.
The way it would work is that you would have a server that has no filtering/restrictions that exists outside of the …

Uncategorized »

[3 Mar 2004 | No Comment | 591 Views]

I have two new articles online:
GZIPping with Java
JBoss Meets Eclipse: Introducing the JBoss IDE

Uncategorized »

[24 Feb 2004 | No Comment | 608 Views]

Microsoft and Sendmail must have read my February 11th blog entry.
They are coming up with a solution to stop spam which essentially uses authentication. This sounds promising.

Uncategorized »

[20 Feb 2004 | 2 Comments | 5,567 Views]

Here is a simple (homegrown) Timer class that I use to capture execution time in Java:

import java.io.PrintStream;

final class Timer
{
private long startTime;
private long endTime;

public Timer()
{
reset();
}

public void start()
{
System.gc();
startTime =
System.currentTimeMillis();
}

public void end()
{
System.gc();
endTime =
System.currentTimeMillis();
}

public long duration()
{
return (endTime - startTime);
}

public void printDuration( PrintStream out )
{
long elapsedTimeInSecond =
duration() / 1000;
long remainderInMillis =
duration() % 1000;

out.println(”\nTotal execution time:”
+ elapsedTimeInSecond
+ “.”
+ remainderInMillis
+ ” seconds”);
}

public void reset()
{
startTime = 0;
endTime = 0;
}

public static void main( String[] args )
{
Timer timer = new Timer();
timer.start();

for (int i = 0; i < 500; i++)
{
System.out.print(”#”);
}

timer.end();
timer.printDuration(System.out);
}
}