<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Crystal&#039;s Blog</title>
	<atom:link href="http://cldenobrega.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cldenobrega.wordpress.com</link>
	<description></description>
	<lastBuildDate>Fri, 01 Oct 2010 17:25:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='cldenobrega.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Crystal&#039;s Blog</title>
		<link>http://cldenobrega.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://cldenobrega.wordpress.com/osd.xml" title="Crystal&#039;s Blog" />
	<atom:link rel='hub' href='http://cldenobrega.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Initial Project Plan for Soda.js: an interface extention to Popcorn.js</title>
		<link>http://cldenobrega.wordpress.com/2010/10/01/initial-project-plan-for-soda-js-an-interface-extention-to-popcorn-js/</link>
		<comments>http://cldenobrega.wordpress.com/2010/10/01/initial-project-plan-for-soda-js-an-interface-extention-to-popcorn-js/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 16:01:11 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=175</guid>
		<description><![CDATA[Soda I have chosen to create Soda.js, an interface extension to Popcorn.js this semester. Popcorn.js is establishing a programmatic way to play and access information on HTML5&#8216;s audio and video elements. Soda.js will provide innovative and non-standard user interfaces for commonly needed web video controls (ie. visual timelines, play, pause, volume control, etc.). Background The [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=175&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><em><strong>Soda</strong></em></p>
<p>I have chosen to create <a href="http://zenit.senecac.on.ca/wiki/index.php/Soda.js:_an_interface_extention_to_Popcorn.js">Soda.js, an interface extension to Popcorn.js</a> this semester. <a href="https://wiki.mozilla.org/PopcornOpenVideoAPI">Popcorn.js</a> is establishing a programmatic way to play and access information on <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a>&#8216;s <a href="https://wiki.mozilla.org/Audio_Data_API">audio</a> and <a href="http://en.wikipedia.org/wiki/HTML5_video">video</a> elements. Soda.js will provide innovative and non-standard user interfaces for commonly needed web video controls (ie. visual timelines, play, pause, volume control, etc.). </p>
<p><em><strong>Background</strong></em></p>
<p>The interface features implemented in Soda.js are specially aimed at the needs of the <a href="http://globallives.org/">Global Lives Project</a>. The Global Lives Project documents a full 24 hours in the lives of 10 people who represent the diversity of the world population. They have filmed well over 240 hours of video and have thousands of hours of volunteer work put into their project. The <a href="http://globallives.org/about/">mission of the Global Lives Project</a> is to collaboratively build a video library of human life experiences, and to reshape how people think of other cultures, nations and people outside of their own communities. </p>
<p>Currently, the Global Lives Project functions as exhibit that tours around the world, but they are looking to put this project up on the web. This is where Soda.js comes in. The Global Lives Project is looking for an interface that can control and manipulate more than one video at a time, and the mock ups they have come up with look very interesting. They want to enable a more convenient way for their viewers to watch and navigate their video library. Once the interface controls are created in Soda.js, they will be available for other people to use as well.</p>
<p>I chose this project because it looked like a lot of fun to me. I&#8217;m very excited to be working with HTML5 and I look forward to learning advanced JavaScript. I also really liked what I saw in the Global Lives Project and I am very happy to be working on something to contribute to their project.  </p>
<p><em><strong>Follow this Project</strong></em></p>
<p>I have created a <a href="http://zenit.senecac.on.ca/wiki/index.php/Soda.js:_an_interface_extention_to_Popcorn.js">wiki page for the Soda.js project</a>. This page will stay up-to-date on project news, contributions and detailed specs. To follow this project as I proceed, please stay tuned to <a href="http://cldenobrega.wordpress.com/">my blog</a> and/or <a href="http://zenit.senecac.on.ca/wiki/index.php/Soda.js:_an_interface_extention_to_Popcorn.js#Project_Details">view updates on the wiki page</a>.</p>
<blockquote><p>The Time Line for this Project:</p>
<p>0.1	Release &#8211; Oct 22, 2010<br />
0.2	Release &#8211; Nov 16, 2010<br />
0.3	Release &#8211; Dec 7, 2010</p>
<p>Actually, I remember something about a competition mentioned in class &#8211; the latest entry deadline is Dec 9. I&#8217;ll get more info on that and update when I do. If there is some kind of competition, my time line may need to modified for earlier releases. </p></blockquote>
<p><em><strong>Release 0.1</strong></em></p>
<p>For my Release 0.1, I would like to have 2 or 3 controls working. The <a href="http://zenit.senecac.on.ca/wiki/index.php/Fall_2010_Mozilla_Open_Source_Project_List#Create_Soda.js:_an_interface_extension_to_Popcorn.js">Soda.js description listed on the CDOT wiki</a> mentions &#8220;visual time lines, play/pause, changing the volume, etc.&#8221; I&#8217;ll take these controls for my release 0.1 until I have talked to Joel and find out what other features are wanted or planned for Soda.js. </p>
<p>I will measure my success by each properly working user interface control. As long as the control works and does what it&#8217;s supposed to do, I&#8217;ll be happy.  </p>
<p><em><strong>Releases 0.2 and 0.3</strong></em> </p>
<p>I&#8217;ll have to update this after speaking to Joel.</p>
<p>The success of release 0.2 and 0.3 will be measured the same way release 0.1 is measured. The controls need to work, and hopefully by this time, I should have some feedback to consider for 0.2 and 0.3. </p>
<p><em><strong>Technologies I&#8217;ll need to Learn</strong></em></p>
<p>The technologies needed for this project are <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>, <a href="http://en.wikipedia.org/wiki/HTML5_video">&lt;video&gt;</a>, <a href="http://en.wikipedia.org/wiki/Canvas_element">&lt;canvas&gt;</a> and <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a>. I will need to brush up on my JavaScript, and get to know the video and canvas elements. My only experience with canvas is what I saw while testing the <a href="http://www.chromeexperiments.com/">Chrome Experiments</a>. I can say I was definitely impressed and I look forward to starting some research. </p>
<p>My plan is to locate and utilize tutorials. I&#8217;ve learned in the past that <a href="http://cldenobrega.wordpress.com/2010/02/10/learning-antlr-language-implementation-patterns/">reading is nice</a>, but actually working with the stuff (aka. just jumping right in) is a lot more effective. </p>
<p><em><strong>Resources:</strong></em></p>
<ul>
<li><a href="https://developer.mozilla.org/en">Mozilla Developer Network</a>&#8216;s <a href="https://developer.mozilla.org/en/JavaScript/A_re-introduction_to_JavaScript">&#8216;A re-introduction to JavaScript&#8217;</a>. </li>
<li>MDN also has a <a href="https://developer.mozilla.org/en/HTML">Quick Reference for HTML</a> &#8211; a <a href="https://developer.mozilla.org/en/Canvas_tutorial">canvas tutorial</a> and <a href="https://developer.mozilla.org/en/HTML/HTML5">doc on HTML5 support</a>.</li>
<li>MDN doc on <a href="https://developer.mozilla.org/en/HTML/Element/video">&lt;video&gt;</a></li>
</ul>
<p>I think these are nice places to get started. </p>
<p><em><strong>Contacts</strong></em></p>
<p>So far, I have contacted <a href="http://vocamus.net/dave/?page_id=2">Humph </a>about the work on this project. He has given me links to the <a href="http://globallives.org/">Global Lives Project</a> and sent me a few interface mock ups. Humph has also introduced me to <a href="http://annasob.wordpress.com/">Anna Sobiepanek</a> (the main <a href="http://www.senecac.on.ca/">Seneca</a>/<a href="https://wiki.mozilla.org/PopcornOpenVideoAPI">Popcorn.js</a> developer) and is trying to connect me with Joel Young (the main developer for the  video wrapper and user interface work for the Global Lives Project). I have yet to meet <a href="https://www.drumbeat.org/users/brett-gaylor">Brett Gaylor</a>, a filmmaker who works for the <a href="http://www.mozilla.org/foundation/">Mozilla Foundation</a>, whom I believe I might find in #<a href="https://wiki.mozilla.org/Drumbeat">drumbeat</a> on <a href="http://irc.mozilla.org/">Moznet</a>.</p>
<p><em><strong>Collaboration and Contribution Opportunities</strong></em></p>
<p>A great way for people to get involved with Soda.js is to test the user interface controls as they come out with each release. Users and feedback will be much needed.  </p>
<p>I also hope to contribute to other projects this semester. As I will be working with <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript</a>, <a href="http://en.wikipedia.org/wiki/HTML5_video">&lt;video&gt;</a>, <a href="http://en.wikipedia.org/wiki/Canvas_element">&lt;canvas&gt;</a> and <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a> for this project, I would like to contribute to other projects that utilize these technologies. I know some of <a href="http://zenit.senecac.on.ca/wiki/index.php/Fall_2010_Open_Source_Students">my colleagues</a> will be using these same technologies and I look forward to <a href="http://zenit.senecac.on.ca/~chris.tyler/planet/">following their blogs</a>.  </p>
<p><em><strong>Barriers</strong></em></p>
<p><a href="http://cldenobrega.wordpress.com/2010/01/30/initial-project-plan-learning-processing-and-antlr/">Last time</a>, I had a few barriers. This time I only have one. <strong>I&#8217;m afraid that this project will end up like the ANTLR one and not be completed</strong>. Last time, I got stuck and I gave up. Given how often you&#8217;re supposed to get stuck when working in Open Source, I have a feeling this threat is going to loom over my head the entire semester.</p>
<p>I suppose the looming is a good thing because, so far, it has kept me going coming back &#8211; to <a href="http://zenit.senecac.on.ca/wiki/index.php/Firefox_Performance_Testing_Lab_Fall_2010_cldenobrega">test the Chrome Experiments</a>, <a href="http://zenit.senecac.on.ca/wiki/index.php/Firefox_Performance_Testing_Lab_Fall_2010">file some bugs</a>, and research the soda.js project. I keep reminding myself that (I&#8217;m quoting Humph) 1) <em>&#8220;the norm is to feel lost&#8221;</em> and 2) <em>&#8220;Try to answer your own question. When you really get stuck, ask IRC, don&#8217;t give up&#8221;</em>. I think, this semester, all of the looming and the determination to not let Soda go down the same path as my ANTLR project are going to get the Soda releases out and on time. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/175/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/175/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/175/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=175&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/10/01/initial-project-plan-for-soda-js-an-interface-extention-to-popcorn-js/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
		<item>
		<title>Hopping onto IRC</title>
		<link>http://cldenobrega.wordpress.com/2010/09/23/hopping-onto-irc/</link>
		<comments>http://cldenobrega.wordpress.com/2010/09/23/hopping-onto-irc/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 17:24:49 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=161</guid>
		<description><![CDATA[Here&#8217;s the first time I&#8217;ve hopped back on IRC in months. I would like to thank this wiki page about IRC and its hyperlink on registering your /nick for helping me shake the rust off. I&#8217;m using the ChatZilla! add-on for Firefox and I highly recommend it. I would like to give screen + irssi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=161&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the first time I&#8217;ve hopped back on IRC in months. I would like to thank <a href="http://zenit.senecac.on.ca/wiki/index.php/Irc">this wiki page about IRC</a> and <a href="http://freenode.net/faq.shtml#registering">its hyperlink on registering your /nick</a> for helping me shake the rust off. </p>
<p>I&#8217;m using the <a href="http://chatzilla.hacksrus.com/">ChatZilla! add-on for Firefox</a> and I highly recommend it. I would like to give <a href="http://www.gnu.org/software/screen/screen.html">screen</a> + <a href="http://www.irssi.org/">irssi</a> a shot, but I&#8217;ll save that for when I have more time to kill. </p>
<p>This time, I&#8217;m writing down a few basic commands &#8211; in case I ever get rusty again!</p>
<p><code>/nick cldenobr<br />
/msg nickserv identify <em>top-secret-password!</em></code></p>
<p>because I know I&#8217;ll forget how to identify myself. </p>
<p><code>/join #seneca<br />
/leave</code></p>
<p>I forgot about <em>/leave (leave a channel)</em> and only remembered <em>/quit (quit entire IRC session)</em>. </p>
<p><code>/msg humph ping</code></p>
<p>sends a private message to <a href="http://vocamus.net/dave/?page_id=2">humph</a>, because I&#8217;ll have to contact him in a sec.</p>
<p>My nicks are <strong>cldenobr </strong>and <strong>cldenobrega</strong>.<br />
If I&#8217;m online, you&#8217;ll find me lurking on <strong>#seneca</strong>. =)</p>
<p>That&#8217;s all I need to function on IRC right now. I&#8217;ll update this post if I forget something really important.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/161/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/161/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/161/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=161&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/09/23/hopping-onto-irc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
		<item>
		<title>Lab 1: Minefield, Chromium &amp; Chrome Experiments</title>
		<link>http://cldenobrega.wordpress.com/2010/09/17/lab-1-minefield-chromium-chrome-experiments-2/</link>
		<comments>http://cldenobrega.wordpress.com/2010/09/17/lab-1-minefield-chromium-chrome-experiments-2/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 10:29:05 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=154</guid>
		<description><![CDATA[I&#8217;ve been working on Lab 1: Firefox Performance Testing &#8211; I was assigned Chrome Experiments numbers 101-110. This was the first time I&#8217;ve really worked with Minefield (last time I managed to build it and break it right away, then that was it) and it was also the first time I&#8217;ve really tested out Chrome [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=154&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working on <a href="http://zenit.senecac.on.ca/wiki/index.php/Firefox_Performance_Testing_Lab_Fall_2010">Lab 1: Firefox Performance Testing</a> &#8211; I was assigned <a href="http://www.chromeexperiments.com/">Chrome Experiments</a> numbers 101-110. This was the first time I&#8217;ve really worked with <a href="http://nightly.mozilla.org/">Minefield</a> (<a href="http://cldenobrega.wordpress.com/2010/02/09/building-firefox/">last time</a> I managed to build it and break it right away, then that was it) and it was also the first time I&#8217;ve really tested out Chrome (or <a href="http://build.chromium.org/buildbot/snapshots/">Chromium</a>). </p>
<p>I never really cared to try out <a href="http://www.google.com/chrome">Google Chrome</a> &#8211; I had <a href="http://www.mozilla.com/en-US/firefox/upgrade.html">Firefox</a>. From this lab, I have re-learned a valuable lesson and received one hell of a first impression: </p>
<ul>
<li>It reminded me why I should be testing out new applications, regardless of how much I like what I&#8217;m using right now. I&#8217;ll admit that I got lazy. I have a new respect for Google Chrome &#8211; it ran the Chrome Experiments so beautifully. </li>
<li>I don&#8217;t know what I was expecting from the Chrome Experiments, but I was blown away. I  have heard Dave talk about the <a href="http://en.wikipedia.org/wiki/Canvas_element"><em>canvas</em> tag</a>, <a href="http://en.wikipedia.org/wiki/HTML5">HTML5 </a>and <a href="http://en.wikipedia.org/wiki/JavaScript">JavaScript </a>numerous times and I though they sounded wonderful, but I had yet to really look into them. I was so impressed with some of the Chrome Experiments that I started looking for people to show them to. Of the Chrome Experiments, my favourites (so far) are <a href="http://www.chromeexperiments.com/detail/multiuser-sketchpad/">Multiuser Sketchpad</a> and <a href="http://www.chromeexperiments.com/detail/canvas-cycle/">Canvas Cycle</a>, though I found all of the experiments I tested very exciting.
<li>
</ul>
<p>I didn&#8217;t expect to enjoy myself as much as I did. I know there&#8217;s more to the lab, so I&#8217;ll be back when that&#8217;s started.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/154/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/154/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/154/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=154&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/09/17/lab-1-minefield-chromium-chrome-experiments-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
		<item>
		<title>Hello, again.</title>
		<link>http://cldenobrega.wordpress.com/2010/09/11/hello-again/</link>
		<comments>http://cldenobrega.wordpress.com/2010/09/11/hello-again/#comments</comments>
		<pubDate>Sat, 11 Sep 2010 06:17:00 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=121</guid>
		<description><![CDATA[Aloha, I&#8217;m Crystal. It&#8217;s been a while since I&#8217;ve posted anything to this blog. Last time I took OSD600, I failed to do any of the work. I know Dave constantly mentions the importance of failing in Open Source, though I&#8217;m pretty sure my kind of fail isn&#8217;t what he is talking about. So I&#8217;m [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=121&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Aloha, I&#8217;m <a href="http://zenit.senecac.on.ca/wiki/index.php/User:Cldenobrega">Crystal</a>. </p>
<p>It&#8217;s been a while since I&#8217;ve posted anything to this blog. Last time I took <a href="http://zenit.senecac.on.ca/wiki/index.php/OSD600">OSD600</a>, I failed to do any of the work. I know <a href="http://vocamus.net/dave/">Dave </a>constantly mentions the <a href="http://vocamus.net/dave/?p=855">importance of failing</a> in Open Source, though I&#8217;m pretty sure my kind of fail isn&#8217;t what he is talking about. So I&#8217;m back again &#8211; I was inspired enough to want to give Open Source Development another shot.  </p>
<p>I went through the <a href="http://zenit.senecac.on.ca/wiki/index.php/DPS909_and_OSD600_Fall_2010_Weekly_Schedule">week one readings</a>, again. I was curious to see if I&#8217;d have a different perspective this time around. I started with the video <a href="http://en.wikipedia.org/wiki/Revolution_OS">Revolution OS</a> because I knew how long <a href="http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/578/499">The Cathedral and the Bazaar</a> is. The first time I watched <a href="http://video.google.ca/videoplay?docid=7707585592627775409&amp;q=open+source#">Revolution OS</a>, I understood the very basic idea of &#8216;freedom&#8217; in Open Source software: Free, not as in price, but free as in Freedom. Freedom to use the software, look at the code and change it up, etc. I enjoyed the video mostly because it enabled me to put names to faces. </p>
<p>This time around, what really stood out to me was the freedom to form a community. I originally didn&#8217;t pick up on the way all the other freedoms came together to enable this one freedom.<em> Freedom to form a community and to create a better society to live in</em>, that is what I remember of <a href="http://en.wikipedia.org/wiki/Richard_Stallman">Richard Stallman</a> this time. This is important to me because last semester, I was focused on the freedom to look at and modify code. I shyed away from the freedom to engage and talk to as many people as possible. The freedom to wander into the bazaar, *meet people*, and to contribute to the the Bazaar in some way. </p>
<p>Speaking of Bazaar, my favourite part of <a href="http://en.wikipedia.org/wiki/Eric_Raymond">Eric Raymond&#8217;s</a> <a href="http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/578/499">Cathedral and Bazaar</a> paper is simply the title. The analogy is a great intro to Open Source methodology and just makes everything really easy to visualize and understand. I have always remembered rule #3 because I really didn&#8217;t want to do it:</p>
<blockquote><p>3. &#8220;Plan to throw one away; you will, anyhow.&#8221; (Fred Brooks, The Mythical Man-Month, Chapter 11)</p></blockquote>
<p>I hate that rule as I begrudgingly know it&#8217;s true. The first time around is more of a trial than anything else. Maybe something more like a first draft? Anyway, Dave changed my disposition towards this rule when he asked the class <em>&#8216;Have any of you ever received somebody else&#8217;s code and wished they had thrown it away?&#8217;</em>  </p>
<p>I have grumbled, and decided I like rule #3.</p>
<p>The final assigned reading was the <a href="http://www.nytimes.com/2009/07/26/technology/companies/26mozilla.html?_r=1">NY Times article &#8216;For Mozilla and Google, Group Hugs Get Tricky &#8216;</a>. I think it was a great article as the details between Mozilla and Google&#8217;s relationship is interesting. What&#8217;s more interesting is the next step, <a href="http://zenit.senecac.on.ca/wiki/index.php/Firefox_Performance_Testing_Lab_Fall_2010">Lab 1</a>: checking out <a href="http://www.chromeexperiments.com/">Chrome Experiments</a> and getting in to part of the competition between the two browsers.  </p>
<p>That&#8217;s all for my not-so-first post. Thanks for reading!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/121/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/121/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/121/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=121&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/09/11/hello-again/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
		<item>
		<title>Thunderbird Bug Fix Lab</title>
		<link>http://cldenobrega.wordpress.com/2010/02/28/thunderbird-bug-fix-lab/</link>
		<comments>http://cldenobrega.wordpress.com/2010/02/28/thunderbird-bug-fix-lab/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 11:42:45 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=94</guid>
		<description><![CDATA[Dave had everyone in the class working on the Thunderbird Bug Fix Lab on Thursday. The lab should give us first-hand experience in creating, fixing and submitting a patch. The first thing I did was create an account on Mozilla&#8217;s fake Bugzilla. Then I filed a dummy bug. When I went to file the bug, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=94&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Dave had everyone in the class working on the <a href="http://zenit.senecac.on.ca/wiki/index.php/Thunderbird_Bug_Fix_Lab">Thunderbird Bug Fix Lab</a> on Thursday.</p>
<p>The lab should give us first-hand experience in creating, fixing and submitting a patch. </p>
<p>The first thing I did was create an account on <a href="https://landfill.bugzilla.org/bugzilla-3.0-branch/">Mozilla&#8217;s fake Bugzilla</a>. Then <a href="https://landfill.bugzilla.org/bugzilla-3.0-branch/show_bug.cgi?id=7333">I filed a dummy bug</a>. </p>
<p>When I went to file the bug, I got hit with a ton of form fields. I got a little confused, so I went over to <a href="https://bugzilla.mozilla.org/">the real Bugzilla</a> to observe how others file their bugs. Dave mentioned at the start of the semester that people who are not developers often file bugs. If I wasn&#8217;t a programming student, I would have looked at those form fields and hit the back button. I ended up writing in a summary and description, leaving everything else blank or at its default. Now that I think about it, the description I wrote is pretty ugly. </p>
<p>When I tried to do a <a href="https://developer.mozilla.org/en/Simple_Thunderbird_build">debug build of Thunderbird</a>  that night, I was met with an error:</p>
<table align="center">
<tr>
<td>
<a href="http://cldenobrega.files.wordpress.com/2010/02/shredder1.png"><img src="http://cldenobrega.files.wordpress.com/2010/02/shredder1.png?w=150&#038;h=76" alt="WARNING: NS_ENSURE_TRUE(compMgr) failed: ... nsComponentManagerUtils.cpp, line 90" title="shredder1" width="150" height="76" class="alignleft size-thumbnail wp-image-100" /></a>
    </td>
<td>
<a href="http://cldenobrega.files.wordpress.com/2010/02/shredder21.png"><img src="http://cldenobrega.files.wordpress.com/2010/02/shredder21.png?w=150&#038;h=96" alt="WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040154: ... Could not initialize nsContentUtils: \'Error\'" title="shredder2" width="150" height="96" class="size-thumbnail wp-image-102" /></a>
    </td>
</tr>
</table>
<p>Two Screen Shots. The first one is a warning I missed the first 2 times I ran Shredder (scrolls by too fast). The second one is of Shredder right before it died on me. Here&#8217;s that lovely error:</p>
<p><code><br />
WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80040154: file c:/comm-central/mozilla/content/base/src/nsContentUtils.cpp, line 383<br />
###!!! ASSERTION: Could not initialize nsContentUtils: 'Error', file c:/comm-central/mozilla/layout/build/nsLayoutStatics.cpp, line 168</code></p>
<p>and the only reason I typed that out is so Google can find it. </p>
<p>I probably should have started by searching <a href="http://www.bugzilla.org/">Bugzilla</a>, but habit sent me to Google. I wanted to find anyone who had encountered this bug. Maybe it&#8217;s because I was using nsContentUtils.cpp, nsLayoutStatics.cpp, and variations of the two in my search criteria. I was taken to <a href="http://zenit.senecac.on.ca/~chris.tyler/planet/">Planet CDOT</a>, where <a href="http://jmchen11.wordpress.com/2010/02/26/thunderbird-debug-build/">Jianming blogged about encountering the same error</a>. I was still unable to find out how to fix the problem. Actually, I feel really lucky that I found Jianming&#8217;s blog. I bet there are others blogging about the same error. I also bet they posted screen shots of their errors. Google won&#8217;t find those posts for me.    </p>
<p>I changed my approach by google-ing for <a href="https://lists.mozilla.org/listinfo">a list of mozilla&#8217;s mailing lists</a>. I wanted to search any Thunderbird-related mailing-list archives. I went through <a href="http://groups.google.com/group/mozilla.dev.apps.thunderbird/topics?pli=1">dev-apps-thunderbird</a>, <a href="http://groups.google.com/group/mozilla.feedback.thunderbird/topics">feedback-thunderbird</a>, <a href="http://groups.google.com/group/mozilla.feedback.thunderbird.prerelease/topics">feedback-thunderbird-prerelease</a>, and <a href="http://groups.google.com/group/mozilla.support.thunderbird/topics">support-thunderbird</a>. At the time, I didn&#8217;t find anything.  </p>
<p>Actually, it&#8217;s been 4 days since I originally searched those Thunderbird mailing lists. As I was writing this post, and creating a link to dev-apps-thunderbird, <a href="http://groups.google.com/group/mozilla.dev.apps.thunderbird/browse_thread/thread/051b1b91596a3ea7#">I found this post by Mark Banner (Trunk Builds &#8211; current failures)</a>. It&#8217;s a nice surprise. </p>
<p>With no success in the mailing list archives, so I finally went after <a href="http://www.bugzilla.org/">Bugzilla</a>. Again, I couldn&#8217;t find anything. </p>
<p>I didn&#8217;t know where else to search, so I called it a night. </p>
<p>The next day, I went to check up on CDOT to see if Jianming had any luck with the error. Instead, <a href="http://asalga.wordpress.com/2010/02/26/not-building-minefield/">Andor Salga&#8217;s &#8220;(Not) Building Minefield&#8221;</a> came up. When his build wasn&#8217;t working, he checked <a href="https://developer.mozilla.org/en/Tinderbox">Tinderbox</a>. It was one more place to search, so I went with that. Turns out <a href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Thunderbird">Thunderbird&#8217;s &#8216;WINNT 5.2 comm-central check %&#8217; is burning</a>. At least the problem isn&#8217;t me.  </p>
<p>There&#8217;s a link right above the chart, leading to <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=546913">Bug 546913</a>.  </p>
<p>Turns out there was a bug filed regarding nsContentUtils.cpp and nsLayoutStatics.cpp. It was filed on the 18th (a week earlier). I guess I suck at searching. <a href="http://ccgi.standard8.plus.com/blog/">Mark Banner</a>, the same guy who posted on <a href="https://lists.mozilla.org/listinfo/dev-apps-thunderbird">dev-apps-thunderbird</a>, is the one assigned to the bug. Best part is, I think he&#8217;s almost done with his fix. He had a patch that was waiting for review. When I checked <a href="http://tinderbox.mozilla.org/showbuilds.cgi?tree=Thunderbird">Tinderbox </a>again (today) I see that the trunk is building (1h and 5 minutes have elapsed).  </p>
<p>For now, I&#8217;ve been reading <a href="http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_Incremental_Build_Lab">zenit&#8217;s Real World Mozilla Incremental Build Lab</a> and <a href="http://asalga.wordpress.com/2009/10/07/patches/">Andor&#8217;s post on Patches</a>. Trying to figure out how to apply patches and what not. If the trunk turns green again, I&#8217;ll try applying Mark Banner&#8217;s patch myself. I&#8217;ll need the practice anyway. </p>
<p>For now, I&#8217;ll keep an eyeball on Tinderbox while I read up on patches. and ANTLR.<br />
I haven&#8217;t given up on that. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=94&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/02/28/thunderbird-bug-fix-lab/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>

		<media:content url="http://cldenobrega.files.wordpress.com/2010/02/shredder1.png?w=150" medium="image">
			<media:title type="html">shredder1</media:title>
		</media:content>

		<media:content url="http://cldenobrega.files.wordpress.com/2010/02/shredder21.png?w=150" medium="image">
			<media:title type="html">shredder2</media:title>
		</media:content>
	</item>
		<item>
		<title>New Plan of Attack &#8211; ANTLR grammar</title>
		<link>http://cldenobrega.wordpress.com/2010/02/11/new-plan-of-attack-antlr-grammar/</link>
		<comments>http://cldenobrega.wordpress.com/2010/02/11/new-plan-of-attack-antlr-grammar/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 09:17:54 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=68</guid>
		<description><![CDATA[I did some reading last night. Yes, the Language Implementation Patterns book, but that&#8217;s not what I want to talk about. I went through wk 5s&#8217; class reading &#8216;Code Reading: An Open Source Perspective&#8217; &#8211; Chapter 11. Curiosity + avoiding studying for a mid-term. If I accessed it via the wiki link, I wasn&#8217;t able [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=68&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I did some reading last night. Yes, the <a href="http://www.pragprog.com/titles/tpdsl/language-implementation-patterns">Language Implementation Patterns book</a>, but that&#8217;s not what I want to talk about. </p>
<p>I went through <a href="http://zenit.senecac.on.ca/wiki/index.php/OSD600_Winter_2010_Weekly_Schedule">wk 5s&#8217; class reading</a> <a href="http://lcweb.senecac.on.ca:2063/0201799405?uicode=seneca">&#8216;Code Reading: An Open Source Perspective&#8217;</a> &#8211; Chapter 11. Curiosity + avoiding studying for a mid-term. </p>
<blockquote><p>If I accessed it via the <a href="http://proquest.safaribooksonline.com/0201799405?uicode=seneca">wiki link</a>, I wasn&#8217;t able to log in and view full pages. I had to log into <a href="http://library.senecacollege.ca/Find_Books/electronic_books.html">Seneca libraries &gt; ebooks</a> and search from there.</p></blockquote>
<p>When I wasn&#8217;t falling asleep during the reading, I was taking notes and plotting against this semester&#8217;s ANTLR bug.</p>
<p>Here is the plan and the ideas from whence it came:</p>
<p>Plan: Locate <a href="http://processing.org/">Processing</a>&#8216;s <a href="http://www.antlr.org/">ANTLR </a>based Java grammar. Use it to model the Javascript grammar.</p>
<p>So what happened in Chapter 11? Summary + commentary:</p>
<p>There&#8217;s this dude (the author). He wants to add a new function &#8216;PHASEOFMOON&#8217; to an sql database of 34,000+ lines of Java source. </p>
<p>First thing he does is try to get an overview of the system. He finds an outline of top level directories in index.html.<br />
&#8212;&gt;After seeing Dave use <a href="http://mxr.mozilla.org/">Mozilla&#8217;s mxr</a> so much, I started to focus on the benefits of &#8216;jumping into code&#8217;. I forgot the most obvious of starting places (like index.html or a root directory) is actually a great place to start. If developers wanted you to find some information, that&#8217;s the perfect place for them to put it. </p>
<p>Next he builds the system. This way he knows any future warnings or errors will be his own doing. </p>
<p>His plan of attack is to search for documentation for functions similar to the one he&#8217;s trying to add (he&#8217;s looking for ones with similar attributes and types). He finds a few, selects the one with the most uncommon name (he calls it &#8216;using plain text-matching effectively&#8217;), and plans to use it as a model for his own function. This would keep everything uniform and help with readability and code maintenance. This is why I&#8217;m eyeballing the Java grammar now. </p>
<p>He also gets frustrated with a lack of comments in the code. You sort of feel his pain.<br />
&#8212;&gt;<strong>Let me rant. About &#8216;potm&#8217;.</strong> What the heck is &#8216;potm&#8217;? It&#8217;s the name of a function the author runs into. It&#8217;s an acronym for &#8216;phase of the moon&#8217;. That&#8217;s just <em>nasty</em>. It doesn&#8217;t even register in my brain as something to look into if I&#8217;m skimming lines of code. What&#8217;s worse is that I&#8217;m pretty sure I&#8217;ve coded assignments using acronyms for variables. I am officially ashamed. </p>
<p>The author also reads code backwards. <a href="http://www.cs.usfca.edu/~parrt/">Terence </a>gives his readers a tip in <a href="http://www.pragprog.com/titles/tpdsl/language-implementation-patterns">Lang. Implementation Patterns</a>: start with the end/outcome you want and work backwards from there. I&#8217;m thinking this backwards thing must have some merit to it. </p>
<p><strong>My favourite part.</strong> The author runs his code and gets an error. <em>So he searches the code for the error&#8217;s implementation.</em> My mind imploded. </p>
<p>There&#8217;s how you know I grew up on <a href="http://www.microsoft.com/WINDOWS/">Windows </a>and <a href="http://en.wikipedia.org/wiki/Proprietary_software">closed-source applications</a>. I&#8217;m used to getting an error and accepting it. That&#8217;s after pasting it into Google and praying someone else knew how to fix it. I realized this somewhere in week 2 of <a href="http://zenit.senecac.on.ca/wiki/index.php/OSD600">OSD600</a> and I keep having to remind myself because it doesn&#8217;t come naturally yet. Google-ing the error used to be the only way, I like the thought of getting to the error itself and finding out what its problem is.    </p>
<p>/me writes a mental note.    </p>
<p>Couple more things, don&#8217;t worry, my brain imploded so I can&#8217;t write for much longer. </p>
<p>There&#8217;s a lesson on maintaining code. Remember to update the change log with a comment, or create a README file in the source root directory indicating any modifications made.<br />
&#8212;&gt;After meeting &#8216;potm&#8217; I would take the time to do this. For the sake of humanity. </p>
<p>3 more things I learned. I&#8217;m gonna do this in point form:</p>
<ul>
<li>Code reading is opportunistic and goal-directed. That sounds pretty cold. But okay.</li>
<li>Use the build process, and execution of the system, to find code that needs attention. This is helpful in locating other files or functions that need modification after the main fix is written.</li>
<li>If you run into code that is very difficult to understand &#8211; ditch it. This is the author&#8217;s &#8216;breadth-first strategy&#8217;. Code-reading problems can be attacked from many angles, just keep going until something gives.</li>
</ul>
<p>There&#8217;s the end of the list. I&#8217;m gone. Back to studying.<br />
&#8216;potm&#8217;. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/68/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/68/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/68/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=68&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/02/11/new-plan-of-attack-antlr-grammar/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
		<item>
		<title>Learning ANTLR &#8211; Language Implementation Patterns</title>
		<link>http://cldenobrega.wordpress.com/2010/02/10/learning-antlr-language-implementation-patterns/</link>
		<comments>http://cldenobrega.wordpress.com/2010/02/10/learning-antlr-language-implementation-patterns/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 04:53:48 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=53</guid>
		<description><![CDATA[The first thing I learned about ANTLR: the best place to start is with Terence Parr&#8217;s books. I ordered them online last week, and they finally came in the mail on Monday. I was in bed when there was a knock at the door &#8211; I knew it was the mail man with my ANTLR [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=53&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The first thing I learned about ANTLR: the best place to start is with Terence Parr&#8217;s books.</p>
<p>I ordered them online last week, and they finally came in the mail on Monday. I was in bed when there was a knock at the door &#8211; I knew it was the mail man with my ANTLR books. I couldn&#8217;t kick my blankets off fast enough.  </p>
<p>I said I would start with Parr&#8217;s second book in my Initial Project Plan. One of the problems I listed in my project plan is my learning style. I planned to only read the chapters of the book I need. So here&#8217;s the problem:</p>
<p>The book lists 4 language application categories:</p>
<ol>
<li>Readers &#8211; builds a data struct from input streams</li>
<li>Generators &#8211; walks an internal data struct &amp; emits output</li>
<li>Translators &#8211; a combined reader &amp; generator</li>
<li>Interpreters &#8211; reads, decodes, executes instructions</li>
</ol>
<p>What I need to write is a translator(#3). Which means I need to write a generator(#2), which won&#8217;t work without the internal data structure created by the reader(#1). Since I have no prior language application experience, I&#8217;ll be reading most of this book &#8211; starting at the front and going from there.  </p>
<p>When I started with the front of all fronts &#8211; the Preface &#8211; I was still looking for the ANTLR community. Where are they besides the mailing lists and their wiki? Turns out <a href="http://forums.pragprog.com/forums/110">this book has a little forum</a>. Only 12 topics and 32 posts, but the last post was written 10 hours ago and some of those topics have 400, 600, 900 + views. Good to know it&#8217;s alive. </p>
<p>The preface also mentioned <a href="http://antlr.org/support.html">ANTLR&#8217;s support page</a>. Which I&#8217;ve visited before, but I must have missed almost EVERYTHING they had written on there. It&#8217;s like finding gold:</p>
<ul>
<li><a href="http://www.antlr.org/pipermail/antlr-interest/">ANTLR INTEREST ARCHIVES</a> &#8211; it&#8217;s searchable!</li>
<li>Official ANTLR IRC: #antlr on irc.oftc.net</li>
<li><a href="http://www.jguru.com/forums/home.jsp?topic=ANTLR">ANTLR&#8217;s Forum</a></li>
<li>There&#8217;s also <a href="http://www.antlr.org/mailman/listinfo/stringtemplate-interest">StringTemplate Community Support</a> &#8211; I don&#8217;t know if I&#8217;ll be needing that yet, but at least I know it&#8217;s there.</li>
</ul>
<p>I&#8217;ll be back after I read a few chapters.<br />
Toodle-loo for now!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=53&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/02/10/learning-antlr-language-implementation-patterns/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
		<item>
		<title>Building Firefox</title>
		<link>http://cldenobrega.wordpress.com/2010/02/09/building-firefox/</link>
		<comments>http://cldenobrega.wordpress.com/2010/02/09/building-firefox/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 09:14:05 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=35</guid>
		<description><![CDATA[I disappeared last week. I was taking a 5 hour nap on Tuesday, when I should have been in class. Guess I shouldn&#8217;t do that again &#8211; I missed Dave&#8217;s class on compiling Firefox. Wednesday I was back in school. I spent a few hours in TEL&#8217;s Open Lab, downloading all the the tools I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=35&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I disappeared last week. I was taking a 5 hour nap on Tuesday, when I should have been in class. Guess I shouldn&#8217;t do that again &#8211; I missed Dave&#8217;s class on compiling Firefox. </p>
<p>Wednesday I was back in school. I spent a few hours in TEL&#8217;s Open Lab, downloading all the the tools I would need to build Firefox later that night. I needed to have it built (or try to have it built) for Thursday&#8217;s class. </p>
<p>I used this task as an excuse to take over my mom&#8217;s new laptop &gt;=]</p>
<p>The list of goodies I secured from the TEL lab and the order I installed them:</p>
<blockquote><p><strong>0 &#8211; <a href="http://trial.alcohol-soft.com/en/downloadtrial.php">Alcohol52% Free Edition</a></strong> &#8211; I use a virtual drive to install all of my .iso files. I love the name and it&#8217;s wonderful.</p>
<p><strong>1 &#8211; Visual Studio 2005 Pro</strong> &#8211; decided to go with &#8217;05 because it was marked by Mozilla as &#8216;<a href="https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Windows_Prerequisites">official</a>&#8216;. Seneca students can download it (2 .iso files) from <a href="http://acs.senecac.on.ca">ACS</a> </p>
<p><strong>2 &#8211; <a href="http://www.microsoft.com/downloads/details.aspx?familyid=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&amp;displaylang=en">VS05 Team Suite Service Pack 1</a></strong></p>
<p><strong>3 &#8211; <a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=18623">Microsoft Hotfix</a></strong>  &#8211; cures a linking problem</p>
<p><strong>4 &#8211; <a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;FamilyID=71deb800-c591-4f97-a900-bea146e4fae1">Windows 7 SDK</a></strong> &#8211; went with the .iso download so I could use Alcohol52% again. I didn&#8217;t know which one to choose, so I tried the first one: x86. It didn&#8217;t work right off the bat, so I downloaded AMD64. It worked perfectly. &lt;3  Download takes 20 minutes per .iso in TEL&#39;s Open Lab.</p>
<p><strong>5 &#8211; <a href="http://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-1.4.exe">Mozillabuild</a></strong> &lt;&#8211; that links right to the mozillabuild download</p></blockquote>
<p>This is as far as I got before Thursday&#8217;s class. I started installing the files Wednesday night, fell asleep during the VS05 disk 1 install, and again during the Windows 7 SDK install. I finished installing Mozillabuild right before I left for class.</p>
<p>Monday, I finally got back to the Firefox build. I followed MDC&#8217;s &#8216;<a href="https://developer.mozilla.org/En/Simple_Firefox_build">Simple Firefox build</a>&#8216; page</p>
<p>run:<br />
<code>c:\mozilla-build\start-msvc8.bat</code></p>
<p>and a lovely window appears. Ensure your path doesn&#8217;t have any spaces in its name:<br />
<code>cd /c</code></p>
<p>get source code:<br />
<code>hg clone http://hg.mozilla.org/mozilla-central/</code> </p>
<p>got an error:<br />
<code>requesting all changes<br />
adding changesets<br />
adding manifests<br />
transaction abort!<br />
rollback completed<br />
abort: connection ended unexpectedly</code></p>
<p>Google: 5 seconds later I was at <a href="http://easleyk.wordpress.com/2010/02/04/simple-firefox-build/">Konstantin&#8217;s blog</a>. Apparently I needed to grab a LAN cable. But I was cozy in my room, on wi-fi. So I ran the command again:<br />
<code>hg clone http://hg.mozilla.org/mozilla-central/</code> </p>
<p>and again:<br />
<code>hg clone http://hg.mozilla.org/mozilla-central/</code> </p>
<p>and again:<br />
<code>hg clone http://hg.mozilla.org/mozilla-central/</code> </p>
<p>I was about to search for the LAN cable when that 4th time succeeded. I am delighted.</p>
<p>continue:<br />
<code>cd mozilla-central</code></p>
<p>create the mozconfig file, I&#8217;m going with the debug build (1.5GB larger than the release build):<br />
<code>echo '. $topsrcdir/browser/config/mozconfig' &gt; mozconfig<br />
echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-debug' &gt;&gt; mozconfig<br />
echo 'ac_Add_options --enable-debug' &gt;&gt; mozconfig<br />
echo 'ac_add_options --disable-optimize' &gt;&gt; mozconfig</code></p>
<p>build:<br />
<code>make -f client.mk</code></p>
<p>I don&#8217;t know how long the build took. I went off for 40 mins to go eat, came back, and realized the laptop had gone to sleep &#8230;. karma? </p>
<p>When the build did finish, this line didn&#8217;t work:<br />
<code>objdir-ff-release/dist/bin/firefox<br />
</code><br />
I thought firefox.exe wasn&#8217;t created. <em>Turns out my directory was named objdir-ff-debug, not objdir-ff-release</em>. Before I realized that, I had gone to Google, thinking there was a problem with my build.</p>
<p>I found a <a href="http://simon-jung.blogspot.com/2007/09/building-firefox-3-in-windows.html">blog post by Simon Jung</a>. His post is excellent &#8211; and very detailed. He wrote a note on Minefield: </p>
<blockquote><p>If there is a current Firefox session running, Minefield will open another window, it won&#8217;t actually run Minefield.</p></blockquote>
<p>After I fixed my path:<br />
<code>objdir-ff-debug/dist/bin/firefox </code></p>
<p>A window popped up &#8211; and looked exactly like the <a href="http://www.google.ca/firefox">Firefox/google search home-page-thingy</a>. It even had the Firefox icon. <em>How suspicious.</em> Turns out I had minimized my Firefox window so it was still running when I ran Minefield. I remembered what <a href="http://simon-jung.blogspot.com/">Simon Jung</a> had posted, closed the Firefox windows and tried again. This time:</p>
<p><a href="http://cldenobrega.files.wordpress.com/2010/02/yaymozbuild.jpg"><img src="http://cldenobrega.files.wordpress.com/2010/02/yaymozbuild.jpg?w=150&#038;h=84" alt="Minefield" title="yaymozbuild" width="150" height="84" class="aligncenter size-thumbnail wp-image-48" /></a><br />
The page was huge, so I tried &#8216;Ctrl + -&#8217; to shrink it &#8230;. and I broke it already.  </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=35&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/02/09/building-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>

		<media:content url="http://cldenobrega.files.wordpress.com/2010/02/yaymozbuild.jpg?w=150" medium="image">
			<media:title type="html">yaymozbuild</media:title>
		</media:content>
	</item>
		<item>
		<title>Initial Project Plan &#8211; Learning Processing and ANTLR v3</title>
		<link>http://cldenobrega.wordpress.com/2010/01/30/initial-project-plan-learning-processing-and-antlr/</link>
		<comments>http://cldenobrega.wordpress.com/2010/01/30/initial-project-plan-learning-processing-and-antlr/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 08:02:50 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=26</guid>
		<description><![CDATA[My project for this semester is creating an ANTLR based Processing to JavaScript converter. Basically, I’m using ANTLR v3 to create a tool that translates Processing code into JavaScript. The Processing.js project is working on porting Processing to JavaScript. Currently, it utilizes a series of regular expressions in order to parse the code into JavaScript. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=26&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My project for this semester is <em><strong>creating an ANTLR based Processing to JavaScript converter</strong></em>.</p>
<p>Basically, I’m using <a href="http://www.antlr.org/">ANTLR v3</a> to create a tool that translates <a href="http://processing.org/">Processing</a> code into JavaScript.</p>
<p>The <a href="http://processingjs.org/">Processing.js</a> project is working on <a href="http://en.wikipedia.org/wiki/Porting">porting</a> Processing to JavaScript. Currently, it utilizes a series of regular expressions in order to <a href="http://en.wikipedia.org/wiki/Parse">parse </a>the code into JavaScript. However, as Dave puts it, this <a href="http://vocamus.net/dave/?p=984">current method is brittle</a>.</p>
<p>There is an <a href="http://www.antlr2.org/">ANTLR v2</a> based Java grammar that translates Processing to Java. When <a href="http://www.antlr.org/">ANTLR v3</a> came out, it had JavaScript added as a new target language (a language it could translate to), enabling ANTLR to translate languages to JavaScript. The <a href="http://www.antlr.org/wiki/display/ANTLR3/ANTLR3JavaScriptTarget">JavaScript target</a> is still in beta state. It has a few bugs, but is passing many test suites. Short-term, the regular expression parser will work out. Long-term, a stand-alone converter based on ANTLR would be nicer. What I’ll be doing this semester is writing the grammar (the set of rules) needed to translate Processing to JavaScript, thus creating the converter.</p>
<p>If you’d like a peek, here is <a href="https://processing-js.lighthouseapp.com/projects/41284/tickets/224-build-a-stand-alone-processing-to-javascript-converter-based-on-antlr">THE BUG</a> Dave filed.</p>
<p>I have chosen this project because I want to do something for the <a href="https://wiki.mozilla.org/Education/Projects/ProcessingForTheWeb">Processing for the Web</a> project. I am interested in where Processing.js is going. I find that I like the Processing language on a personal level (it programs graphics!), and it has found a little space in my heart. I am also interested in learning about grammars, dusting of my JavaScript skills, and I like the word ANTLR (Both <a href="http://jjleeos.blogspot.com/">Jeff </a> and <a href="http://asydik.wordpress.com/">Mike </a>saw that one coming). I have decided that if Processing wants an ANTLR based JavaScript grammar, then I want it to have one.</p>
<p>I am about to spend this semester figuring out what it will take to produce this grammar.</p>
<p><strong>The Process:</strong></p>
<p>My work can be tracked via <a href="http://zenit.senecac.on.ca/wiki/index.php/ANTLR_Based_Processing_to_JavaScript_Converter">this fantabulous project page on the CDOT wiki</a>.<br />
As things progress, comments may appear on <a href="https://processing-js.lighthouseapp.com/">lighthouse</a>, where Dave filed <a href="https://processing-js.lighthouseapp.com/projects/41284/tickets/224-build-a-stand-alone-processing-to-javascript-converter-based-on-antlr">THE BUG</a>.<br />
I will also be updating this blog as I proceed.</p>
<blockquote><p>The Timeline:</p>
<p>0.1	Release &#8211; Feb 19th, 2010<br />
0.2	Release &#8211; Mar 19th, 2010<br />
0.3	Release &#8211; Apr 9th, 2010</p>
<p>All of these days are Fridays. 11:59pm is the latest I can submit each release before it’s counted as late. Check out my blog. When things are going well, expect earlier releases.</p></blockquote>
<p><em><strong>0.1	Release</strong></em></p>
<p>For the first release I intend to have the ANTLR grammar able to translate variables from Processing into JavaScript. The reason this is so basic is that I have approximately 20 days between today and the 0.1 release to learn <a href="http://en.wikipedia.org/wiki/ANTLR">ANTLR</a>, familiarize myself with <a href="http://www.antlr.org/works/index.html">ANTLRWorks</a> (ANTLR’s grammar development environment), dust off my Java and JavaScript skills and write the first piece of this grammar. It is possible that I could finish early. If this is the case, I will start pulling tasks out of the 0.2 release and including them with 0.1.</p>
<p>Translating variables would make an excellent starting point for this project. Once I succeed in getting a piece of the ANTLR grammar working, the rest should come along with a little time and effort.</p>
<p><em><strong>0.2	Release</strong></em></p>
<p><em>(To be updated while I learn ANTLR during the beginning of the 0.1 release)</em></p>
<p>I believe I’ll be writing 2 grammars. One for a lexer and one for a parser. Here’s the big problem. Until I get more into ANTLR and writing grammars … this section is going to be a little blank.</p>
<p>I’m in the middle of the <a href="http://www.jguru.com/faq/printablefaq.jsp?topic=ANTLR">ANTLR Translator Generator FAQ From jguru</a>. I’m reading <em>‘an overview of ANTLR and how to approach building things with it’</em>. I’m not totally hopeless.</p>
<p><em>Any update to this section will be posted on the Project Page. </em></p>
<p><em><strong>0.3	Release</strong></em></p>
<p>This release will have that nice little ANTLR based JavaScript grammar for Processing.<br />
<a href="http://processing.org/reference/environment/">PDE</a> (Processing Development Environment), <a href="https://bespin.mozilla.com/">Bespin</a>, and <a href="http://www.eclipse.org/downloads/">Eclipse </a>should be able to “compile Processing for the web”. =)</p>
<p><strong>Things I’ll Be Learning:</strong></p>
<p><a href="http://www.antlr.org/">ANTLR </a>and <a href="http://www.antlr.org/works/index.html">ANTLRWorks</a></p>
<ul>
<li>ANTLR may take a bit of time and the best place to practice it is probably by using it’s grammar development environment, ANTLRWorks. At least for the purpose of practicing examples from <a href="http://www.cs.usfca.edu/~parrt/">Terence Parr</a>’s ANTLR reference books (more on those in a sec), and examples from the <a href="http://www.antlr.org/wiki/dashboard.action">wiki</a>. Unfortunately, ANTLR’s <a href="http://www.antlr.org/wiki/display/ANTLR3/ANTLR3JavaScriptTarget">JavaScriptTarget isn’t integrated into ANTLRWorks yet</a>.</li>
</ul>
<p><a href="http://processing.org/">Processing </a>and the <a href="http://processing.org/reference/environment/">PDE</a></p>
<ul>
<li>I know nothing of Processing, but I like what I’ve seen from it. I’ll learn it so I can translate it to JavaScript. Excited.</li>
</ul>
<p>Refreshing my Java and JavaScript</p>
<ul>
<li> I need the JavaScript because it’s my target language. I must know how it works. I need Java because Terence’s reference books, and a large majority of the examples, were written for ANTLR’s Java target. I need it to learn ANTLR.</li>
</ul>
<p><strong>I Plan to Learn ‘em with these Resources:</strong></p>
<p>I’m going to be all over <a href="http://www.antlr.org/">antlr.org</a> (especially the <a href="http://www.antlr.org/wiki/display/ANTLR3/ANTLR+v3+FAQ">FAQ </a>and <a href="http://www.antlr.org/wiki/display/ANTLR3/ANTLR+v3+documentation">documentation</a>) and <a href="http://processing.org/learning/">Processing.org/learning/</a>.</p>
<p>Besides a few <a href="http://zenit.senecac.on.ca/wiki/index.php/OSD600_Winter_2010_Weekly_Schedule">class readings</a> I need to catch up on, <strong></strong></p>
<blockquote><p><strong><em>this blog is going to be about learning Processing and ANTLR v3.</em></strong></p></blockquote>
<p>The best way to learn ANTLR is from Terence Parr himself. He has 2 books out:</p>
<ol>
<li>The Definitive ANTLR Reference: Building Domain-Specific Languages</li>
<li>Language Implementation Patterns: Create Your Own Domain-Specific and General Programming Languages</li>
</ol>
<p>The second book came out Dec 31, 2009, just in time! Apparently, the first book (noted as being an excellent resource) is easier to grasp once parts of the second book is read.</p>
<p>Supplement the books with examples from <a href="http://www.antlr.org/wiki/display/ANTLR3/ANTLR+3+Wiki+Home">ANTLR’s wiki</a> (for examples in target languages other than Java) and ANTLR’s two mailing lists: <a href="http://www.antlr.org/mailman/listinfo/antlr-interest">ANTLR-[interest]</a> and <a href="http://www.antlr.org/mailman/listinfo/antlr-dev">ANTLR-[dev]</a>, and I should be good to go. I hope.</p>
<blockquote><p><strong><em>I’ve been looking high and low for ANTLR’s IRC channel.</em></strong><em> Does it exist? If anyone knows where the ANTLR developers are on IRC, I’d love to do some lurking. </em></p></blockquote>
<p><strong>Contacts:</strong></p>
<p>None. Contacting someone now would only waste their time.</p>
<p>Since I am completely new to ANTLR and its dev environment, I need to familiarize myself with it before I can ask any feasible questions. My 0.1 release requires a lot of learning. Shortly before its release, I should have a much clearer picture of what I am dealing with, and I will be able to ask some good questions. Until then, I will be sitting down with ANTLR, learning in small steps.</p>
<p>First, I must <a href="http://en.wikipedia.org/wiki/RTFM">RT<span style="text-decoration:line-through;">F</span>M</a>.</p>
<p><em>Any update to this section will be posted to the Project Page.</em></p>
<p><strong>Collaboration:</strong></p>
<p>My code will need to be tested on PDE (Processing Development Environment), Bespin and Eclipse once I’ve got the grammar going.</p>
<p>The grammar needs to be tested to ensure it translates functions properly. Anyone who would like to try breaking it is welcome.</p>
<p><strong>Contribution: </strong></p>
<p>Since this project will require me to brush up on my Java and JavaScript, as well as learn some Processing, I would be up for testing or debugging in these languages. I’m also good for any tasks that may be deemed ‘boring’. I’m not easy to bore.</p>
<p>Talk to me.</p>
<p><strong>Barriers and Risks:</strong></p>
<p>Learning <a href="http://www.antlr.org/wiki/display/ANTLR3/ANTLR3JavaScriptTarget">ANTLR3JavaScriptTarget</a>, which is still in beta state.</p>
<ul>
<li>It has poor documentation, isn’t integrated with ANTLRWorks yet, the -debug option is unavailable, and I&#8217;m told to expect bugs and problems.<br />
<em>Fix</em>: the <a href="http://www.antlr.org/api/Java/index.html">Java target API Documentation</a> will suffice for now, the rest  I have to figure out as I go.</li>
</ul>
<p>My learning style, which is very systematic.</p>
<ul>
<li>I will be hesitant to start on any code until I have thoroughly researched my topics (ANTLR, ANTLRWorks, Java, JavasScript, grammars). I like (and will be tempted) to read entire books/webpages on the subject before starting. I know I cannot approach the project in this way.<br />
<em>Fix</em>: I need to tweak the way I usually learn. I only need to learn enough code to solve the problem. Use indexes, and tables of contents. (This is the only risk I could control).</li>
</ul>
<p>ANTLR3JavaScriptTarget isn’t integrated with ANTLRWorks.</p>
<ul>
<li>I’ll need ANTLRWorks to help me work my way through examples, etc. However, when it actually comes to my grammar, ANTLRWorks won’t be of much use.<br />
<em>Fix</em>: … hum. I guess ANTLRWorks will be temporarily reduced to being a regular text editor.</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=26&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/01/30/initial-project-plan-learning-processing-and-antlr/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
		<item>
		<title>Wk 3 &#8211; On Processing</title>
		<link>http://cldenobrega.wordpress.com/2010/01/27/wk-3-on-processing/</link>
		<comments>http://cldenobrega.wordpress.com/2010/01/27/wk-3-on-processing/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 13:22:19 +0000</pubDate>
		<dc:creator>Crystal</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://cldenobrega.wordpress.com/?p=19</guid>
		<description><![CDATA[Yesterday’s class introduced me to the Processing language and the Processing.js project. I’ve seen this project around, but I didn’t look into it. I really like how Processing.js is making it possible to program graphics and render them in the browser. I also took an interest in ANTLR once Dave mentioned ‘grammar’. A part of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=19&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Yesterday’s class introduced me to the <a href="http://processing.org/">Processing language</a> and the <a href="http://processingjs.org/">Processing.js project</a>. I’ve seen this project around, but I didn’t look into it.  I really like how Processing.js is making it possible to program graphics and render them in the browser. I also took an interest in <a href="http://www.antlr.org/">ANTLR </a>once Dave mentioned ‘grammar’. A part of <a href="https://scs.senecac.on.ca/course/int522">INT522 </a>(a voice-driven web app programming course at <a href="http://senecac.on.ca/">Seneca</a>) studies <a href="http://www.vxml.org/">VoiceXML</a> grammars. I love when different courses start to touch on the same subject, so I’ve grown curious about ANTLR and would like to learn a little more. I joined the <a href="http://www.antlr.org/mailman/listinfo/antlr-interest">ANTLR-interest</a> mailing list looking for this info.</p>
<p>I think I&#8217;d be interested in working on the ANTLR based JavaScript grammar for Processing that Dave was  discussing in <a href="http://vocamus.net/dave/?p=984">this post</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/cldenobrega.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/cldenobrega.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/cldenobrega.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/cldenobrega.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/cldenobrega.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/cldenobrega.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/cldenobrega.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/cldenobrega.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/cldenobrega.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/cldenobrega.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/cldenobrega.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/cldenobrega.wordpress.com/19/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/cldenobrega.wordpress.com/19/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/cldenobrega.wordpress.com/19/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=cldenobrega.wordpress.com&amp;blog=11409952&amp;post=19&amp;subd=cldenobrega&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://cldenobrega.wordpress.com/2010/01/27/wk-3-on-processing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/26e74c246858f1a43109c61bd6324f2a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Crystal</media:title>
		</media:content>
	</item>
	</channel>
</rss>
