Overview
Last week I worked to use Wicket to enhance stack-johnson, so that everybody can use it on the web browser. With this, people do not need to use command prompt which is hard for some people, and also they even do not need to download the program.
What is Wicket?
Wicket is a web application framework for Java developers. Wicket focuses on programming with components and tries to use object oriented programming in web application. It is now part of Apache project.
Setup
Before I start development, I did setup for Jetty, Wicket, and SLF4J. Jetty is Java base web server, and SLF4J is library for logging.
Development
My professor provided us great examples of how Wicket works at the following.
http://code.google.com/p/ics-wicket-examples/
I was wondering how Jetty finds right html to display, but after looking at his Example01, I found out why. The program was executed in following order.
build.xml > Jetty > ExampleApplication > HelloWorldPage
ExampleApplication uses getHomePage to set HelloWorldPage as home page, then it works with HelloWorldPage.html to display. It was interesting to know its program flow.
Then I looked through examples and API for [ Jetty ] and [ Wicket ] to develop the application.
Conclusion
Implementing first Wicket application was very fun. Now I can access the program from anywhere. I'm looking forward to develop next applications. By the way, another wonderful resource I recommend is [ Wicket in Action ], which is available in both book and eBook.
The Wicket application can be downloaded from here.
11/21/2008
ICS Industry Day
Overview
This Thursday UH Manoa had ICS Industry Day, which many tech compnaies from Hawaii do presentation about their business. Below are companies that I took a look.
1. Datahouse
They often develop software with Ruby on Rails, C#, and PHP. Their clients include government, educational organization, financial services, and etc.
2. Camber Corporation
Since Ikayzo was late for the presentation, Camber Corporation did presentation after datahouse. Camber Corporation has its office nationwide and they make various applications. On their slide, there were many keywords that sound interesting. Here is a list of that and I will search more and experiment if I need it.
rubyonrails.org
Active Scaffold
REST
Flex
ExtJS
Google Earth / KML
BackgrounDRb
3. Ikayzo
Ikayzo developed TechHui. Some of their software also works for several languages including Japanese and Taiwanese. Many famous companies including Oracle purchased commercial licenses of their software.
4. Concentris Systems
They talked about their router which utilize mesh network. It allows traffic to split and provides us more reliable connection.
Conclusion
I learned many things from these presentations such as programming trend, what they develop, and ideal candidate as employees. In terms of programming trend, I have an impression that most of them talked about Ruby on Rails. In ICS department at UH, it is good to learn assembly language in order to understand computer architecture, but I also wanted to learn practical things such as Ruby and PHP.
With these presentations I really thought there are many great tech companies in Hawaii. In general I think we don't have strong image that Hawaii is a place for technology, but if these tech companies continue to develop great products as they do now, Hawaii can be like Sillicon Valley. It was really good experience to join ICS Industry Day. Whenever there is next opportunity, I want to join again.
This Thursday UH Manoa had ICS Industry Day, which many tech compnaies from Hawaii do presentation about their business. Below are companies that I took a look.
1. Datahouse
They often develop software with Ruby on Rails, C#, and PHP. Their clients include government, educational organization, financial services, and etc.
2. Camber Corporation
Since Ikayzo was late for the presentation, Camber Corporation did presentation after datahouse. Camber Corporation has its office nationwide and they make various applications. On their slide, there were many keywords that sound interesting. Here is a list of that and I will search more and experiment if I need it.
rubyonrails.org
Active Scaffold
REST
Flex
ExtJS
Google Earth / KML
BackgrounDRb
3. Ikayzo
Ikayzo developed TechHui. Some of their software also works for several languages including Japanese and Taiwanese. Many famous companies including Oracle purchased commercial licenses of their software.
4. Concentris Systems
They talked about their router which utilize mesh network. It allows traffic to split and provides us more reliable connection.
Conclusion
I learned many things from these presentations such as programming trend, what they develop, and ideal candidate as employees. In terms of programming trend, I have an impression that most of them talked about Ruby on Rails. In ICS department at UH, it is good to learn assembly language in order to understand computer architecture, but I also wanted to learn practical things such as Ruby and PHP.
With these presentations I really thought there are many great tech companies in Hawaii. In general I think we don't have strong image that Hawaii is a place for technology, but if these tech companies continue to develop great products as they do now, Hawaii can be like Sillicon Valley. It was really good experience to join ICS Industry Day. Whenever there is next opportunity, I want to join again.
11/17/2008
DueDates 1.2
Overview
We want to make DueDates even more useful to users and decided to add 3 more options as follow.
1. -console
Report will be sent to the console.
usage: -console
2. -email
E-mail will be sent to the address using the supplied SMTP server.
usage: -email < emailaccount > < smtpserver >
3. -wakeup
Program will run and check for due items with given interval.
usage: -wakeup < interval >
Process
I and my partner Jeho Jung worked on this development last week. We have been working as a partner for a while toward development of DueDates and now we really understand the most efficient way to proceed is pair programming. Our houses are close, so we met a few times and shared our knowledge.
Conclusion
With this update, now this program is able to do useful task. For example, following execution will run the program once a day and checks if there are books due within next 24 hours. If there is, the program will send E-mail and if not it does nothing.
-email name@hawaii.edu mail.hawaii.edu -wakeup 1 -within 1
I think this is a very useful option since people these days are busy and tend to forget many things. For now it only notifies us about books in the library, but if it had functions to tell us anything due it would be more useful. If I had enough time, I want to add such functions in the future.
We want to make DueDates even more useful to users and decided to add 3 more options as follow.
1. -console
Report will be sent to the console.
usage: -console
2. -email
E-mail will be sent to the address using the supplied SMTP server.
usage: -email < emailaccount > < smtpserver >
3. -wakeup
Program will run and check for due items with given interval.
usage: -wakeup < interval >
Process
I and my partner Jeho Jung worked on this development last week. We have been working as a partner for a while toward development of DueDates and now we really understand the most efficient way to proceed is pair programming. Our houses are close, so we met a few times and shared our knowledge.
Conclusion
With this update, now this program is able to do useful task. For example, following execution will run the program once a day and checks if there are books due within next 24 hours. If there is, the program will send E-mail and if not it does nothing.
-email name@hawaii.edu mail.hawaii.edu -wakeup 1 -within 1
I think this is a very useful option since people these days are busy and tend to forget many things. For now it only notifies us about books in the library, but if it had functions to tell us anything due it would be more useful. If I had enough time, I want to add such functions in the future.
11/07/2008
Software ICU
Software ICU tells us the condition of the software, indeed its health. For this time I took advantage of an open source software called Hackystat. Its role is to show various information such as coverage, complexity, coupling, and etc. I installed JavaNCSS and DependencyFinder here so that it will work on complexity and coupling respectively.
Result
Here is brief summary of vital signs.
For now coverage of duedates-green is low, so the source code should be modified to improve its reliability. Except that, Hackystat is showing we are not in danger.
Conclusion
Although it takes a while to download and setup various tools for Eclipse, Hackystat allows us to easily understand the condition and health of our software project. It is also possible to manually run each tools, but we are programmers and we should let computers to do it automatically. Hackystat is very useful which accomplishes that task.
Result
Here is brief summary of vital signs.
Vital Signs | What to measure |
Coverage | Percentage of code executed by tests. |
Complexity | Density of branches and loops. |
Coupling | Number of dependencies between classes. |
Churn | Lines of code added, deleted, and modified in a commit. |
CodeIssue | Number of warnings generated by QA tools. |
Commit | Number of commits to the repository. |
Build | Number of builds. |
UnitTest | Number of unit tests. |
Size | Amount of code. |
DevTime | Time spent. |
For now coverage of duedates-green is low, so the source code should be modified to improve its reliability. Except that, Hackystat is showing we are not in danger.
Conclusion
Although it takes a while to download and setup various tools for Eclipse, Hackystat allows us to easily understand the condition and health of our software project. It is also possible to manually run each tools, but we are programmers and we should let computers to do it automatically. Hackystat is very useful which accomplishes that task.
Subscribe to:
Posts (Atom)