Monday, November 2, 2009

Building and fixing "Shredder"... FTFM!

So I am finally done with the bug-fix exercise.. As many have already mentioned in the blog, doing the actual fix is not a big challenge once you have completed the first build.

So being rather stubborn, I insisted on not taking the easy way out (building it on Ubuntu on VM). I decided to get it built on my main OS (Mac). I don't regret this choice.. I regret however several other decisions made later during my attempts.

The Mozilla website has an excellent guide on how to build on all platforms, so my problem was not RTFM (reading the friendly manual.. :)) it was rather FTFM (following..). Quite certainly, everyone by now knows that only autoconf2.3 can be used for the build.. Being aware of this fact, I intentionally ignored it convincing myself that the new autoconf version doesn't probably cause the troubled caused by the version mentioned in the instructions... BIG MISTAKE! This cost me a failed attempt and some frustration..

Several small wrong turns, and you end up messing up again and again.. Until you realize.. Just FTFM!!

Sunday, October 18, 2009

Using Utils.focusUrlInBrowser() instead of Utils.openUrlInBrowser()

Hi,

I would like to share this information with everyone, when building your Ubiquity command, if you intend to open a page in the browser (like most commands I have seen so far), please consider using Utils.focusUrlInBrowser() instead of Utils.openUrlInBrowser().

The advantage is simple, the latter always opens a new tab with the url, while the former opens it only if it is not already open, otherwise it brings the right tab into focus..

Hope this helps!

"G-OSC What's Up" Ubiquity command

So finally, I came up with an idea that is at least useful for myself. The idea for the command is simple, it displays the latest TODO list.

To use the command type: gosc-watsup

Motivation

Although a top-level link for the list of TODO-lists was added to the wiki lately, I still find that one requires a big number of clicks before reaching the required TODO-list, which is usually the latest. It is very tiring specially for those that are lazy like myself and look at the list on Monday nights.. :).

Implementation

The implementation of the command was a breeze, since Ubiquity made the very smart choice of including jQuery.. Being good in jQuery (although a bit rusty..) I finally managed to have the command running in about 20 minutes. The code is posted on the wiki.

Final thoughts

I would like to ask Dr. Fatma to stay consistent when writing the TODO sections so that my command continues to work. Two things should remain the same:

1- The title of the TODO section must remain: "To Do List" with the same casing.
2- The latest TODO must always be added to the bottom of the list.

My final thought is: I just love jQuery!! :-)

Monday, October 12, 2009

Easy alternative to SVN..

I first saw SVN about one year ago when I was doing my first internship.. At the time I only knew very little information about it.. But at the time it seemed complicated, ugly and.. just ugly.

I finally came to peace with SVN, yet I find it one of the worst version control tools ever!

My favorite very simple tool is called Bazaar. The tool is very simple and is written in Python and therefore runs on most platforms..

Anyways, if you are interested and have some minutes to waste you can give it a try:

http://doc.bazaar-vcs.org/latest/en/mini-tutorial/index.html

Friday, October 9, 2009

Translating "The cathedral and the bazaar"

Hi,

Thanks to the software engineering course, I now have my blog!

I decided to use my first post to announce something useful. I volunteered lately to take the responsibility of translating the article "The cathedral and the bazaar" to the Arabic language. I opened a page for it on the wiki.

My plan is to use Google translate to produce a draft translation for the page and later, contributors edit and rephrase the draft to come up with the final translation..

I am hoping to get any feedback on the idea and to hear from those ready to help with even as little as a single sentence.