<?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>JacksonDunstan.com &#187; AS2</title>
	<atom:link href="http://jacksondunstan.com/articles/category/as2/feed" rel="self" type="application/rss+xml" />
	<link>http://jacksondunstan.com</link>
	<description>Mastering AS3</description>
	<lastBuildDate>Thu, 29 Jul 2010 17:27:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Argument Clash</title>
		<link>http://jacksondunstan.com/articles/683</link>
		<comments>http://jacksondunstan.com/articles/683#comments</comments>
		<pubDate>Mon, 24 May 2010 09:00:08 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[arguments]]></category>
		<category><![CDATA[clash]]></category>
		<category><![CDATA[functions]]></category>
		<category><![CDATA[local]]></category>
		<category><![CDATA[parameters]]></category>
		<category><![CDATA[variables]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=683</guid>
		<description><![CDATA[I am often burned by MXMLC: the AS3 compiler. When I am, I find this infuriating and look for the reason why this happened. Today I&#8217;ll tip you off about this problem and delve into what it means if you happen to trigger it.

My issue arose when I wrote something similar to this:

function foo&#40;val:int&#41;: void
&#123;
 [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/683/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cancelable Function</title>
		<link>http://jacksondunstan.com/articles/674</link>
		<comments>http://jacksondunstan.com/articles/674#comments</comments>
		<pubDate>Mon, 10 May 2010 09:00:01 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[callback]]></category>
		<category><![CDATA[cancel]]></category>
		<category><![CDATA[cancelable]]></category>
		<category><![CDATA[function]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=674</guid>
		<description><![CDATA[I recently had the need to cancel a callback function that I had passed to an API. The API had taken my callback function directly, so there was no way to remove the event listener. So I thought back to an old article I wrote and came up with a solution. Read on for a [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/674/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Another Gotcha</title>
		<link>http://jacksondunstan.com/articles/569</link>
		<comments>http://jacksondunstan.com/articles/569#comments</comments>
		<pubDate>Tue, 26 Jan 2010 09:00:24 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[labels]]></category>
		<category><![CDATA[ternaries]]></category>
		<category><![CDATA[ternary operator]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=569</guid>
		<description><![CDATA[I&#8217;m back from a month off for winter break! Today I&#8217;ll start off with a very short article to ease back into things. Today I&#8217;ll cover a &#8220;gotcha&#8221; that got me recently and resulted in a bug report that was pretty tough to solve. Read on to see what it was.

Consider a multi-player game with [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/569/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>For Vs. While</title>
		<link>http://jacksondunstan.com/articles/486</link>
		<comments>http://jacksondunstan.com/articles/486#comments</comments>
		<pubDate>Fri, 27 Nov 2009 09:00:19 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[loops]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[while]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=486</guid>
		<description><![CDATA[I&#8217;ve recently been seeing more and more usage of while loops by those who I presume are interested in performance. I&#8217;ve always assumed that these was not faster than for loops, but today I am finding out.

I was taught in school that for loops are syntax sugar one small step beyond while loops. That is, [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/486/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Faster isNaN()</title>
		<link>http://jacksondunstan.com/articles/450</link>
		<comments>http://jacksondunstan.com/articles/450#comments</comments>
		<pubDate>Wed, 11 Nov 2009 09:00:16 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[nan]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=450</guid>
		<description><![CDATA[You cannot directly check if a value is NaN by comparing with it. AS3, AS2, and JavaScript therefore provide a useful isNaN() function to do this very check. However, it is very slow. Today I&#8217;ll show you a workaround that results in a faster isNaN():

Consider this bit of code

!&#40;val &#60;= 0&#41; &#38;&#38; !&#40;val &#62; 0&#41;

This [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/450/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Flexible If Syntax</title>
		<link>http://jacksondunstan.com/articles/422</link>
		<comments>http://jacksondunstan.com/articles/422#comments</comments>
		<pubDate>Mon, 02 Nov 2009 09:00:48 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[booleans]]></category>
		<category><![CDATA[comma]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[operators]]></category>
		<category><![CDATA[syntax]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=422</guid>
		<description><![CDATA[This article is sort of a follow-up to my article on Flexible Loop Syntax. This was reported to my by a coworker who spotted the anomaly. I guess he had done with if the same sort of thing that I had done with for. Read on for a little insight into how the comma operator [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/422/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Repeatable Random</title>
		<link>http://jacksondunstan.com/articles/393</link>
		<comments>http://jacksondunstan.com/articles/393#comments</comments>
		<pubDate>Wed, 21 Oct 2009 09:00:25 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=393</guid>
		<description><![CDATA[Everybody knows about Math.random(), and for good reason. It&#8217;s pretty much the way to get random numbers in AS3, AS2, and JavaScript other than bizarre alternatives like AS3&#8217;s BitmapData.noise(). However, it has one critical problem that arises when you want to repeat a certain test or prevent game cheaters from exploiting the randomizer until they [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/393/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Inline Math.ceil()</title>
		<link>http://jacksondunstan.com/articles/351</link>
		<comments>http://jacksondunstan.com/articles/351#comments</comments>
		<pubDate>Mon, 05 Oct 2009 09:00:56 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[inline]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[performance]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=351</guid>
		<description><![CDATA[Math.ceil() is a common, mundane function that you likely call all the time. I know I do. If performance gets to be important and you have a Math.ceil() in some inner loop or frequently called function, consider inlining it. Below I&#8217;ll show you how and provide a test app showing you just how much CPU [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/351/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Curry Functions</title>
		<link>http://jacksondunstan.com/articles/338</link>
		<comments>http://jacksondunstan.com/articles/338#comments</comments>
		<pubDate>Mon, 28 Sep 2009 09:00:26 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[functions]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=338</guid>
		<description><![CDATA[In the midst of discussing my runnables technique for implementing function pointers over on the Rausch Generator Blog, I commented about the usefulness of the currying technique, mostly in callbacks. It occurred to me that I&#8217;ve been using a tiny helper class to curry functions for years in both AS2 and AS3, but that many [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/338/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>With Blocks</title>
		<link>http://jacksondunstan.com/articles/262</link>
		<comments>http://jacksondunstan.com/articles/262#comments</comments>
		<pubDate>Fri, 28 Aug 2009 09:00:56 +0000</pubDate>
		<dc:creator>jackson</dc:creator>
				<category><![CDATA[AS2]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[objects]]></category>
		<category><![CDATA[scope]]></category>
		<category><![CDATA[statements]]></category>
		<category><![CDATA[variables]]></category>

		<guid isPermaLink="false">http://jacksondunstan.com/?p=262</guid>
		<description><![CDATA[While plainly documented by Adobe in the Flash 10 AS3 Docs, it seems as though few programmers know about the with statement. I don&#8217;t use them much personally, but when a coworker came across one in my code recently and was puzzled, I figured I would write a quick article to cover their usage.

With blocks [...]]]></description>
		<wfw:commentRss>http://jacksondunstan.com/articles/262/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
