tag:blogger.com,1999:blog-16535403884450302002024-02-19T09:00:00.405-08:00G-Lewis Blogspotgalewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.comBlogger7125tag:blogger.com,1999:blog-1653540388445030200.post-43051607991209189072010-02-18T05:16:00.001-08:002010-02-18T09:41:15.688-08:00Enabling Firefox Tabs to load HomepageFor the past week I've been quietly working on enabling <span class="blsp-spelling-error" id="SPELLING_ERROR_0">Firefox</span> tabs to load a home page. By working on this task its shown me how important it is to be able to skim through huge amounts of code in order to find that small portion that affects or does what you are looking to change. So I'll get right into it!<br /><br />The task was to achieve two things:<br /><br />1) Enable a homepage to load whenever a new tab is created<br />2) Enable the user to optionally set the tab to open this homepage on creation or to<br />remain with the standard blank page<br /><br /><span class="blsp-spelling-corrected" id="SPELLING_ERROR_1">Surprisingly</span> enough the second objective came along pretty easy! So if you've ever changed your homepage in <span class="blsp-spelling-error" id="SPELLING_ERROR_2">firefox</span> you would be familiar with the this:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilUenvT4aytMUtXpc-pICvLvT7zbA8YN0httBPLgSOeFKkKXx_8OGICFjdzqdxskTFCZ9eIwB-5L50S2KDnCJtvPirGnKGkZtOESdigtSrP2WZIN3hvn6py6e4bVKGCv645cfXiUYz25I/s1600-h/preferences.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 203px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilUenvT4aytMUtXpc-pICvLvT7zbA8YN0httBPLgSOeFKkKXx_8OGICFjdzqdxskTFCZ9eIwB-5L50S2KDnCJtvPirGnKGkZtOESdigtSrP2WZIN3hvn6py6e4bVKGCv645cfXiUYz25I/s320/preferences.png" alt="" id="BLOGGER_PHOTO_ID_5439625113268344722" border="0" /></a><br />If you look carefully you can see that my home page is set to "http://www.xbox.com", so whenever I open a browser window it will automatically open up to that website. Now in order to proceed further I will need to know where the homepage string is stored and for this I took up a torch and ventured into the "den of dragons":<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq-NMUaTrHFQZh3JeQnsZQaJlmgLQxxxEKpm_eAA1zR-FH2I355nRtN8FwtZweKlc7yC7XNomBd3ECdSMySbcoNVugb4VzWjT3lOXcpGY7wiJanpUleaMxoxbMarYksMqm3TFoabK8Img/s1600-h/dragons.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 190px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgq-NMUaTrHFQZh3JeQnsZQaJlmgLQxxxEKpm_eAA1zR-FH2I355nRtN8FwtZweKlc7yC7XNomBd3ECdSMySbcoNVugb4VzWjT3lOXcpGY7wiJanpUleaMxoxbMarYksMqm3TFoabK8Img/s320/dragons.png" alt="" id="BLOGGER_PHOTO_ID_5439627201057611090" border="0" /></a><br /><br />This tool is real nifty in the fact that I can use it to search for different components of the <span class="blsp-spelling-error" id="SPELLING_ERROR_3">Firefox</span> browser. Since we are trying to customize a homepage <span class="blsp-spelling-corrected" id="SPELLING_ERROR_4">load up</span> for a tab I figured I'd search up browser.<span class="blsp-spelling-error" id="SPELLING_ERROR_5">startup</span>, lo and behold I got the following:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3-PYGck9eMMlPITj7ZvaaWCvQ3sy2YfbY1Bvc_n49Um8w9p8sbDHpLnXBueXkaJk4Qe516xJTdDLwjk_9WvMq7IQLLVLOXsvQ7ZRRWaY_L7s0XOEbuj5UtgR52rfq2uoCIc9W3ycJ-UQ/s1600-h/browser.startup.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 190px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3-PYGck9eMMlPITj7ZvaaWCvQ3sy2YfbY1Bvc_n49Um8w9p8sbDHpLnXBueXkaJk4Qe516xJTdDLwjk_9WvMq7IQLLVLOXsvQ7ZRRWaY_L7s0XOEbuj5UtgR52rfq2uoCIc9W3ycJ-UQ/s320/browser.startup.png" alt="" id="BLOGGER_PHOTO_ID_5439629483468574130" border="0" /></a><br />Notice anything familiar in those results? Check out the highlighted function and look at the value...it should look familiar now. This variable "browser.startup.homepage" holds a string variable for the <span class="blsp-spelling-corrected" id="SPELLING_ERROR_6">home page's</span> <span class="blsp-spelling-corrected" id="SPELLING_ERROR_7">URL</span>! Now I know I'm getting somewhere. Now I know where the homepage is actually stored. With this information I searched the <a href="http://mxr.mozilla.org"><span class="blsp-spelling-corrected" id="SPELLING_ERROR_8">Mozilla</span> repository</a> for it and I got the following results:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxDn2mJWncwHAsahR2zdjYIrbfbuMLbMMpPYewxr0URjWBJFYXFCuWf565oETOkGvNgPCriACfeZBCTLgA3EgZ89hGHnfTgMVxx7iG1ek3Rtci1GcKY1tUeeIVviq8uxqsUMEdv0ipGhI/s1600-h/searchresults.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxDn2mJWncwHAsahR2zdjYIrbfbuMLbMMpPYewxr0URjWBJFYXFCuWf565oETOkGvNgPCriACfeZBCTLgA3EgZ89hGHnfTgMVxx7iG1ek3Rtci1GcKY1tUeeIVviq8uxqsUMEdv0ipGhI/s320/searchresults.png" alt="" id="BLOGGER_PHOTO_ID_5439631364970283122" border="0" /></a><br />Weaving through all of these results was both tedious and time consuming but I eventually came across a file that contained the use of browser.startup.homepage. Looking at lines <a href="http://mxr.mozilla.org/mozilla-central/source/browser/app/profile/firefox.js#199">199 - 203</a> you can see how an integer value is used to determine the action of the browser's <span class="blsp-spelling-corrected" id="SPELLING_ERROR_9">startup</span>, if you look again at the earlier screenshots showing the browser variable search from the "dragon's den" you'd notice that browser.startup.page has a value of '1' which then asks it to call "browser.startup.page" function which uses that string value in the browser.startup.homepage variable. Whew! I've done some testing and by changing the integer variable I can manipulate the actual action taken when the browser starts up.<br /><br /><br />Even though I now know how to manipulate a browsers homepage it still leaves out the tab function which is what I really want to manipulate. This is where my progress had temporarily come to a halt....until I happened across a colleagues blog in my <span class="blsp-spelling-error" id="SPELLING_ERROR_10">OSD</span>600 class. <a href="http://scottdowne.blogspot.com/2010/02/firefox-build-20.html">Scott <span class="blsp-spelling-error" id="SPELLING_ERROR_11">Downe</span></a> has also been working on the <span class="blsp-spelling-error" id="SPELLING_ERROR_12">Firefox</span> tab <span class="blsp-spelling-corrected" id="SPELLING_ERROR_13">tweak</span> and has made progress in the area in which I'm having trouble with. For now I will take a break from actual testing and contact Scott to better understand how <span class="blsp-spelling-error" id="SPELLING_ERROR_14">Firefox</span> tabs are called in the code and also share what I've come to understand thus far. (There's that Open Source collaboration coming into play :P )<br /><br />Hopefully in the near future I will be able to post a success story but for now I gotta get back to work on my Release 0.1 which I should be releasing a status post for later today!galewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.com0tag:blogger.com,1999:blog-1653540388445030200.post-54206231681492563382010-02-11T02:37:00.000-08:002010-02-11T03:05:09.873-08:00Initial Project Plan<meta equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 14"><meta name="Originator" content="Microsoft Word 14"><link rel="File-List" href="file:///C:%5CUsers%5CAndrew%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml"><!--[if gte mso 9]><xml> <o:officedocumentsettings> <o:allowpng/> </o:OfficeDocumentSettings> </xml><![endif]--><link rel="themeData" href="file:///C:%5CUsers%5CAndrew%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx"><link rel="colorSchemeMapping" href="file:///C:%5CUsers%5CAndrew%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml"><!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:trackmoves/> <w:trackformatting/> <w:punctuationkerning/> <w:validateagainstschemas/> <w:saveifxmlinvalid>false</w:SaveIfXMLInvalid> <w:ignoremixedcontent>false</w:IgnoreMixedContent> <w:alwaysshowplaceholdertext>false</w:AlwaysShowPlaceholderText> <w:donotpromoteqf/> <w:lidthemeother>EN-CA</w:LidThemeOther> <w:lidthemeasian>X-NONE</w:LidThemeAsian> <w:lidthemecomplexscript>X-NONE</w:LidThemeComplexScript> <w:compatibility> <w:breakwrappedtables/> <w:snaptogridincell/> <w:wraptextwithpunct/> <w:useasianbreakrules/> <w:dontgrowautofit/> <w:splitpgbreakandparamark/> <w:enableopentypekerning/> <w:dontflipmirrorindents/> <w:overridetablestylehps/> </w:Compatibility> <m:mathpr> <m:mathfont val="Cambria Math"> <m:brkbin val="before"> <m:brkbinsub val="--"> <m:smallfrac val="off"> <m:dispdef/> <m:lmargin val="0"> <m:rmargin val="0"> <m:defjc val="centerGroup"> <m:wrapindent val="1440"> <m:intlim val="subSup"> <m:narylim val="undOvr"> </m:mathPr></w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:latentstyles deflockedstate="false" defunhidewhenused="true" defsemihidden="true" defqformat="false" defpriority="99" latentstylecount="267"> <w:lsdexception locked="false" priority="0" semihidden="false" unhidewhenused="false" qformat="true" name="Normal"> <w:lsdexception locked="false" priority="9" semihidden="false" unhidewhenused="false" qformat="true" name="heading 1"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 2"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 3"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 4"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 5"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 6"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 7"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 8"> <w:lsdexception locked="false" priority="9" qformat="true" name="heading 9"> <w:lsdexception locked="false" priority="39" name="toc 1"> <w:lsdexception locked="false" priority="39" name="toc 2"> <w:lsdexception locked="false" priority="39" name="toc 3"> <w:lsdexception locked="false" priority="39" name="toc 4"> <w:lsdexception locked="false" priority="39" name="toc 5"> <w:lsdexception locked="false" priority="39" name="toc 6"> <w:lsdexception locked="false" priority="39" name="toc 7"> <w:lsdexception locked="false" priority="39" name="toc 8"> <w:lsdexception locked="false" priority="39" name="toc 9"> <w:lsdexception locked="false" priority="35" qformat="true" name="caption"> <w:lsdexception locked="false" priority="10" semihidden="false" unhidewhenused="false" qformat="true" name="Title"> <w:lsdexception locked="false" priority="1" name="Default Paragraph Font"> <w:lsdexception locked="false" priority="11" semihidden="false" unhidewhenused="false" qformat="true" name="Subtitle"> <w:lsdexception locked="false" priority="22" semihidden="false" unhidewhenused="false" qformat="true" name="Strong"> <w:lsdexception locked="false" priority="20" semihidden="false" unhidewhenused="false" qformat="true" name="Emphasis"> <w:lsdexception locked="false" priority="59" semihidden="false" unhidewhenused="false" name="Table Grid"> <w:lsdexception locked="false" unhidewhenused="false" name="Placeholder Text"> <w:lsdexception locked="false" priority="1" semihidden="false" unhidewhenused="false" qformat="true" name="No Spacing"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 1"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 1"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 1"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 1"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 1"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 1"> <w:lsdexception locked="false" unhidewhenused="false" name="Revision"> <w:lsdexception locked="false" priority="34" semihidden="false" unhidewhenused="false" qformat="true" name="List Paragraph"> <w:lsdexception locked="false" priority="29" semihidden="false" unhidewhenused="false" qformat="true" name="Quote"> <w:lsdexception locked="false" priority="30" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Quote"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 1"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 1"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 1"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 1"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 1"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 1"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 1"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 1"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 2"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 2"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 2"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 2"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 2"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 2"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 2"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 2"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 2"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 2"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 2"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 2"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 2"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 2"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 3"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 3"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 3"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 3"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 3"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 3"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 3"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 3"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 3"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 3"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 3"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 3"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 3"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 3"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 4"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 4"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 4"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 4"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 4"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 4"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 4"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 4"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 4"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 4"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 4"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 4"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 4"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 4"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 5"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 5"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 5"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 5"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 5"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 5"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 5"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 5"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 5"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 5"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 5"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 5"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 5"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 5"> <w:lsdexception locked="false" priority="60" semihidden="false" unhidewhenused="false" name="Light Shading Accent 6"> <w:lsdexception locked="false" priority="61" semihidden="false" unhidewhenused="false" name="Light List Accent 6"> <w:lsdexception locked="false" priority="62" semihidden="false" unhidewhenused="false" name="Light Grid Accent 6"> <w:lsdexception locked="false" priority="63" semihidden="false" unhidewhenused="false" name="Medium Shading 1 Accent 6"> <w:lsdexception locked="false" priority="64" semihidden="false" unhidewhenused="false" name="Medium Shading 2 Accent 6"> <w:lsdexception locked="false" priority="65" semihidden="false" unhidewhenused="false" name="Medium List 1 Accent 6"> <w:lsdexception locked="false" priority="66" semihidden="false" unhidewhenused="false" name="Medium List 2 Accent 6"> <w:lsdexception locked="false" priority="67" semihidden="false" unhidewhenused="false" name="Medium Grid 1 Accent 6"> <w:lsdexception locked="false" priority="68" semihidden="false" unhidewhenused="false" name="Medium Grid 2 Accent 6"> <w:lsdexception locked="false" priority="69" semihidden="false" unhidewhenused="false" name="Medium Grid 3 Accent 6"> <w:lsdexception locked="false" priority="70" semihidden="false" unhidewhenused="false" name="Dark List Accent 6"> <w:lsdexception locked="false" priority="71" semihidden="false" unhidewhenused="false" name="Colorful Shading Accent 6"> <w:lsdexception locked="false" priority="72" semihidden="false" unhidewhenused="false" name="Colorful List Accent 6"> <w:lsdexception locked="false" priority="73" semihidden="false" unhidewhenused="false" name="Colorful Grid Accent 6"> <w:lsdexception locked="false" priority="19" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Emphasis"> <w:lsdexception locked="false" priority="21" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Emphasis"> <w:lsdexception locked="false" priority="31" semihidden="false" unhidewhenused="false" qformat="true" name="Subtle Reference"> <w:lsdexception locked="false" priority="32" semihidden="false" unhidewhenused="false" qformat="true" name="Intense Reference"> <w:lsdexception locked="false" priority="33" semihidden="false" unhidewhenused="false" qformat="true" name="Book Title"> <w:lsdexception locked="false" priority="37" name="Bibliography"> <w:lsdexception locked="false" priority="39" qformat="true" name="TOC Heading"> </w:LatentStyles> </xml><![endif]--><style> <!-- /* Font Definitions */ @font-face {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:-520092929 1073786111 9 0 415 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} a:link, span.MsoHyperlink {mso-style-priority:99; color:blue; mso-themecolor:hyperlink; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {mso-style-noshow:yes; mso-style-priority:99; color:purple; mso-themecolor:followedhyperlink; text-decoration:underline; text-underline:single;} p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:36.0pt; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} p.MsoListParagraphCxSpFirst, li.MsoListParagraphCxSpFirst, div.MsoListParagraphCxSpFirst {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; mso-style-type:export-only; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} p.MsoListParagraphCxSpMiddle, li.MsoListParagraphCxSpMiddle, div.MsoListParagraphCxSpMiddle {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; mso-style-type:export-only; margin-top:0cm; margin-right:0cm; margin-bottom:0cm; margin-left:36.0pt; margin-bottom:.0001pt; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} p.MsoListParagraphCxSpLast, li.MsoListParagraphCxSpLast, div.MsoListParagraphCxSpLast {mso-style-priority:34; mso-style-unhide:no; mso-style-qformat:yes; mso-style-type:export-only; margin-top:0cm; margin-right:0cm; margin-bottom:10.0pt; margin-left:36.0pt; mso-add-space:auto; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} .MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Calibri; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} .MsoPapDefault {mso-style-type:export-only; margin-bottom:10.0pt; line-height:115%;} @page WordSection1 {size:612.0pt 792.0pt; margin:72.0pt 72.0pt 72.0pt 72.0pt; mso-header-margin:35.4pt; mso-footer-margin:35.4pt; mso-paper-source:0;} div.WordSection1 {page:WordSection1;} /* List Definitions */ @list l0 {mso-list-id:1295061473; mso-list-template-ids:836899932;} @list l0:level1 {mso-level-start-at:0; mso-level-text:%1; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:18.0pt; text-indent:-18.0pt;} @list l0:level2 {mso-level-text:"%1\.%2"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:18.0pt; text-indent:-18.0pt;} @list l0:level3 {mso-level-text:"%1\.%2\.%3"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:36.0pt; text-indent:-36.0pt;} @list l0:level4 {mso-level-text:"%1\.%2\.%3\.%4"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:36.0pt; text-indent:-36.0pt;} @list l0:level5 {mso-level-text:"%1\.%2\.%3\.%4\.%5"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:54.0pt; text-indent:-54.0pt;} @list l0:level6 {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:54.0pt; text-indent:-54.0pt;} @list l0:level7 {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:72.0pt; text-indent:-72.0pt;} @list l0:level8 {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:72.0pt; text-indent:-72.0pt;} @list l0:level9 {mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9"; mso-level-tab-stop:none; mso-level-number-position:left; margin-left:72.0pt; text-indent:-72.0pt;} ol {margin-bottom:0cm;} ul {margin-bottom:0cm;} --> </style><!--[if gte mso 10]> <style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0cm 5.4pt 0cm 5.4pt; mso-para-margin-top:0cm; mso-para-margin-right:0cm; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0cm; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:"Calibri","sans-serif"; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-fareast-language:EN-US;} </style> <![endif]--> <p class="MsoNormal">For my semester assignment I’ve chosen to contribute to the <a href="https://wiki.mozilla.org/Education/Projects/ProcessingForTheWeb">Processing for the Web</a> project which is an ongoing work that is porting the <a href="http://www.processing.org/">Processing</a> language to be the open web. <o:p></o:p></p> <p class="MsoNormal"><b style=""><u>Background of Processing.js<o:p></o:p></u></b></p> <p class="MsoNormal">Although the project is based around the processing.js language it is important to know the origins of this language port. Processing is an open source programming language that was developed for the purpose of teaching the basics of computer programming from a visual perspective. The Processing language was started by<a href="http://benfry.com/"> Ben Fry</a> and<a href="http://reas.com/blog/"> Casey Reas</a> in 2001, both of which were a part of the MIT Media Lab’s Aesthetics and Computation Group. A few years later in the summer of 2008 <a href="http://ejohn.org/">John Resig</a>, the creator of the <a href="http://jquery.com/">jQuery</a>, ported the Processing language (which was based in Java) to Javascript for use in web pages.<o:p></o:p></p> <p class="MsoNormal"><b style=""><u>Importance of Processing.js<o:p></o:p></u></b></p> <p class="MsoNormal">Currently if one wants to implement animations in their browser they would have to install a plug-in, whether it is Macromedia Flash, Java and Microsoft Silverlight. But what if there was a way to run these animations without having to take that extra time to install a plug-in to do so? Wouldn’t that be convenient and make life easier? Well there is!<span style=""> </span>With<a href="http://www.processingjs.org/"> processing.js</a> all of the implementation for animation can be done from the javascript running on your browser, ultimately eliminating the need for a plug-in to do the implementation for you. Not only is processing.js eliminating the need for additional plug-ins but it also is eliminating the issue of browser compatibility as the language is running on all of the major browsers such as Firefox, Safari and Internet Explorer (although with Internet Explorer they would have to use <a href="http://excanvas.sourceforge.net/">ExplorerCanvas</a>).<o:p></o:p></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style=""><u>What Will I Be Doing?<o:p></o:p></u></b></p> <p class="MsoNormal">Why did I choose this project? I believe mainly for the fact that my job will consist of actually trying to break something as opposed to fixing it. For the project I will be creating a test suite that will test processing.js functions that are currently being ported through the parser to ensure that they work properly after the port process. For this I will have to develop lots and lots of simple tests to put each of the functions through. In doing so I will try to keep with the following timeline for my releases to the best of my ability:<o:p></o:p></p> <p class="MsoListParagraphCxSpFirst" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style=""><span style="">0.1<span style="font: 7pt "Times New Roman";"> </span></span></span><!--[endif]-->Release – February 19<sup>th</sup>, 2010<o:p></o:p></p> <p class="MsoListParagraphCxSpMiddle" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style=""><span style="">0.2<span style="font: 7pt "Times New Roman";"> </span></span></span><!--[endif]-->Release – March 19<sup>th</sup>, 2010<o:p></o:p></p> <p class="MsoListParagraphCxSpLast" style="margin-left: 18pt; text-indent: -18pt;"><!--[if !supportLists]--><span style=""><span style="">0.3<span style="font: 7pt "Times New Roman";"> </span></span></span><!--[endif]-->Release – April 9<sup>th</sup>, 2010<o:p></o:p></p> <p class="MsoNormal">For progress on my project you can follow on my wiki project page, I’ll keep my <a href="http://galewis.blogspot.com/">blog</a> updated with breakthroughs and pitfalls, and maybe...just maybe…some ranting. Since my task encompasses creating tests for the functions used in processing.js I’m pretty sure my releases 0.2 and 0.3 will more than likely change. For the time being I will go with the following outline:
<br /></p><p class="MsoNormal">
<br /><o:p></o:p></p> <p class="MsoNormal"><span style="font-weight: bold;">Release 0.1 </span><o:p></o:p></p> <p class="MsoNormal">Focus on completing tests for functions that are of high priority for the project in terms of close to completion by other members. For this I will have to communicate with others working on the actual porting of the code to find out which functions need immediate attention.<o:p></o:p></p> <p class="MsoNormal"><o:p>
<br /></o:p></p> <p class="MsoNormal"><span style="font-weight: bold;">Release 0.2</span><o:p></o:p></p> <p class="MsoNormal">To Be Specified**<o:p></o:p></p> <p class="MsoNormal">I’m looking at completing less important functions after the important functions have tests created for them.<span style=""> </span>An additional functionality will be added to the test suite to work with unit tests (unsure if this has been done yet, will update this release goal if it has)<o:p></o:p></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><span style="font-weight: bold;">Release 0.3</span><o:p></o:p></p> <p class="MsoNormal">Test suite will be able to perform tests for all functions in the processing.js library. As I may be changing the goals of Release 0.2 there will be an added functionality which will be incorporated into the test suite.<o:p></o:p></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style=""><u>
<br /></u></b></p><p class="MsoNormal"><b style=""><u>Required Learning<o:p></o:p></u></b></p> <p class="MsoNormal">For this project I will need to have a basic understanding of the following:<o:p></o:p></p> <p class="MsoNormal"><span style=""> </span><span style="font-weight: bold;">Javascript</span> – it plays an important role in the project as it is the language in which the processing language will be ported into so I will need to know the basics of Javascript in order to write my tests and to debugging. <o:p></o:p></p> <p class="MsoNormal"><span style="font-weight: bold;">Processing</span><span style=""> </span>- I will need to learn processing since it is the language that processing.js was ported from. To have an a basic understanding of this language will prove valuable for my work in the same light as Javascript as I would need to know which functions translate into what on the Javascript side.<o:p></o:p></p> <p class="MsoNormal"><span style="font-weight: bold;">Processing Developer Environment</span> – familiarizing myself with how to use this development environment will allow me to actually use the functions to do some testing and debugging.<o:p></o:p></p> <p class="MsoNormal">To acquire knowledge on these topics I will resort to the following:<o:p></o:p></p> <p class="MsoNormal"><b style=""><u>
<br /></u></b></p><p class="MsoNormal"><b style=""><u>Processing Resources<o:p></o:p></u></b></p> <p class="MsoNormal"><a href="http://processingjs.org/reference">http://processingjs.org/reference</a><o:p></o:p></p> <p class="MsoNormal"><a href="http://ejohn.org/">http://ejohn.org/</a><o:p></o:p></p> <p class="MsoNormal"><a href="http://processing.org/">http://processing.org</a><o:p></o:p></p> <p class="MsoNormal"><b style=""><u><o:p><span style="text-decoration: none;"> </span></o:p></u></b></p> <p class="MsoNormal"><b style=""><u>
<br /></u></b></p><p class="MsoNormal"><b style=""><u>Javascript Resources</u></b><o:p></o:p></p> <p class="MsoNormal"><span style=""> </span>“Learning Javascript”<span style=""> </span>by Shelley Powers<o:p></o:p></p> <p class="MsoNormal"><a href="http://javascript.internet.com/">http://javascript.internet.com/</a><o:p></o:p></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style=""><u>
<br /></u></b></p><p class="MsoNormal"><b style=""><u>Collaboration and Contact<o:p></o:p></u></b></p> <p class="MsoNormal">As my task requires me to write many tests I would appreciate any input regarding to scenarios in which a function may crash, it’s not possible for one person to look at an issue from every angle so having others contribute ideas and scenarios will help cover areas that may escape me. In terms of contributing I’m keen on doing cross platform testing and debugging javascript since I will be using the language quite a bit this semester.<o:p></o:p></p> <p class="MsoNormal"><o:p> </o:p></p> <p class="MsoNormal"><b style=""><u>
<br /></u></b></p><p class="MsoNormal"><b style=""><u>Barriers and Obstacles</u></b><o:p></o:p></p> <p class="MsoNormal">For this project I’ve got a personal barrier that has stuck with me for a while. First off I’m easily intimidated by work that seems complex or beyond what I feel I’m capable of. When I’m faced with this not only do I get frustrated but I try to fix it on my own without asking for advice or assistance which results in time being wasted achieving a small task that could have been done in seconds should I have asked for assistance. To help with this barrier I will try to utilize IRC more and collaborate with others instead of struggling on my own wasting invaluable time.<o:p></o:p></p> <p class="MsoNormal"><o:p> </o:p></p> galewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.com0tag:blogger.com,1999:blog-1653540388445030200.post-10735746936835996882010-02-04T16:48:00.000-08:002010-02-04T17:08:47.821-08:00The Dark Tunnel..........So it's been a while since I last posted, been wandering in a real dark "tunnel" trying to build the environment for Firefox. I first took a look at the <a href="https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Windows_Prerequisites">MDC wiki </a>on building FireFox for a Windows platform. From first sight it was, to put it mildly, tedious. In order to get my platform ready to build this environment I had to go and download a few a things:<br /><br />- <a href="https://developer.mozilla.org/En/Windows_SDK_versions">Microsoft SDK for Windows 7</a><br />- <a href="http://www.microsoft.com/express/Downloads/">VisualStudio 2005/2008</a> (I chose 2008)<br />- The current <a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.4.exe">mozilla-build file<br /></a><br />Downloading three files might not seem to be much but when two of three files are more than two gigabytes then you can understand my frustration. Three hours later everything was prepped and installed, building the environment would be a cinch, or so I thought. After following the <a href="https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Windows_Prerequisites">MDC wiki</a> I ended up in a shell that was created to simulate a linux environment (start-msvc9.bat). In order to build Firefox on my system I needed to retrieve a clone from the mercurial that would produce a localized copy of the mozilla-central repository on my system. After issuing the command: "make -f client.mk build" the system beginning running tests to ensure that I had the necessary components installed and configured.<br /><br />Enter my first headache, for a strange reason the test failed to identify the C compiler on my machine, after an hour of trying to figure it out I decided to google up error to find out if others had experienced the same problem as I had. After doing a bit of research I found out that the problem could be resolved by editing the PATH environment variable in the system properties.<br /><br />After solving this I figured it would be smooth sailing but that was not the case. Enter headache #2, this little error that I picked up when attempting to build on my fourth try:<br /><br />Adding configure options from /c/mozilla-central/mozconfig:<br />--enable-application=browser<br />--disable-optimize<br />--enable-debug<br />--enable-tests<br />configure: error: System header atlbase.h is not available. See http://developer.mozilla.org/en/docs/atlbase.h for details on fixing this problem.<br />make[1]: *** [configure] Error 1<br />make: *** [/c/mozilla-central/ff-dbg/Makefile] Error 2<br /><br />After carefully reading this error message I knew that my system lacked the atlbase.h header file which is necessary in order for the building to be completed. I followed the link which directed me to another link that ultimately landed me on <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en">this</a> page. Seeing as my system is a 64 bit OS the only version of the header file that would work was the PSDK-amd64.exe. After installing the missing files I attempted to build again and my result was as follows:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXJ01kKippCzeics8IEt97kIpqZxnNyCN1ZBn7jSmZ6BdenqmWIOal4N71H9bHp_QqjXc82SHh2Qm0nVlgO-dzFnqvWZHRqhW-deIBfj7Kvfv_2C4KlZ6EqKP3O5Jf7ULuFUul4Cp4HHU/s1600-h/results.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 313px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXJ01kKippCzeics8IEt97kIpqZxnNyCN1ZBn7jSmZ6BdenqmWIOal4N71H9bHp_QqjXc82SHh2Qm0nVlgO-dzFnqvWZHRqhW-deIBfj7Kvfv_2C4KlZ6EqKP3O5Jf7ULuFUul4Cp4HHU/s320/results.png" alt="" id="BLOGGER_PHOTO_ID_5434549955826757858" border="0" /></a><br />Then I navigated into my obj-dir folder nicknamed ff-dbg and searched for the mozilla or firefox executable:<br /><br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKQymfcw-JEbxcfeJrugczOc421rg-CCXNcJ9zWs8y5ojznnpOaO83F2s_rdGH9mvvPtSbMIltN2bjIeBHDGpdW8WOWlZy2pCUkoEWrSDvzfk0McYhYQZxxV3GayVswphtR-fg_CPfS14/s1600-h/results2.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKQymfcw-JEbxcfeJrugczOc421rg-CCXNcJ9zWs8y5ojznnpOaO83F2s_rdGH9mvvPtSbMIltN2bjIeBHDGpdW8WOWlZy2pCUkoEWrSDvzfk0McYhYQZxxV3GayVswphtR-fg_CPfS14/s320/results2.png" alt="" id="BLOGGER_PHOTO_ID_5434558616474077810" border="0" /></a><br />Issuing the command to start it with the profile manager and the build FireFox Browser (which looks identical to the one I normally use):<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggHkqgqUpKPdDQHGa4DZd_tBO0jea0TC9R621gYFgiTjrHY1j7BV8bmhX5V1pFeGbB9oqagvAtVMD9tlaPEz10H1iW86zWAOubHRmcmXCEy8QJrOTPMs-WcV3egDVVQFj05m-A8PkQa68/s1600-h/results3.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 198px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggHkqgqUpKPdDQHGa4DZd_tBO0jea0TC9R621gYFgiTjrHY1j7BV8bmhX5V1pFeGbB9oqagvAtVMD9tlaPEz10H1iW86zWAOubHRmcmXCEy8QJrOTPMs-WcV3egDVVQFj05m-A8PkQa68/s320/results3.png" alt="" id="BLOGGER_PHOTO_ID_5434559029279463490" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguwaFuNaI2WSkf3OoDHiaZbySy5TYxzP3klp0QrhZ_Hz17GQ2EW8AiYxOO_MgGnlac4SbzNklTmg-qTFefQ-R95Y02U9mElwo1rd5QiOGjT3Gi5d91kZ2Ci6D2JHdvxtlLdqfMnPiQQR0/s1600-h/results4.png"><img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 320px; height: 190px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEguwaFuNaI2WSkf3OoDHiaZbySy5TYxzP3klp0QrhZ_Hz17GQ2EW8AiYxOO_MgGnlac4SbzNklTmg-qTFefQ-R95Y02U9mElwo1rd5QiOGjT3Gi5d91kZ2Ci6D2JHdvxtlLdqfMnPiQQR0/s320/results4.png" alt="" id="BLOGGER_PHOTO_ID_5434559199832468610" border="0" /></a>galewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.com0tag:blogger.com,1999:blog-1653540388445030200.post-14097985312028584722010-01-28T03:02:00.000-08:002010-01-28T03:38:17.662-08:00You would never have thought.......By now I'm sure you're tired of hearing <a href="http://en.wikipedia.org/wiki/Na%27vi#Na.27vi">"Na'vi"</a>, "world tree" or just a reference to "blue people", yes I'm talking about <a href="http://en.wikipedia.org/wiki/Avatar_%282009_film%29">Avatar</a>. I bet you're wondering why I'm even posting about such a thing here just bear with me for at least one more sentences and I promise it will be worth your time. Suprisingly the Na'vi and Open Source have a lot more in common than we'd like to think, this is because the film Avatar was rendered by 35,000 cores running Ubuntu....yes it's not a typo or my early morning-half awake typing.<br /><a href="http://www.wetafx.co.nz/"><br />Weta Digita</a><a href="http://www.wetafx.co.nz/">l</a> the studio responsible for the graphics rendering used a setup comprised of:<br /><br />- a 2 Petabyte disk array<br />-10gbps networking<br />-35,000 cores (4,000+ HP <a href="http://en.wikipedia.org/wiki/Blade_server">blades</a>)<br /><br />and even with this setup for some of the sequences it took 48 hours to render the graphics for the sequence.<br /><br />If you're interested check out the <a href="http://blog.dustinkirkland.com/2010/01/39000-core-ubuntu-cluster-renders.html">article/blog</a> post by <a href="http://www.blogger.com/profile/12464590128908584782">Dustin Kirkland</a>. I think I'll stop there as it's really early in the morning for my tastes. Oh but class is in just a few hours....heh.galewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.com0tag:blogger.com,1999:blog-1653540388445030200.post-44223298104969350532010-01-26T07:24:00.000-08:002010-01-26T08:41:14.268-08:00Add-On Weekly: TwitterBarSo I've recently upgraded to the latest version of <a href="http://www.firefox.com">Firefox</a> (which is 3.6, if you haven't done so I would highly recommend you do!) which is filled with lots of nifty little add-ons and newly introduced <a href="http://www.getpersonas.com/en-US/">"Personas"</a> which gives your browser an edgier look. Now I've recently got into using <a href="http://www.twitter.com">Twitter</a> which in the past I've considered a personal blasphemy and I found it to be tedious that whenever I wanted to post a new "tweet" I would have to go to the website log in and go through all that jive. Enter <a href="https://addons.mozilla.org/en-US/firefox/addon/4664/developers">Christopher Finke</a> the developer of <a href="https://addons.mozilla.org/en-US/firefox/addon/4664">TwitterBar</a> an add-on that makes posting to your twitterboard as easy as pie.<br /><br />TwitterBar enables you to post links and short lines of text from your browsers address bar directly to your twitter board as long as you end it with "--post". For example, if I entered:<br /><br />"Mass Effect 2 is out today go out and get it! --post", it would post that line onto my twitterbar in mere seconds.<br /><br />If you're a casual twitter poster like myself its a wonderful add-on to have, if you're a heavy poster its also great but it has a few limitations at the moment for example image uploading and reading/posting to other peoples blogs. But these will be worked on sometime in the future.galewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.com0tag:blogger.com,1999:blog-1653540388445030200.post-15846732999607382512010-01-21T19:55:00.000-08:002010-01-21T20:57:01.890-08:00Making way to the festivalSo it's week two and things are now really getting interesting in OSD600. <a href="http://galewis.blogspot.com/2010/01/osd600-beginnings.html">Last week</a> we were introduced to the two different types of developer environments described by <a href="http://en.wikipedia.org/wiki/Eric_Raymond">Eric Raymond</a> in <a href="http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/578/499">"The Cathedral and the Bazaar"</a>. This week we were introduced to different tools and services that can help us on our journey to the "Bazaar". Tools such as <a href="https://wiki.mozilla.org/Education/Learning/Irc">IRC</a>,<a href="http://zenit.senecac.on.ca/wiki/index.php/Overview_of_Mozilla_Communication#Mailing_Lists.2FNewsgroups"> mailing lists</a>, <a href="http://zenit.senecac.on.ca/wiki/index.php/Overview_of_Mozilla_Communication#Weekly_Calls">public calls</a> and <a href="http://zenit.senecac.on.ca/wiki/index.php/Overview_of_Mozilla_Communication#Bugzilla">Bugzilla</a> are among the few explained and demonstrated. Personally I've never been one to get involved in mailing lists, use a blog or even utilize <a href="http://twitter.com/">Twitter</a>. However after toying around with a few of them my opinion has changed completely and the adamant anti-Twitter facade I once flaunted has pretty much vanished. As individual pieces I was unaware of how purposeful these tools could be, but after viewing a few resources this week its all coming together now. Something that stood out to me in particular was a quote that came from the <a href="http://videos.mozilla.org/mozilla24/1-16_david.mp4">"Learning to Be at the Festival"</a> lecture by <a href="http://vocamus.net/dave/">David Humphrey</a>, he says "The Festival only exists if we decide to recreate it". The Open Source community is a strong embodiment of this festival and its community continues to recreate it. In essence the attendees of the festival are just as important as the festival; one cannot exist without the other. Should the community cease recreating and carrying on this festival it would only be a matter of time before the festival ceases to exist.<br /><br />In due time I hope to improve my effective use of these tools as I would like to expose more people from my <a href="http://en.wikipedia.org/wiki/Bahamas">country</a> to Open Source seeing that there is still a vast majority that are unaware of the impact that its having on all aspects of technology today.galewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.com0tag:blogger.com,1999:blog-1653540388445030200.post-57984038334554818782010-01-19T07:28:00.000-08:002010-01-19T08:00:45.182-08:00OSD600 Beginnings....First off I would like to welcome you to my blog, my name is <span id="SPELLING_ERROR_0" class="blsp-spelling-error">Gustone</span> Lewis a 4/5<span id="SPELLING_ERROR_1" class="blsp-spelling-error">th</span> semester student in the <span id="SPELLING_ERROR_2" class="blsp-spelling-error">CTY</span> program at Seneca College. After our first week of lectures in this course (<span id="SPELLING_ERROR_3" class="blsp-spelling-error">OSD</span>600) I was left a bit intimidated and unsure of whether I'm up for the challenge that this course will present me with. However I'm also excited to actually get a sample of the world of an Open Source Development and the environment that they work in.<br />We were presented with a few resources to better familiarize ourselves with Open Source, its history and a bit of information on the Mozilla Project. Of all the resources two in particular perked my interest:<br /><ul><li><a href="http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/578/499">"Revolution OS"</a></li><li><a href="http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/578/499">"The Cathedral and the Bazaar"</a></li></ul>The film "Revolution OS" fascinated me to see how the Open Source community got started and yet it coexists alongside another entity, the Free Software Foundation (started by Richard <span id="SPELLING_ERROR_4" class="blsp-spelling-error">Stallman</span>), in which they both believe that software should be "free" in a sense of freedom and not cost. Yet they differ in that the <span id="SPELLING_ERROR_5" class="blsp-spelling-error">FSF</span> believes that all software should be free and non-free software should not exist, the Open Source community believes that non-free software and free software should co-exist. From Eric Raymond's article "The Cathedral and the Bazaar" it was interesting to learn that the Open Source environment is similar to a Bazaar, seeming chaotic from a surface viewpoint yet it produces incredible results. It can because there is in fact some level of order just not as strict and <span id="SPELLING_ERROR_6" class="blsp-spelling-corrected">hierarchic</span> as the Cathedral model which is used mostly by proprietary developers (e.g Microsoft).<br /><br />Overall I'm looking forward to this course and have confirmed my resolve to enjoy working in this course and with my fellow peers.galewishttp://www.blogger.com/profile/10082329830779962333noreply@blogger.com0