Difference between revisions of "User:Rueen"

From CDOT Wiki
Jump to: navigation, search
(Profile)
 
(67 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
__TOC__
 
__TOC__
 
== Profile ==
 
== Profile ==
 +
In the Bachelor of Software Development (BSD) program. Favorite Language: Java.
 +
 
''' Name:''' Rueen Fiez<br />
 
''' Name:''' Rueen Fiez<br />
 
'''Email:''' [mailto:rfiez-mo@learn.senecac.on.ca rfiez-mo@learn.senecac.on.ca]<br />
 
'''Email:''' [mailto:rfiez-mo@learn.senecac.on.ca rfiez-mo@learn.senecac.on.ca]<br />
 
''' Blog:''' [http://rueenfiez.wordpress.com Open Source blog]
 
''' Blog:''' [http://rueenfiez.wordpress.com Open Source blog]
  
In the Bachelor of Software Development (BSD) program. Favorite languages (no particular order); Java, php, perl, javascript, C.
+
== Projects/Assignments ==
 +
*[http://zenit.senecac.on.ca/wiki/index.php/Localization_-_en-CA Automated Localization Build Tool] - completed the 0.4 release. Moving the system toward an 1.0 release.
 +
 
 +
== Open Source Project DPS911 ==
 +
* [http://zenit.senecac.on.ca/wiki/index.php/Localization_-_en-CA Automated Localization Build Tool]
 +
* I maintain the project's Wiki page as well as the project itself.
 +
 
 +
== Automated Localization Build Tool (Open Source project DPS909) ==
 +
#Software Requirements: Python --> Get it from Python's [http://python.org/download/ download page]
 +
#Project's [http://zenit.senecac.on.ca/wiki/index.php/Automated_localization_build_tool Wiki] provides information regarding the project and updated frequently.
 +
#For more information, check out my [http://rueenfiez.wordpress.com/ 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.
 +
#'''Desktop Social Networking Integration project'''
 +
#'''Full Text History Search extension'''
 +
#'''Add Support For More Compilers To Distcc'''
 +
 
 +
=== Desktop Social Networking Integration ===
 +
*[http://zenit.senecac.on.ca/wiki/index.php/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 ===
 +
*[http://zenit.senecac.on.ca/wiki/index.php/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 ===
 +
*[http://zenit.senecac.on.ca/wiki/index.php/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 [http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_First_XPCOM_Component 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.
 +
[http://zenit.senecac.on.ca/wiki/index.php/Image:Xpcom_lab_rueen.JPG View Result Here]
 +
I also [http://rueenfiez.wordpress.com/2007/11/15/first-xpcom/ blogged] about my first XPCOM experience.
 +
 
 +
I've zipped up all important files to this lab. You can get the ZIP [http://zenit.senecac.on.ca/wiki/index.php/Image:XPCOM_Lab_Rueen.zip here].
 +
 
 +
 
 +
== XPCOM Lab II (XPCOM II - Using XPCOM from JS/Chrome) ==
 +
Here are the results from this lab.
 +
#[http://zenit.senecac.on.ca/wiki/index.php/Image:Lab5_1.JPG Screenshot #1 (The start)]
 +
#[http://zenit.senecac.on.ca/wiki/index.php/Image:Lab5_2.JPG Screenshot #2 (The result)]
 +
 
 +
 
 +
== Extending Browser (Creating .xpi) ==
 +
This lab showed us how to create an extension along with its .xpi file.
 +
*Lab's Resulting XPI file: [http://zenit.senecac.on.ca/wiki/imgs/Addtabbeside.xpi .xpi file]
 +
 
  
== Projects/Assignments ==
+
== Modifying Firefox Lab ==
*[http://zenit.senecac.on.ca/wiki/index.php/Localize_Mozilla_in_French_%26_Chinese Localize Mozilla - French]
+
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.
 +
 
 +
<pre>
 +
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"/>
 +
        <body>
 +
          <![CDATA[
 +
+  
 +
+
 +
+
 +
+
 +
+
 +
+  
 +
            var bgLoad = (aLoadInBackground != null) ? aLoadInBackground :
 +
                          this.mPrefs.getBoolPref("browser.tabs.loadInBackground");
 +
            var owner = bgLoad ? null : this.selectedTab;
 +
            var tab = this.addTab(aURI, aReferrerURI, aCharset, aPostData, owner,
 +
                                  aAllowThirdPartyFixup);
 +
            // 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;
 +
          ]]>
 +
        </body>
 +
      </method>
 +
 +
      <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 */
 +
 +
              this.mTabContainer.mTabstrip.scrollBoxObject
 +
 
 +
</pre>
 +
 
 +
== 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 [http://zenit.senecac.on.ca/wiki/index.php/Thunderbird_Bug_Fix_Lab lab page] as well as the bug I filed on landfill [http://landfill.bugzilla.org/bugzilla-3.0-branch/show_bug.cgi?id=6028 here]. Here is the patch that addresses this issue and fixes it.
 +
#Thunderbird hyperlink bug created on Bugzilla's [http://landfill.bugzilla.org/ Landfill] ---> [http://landfill.bugzilla.org/bugzilla-3.0-branch/show_bug.cgi?id=6028 Bug 6028]
 +
 
 +
<pre>
 +
? 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/test_all.sh
 +
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)
 +
    return;
 +
 +
  if (aInString[pos] == '@')
 +
  {
 +
    // only pre-pend a mailto url if the string contains a .domain in it..
 +
    //i.e. we want to linkify johndoe@foo.com 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.AssignLiteral("mailto:");
 +
      aOutString += aInString;
 +
    }
 +
  }
 +
  else if (aInString[pos] == '.')
 +
  {
 +
    if (ItMatchesDelimited(aInString, aInLength,
 +
 
 +
</pre>
 +
 
 +
== FSOSS 2007 Report (DPS909) ==
 +
[http://zenit.senecac.on.ca/wiki/index.php/User:Rueen/FSOSS_07_Report FSOSS: A Beginner's Perspective]
  
 
== Other ==
 
== Other ==

Latest revision as of 10:12, 20 January 2008

Profile

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

Name: Rueen Fiez
Email: rfiez-mo@learn.senecac.on.ca
Blog: Open Source blog

Projects/Assignments

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"/>
         <body>
           <![CDATA[
+		  
+				
+			
+			
+			
+		  
             var bgLoad = (aLoadInBackground != null) ? aLoadInBackground :
                          this.mPrefs.getBoolPref("browser.tabs.loadInBackground");
             var owner = bgLoad ? null : this.selectedTab;
             var tab = this.addTab(aURI, aReferrerURI, aCharset, aPostData, owner,
                                   aAllowThirdPartyFixup);
             // 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;
          ]]>
         </body>
       </method>
 
       <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 */
 
               this.mTabContainer.mTabstrip.scrollBoxObject

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/test_all.sh
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)
     return;
 
   if (aInString[pos] == '@')
   {
     // only pre-pend a mailto url if the string contains a .domain in it..
     //i.e. we want to linkify johndoe@foo.com 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.AssignLiteral("mailto:");
       aOutString += aInString;
     }
   }
   else if (aInString[pos] == '.')
   {
     if (ItMatchesDelimited(aInString, aInLength,

FSOSS 2007 Report (DPS909)

FSOSS: A Beginner's Perspective

Other

External Links

DPS909