Vincent Lam’s Weblog

On Open Source

Incremental Build LAB!!

Thank you for the reply on python:

Those two links are really helpful: ,

Thanks ūüôā

I worked on the Incremental Build Lab today with Rueen, Vijey and TJ!!

I think I did a good job following instruction on the page.

Downloaded the (5-10minutes)
Unzipping it (20-30minutes)
Building it (20-30minutes)
Make Changes (2 seconds)
Build it again in the in the Object directory (5-10 minutes)
Create a patch (20-30minutes)
Send and Download ppl patch (5 seconds)
Apply the Downloaded Patch (5 seconds)
Check update (5 seconds)
Restore patch (5 seconds)
Check restore (5 seconds)

Everything works up to this point, but I couldn’t get Mike’s thread patch to works.¬† I got the follow messages and I do not know what file is it asking for…. nsThread.cpp? any idea?

can’t find file to patch at input line 9
Perhaps you should have used the -p or –strip option?
The text leading up to this was:
|? threads/.gdb_history
|Index: threads/nsThread.cpp
|RCS file: /cvsroot/mozilla/xpcom/threads/nsThread.cpp,v
|retrieving revision 1.70
|diff -u -p -5 -r1.70 nsThread.cpp
|— threads/nsThread.cpp¬†¬†¬†¬†¬†¬† 11 Jul 2007 03:01:56 -0000¬†¬†¬†¬†¬† 1.70
|+++ threads/nsThread.cpp       25 Aug 2007 15:53:36 -0000
File to patch:


September 30, 2007 Posted by | open source | 1 Comment

MXR! and

I have been having a lot of fun with the cross reference library.¬† From how the “Back button” work to how the “Stop button” works.¬† Which button trigger which function.¬† which function trigger other function. It is a lot of information.

In order to find information effectively on mxr, there are a list of rules and tricks which is based on the consistency of the structure of the code that you should know (or will help).  You will probably be able to figure that out yourself but I am going to make a list later today or tomorrow!

September 26, 2007 Posted by | open source | Leave a comment

Open Source Project Update

After a few weeks of discussion, we finally come up with an open source project. Originally, I was going to do the EN-CA localization project but that did not seems to work out, then it kind of got changed to ZH-HK which is the canton style of Chinese which is used mostly in Hong Kong. Finally, just last Monday, the finally decision is made. I am going to make a automated tool that translate between different type of English (CA, GB, US, etc). While I am excited about this project yet I am a little worried on how everything is going to work. First of all, I need to figure out what programming language I should uses. We might have to use Python for which I have minimum experience with. I read a few article on python… it doesn’t seem to be that difficult, but I am just wondering if anyone know a good website or a good book that I can use?

September 26, 2007 Posted by | open source | 3 Comments

Guest Lecture

The guest lecture was really helpful.¬† I went in late but the material presented really help.¬† It fixed the error message that I have when I run minefield.¬† ūüôā I feel that I can do so much more after that lecture.¬† I know this blog is a little bit late, since the lecture was last week :PThank you for coming!

September 26, 2007 Posted by | open source | 1 Comment


It has been almost a week since I last wrote a blog. I was going to post a blog last week but I was just so busy reading, testing, researching on basically everything. either way, no excuses.  Anyway, I will write about the guest lecture, mxr and my open source project.  Right now!

September 26, 2007 Posted by | open source | Leave a comment

Setup Mozilla-Build then Firefox Debug Build!

Simon Jung made a good tutorial on how to build firefox in debug mode with mozilla-build.¬† I was going to make one too :p¬† but since there is a good one out there…

Anyway, I ran into a few problem when I was trying to setup mozilla-build yesterday.¬† Building Firefox is not difficult, it just takes sometime (30 minutes on my desktop… 1+1/2 hrs on my laptop)¬† but…. to get “mozilla-build” working correctly¬† … is another story.

First of all, I got this “Microsoft Visual C++ version 8 was not found”, then I got this ” Microsoft Platform SDK was not found.”, then I got this “ *** The mozilla directory cannot be located in a path with spaces.. Stop.” …………………..

Download “Microsoft Visual C++ version 8” and “Microsoft Platform SDK” from here (pick up the Visual C++ 2005 Express which is around 250mb, that’s all you need) and here for the SDK.¬† They are free.

Visual C++ took minutes to install, and SDK took hours ><“….¬† Anyway, after you have these two setup.¬† “start-msvc8.bat” should fly without a problem.

Now, I couldn’t get it to “make”!? becauuse I got this “ *** The mozilla directory cannot be located in a path with spaces.. Stop.”!!!!…

It said “Cannot be located in a path with spaces”…. ok…

lets do this “cd c:”¬† ==> problem solved ūüôā

Now… just follow Simon’s tutorial!! DONE!!

September 19, 2007 Posted by | open source | 3 Comments

Release Often!?

The idea of release early, release often and listen to the customer for the latest update and requirement got stuck in my head for the whole week. I honestly think everyone should give this a try.

I remember from my last co-op placement, there are often times when your client doesn’t exactly know what they want, all they know is that there is a problem or there are a bunch of informations needed to be managed. So, basically you have no idea what is going on, all you can do is to keep showing your client what you have come up with. The end product are often completely different from what you have planned at beginning.

I guess that’s basically how it works in open source. You have no idea what others people want. All you can do is to keep showing what your idea is and hopefully your client will like your idea and give you some guides.

Release early, release often is indeed the best way to develop a program, because that is the only way to receive feedback. So? It is something like a client/community oriented programming structure.

September 16, 2007 Posted by | open source | 1 Comment

Hello to Xulrunner

My friend Rueen was trying his luck with xulrunner and turn out to be a headache. I figured, maybe I should give it a try and maybe I could lend him a hand after. It came out easier than I thought, it worked the first time I do it. It was nothing really special, just follow the step in the online tutioral and I got the program to display “Hello World” in a new window. That’s a good start I guess.

For those who is as noob as I’m on xulrunner should definitly check out the follow link You can download the lastest xulrunner from and there is a tutorial on how to setup, etc in here: very strangth forward + easy to do. I tried the same code on vista and xp pro and they worked out fine.

September 15, 2007 Posted by | open source | 1 Comment

Revolution OS & The Cathedral and the Bazaar

“Revolution OS” documentary is about GNU, Linux, open source and the free software movement. It contains a lot of useful and inspiring information such as the development of Linux from GNU. Eric Raymond’s idea on how software should be free vs. Bill Gates’ idea on software should be charged in order to maintain great quality.

“The Cathedral and the Bazaar” article talks about the two open source development models: cathedral model and bazaar model. Both model has their strength and weakness but the bazaar model seems to work better. The article discuss how we could benefit when code and idea are be shared. Furthermore, it discuss how programmer and programming project should behavior. Programmer should share their code and work in group. Programming project should be broken down in small iteration, release early, release often and listen to the customer for the latest update and requirement.

September 13, 2007 Posted by | open source | 1 Comment

IRC & Open Source

Where does the open source community live?  There is something called IRC (Internet relay Chat) and here is where open source people communicate with each other.  Today, we learnt to setup IRC and we performed a whole bunch of different operations such as /join (join or create a channel), /me (emotion), /query (private chat), ping and pong (check if someone is online).  More commands are available if you type /command and if you need any help on a specific command simply type /help <command>

Other than command, there are rules that we should follow

  • Rules Number One: Don’t say “hi” when you enter an IRC because it will break the conversation

  • Rules Number Two: If the channel is about cooking, talk about cooking, not fishing ūüôā

Gotta watch revolution OS ( now. 

Talk later.  Bye!

September 11, 2007 Posted by | open source | 1 Comment