Joshua Java

Okay, so here’s the problem what I faced recently. I’m doing a research on using GWT because we’re currently evaluating whether or not to use GWT in the future. I am trying to use GWT and stuck on using the Hyperlink widget. There were two problems that I faced:

  1. First I need to figure out how does Hyperlink changed the content of our view. Well in traditional web framework, you just fire out the page file with the href attribute. This is not the case with GWT. Because everything is done in Asynchronous way. Gee weez I always had problem thinking in Asynchronous way of thinking.
  2. Okay, when I have solved that, I came into the next problem. When user clicked the link and user hit the back button it should redirect me to the previous content. Remember when I said that with GWT you don’t actually fire out the file name?

Now you must be saying: “Yeach mate, there’s already an example in the GWT’s Showcase example complete with the source code.” Okay you’re right, but the problem is, the code is too complex, there’s already custom code in it which makes it really difficult to understand the niche of GWT itself. “But mate, there are already numerous blog entry that wrote about this”. Well all of them only writes on how to display the historyToken, but this is not what we’ll do in real application.
Read the rest of this entry »


Vikaz Hazrati brought up a hot discussion that I throw in scrum development mailing list about handling absence in Scrum teams. The reason why I throw this question because I want to know whether Scrum still can deliver the backlog on schedule eventhough one or some of the team member is absent. It was quite an interesting discussion and some great feedback from some of the Scrum masters.


It has been a long time since Struts first showed up and filled in the Java web framework space. Many people nowadays are still using Struts which mainly because of legacy and investments reasons. But more people are moving away towards component based frameworks these days. JSF has got to be the most popular component framework out there, considering it is supported by many vendors and being itself as a standard from JCP. I’m not going to talk about JSF nor the up and coming release of JSF 2.0, instead I’m going to write about the other two popular component based web framework fostered by Apache: Wicket and Tapestry 5

In the near future there will be two interesting component framework that will be released by Apache Foundation: Wicket 1.4 and Tapestry 5 which I will elaborate in a very short few moment. Alot of people out there are asking, which one is better out of these two? First of all, we need to be on the same platform before continuing any further. This blog entry is not intended to be a web framework bashing discussion, but just to give insights for people who are curious about the difference between these two frameworks. The features that I will discuss will only be limited to the usage of the two frameworks.

Read the rest of this entry »

I’ve been a Mac user and developing apps with Mac since a few months ago. One of the software that I use for development is PostgreSQL. But unfortunately until recently Postgres doesn’t supply a MacOS X distribution. But recently EnterpriseDB built a PostgreSQL distribution for MacOS X and also bundled with pgAdmin. You gotta love pgAdmin, it just makes development with PostgresSQL much easier. Thanks EnterpriseDB, now I can develop with PostgreSQL easily on Mac.

Tapestry 5.0.14 has been out recently and the Tapestry community is very excited with this news because Tapestry 5 is only one step away for being GA. In case you haven’t heard of T5, it’s an opensource component based web framework which is a total revamp from the previous version. Some people may not like the previous version because of the learning curve on using it. Some people even wrote rants about the previous version. But T5 is totally a different architecture with the same way of thinking as the previous version. So what’s so good about T5? And why should you consider it for your next project? Here’s my personal reason based on my experience building my opensource project using T5.
Read the rest of this entry »

I’m in the middle of deciding which wiki tool to use. I really like the features the the ease of using trac wiki since I am using it on my current freelance project, but at the sametime I think Confluence is also as good since JUG Indonesia has been granted a Confluence license by Atlassian. What do you think is better based on your experience?

In SQL Server 2000 you can not use the AVG() function on a datetime datatype field. So how do you get the average for a datetime datatype field?
This is the nasty way to do it:
convert(varchar, convert(datetime, avg(convert(real, end_time - start_time))), 108 ) avg_call_length

  1. In the example I subtracted two fields: start_time and end_time to get the length of how long user is using the system. You probably don’t need these part. If you don’t need it, you simply just put a datetime field in there instead.
  2. Now before using the avg() function I must convert the datetime values into real datatype.
  3. After having the averay in real datatype values, I would convert it back to the datetime datatype.
  4. You’re done upto this part if you’re happy with the datetime datatype. Unfortunately, the application require a time format to be displayed instead. SQL Server 2000 also don’t have the time datatype. So to get a time format I must convert it to a varchar datatype and then use the 108 type to get the time format values.

If you think you’ve got a better way to do this, please feel free to share with me. 🙂