Wednesday, May 28, 2008

ThinkingRock Review

Update: ThinkingRock has released a final 2.0.1 version for Windows. For Ubuntu, it can be run by install Java Run Time 1.6 and ThinkingRock 2.0 using Wine.

Searching the definition of GTD will sure lead you to result of "Getting Things Done". So what is it all about and why it matters? GTD is a organized way to handle your thinking and todo list. It helps by having 5 major steps, which is collect, process, organize, review and do. I'm sure that every programmer someway or somehow involve in project in their life, either personal or business. If you wanted to start a project and somehow find it disorganize and stressful, perhaps this model might help you to organize your thinking and put you into the right track.

ThinkingRock is a GTD application that is written in Java. The version that I'm currently using is 2.0 Epsilon, which is not out of beta yet. Although there are one or two bugs, however it doesn't hinder the whole managing todo list process.

Starting the application
ThinkingRock requires Java runtime to be installed. Since it's written in Java, therefore it can be used in different platform. I have tried both executable in Ubuntu and Windows. Both works really well and there is no major difference on the interface.

The application start out in 4 sections. They are Setup, Collect, Process, and "Organize Review Do".


In the Setup section, there are 3 panels: Create Data File, Define Context and Define Topic. Create Data File is where we start. A data file is required to be created once else all function won't work without the data file created (It took me a while to figure it out :P). Next, come with the Define Context. This is a tricky part as I confused what is it for at first. In here, the process, medium or location is defined. For example a phone call. If I have a multiple actions (task/todo) with that required phone call, I can group them together and get them done altogether once I'm using my phone. Other example such as @home where all the actions group under this can be done together when you're at home. The final panel for this section is Define Topic. This is where the category personal, work, family or other being created. The action later defined can be categorized and managed under the appropriate topic.


Next, come to the Collect section where it only has one panel. Collect Thought. Straight forward, anything that pop into your mind goes here. Build a PC, pick up a technical book, post an article on your blog. Anything. Very soon you'll have a long list of thought in here.


Following to the next section is the process section. Here is where the thoughts being filtered as actionable, future, information and delete. Non actionable thoughts is put under future, where it can be retrieved back for in future to reprocess again. Or put it as information, where the thoughts is for reference purposes.

Organise Review Do

The actionable thought is then put under project (multiple actions) or single action. This come to the next section "Organise Review Do". There are 6 panels in here and there are Actions, Projects, Do ASAP, Delegated, Scheduled, Done Action. Actions Panel will list out all the action which are created in the process section. Here you can add, edit, delete actions or set those action to Do ASAP, Delegated or Scheduled. I believe this is the panel where you will click most of the time for review all the actions created. Either to re-schedule, delegate or complete the action. Project panel provides a project view and the rest of the panel is self-explanatory.

What I like about it.
I have been using it about a month and I find ThinkingRock provide an easy to pick up interface. Of course, there are some confuses when using it but it all sorted after check out the help file provided.

Another point I like about is that you can copy the executable folder into a usb drive and run from there. It really comes in handy where you can carry all the projects/todo with you in one thumb drive with application. Of course, the machine must have java runtime installed else the application won't work.

If you have the book Getting Things Done, perhaps this application will give you a much greater sense from the book because now you can do it while reading the book.

Finally, I would recommend this to anyone, not just programmer, who want to organize a project or task in a more efficient way.

Below is a video from google where David Allen, the who invented the system, talks about GTD.

Update: Check the comment where there is a tip on install ThinkingRock into USB stick. Thanks Randy for the tip.

Tuesday, May 6, 2008

Ubuntu 8.04 Hardy Heron review from Gusty Gibbon user

One word for this release, is more like a mixed feeling. You can either love or hate it, depends on how long you first play with it.

As a Gusty Gibbon home user, I will focusing this review on Firefox 3 beta 5 for surfing the web, audio and video player for the entertainment and word processor for writing my article. I have installed Hardy Heron for my Dell 640M from scratch where in my past experience, upgrade doesn't seem working well for me.

1. Worked out of the box - No driver needs to be installed.
2. More stable flash player - Previously Firefox freeze after a while watching youtube or playing some flash games. Now it is fixed (with adobe flash player).
3. Transmission for BitTorrent - Love at first sight. It's so easy to use. It is good for them to take Transmission as Ubuntu default bittorrent client.
4. Date time with weather forecast - I live in Subang, Malaysia (I'm sure international reader doesn't know where that is.) and it has the weather forecast for it. Excellent.
5. Open office 2.4 load faster - The 0.1 version increased seems a lot performance improved to me (previous version is 2.3).
6. Unknown brand mp3 player worked for file transfer - It kept disconnected in Ubuntu Gusty Gibbon but now it worked. Almost. (See hate section below)
7. Easier codec installation - A more user friendly approach to install codec, where you don't need to go to the add/remove to install it. Listening to mp3 and watching avi file has never been easier.

1. File corrupted on file transfer to mp3 player - Happened only for the unknown brand player after some file transfer. Maybe it was caused by the cable which i used (my external hard disk cable). However, for my 2GB thumb drive it worked flawlessly.
2. Google reader - News item kept missing. It can be fixed by pressing ctrl+0 in Firefox.
3. Default flash player is sucked - I thought Firefox beta that does not support flash correctly. It was swfdec that caused the unpleasant surprise. Get the adobe flash player instead.
4. Wifi LED is dead - I thought Heron has killed my wireless or I have to look for linux drivers on the internet. No, it was not. It just the LED won't light up. I found out after I left my wireless on after restart from Windows and log into Ubuntu again.

If you fall in the hate section by first couple of minutes of using Hardy Heron, there is a tendency of going back to Gusty Gibbon where Firefox is not beta, Wifi LED is working and no item missing in google reader. However, after get passed those issue a day later, life seems to be better again. Much better.

So, I would conclude that Hardy Heron it's a great release (most of the Hate can be fixed except one) beside having to compromise the wifi LED, which I hope Ubuntu team has a fix for it somewhere in future.

Google Reader broken in Firefox 3?
Delete swfdec from Firefox 3 beta 5

Monday, May 5, 2008

Book Review: "Message: The Communication Skills Book"

I read an article on the internet that programmer requires 2 basic skills, which is communication and learning. Communication helps programmer to get their job done more effectively and learning helps them to improve their coding skill, as we know that the programming language are never stop evolving. So, here's my review on this book which I find it useful.

1. Who should read it?

Anyone who prefer technical explanation and less story telling on communication skill. So, if you're picking a communication book for your next reading, perhaps you can check this one out.

2. What is it all about?

If you think communication is just about talking, maybe this book will give your more perspective than just talking. It divides communication skill into several sections and here I will pick out 2 sections, which is relevant to programmer.

Section 1 - Basic skill
  1. Listening - An essential skill to find out what client, manager or team leader wants from our work. A mis-communication (e.g. missing or wrong functionality), will sure cause us to burn some midnight oil to fix the problem.
  2. Self-disclosure - This one helps on team building. By having this skill, your team member able understand you and why some of the decision you've made.
  3. Expressing - This chapter is about how to get your message (e.g. needs, wants) across to the people in direct, immediate, clear, straight and supportive manner.

Section 3 - Conflict skill
  1. Assertiveness Training - Programmer are easily to fall into the trap of saying yes on everything throws at them. Learning when to say no will makes them work happier.
  2. Fair Fighting - Conflict is inevitable. This skill is about resolving conflict in a more a healthy way.
  3. Negotiation - Not just for your salary. Negotiation skill can be used for project requirement, functionality, man days and work load.

3. What so special about it?

It's like a mini communication encyclopedia, giving the general idea on most common communication skill. Although some of the contents in the book are taken from others, it is still a great book for first time learner. It also proves to be helpful for those who already has communication skill and want to move further(e.g. family or relationship communication). At the end of the book, there are reference for each of the chapter. So, for further reading, this book won't let you feeling lost on where to go to if you find one of the chapter interesting and looking for more information.

Other recommended reading.

Crucial Conversation
7 habits of highly effective people