While pursuing my degree in computer science one of my assignments requires me to have a blog component on a website I have to create. The website is pretty simple in concept, basically an ad for myself while meeting certain requirements like being assessable to the handicap(the blind or deaf). Another requirement is to have a blog on the website, either a real one or a mock blog where I have to program a functional blog with the ability to comment on all prior posts. Bring back this old blog seems more practical to me, making a mock blog will die off once I'm done with the assignment. This blog has a much higher chance of continuing after this assignment.
That is all for now, more posts will be coming soon.
Tuesday, November 29, 2011
Tuesday, February 16, 2010
Looking FireFox code
While looking FireFox code in the file
tabbrowser.xml
line 1727
i found the function "SwapBrowserAndCloseOther".
From what I can see these lines
1742 var ourIndex = aOurTab._tPos;
1743 const filter = this.mTabFilters[ourIndex];
1744 var tabListener = this.mTabListeners[ourIndex];
1745 var ourBrowser = this.getBrowserForTab(aOurTab);
1746 ourBrowser.webProgress.removeProgressListener(filter);
1747 filter.removeProgressListener(tabListener);
1748 var tabListenerBlank = tabListener.mBlank;
stop the tab a browser processes
while this line hooks the tabs processes to the new browser
ourBrowser.swapDocShells(aOtherTab.linkedBrowser);
Now for the long process of figuring out how these functions work
tabbrowser.xml
line 1727
i found the function "SwapBrowserAndCloseOther".
From what I can see these lines
1742 var ourIndex = aOurTab._tPos;
1743 const filter = this.mTabFilters[ourIndex];
1744 var tabListener = this.mTabListeners[ourIndex];
1745 var ourBrowser = this.getBrowserForTab(aOurTab);
1746 ourBrowser.webProgress.removeProgressListener(filter);
1747 filter.removeProgressListener(tabListener);
1748 var tabListenerBlank = tabListener.mBlank;
stop the tab a browser processes
while this line hooks the tabs processes to the new browser
ourBrowser.swapDocShells(aOtherTab.linkedBrowser);
Now for the long process of figuring out how these functions work
Looking at SeaMonkey Code
As you may know my project for OSD600 is moving tabs from one SeaMonkey browers to another SeaMonkey browser.
The Bug
https://bugzilla.mozilla.org/show_bug.cgi?id=449728
This is a standard in FireFox so this project is copying a pasting code and making it work. The problem is SeaMonkey and FireFox is millions of lines of code. I was told a good place to start is the comm-central tree in the file tabbrowser.xml. There i found the following functions addtab, removetab, movetabto.
TabBrowser.xml
http://mxr.mozilla.org/comm-central/source/suite/browser/tabbrowser.xml
Now i need to find where FireFox handles tabs
The Bug
https://bugzilla.mozilla.org/show_bug.cgi?id=449728
This is a standard in FireFox so this project is copying a pasting code and making it work. The problem is SeaMonkey and FireFox is millions of lines of code. I was told a good place to start is the comm-central tree in the file tabbrowser.xml. There i found the following functions addtab, removetab, movetabto.
TabBrowser.xml
http://mxr.mozilla.org/comm-central/source/suite/browser/tabbrowser.xml
Now i need to find where FireFox handles tabs
Monday, February 8, 2010
Building SeaMonkey
Building SeaMonkey was a task I kept putting off but really didn't take that long considering the previous courses I have taken has me install the prerequisites for this task.
The first thing i had to do was install Mercurial
http://mercurial.selenic.com/wiki/
And download the SeaMonkey code off comm-central
http://hg.mozilla.org/releases/comm-1.9.1/
I used the command to download and send the code to a the folder called src
hg clone http://hg.mozilla.org/releases/comm-1.9.1/file/c5c64590370a src
python client.py checkout
After downloading it i created the .mozconfig file.
ac_add_options --enable-application=suite
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sm-release
mk_add_options MOZ_MAKE_FLAGS="-j4"
And tried to compile the source code. The problem i ran into was that i could not compile the code if the path to the code had spaces. What took me awhile to realize was the code downloaded from comm-central to my documents and setttings, and i couldn't rename that. I cut and paste the code else where which took 20 mintues, a lot files.
After figure that out i used the command
make -f client.mk
After and hour of compiling i was rewarded with no errors and a clean launch of SeaMonkey
Friday, January 29, 2010
Initial Project Plan
Project: Dragging tabs from one browser to another browser in Seamonkey
SeaMonkey is a web browser powered by Mozilla
http://www.seamonkey-project.org/
The bug I have chosen to do is to add the functionality of dragging tabs from one SeaMonkey window to another. This functionality already exists in FireFox and has not been ported over to SeaMonkey. This project is a ease of use for the SeaMonkey users but I still think it is an important function to have. The reason why I have chosen to do this as my OSD600 project is because I am interested in the frontend work of web browsers. This project will give me insight into the inner workings of FireFox and SeaMonkey.
I found this project on this bug page
https://bugzilla.mozilla.org/show_bug.cgi?id=449728
Following my work
I will keep progress of my on my blog
http://jjleeos.blogspot.com/
Timeline
I am doing open source project for OSD600, a course at my school. Expect the following releases
0.1 Release Feb 25
-Transplant code from FireFox to SeaMonkey for moving tabs from browser to browser
0.2 Release Mar 15
-Begin to code classes to allow transfer or tabs between browsers
0.3 Release Apr 5
-Be able to move tabs from browser to browser
What I need to learn
In order for me to learn how to begin with this project I need to brush up on my javascript. Learn how FireFox handles its tabs and how it can move the tabs from browser to browser. Also learn how to SeaMonkey handles tabs.
Collaboration and Contribution
To help me with this project David Humphrey and Boris Zbarsky. Both of these people can help me with getting to know how FireFox and SeaMonkey works. Humphrey is the teacher who is teaches the Open Source course at my school and Zbarsky is the one who filed the bug which lead me to this project.
Humphrey’s blog http://vocamus.net/dave/
Zbarsky’s blog http://weblogs.mozillazine.org/bz/
Barriers in my way
This project seems very overwhelming to me and this is the first time I have done programming at this big of scale. Having only done most of my work in school I don’t really write programs greater then 1000 lines. I will need to focus myself and learn how both of these browsers handle tabs.
SeaMonkey is a web browser powered by Mozilla
http://www.seamonkey-project.org/
The bug I have chosen to do is to add the functionality of dragging tabs from one SeaMonkey window to another. This functionality already exists in FireFox and has not been ported over to SeaMonkey. This project is a ease of use for the SeaMonkey users but I still think it is an important function to have. The reason why I have chosen to do this as my OSD600 project is because I am interested in the frontend work of web browsers. This project will give me insight into the inner workings of FireFox and SeaMonkey.
I found this project on this bug page
https://bugzilla.mozilla.org/show_bug.cgi?id=449728
Following my work
I will keep progress of my on my blog
http://jjleeos.blogspot.com/
Timeline
I am doing open source project for OSD600, a course at my school. Expect the following releases
0.1 Release Feb 25
-Transplant code from FireFox to SeaMonkey for moving tabs from browser to browser
0.2 Release Mar 15
-Begin to code classes to allow transfer or tabs between browsers
0.3 Release Apr 5
-Be able to move tabs from browser to browser
What I need to learn
In order for me to learn how to begin with this project I need to brush up on my javascript. Learn how FireFox handles its tabs and how it can move the tabs from browser to browser. Also learn how to SeaMonkey handles tabs.
Collaboration and Contribution
To help me with this project David Humphrey and Boris Zbarsky. Both of these people can help me with getting to know how FireFox and SeaMonkey works. Humphrey is the teacher who is teaches the Open Source course at my school and Zbarsky is the one who filed the bug which lead me to this project.
Humphrey’s blog http://vocamus.net/dave/
Zbarsky’s blog http://weblogs.mozillazine.org/bz/
Barriers in my way
This project seems very overwhelming to me and this is the first time I have done programming at this big of scale. Having only done most of my work in school I don’t really write programs greater then 1000 lines. I will need to focus myself and learn how both of these browsers handle tabs.
Saturday, January 23, 2010
Mailing lists
Hello
After looking throught a few mailings lits that mozilla offers the following caught my eye.
http://groups.google.com/group/mozilla.dev.tech.layout/topics
http://groups.google.com/group/mozilla.support.bugzilla/topics
Layouts because one of the key things that drew me to firefox aside from being better then internet exloperer was the option to customize the look and layout. I'm the kind of person who like downloading skins, changing the appearance of windows to the point where people ask me what OS im using.
The other mailing list is bugzilla simplely for the reason it is a huge part of this community and if i want to take part i figure i should take a look into this.
After looking throught a few mailings lits that mozilla offers the following caught my eye.
http://groups.google.com/group/mozilla.dev.tech.layout/topics
http://groups.google.com/group/mozilla.support.bugzilla/topics
Layouts because one of the key things that drew me to firefox aside from being better then internet exloperer was the option to customize the look and layout. I'm the kind of person who like downloading skins, changing the appearance of windows to the point where people ask me what OS im using.
The other mailing list is bugzilla simplely for the reason it is a huge part of this community and if i want to take part i figure i should take a look into this.
Friday, January 15, 2010
Open Source Readings
Hello
My name is Jeffrey Lee and i am taking OSD600 this winter 2010 semester
After doing the readings my view on open source and the business method of developing software have been changed. They are very conflicting styles of developing software, the Cathedral vs Bazaar method as Eric Raymond put it. As i see it the bazaar method attracts more people who have a much greater interest in the project and thus is willing to work more passionately towards the benefit of the project and more people have a voice and can be heard. As oppose to the cathedral where there is one person leading the design which can lead to a much more narrow outlook on the project. Less eyes on the project thus less room for additions outside of the original scope of the project.
Another benefit of the bazaar method is the beta testers and the many eyes on the project itself. As Eric Raymond says your greatest resource is the beta testers because they have a greater interest in the project as oppose to the cathedral method where the testers are being paid to test and may not as interested in looking for exploits. Another benefit of the open source is everyone can look at the source code and point out the bugs and glitches so that the developers of the project can fix them before the release of version 1.0. Windows for example will release a 1.0 version of a operating system and let the user base report the errors thus the window that comes up and lets you report errors when a program crashes.
Another thing I've learned from the open source movement is that despite the fact that open source is usually a general interest hobby it can still profit like the cathedral method of developing. I was very surprised how much money is poured into open source projects like Firefox from large corporations. It perked my interest when i discovered how much other companies drive open source just so other competing companies like Microsoft from taking a monopoly on the internet.
I do believe that there is space for both methods of developing software, in a way it drives a healthy competition between the two sides.
So those are my thoughts on open source, I hoped you enjoyed
My name is Jeffrey Lee and i am taking OSD600 this winter 2010 semester
After doing the readings my view on open source and the business method of developing software have been changed. They are very conflicting styles of developing software, the Cathedral vs Bazaar method as Eric Raymond put it. As i see it the bazaar method attracts more people who have a much greater interest in the project and thus is willing to work more passionately towards the benefit of the project and more people have a voice and can be heard. As oppose to the cathedral where there is one person leading the design which can lead to a much more narrow outlook on the project. Less eyes on the project thus less room for additions outside of the original scope of the project.
Another benefit of the bazaar method is the beta testers and the many eyes on the project itself. As Eric Raymond says your greatest resource is the beta testers because they have a greater interest in the project as oppose to the cathedral method where the testers are being paid to test and may not as interested in looking for exploits. Another benefit of the open source is everyone can look at the source code and point out the bugs and glitches so that the developers of the project can fix them before the release of version 1.0. Windows for example will release a 1.0 version of a operating system and let the user base report the errors thus the window that comes up and lets you report errors when a program crashes.
Another thing I've learned from the open source movement is that despite the fact that open source is usually a general interest hobby it can still profit like the cathedral method of developing. I was very surprised how much money is poured into open source projects like Firefox from large corporations. It perked my interest when i discovered how much other companies drive open source just so other competing companies like Microsoft from taking a monopoly on the internet.
I do believe that there is space for both methods of developing software, in a way it drives a healthy competition between the two sides.
So those are my thoughts on open source, I hoped you enjoyed
Subscribe to:
Posts (Atom)