Monday, April 30, 2007

WebFX: a possible alternative to SVG

Cedric, David, and Pavel talked about chart rendering on client side. I think Internet Explore
still does not have native SVG support. I came across WebFX and save this Demo. It looks promising to me since we are heading to AJAX in Hackystat version 8.

Wednesday, April 18, 2007

REST vs Client Server

Inspired by the discussion between WSDL and REST from Cedric and Philip, I decided to have a close look at the REST.

REST at Wikipedia explains REST in very detail, but a newbie like I won't be able to understand what it is at the first look. Alternatively I found Building Web Services the REST way written by Roger Costello is a very good read.

REST is a design architecture instead of a standard such as WSDL. Costello suggests viewing REST as Client-Server, a well-known architecture but there is not such a standard named Client-Server. So is REST. Now I think I get it. :-)

Monday, April 16, 2007

Varargs in Java 5

After spotting a brief notice about Java 6 that says a lot of developers are still chewing Java 5 feature, I noticed the "varargs". It is a very nice way to support exception handlers which require several parameters. I will give it a try in my today's hacking.

Monday, April 9, 2007

Jupiter Upgrade

Although I don't have much time to work on Jupiter, it is the time to think of it. The Eclipse 3.3 is about to be released in late June. A user from Nike reported that the current version of Jupiter does not work for the milestone versions of Eclipse 3.3.

A couple of days ago, Philip forwarded an email from Adrian Price saying that there are many anti-pattern design issues of Jupiter. Philip suggested that we move Jupiter to Google open source hosting. The user community of Jupiter is growing, and we just can not keep up with new feature requirements, bug fixes, Eclipse upgrades, and so forth. All these might indicate that it is
the time to make Jupiter be completely open-sourced. I had a chart with Julie this morning. She was also excited about this.

But, I am not familiar with Google's project hosting services. Before importing Jupiter into Google, we need to investigate how we can do Jupiter release.

For now, we can create a Google project and start migrating Jupiter from CSDL repository to Google's repository gradually. As Julie suggested, we can maintain both repositories first and then retire the CSDL version.

The current plan is as following:
  1. Upgrade Jupiter to Eclipse 3.3M6 (hongbing) , by May 15
  2. Create a project for Jupiter at http://code.google.com/hosting/(Julie), by May 20
The jupiter-eclipse-plugin project is created and source code was imported. The project is now located at http://jupiter-eclipse-plugin.googlecode.com/
or http://code.google.com/p/jupiter-eclipse-plugin/

Friday, April 6, 2007

@SuppressWarnings

I had hard time to figure out how to use this annotation correctly. After some hacks, I found that
the warning message category is available in Eclipse's help document. Kudos to Alex Miller

http://help.eclipse.org/help32/index.jsp?topic=/org.eclipse.jdt.doc.isv/guide/jdt_api_compile.htm

I used @SuppressWarnings("unused") to suppress unused local method (private, of course).

Thursday, April 5, 2007

The ThreeKeyCache needs to be strongly typed

While working on the Java 5 upgrade, I found that the ThreeKeyCache is not strongly typed. To work around this problem, I had to add four lines of code to copy the data to a new strongly typed set.

public Set getFileTypes(FilePattern filePattern, boolean removeWildCard) {
if (containsFilePattern(filePattern)) {
Set keySet = this.cache.getKey2Set(filePattern);
if (removeWildCard) {
Set newKeySet = new HashSet();
for (Iterator i = keySet.iterator(); i.hasNext(); ) {
String fileType = (String)i.next();
if (!("*".equals(fileType))) {
newKeySet.add(fileType);
}
}
return newKeySet;
}
else {
Set newKeySet = new HashSet();
for (Object fileType : keySet) {
newKeySet.add((String) fileType);
}
return newKeySet;
}
}
else {
return new HashSet();
}
}

Tuesday, April 3, 2007

Goodness-of-fit evaluation

I have read some text on statistics to look for the most appropriate method for my case study data analysis. In this post, I am going to summarizes what I have learned on the goodness-of-fit analysis.

1. Student t-test
T-test can be used to test whether two samples are significantly different. If you want to test whether there is a significant difference between means of two samples, you can apply t-test.

2. Paired t-test
In the t-test, if two observations can be naturally paired together, you can use paired t-test. Note that paired t-test is one-tailed analysis. Some people also call it dependent t-test.

3. Chi-Square Goodness-of-fit test
The chi-square goodness-of-fit test can evaluate the discrepancy between the actual values and expected values. Note that the values can not be continuous real numbers but frequencies of events.

4. F-Test
The f-test can also be used for goodness-of-fit test. Given two models, you can use f-test to check whether one fits with the other.

In my analysis, I have chosen chi-square goodness-of-fit test. It is questionable because the episode number is not a frequency value.

The paired t-test seems right for my data analysis, which validate the video analysis results against Zorro's inference results, but t-test can not measure how close two data sets are.

Christian D. Schunn and Dieter Wallach survey the goodness-of-fit analysis methods. They said that there is no formal standard for goodness-of-fit evaluation.

"
Unfortunately, there are no formal standards for how to evaluate the quantitative goodness-of-fit of models to data, either visually or numerically."

In the end, they recommended the combination of r-square and root mean squared deviation.



Monday, April 2, 2007

Chi-Square Goodness-of-fit

I use this post to bookmark URLs to Chi-Square analysis.

A tutorial of Chi-Square
http://www.georgetown.edu/faculty/ballc/webtools/web_chi_tut.html

Chi-Square goodness of fit
http://www.stat.yale.edu/Courses/1997-98/101/chigf.htm
http://en.wikipedia.org/wiki/Goodness-of-fit

Introduction to SDSA

I've been up to the introduction of the SDSA framework lately. You can find the PDF version of it from here. I am thinking that I need another section discussing the design decisions I have made for SDSA. I am also thinking that I should compare SDSA against other streams analysis techniques.

Our submission to Agile 2007 is accepted

It is a great news. We have another paper accepted.

Congratulations! Your paper "Automated Recognition of Test-Driven
Development with Zorro" has been accepted for Agile 2007 Research Papers.