From CDOT Wiki
Jump to: navigation, search


In the Bachelor of Software Development (BSD) program. Favorite Language: Java.

Name: Rueen Fiez
Blog: Open Source blog


Open Source Project DPS911

Automated Localization Build Tool (Open Source project DPS909)

  1. Software Requirements: Python --> Get it from Python's download page
  2. Project's Wiki provides information regarding the project and updated frequently.
  3. For more information, check out my blog.

Contributions To Other Projects

These are the following project's I've contributed to. Anything from actual code, documentation, testing, or providing some service to benefit the project.

  1. Desktop Social Networking Integration project
  2. Full Text History Search extension
  3. Add Support For More Compilers To Distcc

Desktop Social Networking Integration

  • Project's Wiki
  • The project's leader, Timothy Duavis, was in need of a way to interface with his SQL Lite database. SQL Lite is essentially a mini-database that saves all data to a file. I found an SQL Lite client for him to use and showed him how to interact with it's functions to alter his database. I also provided him with professional contacts who are able to help him or any person using the SQL Lite database for open source project purposes.

Full Text History Search extension

  • Project's Wiki
  • I assisted the project's leader, Vijey Balasundaram, with JavaScript code primarily. As well as setting up his environment for actually building the extension

Add Support For More Compilers To Distcc

  • Project's Wiki
  • I have lined up some C# files that need to be tested on the distcc compiler. They are not ordinary C# files, these are C# classes that include everything from data structures, use inheritance and polymorphism (in other words, interfaces). Peter Callaghan informed me that this would be beneficial to the project because it would test out if the system is capable of handling major C# systems.

First XPCOM Lab

This lab provided a walkthrough of how to create an XPCOM and subsequently utilize it. I learned a great deal about IDL files, creating make files, and how to create a basic XPCOM. View Result Here I also blogged about my first XPCOM experience.

I've zipped up all important files to this lab. You can get the ZIP here.

XPCOM Lab II (XPCOM II - Using XPCOM from JS/Chrome)

Here are the results from this lab.

  1. Screenshot #1 (The start)
  2. Screenshot #2 (The result)

Extending Browser (Creating .xpi)

This lab showed us how to create an extension along with its .xpi file.

Modifying Firefox Lab

Purpose of this lab was to modify the behavior of creating new Firefox tabs, specifically, their location. This patch will make tabs appear next to the current one instead of at the end of the tab list which is the default.

Index: tabbrowser.xml
RCS file: /cvsroot/mozilla/browser/base/content/tabbrowser.xml,v
retrieving revision 1.243
diff -u -8 -p -r1.243 tabbrowser.xml
--- tabbrowser.xml	18 Sep 2007 00:59:41 -0000	1.243
+++ tabbrowser.xml	15 Oct 2007 21:26:23 -0000
@@ -1073,32 +1073,41 @@
         <parameter name="aURI"/>
         <parameter name="aReferrerURI"/>
         <parameter name="aCharset"/>
         <parameter name="aPostData"/>
         <parameter name="aLoadInBackground"/>
         <parameter name="aAllowThirdPartyFixup"/>
             var bgLoad = (aLoadInBackground != null) ? aLoadInBackground :
             var owner = bgLoad ? null : this.selectedTab;
             var tab = this.addTab(aURI, aReferrerURI, aCharset, aPostData, owner,
             // Set newly selected tab after quick timeout, otherwise hideous focus problems
             // can occur when "browser.tabs.loadInBackground" is false and presshell is not ready
             if (!bgLoad) {
               function selectNewForegroundTab(browser, tab) {
                 browser.selectedTab = tab;
               setTimeout(selectNewForegroundTab, 0, getBrowser(), tab);
             if (!bgLoad)
               this.selectedTab = tab;
+			var position = currentTabIndex + 1;
             return tab;
       <method name="loadTabs">
         <parameter name="aURIs"/>
         <parameter name="aLoadInBackground"/>
@@ -1173,19 +1182,24 @@
             t.maxWidth = this.mTabContainer.mTabMaxWidth;
             t.minWidth = this.mTabContainer.mTabMinWidth;
             t.width = 0;
             t.setAttribute("flex", "100");
             t.setAttribute("validate", "never");
             t.setAttribute("onerror", "this.parentNode.parentNode.parentNode.parentNode.addToMissedIconCache(this.getAttribute('image')); this.removeAttribute('image');");
             t.className = "tabbrowser-tab";
-            this.mTabContainer.appendChild(t);
-            if (document.defaultView
+			var currentTabIndex = this.mTabContainer.selectedIndex;
+			this.mTabContainer.insertBefore(t, this.mTabContainer.childNodes.item(currentTabIndex + 1));
+			if (document.defaultView
                         .getComputedStyle(this.mTabContainer, "")
                         .direction == "rtl") {
               /* In RTL UI, the tab is visually added to the left side of the
                * tabstrip. This means the tabstip has to be scrolled back in
                * order to make sure the same set of tabs is visible before and
                * after the new tab is added */

Thunderbird Hyperlink Bug Lab - Patch

Thunderbird has a bug where it creates a hyperlink from message's text that didn't need to be a link. Further info about this bug is located on the lab page as well as the bug I filed on landfill here. Here is the patch that addresses this issue and fixes it.

  1. Thunderbird hyperlink bug created on Bugzilla's Landfill ---> Bug 6028
? build2
? thunderbird_lab_patch.txt
? base/public/nsIStreamListenerProxy.idl
? base/public/nsPIProtocolProxyService.idl
? base/src/nsAsyncStreamListener.cpp
? base/src/nsAsyncStreamListener.h
? base/src/nsStreamListenerProxy.cpp
? base/src/nsStreamListenerProxy.h
? build/win32.order
? cache/src/win32.order
? cookie/public/nsICookieConsent.idl
? protocol/about/src/nsAboutRedirector.cpp
? protocol/about/src/nsAboutRedirector.h
? protocol/data/public
? protocol/file/src/nsFileProtocolModule.cpp
? test/TestFileInput.cpp
? test/TestFileTransport.cpp
? test/TestWriteStream.cpp
? test/unit/head.js
? test/unit/head_http_server.js
? test/unit/tail.js
? test/unit/
Index: streamconv/converters/mozTXTToHTMLConv.cpp
RCS file: /cvsroot/mozilla/netwerk/streamconv/converters/mozTXTToHTMLConv.cpp,v
retrieving revision 1.85
diff -u -8 -p -r1.85 mozTXTToHTMLConv.cpp
--- streamconv/converters/mozTXTToHTMLConv.cpp	11 Mar 2007 00:17:00 -0000	1.85
+++ streamconv/converters/mozTXTToHTMLConv.cpp	8 Nov 2007 19:47:53 -0000
@@ -181,17 +181,17 @@ mozTXTToHTMLConv::CompleteAbbreviatedURL
   if (pos >= aInLength)
   if (aInString[pos] == '@')
     // only pre-pend a mailto url if the string contains a .domain in it..
     //i.e. we want to linkify but not "let's meet @8pm"
     nsDependentString inString(aInString, aInLength);
-    if (inString.FindChar('.', pos) != kNotFound) // if we have a '.' after the @ sign....
+    if ((inString.FindChar('.', pos) != kNotFound) && (inString.Find("..", 0) == kNotFound)) // if we have a '.' after the @ sign....
       aOutString += aInString;
   else if (aInString[pos] == '.')
     if (ItMatchesDelimited(aInString, aInLength,

FSOSS 2007 Report (DPS909)

FSOSS: A Beginner's Perspective


External Links