Monday, February 23, 2009

Common Lisp to my thesis

During the last week, little work is been put into neither the self-report tool nor my thesis, because most of the time is put on the assignment of ICS606 Autonomous Agent. This assignment took me a whole week because it is based on Lisp. It requires to enhance a vacuum agent which is written in Lisp. Though I had taken the undergraduate class about Lisp, I were near to novice because firstly I did not experience writing functions, methods and structures in Lisp in that class, and secondly, I had nearly forgotten everything I learn in that class. It took me about two day to pick up Lisp and advance to object-oriented like feature. Meanwhile, I found the book Practical Common Lisp is pretty awesome, and it is available on web! It actually explain Lisp much better than the undergraduate class. After being familiar with Lisp, I did find Lisp is pretty good in program the agent because represent and interpret data is unbelievable facilitated. It gives more freedom than other language ever possible give, though it is sometime same as freedom to make mistake. =P

In this week, the priority is to revise my thesis. Actually the biggest task in this week is the seminar presentation on Thursday. Thus revising my thesis is one of the best way to coordinate ideas in the presentation. After not so many presentation in class, I feel my biggest problem is not practicing the start and detail besides slides. What I did in my previous experience is mostly like to outline the content to slides, and only review the detail over my head. When presenting, because of nervous, I often did not start the talk very good, that cause me even more nervous usually, and forgot what I had prepare in mind, then doing even worse. So I got stuck into a vicious circle and end up being reading the words in the slide. This time, I will trying to rehearsal some times before, in order to get prepared in both content and confidence.

Monday, February 16, 2009

Unit testing for Swing

Effort put in my thesis last week is under my estimate because the assignment of ICS606 took more time than I expected. I will put more work in it this week.

I have started the self-report tool of Hackystat using MiG Layout. I am yet paying much attention in the UI, so it is too early to said if the MiG Layout is perfectly fit my requirement or not. But so far, it is handy to manage simple arrangement of components. And its Quick Start Guide and Cheat Sheet are very helpful and intuitive.

When starting the new project, I also searching for unit testing package for swing. After some digging, I settled to a package called FEST. Its assertions are quite flexible and readable. And it is an active project that running for a long time. After some trying, I finish my first test case with no difficult barrier. Then I notice that, what the tester do is to stimulate mouse/keyboard action on a real Swing application. I can see what it is doing during the test. That is both good and bad. The good thing is I can see what's going on, and what's going wrong in the test. And the bad thing is, I have to stop to watch it. If I move the mouse during the stimulation, the test will probably fail. I will no longer be able to run the unit test and do something else while waiting it finish. However, I think of an interesting idea from it: it may be possible to make "demo" test cases, that can serve as an example of usage in supplement of wiki guide.

Monday, February 9, 2009

Slow progress

I am working on the self-report tool for hackystat(hackystat-sensor-manual). We decided to use MiG Layout for layout management. The project was just started, but progress is slow, because I am picking up with the Swing staff in Java, which I did not touch for quite a long time and never be very good at it.

The other thing on my priority list is my thesis. As the whole experiment become the classroom evaluation, my thesis topic therefore change from use software ICU to manage project and courage collaboration to use the software ICU to understand and teach software metrics. The principle is the same, just change the way to view and present it. The news is, the major part of my thesis is finished in tech-report of Hackystat classroom evaluation fall 2008 already.

Another waiting project is the SVN data collection service, respond to Google's new commit notification POST and generate sensor data. It will be a great service, but not in an urgent need because SVN sensor is now working well. But implement this new service will reduce the difficulty of setup svn sensor. And for users that don't use an automatic contiunous intergration engine like Hudson, they don't need to remember and run svn sensor very time after commit.

Plan for this week will be, build an intial framework of self-report tool, and merge the evaluation tech-report into my thesis.

Monday, February 2, 2009

More reports and papers

This is a busy season of writing reports and papers. I am finishing the tech report of Hackystat fall 2008 evaluation and will then back to my thesis. Philip is just finish the draft paper of Hackystat SOA and I, as co-author, am revising it.

The first revision of Hackystat fall 2008 evaluation is finished. It is even more interesting with the usage logging data. When preparing the analysis data of system usage logging, I found that Pivot table of Excel is a very powerful tool and quite easy to use. Once the data is correctly imported(key is to set correct seqarator), Pivot table will do all the statistic analysis and generate a very nice summary table.

Last week I was provided a project to create a tool for users to self-report their un-tracked developing events. It will be a client-side application based in Java. But I did not spend much time on research the JGoodies and MigLayout, the visual layout packages for Java application. But once I get familiar with the layout thing, the primal functionality of the self-report tool should be a piece of cake. For further enhancement such as keyword remember/auto-completion, application/tool auto-selection, and event auto-generation, there will be a lot more study.