Articles in the Uncategorized Category
Uncategorized »
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 »
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 »
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 »
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 »
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 »
I just added comments to my blog using Halo Scan.
Update: I am now using blogger.com’s new commenting capability.
Uncategorized »
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 »
I have two new articles online:
GZIPping with Java
JBoss Meets Eclipse: Introducing the JBoss IDE
Uncategorized »
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 »
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);
}
}
