<?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/"
	>

<channel>
	<title>Aaron Train</title>
	<atom:link href="http://aaronmt.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://aaronmt.com</link>
	<description></description>
	<lastBuildDate>Sat, 04 Sep 2010 19:38:54 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Dabbling in Cocoa/iPhone SDK</title>
		<link>http://aaronmt.com/?p=697</link>
		<comments>http://aaronmt.com/?p=697#comments</comments>
		<pubDate>Thu, 28 Jan 2010 01:17:50 +0000</pubDate>
		<dc:creator>Aaron</dc:creator>
				<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://aaronmt.com/?p=697</guid>
		<description><![CDATA[As I gear towards graduation at Seneca College, I am actively engaged in an a professional Apple Development course. Why am I enrolled? Merely an interest for learning different languages; discovering their quirks, oddities and normalities. As well, I am using this astute scenario to experience the procedures and protocol in developing software on a [...]]]></description>
			<content:encoded><![CDATA[<p>As I gear towards graduation at <a href="https://cs.senecac.on.ca">Seneca College</a>, I am actively engaged in an a professional <a href="http://petermcintyre.wordpress.com/dps913/">Apple Development course.</a> Why am I enrolled? Merely an interest for learning different languages; discovering their quirks, oddities and normalities. As well, I am using this astute scenario to experience the procedures and protocol in developing software on a mobile device. Nonetheless, the course should be fun and a <a href="http://blogs.senecac.on.ca/senecainthenews/entry/seneca_in_the_news_august19">unique</a> learning opportunity.</p>
<p>As part of my first lab, we were to get a feel for the different interface builder UI objects within a single view in order to create a manipulating student profile. See below.</p>
<p><img class="alignnone" src="http://petermcintyre.files.wordpress.com/2010/01/lab1pic11.png" alt="" /></p>
]]></content:encoded>
			<wfw:commentRss>http://aaronmt.com/?feed=rss2&amp;p=697</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HTML5 Canvas/getImageData and the nefarious</title>
		<link>http://aaronmt.com/?p=673</link>
		<comments>http://aaronmt.com/?p=673#comments</comments>
		<pubDate>Fri, 18 Dec 2009 22:15:38 +0000</pubDate>
		<dc:creator>Aaron</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://aaronmt.com/?p=673</guid>
		<description><![CDATA[This afternoon, I indulged myself by returning to my HTML5 experimentation and tinkering, toying with the canvas element by testing the waters of different functions under the HTML5 specification API. All was good until I got to getImageData(), where I encountered an exception in console. The crux is this: I&#8217;m getting an NS_ERROR_DOM_SECURITY_ERR error when [...]]]></description>
			<content:encoded><![CDATA[<p>This afternoon, I indulged myself by returning to my HTML5 experimentation and tinkering, toying with the canvas element by testing the waters of different functions under the HTML5 specification API.</p>
<p>All was good until I got to getImageData(), where I encountered an exception in console. The crux is this: I&#8217;m getting an NS_ERROR_DOM_SECURITY_ERR error when trying to run context.getImageData()</p>
<p>A bit about getImageData():</p>
<p>To obtain an ImageData object containing a copy of the pixel data for a context, you can use the getImageData() method:</p>
<pre>var myImageData = context.getImageData(left, top, width, height);</pre>
<p>Ultimately, I wanted to use this function to place a image on canvas and perform some direct pixel manipulation; perhaps inverse an image by first getting the image data from a context.</p>
<pre>
window.addEventListener('load', function () {
  var canvas = document.getElementById("canvas");
  var ctx = canvas.getContext("2d");
  var img = new Image();

  img.addEventListener('load', function () {
    var x = 0,
      y = 0;

    ctx.drawImage(this, x, y);

    var imgd = ctx.getImageData(x, y, this.width, this.height);
    var imxpxl = imgd.data;

    for (var i = 0, n = imxpxl.length; i < n; i += 4) {
      imxpxl[i] = 255 - imxpxl[i]; // red
      imxpxl[i + 1] = 255 - imxpxl[i + 1] // green;
      imxpxl[i + 2] = 255 - imxpxl[i + 2] // blue;
      // i+3 is alpha
    }
    ctx.putImageData(imgd, x, y);
  },
  false);
  img.src = "http://www.google.ca/intl/en_ca/images/logo.gif";
},
false);
</pre>
<p>Running this code, I didn't get the results I expected. In fact, I did not think out of the ordinary was incorrect, until I checked the error console and found:</p>
<pre>Error: uncaught exception: [Exception... "Security error"  code: "1000" nsresult: "0x805303e8 (NS_ERROR_DOM_SECURITY_ERR)"  location: "file:///pixeldata.html Line: 16"]
</pre>
<p>Interesting - why the need to raise privileges? Am I forgetting something here? If I toss a,
<pre>netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");</pre>
<p>I end up with something yucky like this
<pre>try {
  try {
    imgd = ctx.getImageData(x, y, this.width, this.height);
  } catch(e) {
    netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
    imgd = ctx.getImageData(x, y, this.width, this.height);
  }
} catch(e) {
  throw new Error("unable to access image data: " + e);
}</pre>
<p>but, running the code will yield: </p>
<pre>A script from "file://" is requesting enhanced abilities that are UNSAFE and could be used to compromise your machine or data:</pre>
<p>In this case, the code will run - but it will leave you with an impression that what you're doing is wrong. </p>
<p>I'm not nefarious, I swear! No intent to do harm here. I am trying to understand the reasoning and or need for raised privileges just to extract data from a context. With a write to canvas, a nefarious user could write something nasty to context, but why with getImageData?</p>
<p>- Aaron</p>
]]></content:encoded>
			<wfw:commentRss>http://aaronmt.com/?feed=rss2&amp;p=673</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>&#8216;Stymied From Experimentation&#8217; &#8211; Firefox &#8216;View Page Source&#8217;</title>
		<link>http://aaronmt.com/?p=601</link>
		<comments>http://aaronmt.com/?p=601#comments</comments>
		<pubDate>Sat, 07 Nov 2009 17:15:38 +0000</pubDate>
		<dc:creator>Aaron</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://aaronmt.com/?p=601</guid>
		<description><![CDATA[Firefox&#8217;s &#8211; &#8216;View Source&#8217; component sucks. It must improve. Upon reading the WebMonkey article, &#8220;After Five Years on the Web Firefox Preps for the Next Round&#8220;, I was reminded of a suppressed annoyance, or &#8216;beef&#8217; I have with Firefox through reading Jonathan Nightengale&#8217;s statement. &#8220;When a developer loses the ability to view a web page’s source code [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox&#8217;s &#8211; &#8216;View Source&#8217; component sucks. It <strong>must</strong> improve.</p>
<p>Upon reading the <a href="http://www.webmonkey.com">WebMonkey</a> article, &#8220;<em><a href="http://www.webmonkey.com/blog/After_Five_Years_on_the_Web__Firefox_Preps_for_the_Next_Round">After Five Years on the Web Firefox Preps for the Next Round</a></em>&#8220;, I was reminded of a suppressed annoyance, or &#8216;beef&#8217; I have with Firefox through reading Jonathan Nightengale&#8217;s statement.</p>
<p>&#8220;<em>When a developer loses the ability to view a web page’s source code (something you can’t easily do in Flash) they can’t see how web applications and complex interactions function. And, he says, that stymies further experimentation&#8221;</em></p>
<p><em><span style="font-style: normal;">Jonathan is absolutely correct. Developers need the ability to learn from each other and the <span style="text-decoration: line-through;">only</span> </span><span style="font-style: normal;">best</span><span style="font-style: normal;"> way to do this is through viewing a web page&#8217;s source code. View Page Source is a door to undiscovered knowledge on the web.<br />
</span></em></p>
<p><em><span style="font-style: normal;">Ah yes, &#8216;View Page Source&#8217;. </span></em></p>
<p><em><span style="font-style: normal;">See, in order to boast and fully support this idea, I believe that developers need to have access to the best tools available. Developers need to harness these tools and utilize them to their fullest potential. These tools should exhibit engaging yet intuitive functionality and rewarding characteristics.</span></em></p>
<p>See, my &#8216;beef&#8217; is with Firefox&#8217;s &#8216;View Page Source&#8217;. It sucks. It&#8217;s really bad. It&#8217;s archaic. In-fact, here are <a href="https://bugzilla.mozilla.org/buglist.cgi?query_format=specific&amp;order=relevance+desc&amp;bug_status=__open__&amp;content=view+source">200 bugs spanning multiple years</a> pertaining to the simple view-source component in Firefox.</p>
<p>Here&#8217;s my personal listing of ideas to improve View Source with 5 improvements:</p>
<ol>
<li>Introduce proper syntax highlighting (crucially needed with the new HTML5 parser)</li>
<li>Links should have copy link location in the context menu</li>
<li>Line numbers should appear in a side column</li>
<li>Add view-selection-source ability</li>
<li>Interface should be tabbed!</li>
</ol>
<p>With many of those 200 (simple query search of &#8216;View Source&#8217;) filed as enhancements, it&#8217;s clear that the view-source component needs a complete overhaul.</p>
<p><img class="alignnone size-medium wp-image-618" title="View Source" src="http://aaronmt.com/wp-content/uploads/2009/11/ucGdf-300x227.jpg" alt="ucGdf" width="300" height="227" /></p>
<p>I believe that Firefox needs to revamp it&#8217;s view-source component in order to supply developers with the best tools necessary to prevent a case of being stymied from experimentation and any other further barriers of innovation on the web.</p>
<p>Developers need the best tools out there, and I feel that they are left out of what could be an awesomely improved component and uniquely defined characteristic of the entire Firefox <em>experience</em>.</p>
<p>Currently, I dont think there is a significant drive towards prioritizing this component in the browser. In fact, I dont think it has been touched in many years. It certainly feels archaic, sluggish and lacking. Has the code been touched in years?</p>
<p>So I ask the community, you reading this, do you wish to collaborate to revitalize this <span style="text-decoration: line-through;">dying</span> <em>dead</em> horse?</p>
<p>What do you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://aaronmt.com/?feed=rss2&amp;p=601</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FSOSS 2009 &#8211; So many choices</title>
		<link>http://aaronmt.com/?p=579</link>
		<comments>http://aaronmt.com/?p=579#comments</comments>
		<pubDate>Thu, 29 Oct 2009 01:56:15 +0000</pubDate>
		<dc:creator>Aaron</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://aaronmt.com/?p=579</guid>
		<description><![CDATA[As part of Toronto Open Source Week, tomorrow marks the start of the 8th annual Free Software and Open Source Symposium at Seneca College With a vast range of academically intriguing presentations and focused based hands-on workshops to choose from, I have narrowed down a listing of presentations that I will attend to. Thursday 09:00 [...]]]></description>
			<content:encoded><![CDATA[<p><img src="file:///Users/AaronMT/Library/Caches/TemporaryItems/moz-screenshot.png" alt="" /></p>
<p><img class=" alignnone" src="http://opensourceweek.ca/image/tosw2_small_blue-transparent.png" alt="Toronto Open Source Week" width="400" height="273" /></p>
<p>As part of Toronto Open Source Week, tomorrow marks the start of the 8th annual <a href="http://fsoss.senecac.on.ca/2009/">Free Software and Open Source Symposium</a> at <a href="http://www.senecacollege.ca">Seneca College</a></p>
<p><img class=" alignnone" src="http://fsoss.senecac.on.ca/2009/sites/default/files/logo.png" alt="FSOSS 2009" width="229" height="65" /></p>
<p>With a vast range of academically intriguing presentations and focused based hands-on workshops to choose from, I have narrowed down a listing of presentations that I will attend to.</p>
<div>
<table border="0">
<tbody>
<tr>
<td colspan="2"><strong>Thursday</strong></td>
</tr>
<tr>
<td>09:00 AM</td>
<td><a href="http://fsoss.senecac.on.ca/2009/node/147">Automating UI Testing with Mozmill</a></td>
</tr>
<tr>
<td colspan="2"><strong>Friday</strong></td>
</tr>
<tr>
<td>10:00 AM</td>
<td><a href="http://fsoss.senecac.on.ca/2009/node/115">Ranking the Bugs: Predicting Which Bugs Will Get Fixed</a></td>
</tr>
<tr>
<td>11:00 AM</td>
<td><a href="http://fsoss.senecac.on.ca/2009/node/133">Open Source Licensing Demystified</a></td>
</tr>
<tr>
<td>1:00 PM</td>
<td><a href="http://fsoss.senecac.on.ca/2009/node/157">Coping at the Scale of Mozilla: How Mozilla uses Open Tools to Manage Complexity</a></td>
</tr>
<tr>
<td>2:00 PM</td>
<td><a href="http://fsoss.senecac.on.ca/2009/node/126">Open Source for fun and profit: making a career out of FOSS</a></td>
</tr>
<tr>
<td>3:00 PM</td>
<td><a href="http://fsoss.senecac.on.ca/2009/node/158">3D in the browser&#8230; more than just Doom</a></td>
</tr>
</tbody>
</table>
</div>
<p>Bring on tomorrow &#8211; I hope to see you all there :)</pr>
]]></content:encoded>
			<wfw:commentRss>http://aaronmt.com/?feed=rss2&amp;p=579</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toronto Open Source Week 2009</title>
		<link>http://aaronmt.com/?p=502</link>
		<comments>http://aaronmt.com/?p=502#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:43:09 +0000</pubDate>
		<dc:creator>Aaron</dc:creator>
				<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://aaronmt.com/?p=502</guid>
		<description><![CDATA[October 24-30, 2009 Toronto Open Source Week is a celebration of Open Source technology and community throughout the Toronto area. The following events have been confirmed; additional events are being planned. Saturday, October 24 Ontario Linux Fest Monday, October 26 Open Source Showcase for Non-Profits Tuesday, October 27 FOSSLC &#8211; Web programming bootcamp Thursday, October [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://opensourceweek.ca/image/tosw2_small_blue.png" border="0" alt="Toronto Open Source Week 2009" /></p>
<h1>October 24-30, 2009</h1>
<p>Toronto Open Source Week is a celebration of  Open Source technology and community throughout the Toronto area. The following events have been confirmed; additional events are being planned.</p>
<table border="0" cellspacing="5" cellpadding="5">
<tbody>
<tr>
<td>Saturday, October 24</td>
<td><a href="http://onlinux.ca/">Ontario Linux Fest</a></td>
</tr>
<tr>
<td>Monday, October 26</td>
<td><a href="http://ontariononprofitnetwork.ca/opensource-showcase">Open Source Showcase for Non-Profits</a></td>
</tr>
<tr>
<td>Tuesday, October 27</td>
<td><a href="http://www.fosslc.org/drupal/node/462">FOSSLC &#8211; Web programming bootcamp</a></td>
</tr>
<tr>
<td>Thursday, October 29</td>
<td><a href="http://teachingopensource.org/index.php/TOSS09">Free Software and Open Source Symposium &#8211;  Workshops<br />
Teaching  	Open Source Summit</a></td>
</tr>
<tr>
<td>Friday, October 30</td>
<td><a href="http://fsoss.ca/">Free Software and Open Source Symposium &#8211;  Presentations</a></td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://aaronmt.com/?feed=rss2&amp;p=502</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
