Monday, April 13, 2009

Baby's new clothes - PiYo PiYo

Today, my daddy dresses me in new clothes - my favorite brand, isn't it nice?

35 days ...











Thursday, April 9, 2009

Some Essential Twitter Tools

Looks like Twitter is very simple and easy tool, how to effectively use it? If you’re using Twitter for personal, corporate use, or to manage the brand of a client, you’ll need the right tools to find and engage the discussions.

These are some essential Twitter tools to improve the experience. Not all, but something I am using now, share with you:

1. Client: Using the web to fresh it manually is really boring. Twhirl is the most popular client, using adobe air technology. Leave it on your desktop and the client may be more accurate in seeing who’s replying to you, unlike the browser version. I highly recommand it. Another recommended client are the add-ons for Firefox if you are using it. You can find them in "Get Add-ons", the TwitterFox is a good choice.

2. Search: Use Tweetscan or Twitter Search to search tweets. You will feel the world is not too bad. If you use Twhirl as your client, you can find both of them have ben integrated into the search panel.

3. Aggregation: FriendFeed puts all of our RSS content onto one page, making it easy to see from one glance (rather than going to different web sites) and you can even reply from FriendFeed to different tools. It’s smarter to organize around people, rather than tools. I use it to feed my Google Blogger, Google Picasa Web Albums, WordPress, Facebook, and Twitter to same page, awesome!

4. Image Upload: Can we post image to Twitter? Yes, use Twitpic to store and share photos on Twitter. I didn't test the exact limit size, but too big file cause failure. I tried 3 ways to post image:
a. Upload photo in Twitpic web site, and copy the shorten link to Twitter;
b. Use the client Twhirl to upload image, the image will be stored in Twitpic, a link will be added to the Twitter status;
c. Use Firefox add-on "Power Twitter" to post photo, the result is same as Twhirl.
In the Twitter timeline home page, the image can only be displayed when Add-on "Power Twitter" is enabled, otherwise user have to click the shorten link to open picture in Twitpic site.

More to be added ...

Wednesday, April 8, 2009

My lovely baby 3 (One month old)

I am one month old today!







Some lessons learned from my TDD practice

Attended 2 days TDD course in last Dec. and started to use it in my project from Jan. These are some lessons learned from my TDD practices so far:

1. For any change into the code behavior, must think and write the test first (of course, this is the core principle of TDD);

2. In an ideal way, the TDD can totally replace low level design. But according to the result of a survey for TDD developers, most of new TDD developers found it was really hard to write effective test case directly without any low level design. As a trade off, developer can document a simplified low level design before coding test case. (The low level design should not be too detail, Simple Design is one of practices in eXtreme Programming, which is one part of Agile)

3. If developer write low level design first before coding test case, list out needed TDD test cases in the design document. Two benefits:
     a. Enforce developer to think about how to test it when he think about the design;
     b. Make sure the developer will not forget any test when he is coding.

4. Test case code and running result should also be reviewed during code review activity.

5. Unit test cases must be frequently executed to ensure all tests can be passed at the end of every day (it's better to adopt Continuous Integration if possible, CC can automatically run all test cases periodically and generate feedback);

6. Isolate the test data within one test class as much as possible, in order to make sure changes in one test will not impact others, and all tests can be re-run easily by another one; and the developer must make sure the test case running should not be impacted by local environment configuration or data.

7. Feel comfortable only when test case is written for function or business scenario, not for java class or method. You know, actually TDD is a business driven design/development approach.

More to be added...


Friday, April 3, 2009

My lovely baby 1 (The first day)

I was born today. These are pictures just after 10 hours: