<?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>Thinking in Code &#187; Flex</title>
	<atom:link href="http://www.michelboudreau.com/tags/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.michelboudreau.com</link>
	<description>Michel Boudreau&#039;s Personal Blog</description>
	<lastBuildDate>Wed, 25 Apr 2012 20:18:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Git with Apache Flex</title>
		<link>http://www.michelboudreau.com/2012/02/21/git-with-apache-flex/</link>
		<comments>http://www.michelboudreau.com/2012/02/21/git-with-apache-flex/#comments</comments>
		<pubDate>Tue, 21 Feb 2012 22:18:36 +0000</pubDate>
		<dc:creator>Michel Boudreau</dc:creator>
				<category><![CDATA[Apache Flex]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[apache flex]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[contribute]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[git-svn]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[scm]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.michelboudreau.com/?p=870</guid>
		<description><![CDATA[A few days ago, Adobe migrated their subversion repository to ...]]></description>
			<content:encoded><![CDATA[<p>A few days ago, Adobe migrated their <a href="http://incubator.apache.org/flex/source.html" target="_blank">subversion repository to Apache</a>.  At the same time, the repository got <a href="https://github.com/apache/flex" target="_blank">mirrored over to GitHub</a> using git-svn.  You can now download the code for yourself and start fixing some bugs, except for the fact that doing an <code>svn checkout</code> will cost you 4gb, while doing a <code>git clone</code> will use 300mb.  Since I was a bit lost on how to fix bugs and submit them using git, I create a quick little tutorial for new contributors.</p>
<p><span id="more-870"></span></p>
<p>One thing to remember is that GitHub is <strong>not</strong> Apache&#8217;s main source control solution.  Apache still uses Subversion and as such doesn&#8217;t use the same concepts used with Git or GitHub.  For instance, if you were to fork the Flex repository, you could clone it and do all your changes and send over pull requests but the powers that be won&#8217;t accept them (as far as I heard, that might change).</p>
<p>The best thing to do would be to clone the repository directly from the Flex project so that you can easily stay up to date with the changes.  Then apply your changes locally and create a patch file by doing <code>git format-patch master --stdout &gt; your_patch_name.patch</code>.</p>
<p>After the patch file has been created, you need to attach it to a <a href="https://issues.apache.org/jira/browse/FLEX" target="_blank">Jira ticket</a> (need to register for an account). If one hasn&#8217;t been made already, create a new one and be descriptive as to what was done, why it needs to be done and maybe even your thoughts behind it; the more information the better. You should hear from one of the community in the next week or so about the status of your patch.</p>
<p>That&#8217;s all there is to it. Now go forth and contribute!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michelboudreau.com/2012/02/21/git-with-apache-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe Tour 2012 in NYC</title>
		<link>http://www.michelboudreau.com/2012/02/14/adobe-tour-2012-in-nyc/</link>
		<comments>http://www.michelboudreau.com/2012/02/14/adobe-tour-2012-in-nyc/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 22:28:32 +0000</pubDate>
		<dc:creator>Michel Boudreau</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[alan greenblatt]]></category>
		<category><![CDATA[christophe coenraets]]></category>
		<category><![CDATA[digital primates]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[jeff tapper]]></category>
		<category><![CDATA[meetup]]></category>
		<category><![CDATA[michel boudreau]]></category>
		<category><![CDATA[new york]]></category>
		<category><![CDATA[spoon foundation]]></category>
		<category><![CDATA[tour]]></category>
		<category><![CDATA[ustream]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.michelboudreau.com/?p=847</guid>
		<description><![CDATA[Some of you may have heard Adobe&#8217;s announcement that they were ...]]></description>
			<content:encoded><![CDATA[<p>Some of you may have heard <a href="http://blogs.adobe.com/flex/2012/01/announcing-flex-user-group-2012-tour-north-america-dates.html" target="_blank">Adobe&#8217;s announcement</a> that they were doing a world-wide tour revolving around Flex.  Adobe grant me to honour to host the event at our <a href="http://www.meetup.com/new-york-flex-meetup" target="_blank">monthly meetup</a>.  <a href="http://coenraets.org/blog/" target="_blank">Christophe Coenrats</a> and <a href="http://www.adobe.com/devnet/author_bios/alan_greenblatt.html" target="_blank">Alan Greenblatt</a> (of Adobe) spoke about the latest new, and Jeff Tapper (of <a href="www.digitalprimates.net" target="_blank">Digital Primates</a>) represented the <a href="http://www.spoon.as" target="_blank">Spoon Foundation</a> and what&#8217;s going on with Apache and which role Spoon has to do with it.</p>
<p>All of this was recorded and can be viewed on <a href="http://www.ustream.tv/channel/mike-s-flex-channel" target="_blank">UStream</a>.  Video after the break.</p>
<p><span id="more-847"></span></p>
<div class="oembed oembed-video oembed-ustream-tv oembed-video-ustream-tv"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="296" id="utv397573" name="utv_n_160953"><param name="flashvars" value="loc=%2F&amp;autoplay=false&amp;vid=20432301&amp;locale=en_US" /><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/viewer.swf" /><embed flashvars="loc=%2F&amp;autoplay=false&amp;vid=20432301&amp;locale=en_US" width="480" height="296" wmode="opaque" allowfullscreen="true" allowscriptaccess="always" id="utv397573" name="utv_n_160953" src="http://www.ustream.tv/flash/viewer.swf" type="application/x-shockwave-flash" /></object></div>
<div class="oembed oembed-video oembed-ustream-tv oembed-video-ustream-tv"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="296" id="utv998688" name="utv_n_4241"><param name="flashvars" value="loc=%2F&amp;autoplay=false&amp;vid=20433329&amp;locale=en_US" /><param name="wmode" value="opaque" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.ustream.tv/flash/viewer.swf" /><embed flashvars="loc=%2F&amp;autoplay=false&amp;vid=20433329&amp;locale=en_US" width="480" height="296" wmode="opaque" allowfullscreen="true" allowscriptaccess="always" id="utv998688" name="utv_n_4241" src="http://www.ustream.tv/flash/viewer.swf" type="application/x-shockwave-flash" /></object></div>
]]></content:encoded>
			<wfw:commentRss>http://www.michelboudreau.com/2012/02/14/adobe-tour-2012-in-nyc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing The New Flex Logo</title>
		<link>http://www.michelboudreau.com/2012/02/02/introducing-the-new-flex-logo/</link>
		<comments>http://www.michelboudreau.com/2012/02/02/introducing-the-new-flex-logo/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 02:15:06 +0000</pubDate>
		<dc:creator>Michel Boudreau</dc:creator>
				<category><![CDATA[Apache Flex]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[new]]></category>
		<category><![CDATA[professional]]></category>
		<category><![CDATA[voting]]></category>

		<guid isPermaLink="false">http://www.michelboudreau.com/?p=828</guid>
		<description><![CDATA[The people have spoken!  The votes have been tallied and ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">The people have spoken!  The votes have been tallied and the winning entry is displayed below.  It is still in the process of being tweaked (typography, colors, etc), but it will still stay very close to the logo shown.  I personally <em>love</em> the new logo; it&#8217;s very professional yet playful which is exactly what Flex is.  I can&#8217;t wait to see this logo in all things related Flex.</p>
<p style="text-align: center;"><a href="http://www.michelboudreau.com/wp-content/uploads/2012/02/apache_flex_black_bg1.jpg"><img class="aligncenter  wp-image-836" title="apache_flex_black_bg" src="http://www.michelboudreau.com/wp-content/uploads/2012/02/apache_flex_black_bg1.jpg" alt="" width="482" height="212" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.michelboudreau.com/2012/02/02/introducing-the-new-flex-logo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache Flex Logo Contest</title>
		<link>http://www.michelboudreau.com/2012/01/11/apache-flex-logo-contest/</link>
		<comments>http://www.michelboudreau.com/2012/01/11/apache-flex-logo-contest/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 07:00:20 +0000</pubDate>
		<dc:creator>Michel Boudreau</dc:creator>
				<category><![CDATA[Apache Flex]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[branding]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[logo]]></category>

		<guid isPermaLink="false">http://www.michelboudreau.com/?p=807</guid>
		<description><![CDATA[The Apache Flex project is throwing a logo contest!  Since ...]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://incubator.apache.org/flex" target="_blank">Apache Flex</a> project is throwing a <a href="http://incubator.apache.org/flex/logo-contest.html" target="_blank">logo contest</a>!  Since the old Flex logo is still trademarked under Adobe, we need all new branding.  Here&#8217;s your chance to <em>flex</em> your creative muscle and get a globally recognized design out to the world.  It only started yesterday, but there&#8217;s already been a few entries.  One of my favourite as of yet is this one:</p>
<p style="text-align: center;"><img class="aligncenter" title="Flex Logo" src="http://img.skitch.com/20120109-e58tu9kd6ixk7cgdhibya2kypi.png" alt="" width="450" height="450" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.michelboudreau.com/2012/01/11/apache-flex-logo-contest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Actionscript Label Statements for Loops</title>
		<link>http://www.michelboudreau.com/2011/08/28/actionscript-label-statements-for-loops/</link>
		<comments>http://www.michelboudreau.com/2011/08/28/actionscript-label-statements-for-loops/#comments</comments>
		<pubDate>Sun, 28 Aug 2011 07:04:59 +0000</pubDate>
		<dc:creator>Michel Boudreau</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Flash Platform]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[break]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[loops]]></category>
		<category><![CDATA[statement]]></category>

		<guid isPermaLink="false">http://www.michelboudreau.com/?p=747</guid>
		<description><![CDATA[I have to say that I&#8217;m ashamed that I didn&#8217;t ...]]></description>
			<content:encoded><![CDATA[<p>I have to say that I&#8217;m ashamed that I didn&#8217;t know about this beforehand. I&#8217;ve recently discovered a little feature in Actionscript called <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/statements.html#label">label statements</a>. &nbsp;I always expect to learn new things in the industry since it&#8217;s every-changing, however I did not think I would learn something new about Actionscript since I&#8217;ve used it since AS1 and have thoroughly studied AS3 when it came out.<br />
<span id="more-747"></span></p>
<p>Let&#8217;s give a quick example of a simple problem: You need to find the index of a string within a 2D array and do something with that index. &nbsp;Here&#8217;s how I would do it normally:</p>
<pre class="brush: as3; title: ; notranslate">
private function findIndex(text:String):void
{
	var row:Array;
	var index:Point;
	for(var y:uint = 0, ylen:uint = array.length; y&lt;ylen; y++)
	{
		row = array[y];
		for(var x:uint = 0, xlen:uint = row.length; x&lt;xlen; x++)
		{
			if(row[x] == text)
			{
				index = new Point(x,y);
				break;
			}
		}
		if(index)
		{
			break;
		}
	}
	// Do something with index
}
</pre>
<p>You&#8217;ll notice that within the example, the second I find the index, I break out of the loops to reduce the run time of the function.  The external loop always looks to see if &#8216;index&#8217; is not null and breaks out if it is.  I&#8217;ve never liked this approach because it adds more code than needed and sometimes its not as easy as just checking if a variable is not null.  You could always use &#8216;return&#8217; if your function is done with its purpose, but that&#8217;s not always possible.</p>
<p>The alternative to this is using label statements.  What you can do is simply &#8216;label&#8217; your loops and then when you want to break, you can specify which loop that needs to be broken.  Take our current example and let&#8217;s add label statements in it:</p>
<pre class="brush: as3; title: ; notranslate">
private function findIndex(text:String):void
{
	var row:Array;
	var index:Point;
	outer:for(var y:uint = 0, ylen:uint = array.length; y&lt;ylen; y++)
	{
		row = array[y];
		for(var x:uint = 0, xlen:uint = row.length; x&lt;xlen; x++)
		{
			if(row[x] == text)
			{
				index = new Point(x,y);
				break outer;
			}
		}
	}
	// Do something with index
}
</pre>
<p>That is much better and cleaner.  I&#8217;ve seen this done before in Java, but I have never encountered or read about it for Actionscript.  This method can also be used with the &#8216;continue&#8217; operator so that it skips the rest of the code to the next iteration or with block statements like so:</p>
<pre class="brush: as3; title: ; notranslate">
doSomething: {
	var x:uint = index.x;
	if(x &gt; 100)
	{
		break doSomething;
	}
	trace(x);
}
</pre>
<p>I don&#8217;t think I would ever use it with block statements since these could be simply replaced with &#8216;if&#8217; statements, but knowing about it can be beneficial.  I know I will be using label statements in nested loops from now on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.michelboudreau.com/2011/08/28/actionscript-label-statements-for-loops/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 1/28 queries in 0.007 seconds using disk: basic
Object Caching 539/620 objects using disk: basic

Served from: www.michelboudreau.com @ 2012-05-21 07:13:12 -->
