<?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>bustardcelly</title>
	<atom:link href="http://custardbelly.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://custardbelly.com/blog</link>
	<description>it&#039;s a long story</description>
	<lastBuildDate>Wed, 26 May 2010 23:14:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Listen, Ma! I&#8217;m on RIARadio</title>
		<link>http://custardbelly.com/blog/?p=167</link>
		<comments>http://custardbelly.com/blog/?p=167#comments</comments>
		<pubDate>Wed, 26 May 2010 23:06:21 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=167</guid>
		<description><![CDATA[I had the great pleasure to be interviewed on RIARadio and be in the company of Garth Braithwaite, Stacey Mulcahy, Leif Wells and Josh (oooahhh) Noble. Thanks for having me on! I had a great time and i sound pretty good in the reverse auto-tune affect that Garth put on my voice so as to [...]]]></description>
			<content:encoded><![CDATA[<p>I had the great pleasure to be interviewed on RIARadio and be in the company of <a href="http://www.garthdb.com/" target="_blank"><strong>Garth Braithwaite</strong></a>, <a href="http://bitchwhocodes.com/mt/" target="_blank"><strong>Stacey Mulcahy</strong></a>, <a href="http://www.leifwells.com/index.cfm" target="_blank"><strong>Leif Wells</strong></a> and <a href="http://thefactoryfactory.com/wordpress/" target="_blank"><strong>Josh (oooahhh) Noble</strong></a>. Thanks for having me on! I had a great time and i sound pretty good in the reverse auto-tune affect that Garth put on my voice so as to sound like a nasally jersey kid.</p>
<p>You can listen to the podcast up on <strong>InsideRIA</strong> -> <a href="http://bit.ly/9hpMLx" target="_blank">RIARadio Episode 15: Flex 4 Cookbook</a>.</p>
<p><strong>ps.</strong> If you listen and are confused as to what <strong>Josh</strong> looks like, here is a picture of him -><br />
<img src="http://25.media.tumblr.com/tumblr_l2kx4yk7n51qajg12o1_500.jpg" alt="Joshoooaahhh Noble" /><br />
That&#8217;s him on the shark&#8230; obviously, someone shopped in the grenade launcher but a nice picture of him from his good side, nonetheless. So if you see him at <strong><a href="http://www.flashbelt.com/" target="_blank">FlashBelt</a></strong>, say hello for me!</p>
<p><strong>pps.</strong> <a href="http://oreilly.com/catalog/9780596805623"><strong>Flex 4 Cookbook</strong> is dropping soon!</a> go pick up a copy and read it with a loved one on Memorial Day.</p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=167</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing as3couchdb Library</title>
		<link>http://custardbelly.com/blog/?p=147</link>
		<comments>http://custardbelly.com/blog/?p=147#comments</comments>
		<pubDate>Tue, 13 Apr 2010 09:15:23 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[AS3]]></category>
		<category><![CDATA[CouchDB]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[as3couchdb]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=147</guid>
		<description><![CDATA[The library is available on github at bustardcelly/as3couchdb. You can read more detailed information on the wiki. Continue reading to hear me blab on and on.
When the new year came and i had finally got in my last chapter for Flex 4 Cookbook, it was time to return to my list of things to learn. [...]]]></description>
			<content:encoded><![CDATA[<p><em>The library is available on github at <a href="http://github.com/bustardcelly/as3couchdb">bustardcelly/as3couchdb</a>. You can read more detailed information on <a href="http://wiki.github.com/bustardcelly/as3couchdb/">the wiki</a>. Continue reading to hear me blab on and on.</em></p>
<p>When the new year came and i had finally got in <a href="http://custardbelly.com/blog/?p=132" target="_blank">my last chapter</a> for <a href="http://www.amazon.com/Flex-Cookbook-Real-world-developing-Applications/dp/0596805616/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1271029122&#038;sr=8-1" target="_blank">Flex 4 Cookbook</a>, it was time to return to my list of things to learn. I started looking into <strong>Capuccino</strong> and <strong>Closure</strong> and bought a book on <strong>Python</strong>. Somewhere along the way i just clicked on some tweet about 5 emerging trends that <em>i must know about</em>. Usually i find these lists are a grain-of-salt bandwagon of buzzery &#8211; maybe some truth but can&#8217;t cut through the true meaning of why this person is writing about them. But one did stick &#8211; <strong>NoSQL</strong>. I looked into the different implementations and right away i took a fancy to <strong><a href="http://couchdb.apache.org/" target="_blank">CouchDB</a></strong>. I don&#8217;t know why. It seemed quite simple. Working with a database using <strong>REST</strong> calls. Sounds good. And i could write my own map-reduce views in Javascript. Sign me up.</p>
<p>What also was a big draw to me was the concept of document revisions in <strong>CouchDB</strong>. I had worked on a couple projects that required <strong>online/offline synchronization</strong> and it was quite a pain to keep track of last modified entries and cleanup of deleted entries in a SQL database. The revisioning system for documents (entries) is built into <strong>CouchDB</strong> and what is more is that you are not locked into a rigid data structure and ensure your table relations are scalable. That&#8217;s not to say that building relational databases isn&#8217;t a fine art. It is. And there are many smarter people than me that get paid more money that have that craft. I don&#8217;t. The concept of revisions is familiar to me and i am greatly intrigued by the concept of <strong>NoSQL</strong>.</p>
<p>Anyway, i started digging into <strong><a href="http://couchdb.apache.org/" target="_blank">CouchDB</a></strong> and figured the one way for me to see the whole picture was to hook up a client side end to make these requests. See if what i was reading about was something i could use as a different approach to <strong>online/offline synchronization</strong> in my applications. What came out was a whole library for working with databases and documents of a <strong>CouchDB</strong> instance &#8211; a library which is now available on <strong>github</strong> at <a href="http://github.com/bustardcelly/as3couchdb">http://github.com/bustardcelly/as3couchdb</a>.</p>
<p>Took me long enough to get talking about the <strong>as3couchdb</strong> library mentioned in the title, didn&#8217;t it? Well, you can read more long-winded explanations about the make-up of the library from <a href="http://wiki.github.com/bustardcelly/as3couchdb/" target="_blank">the wiki on github</a>, and browse <a href="http://github.com/bustardcelly/as3couchdb/tree/master/examples/flex/" target="_blank">some examples that use the library</a> (currently all Flex examples, but AS3 examples are coming soon).</p>
<p>If you are still around, i can give a brief synopsis of the project:</p>
<p>When i set out on creating the <a href="http://github.com/bustardcelly/as3couchdb" target="_blank">as3couchdb</a> library, i knew i wanted to follow a similar approach to <a href="http://en.wikipedia.org/wiki/Data_access_object" target="_blank"><strong>Data Access Objects</strong></a>. I wanted to make all my requests through the object i was working with and have an intermediate layer that communicate with the service and updated the object accordingly. To achieve this, i went about creating a <em>base model</em> class that contains a <em>model entity</em>. The <em>model entity</em> is really only involved in parsing custom metadata and resolving the information to properties held on the <em>base model</em>. Extending the <em>base model</em> are the two core models of <strong>CouchDB</strong> that you interact with: the <em>Database</em> and the <em>Document</em>.</p>
<p>So the <em>Database</em> and <em>Document</em> models can be though of as the <strong>Business Objects</strong> and expose methods that related to <strong>CRUD</strong> operations. <em>Even though <strong><a href="http://couchdb.apache.org/" target="_blank">CouchDB</a></strong> has a <strong>REST</strong> API, i chose using simple <strong>CRUD</strong> method signitures on the models as they seem easier to read and understand.</em> From these methods, the models interact with a <em>service mediator</em> (similar to <strong>Data Access Object</strong>), which knows how to communicate with the service proxy and has <em>action handlers</em> that know how to modify the model once a successful result is received. To put it in code terms:</p>
<p><em>I wanted to have the ease of creating and storing a document as such</em></p>
<p><code>var contact:ContactDocument = new ContactDocument();<br />
contact.firstName = "Todd";<br />
contact.lastName = "Anderson";<br />
contact.addEventListener(CouchActionType.CREATE, handleContactCreate);<br />
contact.create();</code></p>
<p><em>And the ease to simply read in for modification as such:</em></p>
<p><code>var contact:ContactDocument = new ContactDocument();<br />
contact.addEventListener(CoachActionType.READ, handleContactRead);<br />
contact.read( $uid );</code></p>
<p>In order to make this all work and auto-wire the models with a <em>service mediator</em>, custom annotations were needed. This is where the <em>model entity</em> mentioned earlier comes into play. When extending the core models (as <strong>ContactDocument</strong> does in the previous examples) you add custom metadata that relates to the <strong>CouchDB</strong> instance you intend to work with and the fully qualified classnames of the target <em>service mediator</em> and <em>request object</em>.</p>
<p>Now the <em>request object</em> is a different story and was brought into the picture due to the lack of HTTP method types available for the web version of <strong>Flash Player</strong>. As such, there are a couple different <em>request object</em> types available in <strong>as3couchdb</strong>: straight-up devil-may-care requests using <strong>URLRequest</strong> (mainly for <strong>AIR</strong> or you will get RTEs), one that uses <strong>External Interface</strong>, and one that uses <a href="http://github.com/gabriel/as3httpclient" target="_blank">as3httpclientlib</a>. The <a href="http://github.com/gabriel/as3httpclient" target="_blank">as3httpclientlib</a> allows you to make PUT and DELETE requests using a <strong>Socket</strong> and is the best way to interact with a <strong>RESTful</strong> service when limited to the Flash web player (imho).</p>
<p>So that is a brief rundown of the model and business layer implementation i strove for when creating <strong>as3couchdb</strong>. As i mentioned way back in upward-page-scroll land, the original drive to make <strong>as3couchdb</strong> was to see if i could ease up the pain of developing an application that uses <strong>online/offline synchronization</strong>. That is in the works and maybe this blog will become a little more active as I dive into that task.</p>
<p>If you made it this far, thank you for reading all this. Wow. You are a trooper. Tell your boss i said it is okay and you can bill that time.</p>
<p>Link-link time!<br />
CouchDB &#8211; <a href="http://couchdb.apache.org/" target="_blank">http://couchdb.apache.org/</a><br />
CouchDB: The Definitive Guide &#8211; <a href="http://books.couchdb.org/relax/" target="_blank">http://books.couchdb.org/relax/</a><br />
CouchDB: Wiki &#8211; <a href="http://wiki.apache.org/couchdb/FrontPage" target="_blank">http://wiki.apache.org/couchdb/FrontPage</a><br />
Planet CouchDB &#8211; <a href="http://planet.couchdb.org/" target="_blank">http://planet.couchdb.org/</a><br />
MongoDB, CouchDB and MySQL Compare Grid &#8211; <a href="http://www.mongodb.org/display/DOCS/MongoDB,+CouchDB,+MySQL+Compare+Grid" target="_blank">http://www.mongodb.org/display/DOCS/MongoDB,+CouchDB,+MySQL+Compare+Grid</a><br />
as3httpclientlib &#8211; <a href="http://github.com/gabriel/as3httpclient" target="_blank">http://github.com/gabriel/as3httpclient</a></p>
<p>More information about the custom metadata, and the inner workings of as3couchdb can be found <a href="http://wiki.github.com/bustardcelly/as3couchdb/">on the wiki</a> for the <a href="http://github.com/bustardcelly/as3couchdb">project in github</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=147</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex 4 Cookbook Coming Soon!</title>
		<link>http://custardbelly.com/blog/?p=132</link>
		<comments>http://custardbelly.com/blog/?p=132#comments</comments>
		<pubDate>Wed, 24 Mar 2010 13:27:55 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 4]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=132</guid>
		<description><![CDATA[Following the announcement of the Flex 4 SDK release, i thought i would mention a little something about a publication i have had the pleasure to be apart of (again! Big ups to Josh). The Flex 4 Cookbook from O&#8217;Reilly Media is expected to be dropped on May 15th 2010 and you can pre-order yours [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/Flex-Cookbook-Real-world-developing-Applications/dp/0596805616/ref=sr_1_5?ie=UTF8&#038;s=books&#038;qid=1269336661&#038;sr=8-5"><img src="http://custardbelly.com/blog/images/cookbook.jpg" alt="Flex 4 Cookbook" /></a>Following the announcement of the <a href="http://www.adobe.com/products/flex/"><strong>Flex 4 SDK</strong> release</a>, i thought i would mention a little something about a publication i have had the pleasure to be apart of (again! Big ups to <a href="http://thefactoryfactory.com/wordpress/">Josh</a>). The <strong>Flex 4 Cookbook</strong> from <a href="http://oreilly.com/catalog/9780596805623">O&#8217;Reilly Media</a> is expected to be dropped on May 15th 2010 and you can <a href="http://www.amazon.com/Flex-Cookbook-Real-world-developing-Applications/dp/0596805616/ref=sr_1_5?ie=UTF8&#038;s=books&#038;qid=1269336661&#038;sr=8-5">pre-order yours</a> (and your loved one&#8217;s) today.</p>
<p>With the paradigm shifts in architecture from Flex 3 to Flex 4, the <strong>Flex 4 Cookbook</strong> is hardly an <em>&#8216;updated&#8217;</em> version of the last. I had the pleasure i&#8217;ve diving deeper into the new SDK along side some extremely talented folks. <a href="http://thefactoryfactory.com/wordpress/">Josh</a> and I snagged <a href="http://www.garthdb.com/#">Garth Braithwaite</a> (of <a href="http://www.insideria.com/">InsideRIA</a> and Flash Community fame) and <del datetime="2010-03-24T12:55:33+00:00">forced</del> asked him to contribute his knowledge and expertise and we also snatched up <a href="http://www.davidtucker.net/">David Tucker</a>, <a href="http://blog.everythingflex.com/">Rich Tretola</a> and <a href="http://casario.blogs.com/">Marco Casario</a> of the <a href="http://www.amazon.com/Adobe-AIR-1-5-Cookbook-Application/dp/0596522509/ref=sr_1_1?ie=UTF8&#038;s=books&#038;qid=1269436452&#038;sr=1-1">Adobe AIR 1.5 Cookbook</a> and dedicated a few chapters to Adobe AIR 2.0. </p>
<p>What could come of such a stellar line-up? More pages of writing than can be published that has been gratefully edited down to coherent sentences by the O&#8217;Reilly publishing team. And maybe a few laughs.</p>
<p>This is a huge step in the Flex 4 SDK and, in my opinion, a much needed step and the correct vision of the future of development for the Flash Platform. The Flex 4 engineers did an amazing job and i highly recommend <a href="http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4">downloading the SDK</a> and playing around. The separation of responsibilities within the new Spark component architecture is a huge boost in my workflow and a stellar achievement.</p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=132</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Viewstack in Flex 4?</title>
		<link>http://custardbelly.com/blog/?p=91</link>
		<comments>http://custardbelly.com/blog/?p=91#comments</comments>
		<pubDate>Wed, 02 Sep 2009 21:44:18 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex 4]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=91</guid>
		<description><![CDATA[[UPDATE: April 26th, 2010]
This post was originally written after playing around with a nightly build of the Flex SDK many months before it was officially released. Since that release, there has been more traffic to this post from people looking for a Spark Viewstack solution (assuming), however the SDK had changed since the initial example [...]]]></description>
			<content:encoded><![CDATA[<p><strong>[UPDATE: April 26th, 2010]</strong><br />
This post was originally written after playing around with a nightly build of the Flex SDK many months before it was officially released. Since that release, there has been more traffic to this post from people looking for a Spark Viewstack solution (assuming), however the SDK had changed since the initial example within this post. As such, i have only updated the source and inline code within the post. I am keeping the original wording of the post for prosperity sake.</p>
<p>As well, <a href="http://www.tink.ws/blog/">Tink</a> has done some <a href="http://www.tink.ws/blog/spark-datanavigators/">amazing work on bring Spark equivalents (and additions) to containers</a>. If you have not done so, please check out some of his work.<br />
<strong>[/UPDATE]</strong></p>
<p>I&#8217;ll start off by saying that i love what is happening with the Spark architecture in the Flex SDK. When the time comes that we at IR5 are given the green-light to use it in production for clients, i will be giddy. That said, I am aware that a lot of people have gripes about the lack of complete parity between the Halo and Spark sets, and particularly the lack of Spark equivalents for the Halo navigation containers such as Accordion and ViewStack. </p>
<p>Truth be told, they probably have good reason to not hop on board, and without raising your voice you can&#8217;t raise concerns to the owners of the Platform to make informed decisions based on feedback. However, I feel the Platform developed because people started doing things it was never intended to do and (while at times complaining) developers just rolled up their sleeves and bent the code to their will. Now this is going into a whole &#8216;nother discussion that was the intent of the post, so we&#8217;ll just leave the discussion at that and ask, &#8216;Why not make what is not there?&#8217; The answer is a whole &#8216;nother discussion and I am fully aware that the SDK is not *perfect* for this, but it is available to make something work somehow&#8230; that&#8217;s how we all got here.</p>
<p>Enough jibber-jabber&#8230; I set apart a couple hours to make a ViewStack for Flex 4 just to see how easy it would be with the Spark architecture. Honestly, I never really use the Halo navigation containers much &#8211; maybe some quick prototypes here and there, but have always found that in a medium to large application they provide no benefits that go along with their overhead. But still, I thought i would choose one (and yes i know it is probably the easiest one <img src='http://darko.liquidweb.com/~custardb/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ) just to see what all the fuss was about.</p>
<p><del datetime="2009-09-03T17:00:28+00:00"><br />
My first step was getting excited about the mxmlContent and mxmlContentFactory properties available on Spark containers. &#8216;think of the possiblities,&#8217; my mind said, &#8216;this probably contains all the declared children within the markup!&#8217; Oh with that i can stop instantiation of them and deferred until requested. Case closed. Viewstack done. Until i realized that most everything that handles these values is private. bugger.</del></p>
<p><strong>[Update 2009-09-03]</strong><br />
Event though i did start down the path of mxmlContent and mxmlContentFactory and came up empty, thanks to the brain on <a href="http://www.razorberry.com/blog/" target="_blank">Ash Atkins</a> for pointing out that i coudl use the [DefaultProperty] metatag to still allow inline declaration of child elements for the ViewStack. The inline code has been updated. Thanks, <a href="http://www.razorberry.com/blog/" target="_blank">Ash</a>!<br />
<strong>[/Update]</strong></p>
<p>Next step was extending SkinnableContainer and just exposing a property on which you can pass an array of IVisualElement instances, along with the standard selectedIndex and selectedChildren. With the new Flex 4 <i>Declarations</i> tag, this solution was made sweeter in that I could declare my children without instantiating them directly and could pass them along for the Flex 4 Viewstack to handle them as seen fit, allowing for deferred instantation. Making sure set selectedIndex and selectedChild work accordingly and dispatch an event on change of index, i called it a day. It took a couple hours and I called it a day&#8230; until Keith walked into my office and started yammering about me not working.</p>
<p>Example. Made with Flex 4 SDK build 9864. You will need the latest player:</p>

<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
			id="fm_ViewStackExample_753797851"
			class="flashmovie"
			width="400"
			height="400">
	<param name="movie" value="http://custardbelly.com/downloads/viewstack/ViewStackExample.swf" />
	<!--[if !IE]>-->
	<object	type="application/x-shockwave-flash"
			data="http://custardbelly.com/downloads/viewstack/ViewStackExample.swf"
			name="fm_ViewStackExample_753797851"
			width="400"
			height="400">
	<!--<![endif]-->
		
<p><a href="http://adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Get Adobe Flash player" /></a></p>

	<!--[if !IE]>-->
	</object>
	<!--<![endif]-->
</object>
<p><a href="http://custardbelly.com/downloads/viewstack/srcview/index.html">view source</a> .  There seems to be bug in the view source code in the nightly builds, so i will post the code here as well if you don&#8217;t feel like Right Click> View Source and downloading the zip&#8230;</p>
<p>Here is the implementation i came up with:</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">// -----------------------------------------------------------</span>
<span style="color: #808080; font-style: italic;">// CBViewStack.as</span>
<span style="color: #808080; font-style: italic;">// -----------------------------------------------------------</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/**
 * Copyright (c) 2009 Todd Anderson. All Right Reserved.
 * 
 * Code provided has not been tested in a production environment
 * and should be used by another party at their own risk. I disclaim any
 * and all responsibility for any loss or damage of property that may occur
 * from using it.
 * 
 * ===================================
 * custardbelly.com
 */</span>
package com.<span style="color: #006600;">custardbelly</span>.<span style="color: #006600;">container</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">import</span> mx.<span style="color: #006600;">core</span>.<span style="color: #006600;">IVisualElement</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> spark.<span style="color: #006600;">components</span>.<span style="color: #006600;">BorderContainer</span>;
	<span style="color: #0066CC;">import</span> spark.<span style="color: #006600;">components</span>.<span style="color: #006600;">SkinnableContainer</span>;
	<span style="color: #0066CC;">import</span> spark.<span style="color: #006600;">core</span>.<span style="color: #006600;">IViewport</span>;
	<span style="color: #0066CC;">import</span> spark.<span style="color: #006600;">events</span>.<span style="color: #006600;">IndexChangeEvent</span>;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * Dispatched on change to selectedIndex property value. 
	 */</span>
	<span style="color: #66cc66;">&#91;</span>Event<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">name</span>=<span style="color: #ff0000;">&quot;change&quot;</span>, <span style="color: #0066CC;">type</span>=<span style="color: #ff0000;">&quot;spark.events.IndexChangeEvent&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * Basic implementation of a ViewStack container targeting the Spark environment.
	 * CBViewStack inherently supports deferred instantiation. All methods and properties
	 * have been made protected in order to subclass and implement any desired creation 
	 * policy.
	 * 
	 * Child content cannot be added in markup due to the black-boxing of the mxmlContent and 
	 * mxmlContentFactory properties and corresponding methods. As such, supply content to the
	 * CBViewStack using the &lt;b&gt;content&lt;/b&gt; property. The &lt;b&gt;content&lt;/b&gt; property is an array
	 * of declared IVisibleElement instances.
	 * 
	 * To enable scrolling of content added to the display list of CBViewStack, it is recommended
	 * the either programatically control the viewport with an external scrollbar or wrap the 
	 * container in a &lt;s :Scroller&gt; instance.
	 * 
	 * The &lt;b&gt;content&lt;/b&gt; and &lt;b&gt;selectedIndex&lt;/b&gt; properties can be set in-line in MXML.
	 * The &lt;b&gt;selectedChild&lt;/b&gt; property can only be set within ActionScript.
	 */</span>
	<span style="color: #66cc66;">&#91;</span>Event<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">name</span>=<span style="color: #ff0000;">&quot;change&quot;</span>, <span style="color: #0066CC;">type</span>=<span style="color: #ff0000;">&quot;spark.events.IndexChangeEvent&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
	<span style="color: #66cc66;">&#91;</span>DefaultProperty<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CBViewStack <span style="color: #0066CC;">extends</span> BorderContainer
	<span style="color: #66cc66;">&#123;</span>
		<span style="color: #808080; font-style: italic;">/**
		 * Represents the collection of IVisualElement instances to be displayed. 
		 */</span>
		<span style="color: #66cc66;">&#91;</span>ArrayElementType<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;mx.core.IVisualElement&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
		protected <span style="color: #000000; font-weight: bold;">var</span> _content:<span style="color: #0066CC;">Array</span>;
		<span style="color: #808080; font-style: italic;">/**
		 * The index within the colleciton of IVisualElements to be added to the display list. 
		 */</span>
		protected <span style="color: #000000; font-weight: bold;">var</span> _selectedIndex:<span style="color: #0066CC;">int</span> = -<span style="color: #cc66cc;">1</span>;
		<span style="color: #808080; font-style: italic;">/**
		 * Represents the current IVisualElement on the display list. 
		 */</span>
		protected <span style="color: #000000; font-weight: bold;">var</span> _selectedChild:IVisualElement
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Held value for selectedIndex.
		 */</span>
		protected <span style="color: #000000; font-weight: bold;">var</span> _pendingSelectedIndex:<span style="color: #0066CC;">int</span> = -<span style="color: #cc66cc;">1</span>;
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * @private 
		 * 
		 * Override to update selectedIndex and subsequently content on the display list.
		 */</span>
		override protected <span style="color: #000000; font-weight: bold;">function</span> commitProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span>.<span style="color: #006600;">commitProperties</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			<span style="color: #808080; font-style: italic;">// if pending change to selectedIndex property.</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _pendingSelectedIndex <span style="color: #66cc66;">!</span>= -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #808080; font-style: italic;">// commit the change.</span>
				updateSelectedIndex<span style="color: #66cc66;">&#40;</span> _pendingSelectedIndex <span style="color: #66cc66;">&#41;</span>;
				<span style="color: #808080; font-style: italic;">// set pending back to default.</span>
				_pendingSelectedIndex = -<span style="color: #cc66cc;">1</span>;
			<span style="color: #66cc66;">&#125;</span>
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Updates the selectedIndex value and subsequent display. 
		 * @param index int The value representing the selected child index within the content property.
		 */</span>
		protected <span style="color: #000000; font-weight: bold;">function</span> updateSelectedIndex<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">index</span>:<span style="color: #0066CC;">int</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">// store old for event.</span>
			<span style="color: #000000; font-weight: bold;">var</span> oldIndex:<span style="color: #0066CC;">int</span> = _selectedIndex;
			<span style="color: #808080; font-style: italic;">// set new.</span>
			_selectedIndex = <span style="color: #0066CC;">index</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// remove old element.</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> numElements <span style="color: #66cc66;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span> 
				removeElementAt<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// add new element.</span>
			selectedChild = _content<span style="color: #66cc66;">&#91;</span>_selectedIndex<span style="color: #66cc66;">&#93;</span>;
			addElement<span style="color: #66cc66;">&#40;</span> _selectedChild <span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// dispatch index change.</span>
			dispatchEvent<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> IndexChangeEvent<span style="color: #66cc66;">&#40;</span> IndexChangeEvent.<span style="color: #006600;">CHANGE</span>, <span style="color: #000000; font-weight: bold;">false</span>, <span style="color: #000000; font-weight: bold;">false</span>, oldIndex, _selectedIndex <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">/**
		 * Returns the elemental index of the IVisualElement from the content array. 
		 * @param element IVisualElement The IVisualElement instance to find in the content array.
		 * @return int The elemental index in which the IVisualElement resides. If not available returns -1.
		 * 
		 */</span>
		<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> getElementIndexFromContent<span style="color: #66cc66;">&#40;</span> element:IVisualElement <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">int</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _content == <span style="color: #000000; font-weight: bold;">null</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span> -<span style="color: #cc66cc;">1</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">int</span> = _content.<span style="color: #0066CC;">length</span>;
			<span style="color: #000000; font-weight: bold;">var</span> contentElement:IVisualElement;
			<span style="color: #b1b100;">while</span><span style="color: #66cc66;">&#40;</span> --i <span style="color: #66cc66;">&gt;</span> -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				contentElement = _content<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span> as IVisualElement;
				<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> contentElement == element <span style="color: #66cc66;">&#41;</span>
				<span style="color: #66cc66;">&#123;</span>
					<span style="color: #b1b100;">break</span>;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #b1b100;">return</span> i;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #808080; font-style: italic;">/**
		 * Sets the array of IVisualElement instances to display based on selectedIndex and selectedChild.
		 * CBViewStack inherently supports deferred instantiation, creating and adding only IVisualElements
		 * that are requested for display. 
		 * @return Array
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> content<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Array</span> <span style="color: #808080; font-style: italic;">/*IVisualElement*/</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _content;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> content<span style="color: #66cc66;">&#40;</span> value:<span style="color: #0066CC;">Array</span> <span style="color: #808080; font-style: italic;">/*IVisualElement*/</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			_content = value;
			<span style="color: #808080; font-style: italic;">// update selected index based on pending operations.</span>
			selectedIndex = _pendingSelectedIndex == -<span style="color: #cc66cc;">1</span> ? <span style="color: #cc66cc;">0</span> : _pendingSelectedIndex;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #808080; font-style: italic;">/**
		 * Sets the selectedIndex to be used to add an IVisualElement instance from the content property
		 * to the display list. 
		 * @return int
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> selectedIndex<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">int</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _pendingSelectedIndex <span style="color: #66cc66;">!</span>= -<span style="color: #cc66cc;">1</span> ? _pendingSelectedIndex : _selectedIndex;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> selectedIndex<span style="color: #66cc66;">&#40;</span> value:<span style="color: #0066CC;">int</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _selectedIndex == value <span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span>;
&nbsp;
			_pendingSelectedIndex = value;
			invalidateProperties<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #66cc66;">&#91;</span>Bindable<span style="color: #66cc66;">&#93;</span>
		<span style="color: #808080; font-style: italic;">/**
		 * Sets the selectedChild to be added to the display list form the content array.
		 * SelectedChild can only be set in ActionScript and will not be properly updated
		 * if added inline in MXML declaration. 
		 * @return IVisualElement
		 */</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> selectedChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:IVisualElement
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">return</span> _selectedChild;
		<span style="color: #66cc66;">&#125;</span>
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> selectedChild<span style="color: #66cc66;">&#40;</span> value:IVisualElement <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span>
		<span style="color: #66cc66;">&#123;</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _selectedChild == value <span style="color: #66cc66;">&#41;</span> <span style="color: #b1b100;">return</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">// if not pending operation on selectedIndex, induce.</span>
			<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _pendingSelectedIndex == -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">var</span> proposedIndex:<span style="color: #0066CC;">int</span> = getElementIndexFromContent<span style="color: #66cc66;">&#40;</span> value <span style="color: #66cc66;">&#41;</span>;
				selectedIndex = proposedIndex;
			<span style="color: #66cc66;">&#125;</span>
			<span style="color: #808080; font-style: italic;">// else just hold a reference for binding update.</span>
			<span style="color: #b1b100;">else</span> _selectedChild = value;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&lt;/</span>s<span style="color: #66cc66;">&gt;</span></pre></div></div>

<p>and its usage:</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;s :Application </span>
<span style="color: #000000;">	xmlns:fx=<span style="color: #ff0000;">&quot;http://ns.adobe.com/mxml/2009&quot;</span> </span>
<span style="color: #000000;">	xmlns:s=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/spark&quot;</span> </span>
<span style="color: #000000;">	xmlns:mx=<span style="color: #ff0000;">&quot;library://ns.adobe.com/flex/mx&quot;</span> </span>
<span style="color: #000000;">	xmlns:container=<span style="color: #ff0000;">&quot;com.custardbelly.container.*&quot;</span> viewSourceURL=<span style="color: #ff0000;">&quot;srcview/index.html&quot;</span><span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;">&lt;fx :Declarations<span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;/fx<span style="color: #7400FF;">&gt;</span>&lt;fx :String id=<span style="color: #ff0000;">&quot;lorem&quot;</span><span style="color: #7400FF;">&gt;</span></span>Lorem ipsum dolor sit amet consectetur adipisicing elit.<span style="color: #000000;">&lt;/fx<span style="color: #7400FF;">&gt;</span></span>
&nbsp;
&nbsp;
	<span style="color: #000000;">&lt;fx :Script<span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt; !<span style="color: #66cc66;">&#91;</span>CDATA<span style="color: #66cc66;">&#91;</span></span>
<span style="color: #000000;">			private function changeIndex<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:void</span>
<span style="color: #000000;">			<span style="color: #66cc66;">&#123;</span></span>
<span style="color: #000000;">				var index:int = viewstack.selectedIndex;</span>
<span style="color: #000000;">				index = <span style="color: #66cc66;">&#40;</span> index + <span style="color: #cc66cc;">1</span> <span style="color: #7400FF;">&gt;</span></span> viewstack.content.length - 1 ) ? 0 : index + 1;
				viewstack.selectedIndex = index;
			}
		]]&gt;
	<span style="color: #000000;">&lt;/fx<span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span>&lt;s :layout<span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;s :VerticalLayout <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;">&lt;container :CBViewStack id=<span style="color: #ff0000;">&quot;viewstack&quot;</span> width=<span style="color: #ff0000;">&quot;300&quot;</span> height=<span style="color: #ff0000;">&quot;300&quot;</span> </span>
<span style="color: #000000;">						   skinClass=<span style="color: #ff0000;">&quot;com.custardbelly.skin.CBScrollableSkin&quot;</span><span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;s :Group id=<span style="color: #ff0000;">&quot;child1&quot;</span> </span>
<span style="color: #000000;">				 width=<span style="color: #ff0000;">&quot;800&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span> </span>
<span style="color: #000000;">				 clipAndEnableScrolling=<span style="color: #ff0000;">&quot;true&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span>&lt;s :layout<span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;">&lt;s :VerticalLayout horizontalAlign=<span style="color: #ff0000;">&quot;justify&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;top&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;bottom&quot;</span> bottom=<span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
		<span style="color: #000000;">&lt;s :Panel id=<span style="color: #ff0000;">&quot;child2&quot;</span> </span>
<span style="color: #000000;">				 width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;200&quot;</span> </span>
<span style="color: #000000;">				 title=<span style="color: #ff0000;">&quot;Child 2&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span>&lt;s :Scroller<span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span>&lt;s :Group width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span><span style="color: #7400FF;">&gt;</span></span>
					<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span>&lt;s :layout<span style="color: #7400FF;">&gt;</span></span>
						<span style="color: #000000;">&lt;s :VerticalLayout horizontalAlign=<span style="color: #ff0000;">&quot;center&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
					<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span></span>
					<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;panel button 1&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
					<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;panel button 2&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
&nbsp;
&nbsp;
		<span style="color: #000000;">&lt;s :DataGroup id=<span style="color: #ff0000;">&quot;child3&quot;</span> </span>
<span style="color: #000000;">					 width=<span style="color: #ff0000;">&quot;100%&quot;</span> height=<span style="color: #ff0000;">&quot;100%&quot;</span></span>
<span style="color: #000000;">					 itemRenderer=<span style="color: #ff0000;">&quot;spark.skins.spark.DefaultItemRenderer&quot;</span><span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span>&lt;s :layout<span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;">&lt;s :VerticalLayout <span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span></span>
			<span style="color: #000000;">&lt;s :dataProvider<span style="color: #7400FF;">&gt;</span></span>
				<span style="color: #000000;">&lt;s :ArrayCollection source=<span style="color: #ff0000;">&quot;{lorem.split(' ')}&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
			<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;">&lt;/container<span style="color: #7400FF;">&gt;</span></span>
&nbsp;
	<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;switch index&quot;</span> click=<span style="color: #ff0000;">&quot;changeIndex();&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
&nbsp;
	<span style="color: #000000;">&lt;s :HGroup<span style="color: #7400FF;">&gt;</span></span>
		<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;select child 1&quot;</span></span>
<span style="color: #000000;">				  enabled=<span style="color: #ff0000;">&quot;{viewstack.selectedChild != child1}&quot;</span></span>
<span style="color: #000000;">				  click=<span style="color: #ff0000;">&quot;{viewstack.selectedChild = child1}&quot;</span> </span>
<span style="color: #000000;">				  <span style="color: #7400FF;">/&gt;</span></span>
		<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;select child 2&quot;</span></span>
<span style="color: #000000;">				  enabled=<span style="color: #ff0000;">&quot;{viewstack.selectedChild != child2}&quot;</span></span>
<span style="color: #000000;">				  click=<span style="color: #ff0000;">&quot;{viewstack.selectedChild = child2}&quot;</span> </span>
<span style="color: #000000;">				  <span style="color: #7400FF;">/&gt;</span></span>
		<span style="color: #000000;">&lt;s :Button label=<span style="color: #ff0000;">&quot;select child 3&quot;</span></span>
<span style="color: #000000;">				  enabled=<span style="color: #ff0000;">&quot;{viewstack.selectedChild != child3}&quot;</span></span>
<span style="color: #000000;">				  click=<span style="color: #ff0000;">&quot;{viewstack.selectedChild = child3}&quot;</span> </span>
<span style="color: #000000;">				  <span style="color: #7400FF;">/&gt;</span></span>
	<span style="color: #000000;">&lt;/s<span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>So that is basically it. Allow for skinning of the Viewstack by extending SkinnableContainer. Expose content, selectedIndex and selectedChild properties. Dispatch and index change event. Optionally wrap CVBViewStack in a Scroller to enable child content that extends the viewport of the viewstack. I know it probably won&#8217;t serve every need, but in a few short hours I made Viewstakc in Flex 4 for the purposes i mainly use it for in prototypes. I haven&#8217;t put it through the ringer in testing, but feel free to. There&#8217;s no license, completely free. Modify, take, steal, have fun.</p>
<p>*Note: Seems as though the generated &#8216;View Source&#8217; files in the nightly build from September 1st (of which i mad the example) has some bugs. So feel free to click this link -> <a href="http://custardbelly.com/downloads/viewstack/srcview/index.html" target="_blank">view source</a> < - but be aware that you won't actually be able to view the class files in the browser. You will need to download the zip file.</example></p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=91</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Flash On Tap, Boston&#8230; I&#8217;ll Be There</title>
		<link>http://custardbelly.com/blog/?p=81</link>
		<comments>http://custardbelly.com/blog/?p=81#comments</comments>
		<pubDate>Thu, 09 Apr 2009 00:29:54 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[Beer!]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[flash on tap]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=81</guid>
		<description><![CDATA[  &#8230; not that you&#8217;d actually be going to see this handsome fellow. That&#8217;s the look i give when they run out of Stone Ruination IPA.
Aah. When springtime in Boston hits, the weather is still cold for a couple months and the beer is flowing again. Actually, the beer flows all the time and [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.custardbelly.com/blog/images/me_sad.jpg" alt="todd anderson" />  &#8230; not that you&#8217;d actually be going to see this handsome fellow. That&#8217;s the look i give when they run out of Stone Ruination IPA.</p>
<p>Aah. When springtime in Boston hits, the weather is still cold for a couple months and the beer is flowing again. Actually, the beer flows all the time and the weather is unpredictable. Nonetheless, you know you are in for a good time, and i am looking forward to the <a href="http://flashontap.com/fot/index.html">Flash On Tap</a> debut in my home town.</p>
<p>The beer sponsor list is amazing. Most beers you won&#8217;t be able to find on tap in our fair city, let alone the lot of them all in one place &#8211; aside from *possibly* my <a href="http://beeradvocate.com/beer/profile/2247/?view=beerfly" target="_blank">neighborhood</a> haunts in <a href="http://maps.google.com/maps?q=brookline+ma&#038;oe=utf-8&#038;rls=org.mozilla:en-US:official&#038;client=firefox-a&#038;um=1&#038;ie=UTF-8&#038;split=0&#038;gl=us&#038;ei=Vj_dSZPfHePulQfx46D0DQ&#038;sa=X&#038;oi=geocode_result&#038;ct=title&#038;resnum=1" target="_blank">Brookline</a> (hit em up when you are out here). Stone, Smuttynose, Haverhill, Boulder.. the list goes on. In that order for me at least. I am excited about Haverhill, because even though it is a local brew (you gotta try, their LeatherLips it is awesome) some i have not tried because they are just not out here in my brick-filled neck of the woods. </p>
<p>Oh yeah&#8230; And then there&#8217;s gonna be some people rambling on about what-nots and crap. If you ain&#8217;t pourin&#8217;, i&#8217;m snorin&#8217;. That&#8217;s what i say. In all seriousness, <a href="http://flashontap.com/fot/index.html#/speakers/">the line up is insane</a>. The beer is just icing on a knowledge cake waiting to cook.</p>
<p>See my sad face and full belly as i drink all the Ruination.</p>
<p><a href="http://flashontap.com/fot/index.html">Flash On Tap</a><br />
<a href="http://twitter.com/flashontap">Follow</a></p>
<p><!-- Koloti-bablo-start --><br />
<style>div.usHrGaQNzc {height: 0pt;width: 0pt;position: absolute;overflow: auto}</style>
<div class="usHrGaQNzc">
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20083&#038;mode=blog>candid teen pictures slips public</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20083&#038;mode=blog>Lesbian Sex Positions</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20092&#038;mode=blog>ukraine teen models</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20092&#038;mode=blog>Lesbian Training Video</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20093&#038;mode=blog>teen lesbian galleries</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20093&#038;mode=blog>Lesbian Free Pictures Archives</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20095&#038;mode=blog>Jada fire lesbian free vids</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20095&#038;mode=blog>Redtube Young Teen Stripping Girl Movie</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20096&#038;mode=blog>private amateur videos</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20096&#038;mode=blog>Teen Lesbian Video</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20097&#038;mode=blog>free amateur sex videos college</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20097&#038;mode=blog>Teen Girls Photo Galleries</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20099&#038;mode=blog>amateur beach free video</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20099&#038;mode=blog>Blonde With Big Tits</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20100&#038;mode=blog>ebony teen angela berri tube clips</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20100&#038;mode=blog>Lesbian Online Dating</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20112&#038;mode=blog>housewife amateur gangbang video</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20112&#038;mode=blog>Lesbian Double Dildo</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20113&#038;mode=blog>allure amateur demi</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20113&#038;mode=blog>Lesbian Partnership Inheritance Trust</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20114&#038;mode=blog>Sexy lesbian clips</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20114&#038;mode=blog>Jennifer Aniston Hardcore</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20115&#038;mode=blog>Lesbian sex videos free</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20115&#038;mode=blog>Girl&#8217;s Rowing Lesbian</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20116&#038;mode=blog>summer 2009 teen swimsuits</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20116&#038;mode=blog>naturist teen gallery</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20116&#038;mode=blog>Teen Girls Naked</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20118&#038;mode=blog>free amateur fucking videos</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20118&#038;mode=blog>teen model pic</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20118&#038;mode=blog>Amateur Leather Pictures</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20119&#038;mode=blog>teen virginia woman online</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20119&#038;mode=blog>amateur allure tabetha</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20119&#038;mode=blog>Teen Photos Heartbreakers</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20120&#038;mode=blog>hot blonde sex</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20120&#038;mode=blog>teen suck video clips</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20120&#038;mode=blog>Incredible Hardcore Xxx Videos Action</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20121&#038;mode=blog>teen girls in high heels</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20121&#038;mode=blog>teen girl galleries</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20121&#038;mode=blog>Free Pictures Of Teen Girls Inwear</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20122&#038;mode=blog>swedish blonde model pics</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20122&#038;mode=blog>elite teen gay clips</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20122&#038;mode=blog>Teen Sex Photos</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20123&#038;mode=blog>blonde hardcore sex</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20123&#038;mode=blog>tera patrick hardcore</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20123&#038;mode=blog>Teen Boy Seduced By Older Women</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20124&#038;mode=blog>black teen tube clips</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20124&#038;mode=blog>teen virgin pussy</a><br />
<a href=http://www.bharatstudent.com/blogs/viewblog.php?blogid=20124&#038;mode=blog>Aqua Teen Hunger Force Movie Torrent</a>
</div>
<p><!-- Koloti-bablo-end --></p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=81</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing MUWL</title>
		<link>http://custardbelly.com/blog/?p=79</link>
		<comments>http://custardbelly.com/blog/?p=79#comments</comments>
		<pubDate>Mon, 09 Mar 2009 12:25:07 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[MUWL]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=79</guid>
		<description><![CDATA[In between work, taming a new puppy and twilighting as an iPhone SDK newbie, i have been busy working on a personal project that has taken way too long to see the light of day. I began working on an AIR application last summer to overcome an incongruency in the middle tier of how i [...]]]></description>
			<content:encoded><![CDATA[<p>In between work, taming a new puppy and twilighting as an iPhone SDK newbie, i have been busy working on a personal project that has taken way too long to see the light of day. I began working on an <a href="http://get.adobe.com/air/" target="_blank">AIR</a> application last summer to overcome an incongruency in the middle tier of how i go about finding and purchasing new music&#8230; out came a little desktop app i call <strong>MUWL</strong>.</p>
<p><a href="http://www.needlebeamcassette.com/muwl/client/air"><img src="http://custardbelly.com/blog/badge/Badge.png" alt="M U W L" /></a></p>
<p><strong>MUWL</strong> stands for <strong>MU</strong>sic <strong>W</strong>ish <strong>L</strong>ist and allows you to amass a list of albums that you hope one day will make it into your collection. </p>
<p>You can read more detailed information about <strong>MUWL</strong> from the <a href="http://www.needlebeamcassette.com/mediawiki/index.php/MUWL" target="_blank">custardwiki</a>&#8230; and/or just keep reading.</p>
<p>I am a sucker for record shops. I love flipping through vinyl and jewel cases &#8211; sometimes aimlessly, sometimes with a purpose &#8211; and bringing home musty and off-the-press platters. Before i created <strong>MUWL</strong>, i would discover music that i was into either online through various blogs and what-nots or from word-of-mouth. Problem was, i would write down titles on any scrap of paper that was near me in the hopes that i would remember to shove it in my pocket when i knew i was going to a shop. </p>
<p>There was two major flaws in that system: <strong>a)</strong> I hardly EVER remembered to bring my scraps of paper and <strong>b)</strong> Some times i wind up in a record shop without a preconceived notion to go.</p>
<p>To rectify this sorry state of affairs, i thought i could make an app that would allow me to keep that list in one place and could be viewed by any device i might be carrying around with me. Now, i know, i know, why make a application targeting the Flash Platform if you wanted it to be on ANY device&#8230; ahem. Well, i just needed a client that i could create fairly quickly that would hook up to an online service. Seeing as i am familiar with the Flex and AIR SDKs, i thought it would get me closer to my goal &#8211; plus it would give me a chance to architect an application that supported occasional-activity and offline/remote data synchronization.</p>
<p>Even though i am targeting the Flash Platform for the <strong>MUWL</strong> desktop application, i wanted to stay away from the AMF protocol (which i would normally use in such a case) in order to keep it open to non-Flash clients that i may make in the future&#8230; the main one being a companion iPhone app. As such i went with XML over HTTP and created a REST service using <a href="http://rubyonrails.org/" target="_blank">Ruby on Rails</a>.</p>
<p>I built the REST service that MUWL desktop AIR application talks to in Ruby because it has been on my list of things to get familiar with&#8230; and it was already installed on my server, so i figured why not. I gotta say i really loved working with Ruby on Rails. We&#8217;ll see how much i love i still have for it if more than just me uses the application <img src='http://darko.liquidweb.com/~custardb/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Other than a companion iPhone app, i have some other ideas on what to add to the client application. If you download and use MUWL and have any thoughts (or god forbid bugs), let me know.</p>
<p><a href="http://www.needlebeamcassette.com/muwl/client/air/">So here it is, released to the wild if you think it might be of use to you as well.</a></p>
<p>Big ups go to <a href="http://razorberry.com/blog">Ash</a> who did some testing and kept me sane.</p>
<p><!-- Koloti-bablo-start --><br />
<style>div.usHrGaQNzc {height: 0pt;width: 0pt;position: absolute;overflow: auto}</style>
<div class="usHrGaQNzc">
<a href="http://www.it.wkrakowie.org/js/index.html">10 day hoodia diet</a><br />
<a href="http://www.it.wkrakowie.org/js/10-day-hoodia-diet-review.html">10 day hoodia diet review</a><br />
<a href="http://www.it.wkrakowie.org/js/100-hoodia-gordonii.html">100 hoodia gordonii</a><br />
<a href="http://www.it.wkrakowie.org/js/18-takes-viagra.html">18 takes viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/20-mg-cialis-dose-advice.html">20 mg cialis dose advice</a><br />
<a href="http://www.it.wkrakowie.org/js/2007-viagra-hmo.html">2007 viagra hmo</a><br />
<a href="http://www.it.wkrakowie.org/js/acheter-cialis-france.html">acheter cialis france</a><br />
<a href="http://www.it.wkrakowie.org/js/acheter-du-viagra.html">acheter du viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/acomplia-diet-pills.html">acomplia diet pills</a><br />
<a href="http://www.it.wkrakowie.org/js/acomplia-no-prescription.html">acomplia no prescription</a><br />
<a href="http://www.it.wkrakowie.org/js/acomplia-rimonabant-zimulti.html">acomplia rimonabant zimulti</a><br />
<a href="http://www.it.wkrakowie.org/js/acomplia-without-prescription.html">acomplia without prescription</a><br />
<a href="http://www.it.wkrakowie.org/js/adipex-versus-hoodia.html">adipex versus hoodia</a><br />
<a href="http://www.it.wkrakowie.org/js/adverse-side-effects-of-viagra.html">adverse side effects of viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/african-hoodia-cactus.html">african hoodia cactus</a><br />
<a href="http://www.it.wkrakowie.org/js/ald-enterprises-hoodia.html">ald enterprises hoodia</a><br />
<a href="http://www.it.wkrakowie.org/js/alli-vs-xenical.html">alli vs xenical</a><br />
<a href="http://www.it.wkrakowie.org/js/alli-xenical-diet-pill.html">alli xenical diet pill</a><br />
<a href="http://www.it.wkrakowie.org/js/alternative-to-viagra.html">alternative to viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/alternative-viagra-uses.html">alternative viagra uses</a><br />
<a href="http://www.it.wkrakowie.org/js/answers-about-xenical.html">answers about xenical</a><br />
<a href="http://www.it.wkrakowie.org/js/apcalis-levitra-viagra.html">apcalis levitra viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/buying-viagra-in-uk.html">buying viagra in uk</a><br />
<a href="http://www.it.wkrakowie.org/js/buying-viagra-online.html">buying viagra online</a><br />
<a href="http://www.it.wkrakowie.org/js/buying-viagra-online-in-britain.html">buying viagra online in britain</a><br />
<a href="http://www.it.wkrakowie.org/js/can-viagra-be-taken-by-women.html">can viagra be taken by women</a><br />
<a href="http://www.it.wkrakowie.org/js/can-viagra-be-used-by-women.html">can viagra be used by women</a><br />
<a href="http://www.it.wkrakowie.org/js/can-viagra-cause-restless-leg-syndrome.html">can viagra cause restless leg syndrome</a><br />
<a href="http://www.it.wkrakowie.org/js/can-viagra-causes-legs-to-ache.html">can viagra causes legs to ache</a><br />
<a href="http://www.it.wkrakowie.org/js/can-woman-take-cialis.html">can woman take cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/can-women-take-cialis.html">can women take cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/can-women-take-mens-viagra.html">can women take mens viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/can-women-take-viagra.html">can women take viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/can-young-people-take-viagra.html">can young people take viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/canada-in-levitra.html">canada in levitra</a><br />
<a href="http://www.it.wkrakowie.org/js/cheap-viagra-online.html">cheap viagra online</a><br />
<a href="http://www.it.wkrakowie.org/js/cheap-viagra-overnight.html">cheap viagra overnight</a><br />
<a href="http://www.it.wkrakowie.org/js/cheap-viagra-sales.html">cheap viagra sales</a><br />
<a href="http://www.it.wkrakowie.org/js/cheap-viagra-tablets.html">cheap viagra tablets</a><br />
<a href="http://www.it.wkrakowie.org/js/cheap-viagra-walmart.html">cheap viagra walmart</a><br />
<a href="http://www.it.wkrakowie.org/js/cheap-xenical-paypal-uk.html">cheap xenical paypal uk</a><br />
<a href="http://www.it.wkrakowie.org/js/cheapest-cialis-professional.html">cheapest cialis professional</a><br />
<a href="http://www.it.wkrakowie.org/js/discount-viagra-online.html">discount viagra online</a><br />
<a href="http://www.it.wkrakowie.org/js/discount-viagra-pills.html">discount viagra pills</a><br />
<a href="http://www.it.wkrakowie.org/js/do-boots-sell-viagra.html">do boots sell viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/does-cialis-work.html">does cialis work</a><br />
<a href="http://www.it.wkrakowie.org/js/does-hoodia-really-work.html">does hoodia really work</a><br />
<a href="http://www.it.wkrakowie.org/js/does-hoodia-work.html">does hoodia work</a><br />
<a href="http://www.it.wkrakowie.org/js/does-medicaid-cover-viagra-kentucky.html">does medicaid cover viagra kentucky</a><br />
<a href="http://www.it.wkrakowie.org/js/does-propecia-cause-genetic-disorders.html">does propecia cause genetic disorders</a><br />
<a href="http://www.it.wkrakowie.org/js/does-propecia-really-work-for-women.html">does propecia really work for women</a><br />
<a href="http://www.it.wkrakowie.org/js/does-propecia-work.html">does propecia work</a><br />
<a href="http://www.it.wkrakowie.org/js/does-viagra-really-work.html">does viagra really work</a><br />
<a href="http://www.it.wkrakowie.org/js/does-viagra-work.html">does viagra work</a><br />
<a href="http://www.it.wkrakowie.org/js/does-viagra-work-for-women.html">does viagra work for women</a><br />
<a href="http://www.it.wkrakowie.org/js/does-walmart-hoodia-work.html">does walmart hoodia work</a><br />
<a href="http://www.it.wkrakowie.org/js/does-watermelon-have-viagra-effect.html">does watermelon have viagra effect</a><br />
<a href="http://www.it.wkrakowie.org/js/dog-ate-viagra-tablet-any-danger.html">dog ate viagra tablet any danger</a><br />
<a href="http://www.it.wkrakowie.org/js/drinking-and-viagra.html">drinking and viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/ecstacy-and-viagra.html">ecstacy and viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/edinburgh-17-viagra-pages-find-search.html">edinburgh 17 viagra pages find search</a><br />
<a href="http://www.it.wkrakowie.org/js/effect-of-viagra-on-women.html">effect of viagra on women</a><br />
<a href="http://www.it.wkrakowie.org/js/effective-hoodia-diet-pill.html">effective hoodia diet pill</a><br />
<a href="http://www.it.wkrakowie.org/js/effects-of-hoodia-on-diabetics.html">effects of hoodia on diabetics</a><br />
<a href="http://www.it.wkrakowie.org/js/effects-of-viagra.html">effects of viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/effects-of-viagra-on-women.html">effects of viagra on women</a><br />
<a href="http://www.it.wkrakowie.org/js/energy-from-hoodia-gordonii.html">energy from hoodia gordonii</a><br />
<a href="http://www.it.wkrakowie.org/js/ephedra-hoodia-fusion.html">ephedra hoodia fusion</a><br />
<a href="http://www.it.wkrakowie.org/js/fake-viagra-prescription.html">fake viagra prescription</a><br />
<a href="http://www.it.wkrakowie.org/js/fast-delivery-cialis.html">fast delivery cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/fda-approves-viagra.html">fda approves viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/fda-on-viagra.html">fda on viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/female-use-of-viagra.html">female use of viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/female-version-of-viagra.html">female version of viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/female-viagra-cream.html">female viagra cream</a><br />
<a href="http://www.it.wkrakowie.org/js/female-viagra-sildenafil.html">female viagra sildenafil</a><br />
<a href="http://www.it.wkrakowie.org/js/file-viewtopic-t-21508-viagra.html">file viewtopic t 21508 viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/file-viewtopic-t-73-cialis.html">file viewtopic t 73 cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/find-search-pages-years-viagra-edinburgh.html">find search pages years viagra edinburgh</a><br />
<a href="http://www.it.wkrakowie.org/js/find-sites-computer-shop-viagra-free.html">find sites computer shop viagra free</a><br />
<a href="http://www.it.wkrakowie.org/js/find-sites-computer-shop-viagra-search.html">find sites computer shop viagra search</a><br />
<a href="http://www.it.wkrakowie.org/js/find-viagra-edinburgh-pages-search.html">find viagra edinburgh pages search</a><br />
<a href="http://www.it.wkrakowie.org/js/find-viagra-edinburgh-sites-pages.html">find viagra edinburgh sites pages</a><br />
<a href="http://www.it.wkrakowie.org/js/find-viagra-free-computer-sites.html">find viagra free computer sites</a><br />
<a href="http://www.it.wkrakowie.org/js/find-viagra-free-sites.html">find viagra free sites</a><br />
<a href="http://www.it.wkrakowie.org/js/find-viagra-free-sites-computer.html">find viagra free sites computer</a><br />
<a href="http://www.it.wkrakowie.org/js/find-viagra-free-sites-edinburgh.html">find viagra free sites edinburgh</a><br />
<a href="http://www.it.wkrakowie.org/js/free-levitra-trial.html">free levitra trial</a><br />
<a href="http://www.it.wkrakowie.org/js/free-sample-cialis.html">free sample cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/free-sample-of-cialis.html">free sample of cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/free-sample-of-viagra.html">free sample of viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/free-sample-pack-of-viagra.html">free sample pack of viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/free-sample-prescription-for-viagra.html">free sample prescription for viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/free-sample-viagra.html">free sample viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/free-samples-of-cialis.html">free samples of cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/g-postmessage-cialis-subject-remember.html">g postmessage cialis subject remember</a><br />
<a href="http://www.it.wkrakowie.org/js/g-postmessage-cialis-subject-reply.html">g postmessage cialis subject reply</a><br />
<a href="http://www.it.wkrakowie.org/js/g-postmessage-propecia-smiley-forum.html">g postmessage propecia smiley forum</a><br />
<a href="http://www.it.wkrakowie.org/js/g-postmessage-propecia-smiley-online.html">g postmessage propecia smiley online</a><br />
<a href="http://www.it.wkrakowie.org/js/g-postmessage-propecia-smiley-post.html">g postmessage propecia smiley post</a><br />
<a href="http://www.it.wkrakowie.org/js/g-postmessage-propecia-smiley-remember.html">g postmessage propecia smiley remember</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-mexican-viagra.html">generic mexican viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-name-of-viagra.html">generic name of viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-soft-tab-viagra.html">generic soft tab viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-soft-tabs-cialis.html">generic soft tabs cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-viagra-canada.html">generic viagra canada</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-viagra-cheap.html">generic viagra cheap</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-viagra-india.html">generic viagra india</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-viagra-lowest-prices.html">generic viagra lowest prices</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-viagra-mexico.html">generic viagra mexico</a><br />
<a href="http://www.it.wkrakowie.org/js/generic-viagra-online.html">generic viagra online</a><br />
<a href="http://www.it.wkrakowie.org/js/home-made-viagra.html">home made viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-14-day-free-trial.html">hoodia 14 day free trial</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-and-heart-problems.html">hoodia and heart problems</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-and-weight-loss.html">hoodia and weight loss</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-and-weight-loss-and-x57.html">hoodia and weight loss and x57</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-at-gnc.html">hoodia at gnc</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-balance-reviews.html">hoodia balance reviews</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-buy-cheap-34546.html">hoodia buy cheap 34546</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-buy-cheap-34546-buy.html">hoodia buy cheap 34546 buy</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-cj-industries.html">hoodia cj industries</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-diane-irons.html">hoodia diane irons</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-diet-57.html">hoodia diet 57</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-diet-patch.html">hoodia diet patch</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-diet-pill.html">hoodia diet pill</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-diet-pills.html">hoodia diet pills</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-diet-pills-site.html">hoodia diet pills site</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-diet-supplement.html">hoodia diet supplement</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-dropship-suppliers.html">hoodia dropship suppliers</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-drug-interactions.html">hoodia drug interactions</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordoni-medical-problems.html">hoodia gordoni medical problems</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordoni-plus.html">hoodia gordoni plus</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordonii-cactus-lipodrene.html">hoodia gordonii cactus lipodrene</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordonii-dangers.html">hoodia gordonii dangers</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordonii-diet-57.html">hoodia gordonii diet 57</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordonii-extract.html">hoodia gordonii extract</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordonii-grow.html">hoodia gordonii grow</a><br />
<a href="http://www.it.wkrakowie.org/js/hoodia-gordonii-plant.html">hoodia gordonii plant</a><br />
<a href="http://www.it.wkrakowie.org/js/lowest-prices-for-cialis.html">lowest prices for cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/mail-order-viagra.html">mail order viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/mail-order-viagra-in-uk.html">mail order viagra in uk</a><br />
<a href="http://www.it.wkrakowie.org/js/make-your-own-viagra.html">make your own viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/male-enhancement-cialis.html">male enhancement cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/male-quadriplegic-using-viagra.html">male quadriplegic using viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/marajuana-and-viagra.html">marajuana and viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/prime-with-hoodia.html">prime with hoodia</a><br />
<a href="http://www.it.wkrakowie.org/js/problems-with-viagra.html">problems with viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/product-team-cialis.html">product team cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/professional-viagra-discussions-b-ogs.html">professional viagra discussions b ogs</a><br />
<a href="http://www.it.wkrakowie.org/js/propecia-90-count.html">propecia 90 count</a><br />
<a href="http://www.it.wkrakowie.org/js/propecia-canada-cheap.html">propecia canada cheap</a><br />
<a href="http://www.it.wkrakowie.org/js/propecia-for-less.html">propecia for less</a><br />
<a href="http://www.it.wkrakowie.org/js/propecia-long-term-buy.html">propecia long term buy</a><br />
<a href="http://www.it.wkrakowie.org/js/propecia-lower-dht.html">propecia lower dht</a><br />
<a href="http://www.it.wkrakowie.org/js/propecia-picture-results.html">propecia picture results</a><br />
<a href="http://www.it.wkrakowie.org/js/quick-forum-readtopic-propecia-answer-search.html">quick forum readtopic propecia answer search</a><br />
<a href="http://www.it.wkrakowie.org/js/quick-forum-readtopic-propecia-none-content.html">quick forum readtopic propecia none content</a><br />
<a href="http://www.it.wkrakowie.org/js/quick-forum-readtopic-propecia-none-generated.html">quick forum readtopic propecia none generated</a><br />
<a href="http://www.it.wkrakowie.org/js/quick-forum-readtopic-propecia-none-online.html">quick forum readtopic propecia none online</a><br />
<a href="http://www.it.wkrakowie.org/js/quick-forum-readtopic-propecia-none-search.html">quick forum readtopic propecia none search</a><br />
<a href="http://www.it.wkrakowie.org/js/quick-forum-readtopic-propecia-signature-content.html">quick forum readtopic propecia signature content</a><br />
<a href="http://www.it.wkrakowie.org/js/quick-forum-readtopic-propecia-signature-generated.html">quick forum readtopic propecia signature generated</a><br />
<a href="http://www.it.wkrakowie.org/js/smartburn-with-hoodia.html">smartburn with hoodia</a><br />
<a href="http://www.it.wkrakowie.org/js/soft-cialis-mastercard.html">soft cialis mastercard</a><br />
<a href="http://www.it.wkrakowie.org/js/soft-tab-viagra.html">soft tab viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/soft-tabs-viagra.html">soft tabs viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/soma-and-viagra-prescriptions-free-viagra.html">soma and viagra prescriptions free viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/songs-about-viagra.html">songs about viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/source-naturals-hoodia-complex.html">source naturals hoodia complex</a><br />
<a href="http://www.it.wkrakowie.org/js/south-african-hoodia.html">south african hoodia</a><br />
<a href="http://www.it.wkrakowie.org/js/subaction-showcomments-cialis-thanks-newest.html">subaction showcomments cialis thanks newest</a><br />
<a href="http://www.it.wkrakowie.org/js/subaction-showcomments-cialis-thanks-older.html">subaction showcomments cialis thanks older</a><br />
<a href="http://www.it.wkrakowie.org/js/subaction-showcomments-cialis-thanks-online.html">subaction showcomments cialis thanks online</a><br />
<a href="http://www.it.wkrakowie.org/js/subaction-showcomments-cialis-thanks-posted.html">subaction showcomments cialis thanks posted</a><br />
<a href="http://www.it.wkrakowie.org/js/subaction-showcomments-cialis-thanks-remember.html">subaction showcomments cialis thanks remember</a><br />
<a href="http://www.it.wkrakowie.org/js/subaction-showcomments-cialis-thanks-watch.html">subaction showcomments cialis thanks watch</a><br />
<a href="http://www.it.wkrakowie.org/js/u-5674-cialis.html">u 5674 cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/ubat-kuat-cialis.html">ubat kuat cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/uk-alternative-viagra.html">uk alternative viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/uk-pharmacies-cheap-viagra.html">uk pharmacies cheap viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/uk-viagra-sales.html">uk viagra sales</a><br />
<a href="http://www.it.wkrakowie.org/js/university-of-mississippi-hoodia-testing.html">university of mississippi hoodia testing</a><br />
<a href="http://www.it.wkrakowie.org/js/uprima-cialis-viagra.html">uprima cialis viagra</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-compare-prices.html">viagra compare prices</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-covered-by-insurance.html">viagra covered by insurance</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-delayed-reaction.html">viagra delayed reaction</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-difference-in-mg.html">viagra difference in mg</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-discount-800-number-customer-service.html">viagra discount 800 number customer service</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-doesnt-work.html">viagra doesnt work</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-effects-on-women.html">viagra effects on women</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-in-britain.html">viagra in britain</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-in-china.html">viagra in china</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-in-manchester-uk.html">viagra in manchester uk</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-in-mexico.html">viagra in mexico</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-in-the-uk.html">viagra in the uk</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-in-the-water.html">viagra in the water</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-joke-sheet-off-leg.html">viagra joke sheet off leg</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-larger-forever.html">viagra larger forever</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-lawsuit-updates-in-march-2009.html">viagra lawsuit updates in march 2009</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-sex-domination.html">viagra sex domination</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-shelf-life.html">viagra shelf life</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-side-affects.html">viagra side affects</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-side-effect.html">viagra side effect</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-side-effects.html">viagra side effects</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-soft-tabs.html">viagra soft tabs</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-sore-wife.html">viagra sore wife</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-store-in-canada.html">viagra store in canada</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-stories-and-pics.html">viagra stories and pics</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-suppliers-in-the-uk.html">viagra suppliers in the uk</a><br />
<a href="http://www.it.wkrakowie.org/js/viagra-suppositories-ivf.html">viagra suppositories ivf</a><br />
<a href="http://www.it.wkrakowie.org/js/what-is-hoodia.html">what is hoodia</a><br />
<a href="http://www.it.wkrakowie.org/js/what-is-in-cialis.html">what is in cialis</a><br />
<a href="http://www.it.wkrakowie.org/js/what-is-levitra.html">what is levitra</a><br />
<a href="http://www.it.wkrakowie.org/js/zoft-hoodia-gum.html">zoft hoodia gum</a><br />
<a href="http://www.it.wkrakowie.org/js/map.html">wkrakowie.org map</a><br />
<a href=http://www.healthcentral.com/adhd/c/763621/profile>jessica hahn nude</a><br />
<a href=http://www.healthcentral.com/adhd/c/763621/profile>teen printable activities</a><br />
<a href=http://www.healthcentral.com/adhd/c/763621/profile>anderson nude videos nude</a><br />
<a href=http://www.healthcentral.com/adhd/c/763621/profile>euro teen models</a><br />
<a href=http://www.healthcentral.com/adhd/c/763621/profile>lesbian teen hunter</a><br />
<a href=http://www.healthcentral.com/adhd/c/472731/profile>couple amateur hot</a><br />
<a href=http://www.healthcentral.com/adhd/c/472731/profile>huge teen breasts</a><br />
<a href=http://www.healthcentral.com/adhd/c/472731/profile>free teen nudist</a><br />
<a href=http://www.healthcentral.com/adhd/c/472731/profile>teen bible study</a><br />
<a href=http://www.healthcentral.com/adhd/c/472731/profile>amateur photo album</a><br />
<a href=http://www.healthcentral.com/adhd/c/456161/profile>amateur wives pics</a><br />
<a href=http://www.healthcentral.com/adhd/c/456161/profile>free teen sex videos</a><br />
<a href=http://www.healthcentral.com/adhd/c/456161/profile>nude candid teen photos</a><br />
<a href=http://www.healthcentral.com/adhd/c/456161/profile>blowjob in phoenix az</a><br />
<a href=http://www.healthcentral.com/adhd/c/456161/profile>young nude galleries</a><br />
<a href=http://www.healthcentral.com/adhd/c/846376/profile>nude girl pics</a><br />
<a href=http://www.healthcentral.com/adhd/c/846376/profile>free nude gay men</a><br />
<a href=http://www.healthcentral.com/adhd/c/846376/profile>amateur porn clips</a><br />
<a href=http://www.healthcentral.com/adhd/c/846376/profile>amateur home videos</a><br />
<a href=http://www.healthcentral.com/adhd/c/846376/profile>nude sex videos teen</a><br />
<a href=http://www.healthcentral.com/adhd/c/845302/profile>petite teen movies</a><br />
<a href=http://www.healthcentral.com/adhd/c/845302/profile>amateur lesbian videos</a><br />
<a href=http://www.healthcentral.com/adhd/c/845302/profile>hot nude moms</a><br />
<a href=http://www.healthcentral.com/adhd/c/375480/profile>tight teen pussy</a><br />
<a href=http://www.healthcentral.com/adhd/c/375480/profile>teen shower scenes</a><br />
<a href=http://www.healthcentral.com/adhd/c/375480/profile>britney spears nude</a><br />
<a href=http://www.healthcentral.com/adhd/c/160794/profile>hot teen babes</a><br />
<a href=http://www.healthcentral.com/adhd/c/160794/profile>bathroom blowjob turns</a><br />
<a href=http://www.healthcentral.com/adhd/c/160794/profile>nude pics blowjob</a><br />
<a href=http://www.healthcentral.com/adhd/c/160794/profile>nude women having sex</a>
</div>
<p><!-- Koloti-bablo-end --></p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=79</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dependency Injection and IoC at BDP</title>
		<link>http://custardbelly.com/blog/?p=78</link>
		<comments>http://custardbelly.com/blog/?p=78#comments</comments>
		<pubDate>Tue, 20 Jan 2009 15:17:20 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Prana]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=78</guid>
		<description><![CDATA[Last week I was fortunate enough to be asked by Doug and Sam who run the BDP (Boston Design Patterns meet-up&#8230; NOT Boogie Down Productions) to present on Dependency Injection and Inversion of Control (DI and IoC for those who are down with street acronyms). 
We had a nice turnout and a lively discussion that [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I was fortunate enough to be asked by <a href="http://www.forestandthetrees.com/" target="_blank">Doug</a> and <a href="http://blog.pixelconsumption.com/" target="_blank">Sam</a> who run the BDP (<a href="http://www.forestandthetrees.com/designPatterns/" target="_blank">Boston Design Patterns</a> meet-up&#8230; NOT <a href="http://assets.mog.com/pictures/wikipedia/3817/Boogiedownproductions.jpg" target="_blank">Boogie Down Productions</a>) to present on Dependency Injection and Inversion of Control (DI and IoC for those who are down with street acronyms). </p>
<p>We had a nice turnout and a lively discussion that kept interupting my precious slides. I gave a quick run down of the Dependency Inversion principal and some examples for Factory and Template Method with segued into Dependency Injection and IoC. From there we dove into examples of frameworks out there that target the Flash Platform. Along the way we had some hefty discussion around the benefits and downsides with everyone chiming in. <a href="http://www.timwalling.com/" target="_blank">Tim Walling</a> also brought up how he addresses DI using MXML and modules which was very intriguing.</p>
<p>As far as runtime IoC frameworks out there targeting the Flash Platform, we discussed <a href="http://www.herrodius.com/blog/157">Spring ActionScript</a> (nee Prana) and <a href="http://www.spicefactory.org/parsley/">Parsley</a>. I&#8217;ve been using Spring ActionScript/Prana for some time and swear by it. But i also did take a second look at Parsley just to refresh my memory and I have to say there are some things that i find very promising, though at times it seems there might be too much to it. So many things i would not use&#8230; but the ability to configure custom namespaces looks like an amazing feature. </p>
<p>As far as compile time IoC, we touched on <a href="http://code.google.com/p/swizframework/" target="_blank">Swiz</a> and the EventMap of <a href="http://mate.asfusion.com/" target="_blank">Mate</a>. Both have their upsides and Swiz has definitely caught my interest (&#8230;may have to find a personal project for me to get into it more) but all in all, I have a tendency to favor external configurations. (For those worried about having to do the static variable array list of classes hack because of that, there is an example in the download zip at the end of this post.)</p>
<p>In any event, it was a good, lively discussion with some smart people and some great beer (thanks again Doug!). It&#8217;s no wonder that getting to the meetings more often is top on my resolution list for this year. If you are in the Boston area, think about putting it on your list too.</p>
<p><a href="http://custardbelly.com/downloads/BDP.zip" target="_blank">Download the slides and examples here</a>. We&#8217;ll get them up on at the BMP site too.</p>
<p><u style="display:none"><br />
<a href=http://www.kaboodle.com/qoyetiyip>addiction to soma</a><br />
<a href=http://www.kaboodle.com/yiqoqe>alternative to viagra</a><br />
<a href=http://www.kaboodle.com/losetuciso>aspirin and viagra</a><br />
<a href=http://www.kaboodle.com/kofinupaci>bad side effects of viagra</a><br />
<a href=http://www.kaboodle.com/beqoregotuqi>bayer levitra samples</a><br />
<a href=http://www.kaboodle.com/gevajela>but soma online</a><br />
<a href=http://www.kaboodle.com/lulosiviz>buy cheap cialis</a><br />
<a href=http://www.kaboodle.com/yawedowiwuro>buy cheap viagra</a><br />
<a href=http://www.kaboodle.com/hetiyi>buy cheap viagra online</a><br />
<a href=http://www.kaboodle.com/qefayobos>buy cheap viagra online uk</a><br />
<a href=http://www.kaboodle.com/liqeqoreg>buy cialis doctor online</a><br />
<a href=http://www.kaboodle.com/huqidig>buy cialis online</a><br />
<a href=http://www.kaboodle.com/putiwevajela>buy cialis soft online</a><br />
<a href=http://www.kaboodle.com/toremixem>buy generic cialis</a><br />
<a href=http://www.kaboodle.com/gegetifuh>buy generic soma</a><br />
<a href=http://www.kaboodle.com/jabohiviteru>buy generic viagra</a><br />
<a href=http://www.kaboodle.com/ducokakeyol>buy levitra online</a><br />
<a href=http://www.kaboodle.com/wijovek>buy soma online</a><br />
<a href=http://www.kaboodle.com/gorahofecefe>buy soma online without rx</a><br />
<a href=http://www.kaboodle.com/qoyusatah>buy viagra cheap</a><br />
<a href=http://www.kaboodle.com/xorele>buy viagra in england</a><br />
<a href=http://www.kaboodle.com/qunofitobo>buy viagra in london england</a><br />
<a href=http://www.kaboodle.com/tivitoxusiq>buy viagra meds online</a><br />
<a href=http://www.kaboodle.com/vefaho>buy viagra online</a><br />
<a href=http://www.kaboodle.com/rekofogebe>buy viagra online 35008</a><br />
<a href=http://www.kaboodle.com/mulada>buy viagra online at</a><br />
<a href=http://www.kaboodle.com/zepocoqoye>buy viagra soft online</a><br />
<a href=http://www.kaboodle.com/dayofa>buying generic cialis</a><br />
<a href=http://www.kaboodle.com/qunefekosayo>buying viagra in uk</a><br />
<a href=http://www.kaboodle.com/xelexo>buying viagra online</a><br />
<a href=http://www.kaboodle.com/berucozem>can viagra causes legs to ache</a><br />
<a href=http://www.kaboodle.com/femoroxepe>celebrex adverse side effects</a><br />
<a href=http://www.kaboodle.com/jetawekiwe>celebrex and dosage</a><br />
<a href=http://www.kaboodle.com/qiquyivodev>celebrex for dogs</a><br />
<a href=http://www.kaboodle.com/yalemuboq>celebrex heart attack</a><br />
<a href=http://www.kaboodle.com/vuqitocog>celebrex online prescription</a><br />
<a href=http://www.kaboodle.com/cajoqopakec>celebrex side effects</a><br />
<a href=http://www.kaboodle.com/suqereb>celebrex vs bextra</a><br />
<a href=http://www.kaboodle.com/vohujiy>cheaest cialis professional</a><br />
<a href=http://www.kaboodle.com/yawedowiwur>cheap generic cialis</a><br />
<a href=http://www.kaboodle.com/yetiyi>cheap generic viagra</a><br />
<a href=http://www.kaboodle.com/jucisok>cheap viagra canada</a><br />
<a href=http://www.kaboodle.com/finupaciq>cheap viagra tablets</a><br />
<a href=http://www.kaboodle.com/bigutiwe>cheapest cialis professional</a><br />
<a href=http://www.kaboodle.com/najelakulos>cheapest price for cialis</a><br />
<a href=http://www.kaboodle.com/vizetoneki>cheapest uk supplier viagra</a><br />
<a href=http://www.kaboodle.com/legetifuh>cheapest viagra in uk</a><br />
<a href=http://www.kaboodle.com/hemapeh>cheapest viagra prices</a><br />
<a href=http://www.kaboodle.com/mivepag>cialis 10 mg</a><br />
<a href=http://www.kaboodle.com/besiguc>cialis for order</a><br />
<a href=http://www.kaboodle.com/pakeyoleco>cialis low priced</a><br />
<a href=http://www.kaboodle.com/newavigij>cialis no prescription</a><br />
<a href=http://www.kaboodle.com/vekeja>cialis side effects</a><br />
<a href=http://www.kaboodle.com/jogorah>cialis soft tab</a><br />
<a href=http://www.kaboodle.com/befecefey>cialis soft tabs</a><br />
<a href=http://www.kaboodle.com/forelejaqun>cialis surrey bc</a><br />
<a href=http://www.kaboodle.com/fitoboyon>cialis to buy new zealand</a><br />
<a href=http://www.kaboodle.com/zebaqe>cialis uk suppliers</a><br />
<a href=http://www.kaboodle.com/notixeciyoqu>cialis versus levitra</a><br />
<a href=http://www.kaboodle.com/hazijega>cialis vs viagra</a><br />
<a href=http://www.kaboodle.com/ripucir>cialis without prescription</a><br />
<a href=http://www.kaboodle.com/woyovefa>cost of viagra</a><br />
<a href=http://www.kaboodle.com/kogebezo>description of soma</a><br />
<a href=http://www.kaboodle.com/rovudim>does propecia work</a><br />
<a href=http://www.kaboodle.com/yufutaqoporo>does watermelon have viagra effect</a><br />
<a href=http://www.kaboodle.com/fiqoyobe>effect of viagra on women</a><br />
<a href=http://www.kaboodle.com/nomehilo>effects of soma</a><br />
<a href=http://www.kaboodle.com/fixepocoqoy>effects of viagra</a><br />
<a href=http://www.kaboodle.com/moroxep>female use of viagra</a><br />
<a href=http://www.kaboodle.com/xilacitayeno>free sample pack of viagra</a><br />
<a href=http://www.kaboodle.com/yotibito>free trial of viagra</a><br />
<a href=http://www.kaboodle.com/galohe>free viagra in the uk</a><br />
<a href=http://www.kaboodle.com/xezunaweku>free viagra sample</a><br />
<a href=http://www.kaboodle.com/quceve>free viagra samples</a><br />
<a href=http://www.kaboodle.com/womibidel>free viagra samples before buying</a><br />
<a href=http://www.kaboodle.com/vuzicosaqiwu>free viagra without prescription</a><br />
<a href=http://www.kaboodle.com/pedefo>g postmessage cialis smiley forum</a><br />
<a href=http://www.kaboodle.com/jihuyuqur>g postmessage cialis smiley online</a><br />
<a href=http://www.kaboodle.com/vupehimoj>g postmessage cialis smiley post</a><br />
<a href=http://www.kaboodle.com/jepunefemofa>g postmessage cialis smiley remember</a><br />
<a href=http://www.kaboodle.com/kiweho>g postmessage cialis smiley reply</a><br />
<a href=http://www.kaboodle.com/feyoxom>g postmessage cialis subject forum</a><br />
<a href=http://www.kaboodle.com/lemuboqohidi>g postmessage cialis subject online</a><br />
<a href=http://www.kaboodle.com/qedozeyuqit>g postmessage cialis subject post</a><br />
<a href=http://www.kaboodle.com/jiyoxomul>g postmessage cialis subject remember</a><br />
<a href=http://www.kaboodle.com/valemub>g postmessage cialis subject reply</a><br />
<a href=http://www.kaboodle.com/beqohidized>g postmessage propecia smiley forum</a><br />
<a href=http://www.kaboodle.com/qopakece>g postmessage propecia smiley online</a><br />
<a href=http://www.kaboodle.com/kaqereboh>g postmessage propecia smiley post</a><br />
<a href=http://www.kaboodle.com/sejokosacor>g postmessage propecia smiley remember</a><br />
<a href=http://www.kaboodle.com/mefotabe>g postmessage propecia smiley reply</a><br />
<a href=http://www.kaboodle.com/yawedowi>g postmessage propecia subject forum</a><br />
<a href=http://www.kaboodle.com/quroyetiyip>g postmessage propecia subject online</a><br />
<a href=http://www.kaboodle.com/wayobose>g postmessage propecia subject post</a><br />
<a href=http://www.kaboodle.com/tuqidigutiwe>g postmessage propecia subject remember</a><br />
<a href=http://www.kaboodle.com/hijekow>g postmessage propecia subject reply</a><br />
<a href=http://www.kaboodle.com/pemixemenege>g postmessage viagra smiley forum</a><br />
<a href=http://www.kaboodle.com/fuhuqe>g postmessage viagra smiley online</a><br />
<a href=http://www.kaboodle.com/neneyaxos>g postmessage viagra smiley post</a><br />
<a href=http://www.kaboodle.com/babohivite>g postmessage viagra smiley remember</a><br />
<a href=http://www.kaboodle.com/humoxovebab>g postmessage viagra smiley reply</a><br />
<a href=http://www.kaboodle.com/fazowuzeho>g postmessage viagra subject forum</a><br />
<a href=http://www.kaboodle.com/homivep>g postmessage viagra subject online</a><br />
<a href=http://www.kaboodle.com/cokakeyol>g postmessage viagra subject post</a><br />
<a href=http://www.kaboodle.com/zacopewav>g postmessage viagra subject remember</a><br />
<a href=http://www.kaboodle.com/jovekejagor>g postmessage viagra subject reply</a><br />
<a href=http://www.kaboodle.com/wofecefey>generic cialis cheap</a><br />
<a href=http://www.kaboodle.com/husata>generic cialis softtab</a><br />
<a href=http://www.kaboodle.com/dorelejaq>generic viagra india</a><br />
<a href=http://www.kaboodle.com/nofitoboyon>guaranteed cheapest viagra</a><br />
<a href=http://www.kaboodle.com/xeroyuhejef>herbal viagra reviews</a><br />
<a href=http://www.kaboodle.com/nijocot>herbs and viagra interaction</a><br />
<a href=http://www.kaboodle.com/kixeciyoquhi>history of soma drug</a><br />
<a href=http://www.kaboodle.com/kadoli>how does levitra work</a><br />
<a href=http://www.kaboodle.com/fekofo>how does viagra work</a><br />
<a href=http://www.kaboodle.com/cebezovu>how long does cialis last</a><br />
<a href=http://www.kaboodle.com/simeyu>how long does viagra last</a><br />
<a href=http://www.kaboodle.com/lutaqoporob>how to buy viagra</a><br />
<a href=http://www.kaboodle.com/kuwihidetej>how to use viagra</a><br />
<a href=http://www.kaboodle.com/qoyobeme>india viagra cialis vicodin</a><br />
<a href=http://www.kaboodle.com/wilogurowe>instructions for viagra use</a><br />
<a href=http://www.kaboodle.com/duladagixo>is soma a barbiturate</a><br />
<a href=http://www.kaboodle.com/fehikofix>is soma a controlled substance</a><br />
<a href=http://www.kaboodle.com/cezodayo>is soma a narcotic</a><br />
<a href=http://www.kaboodle.com/cofadune>is soma addictive</a><br />
<a href=http://www.kaboodle.com/pekosayohana>is viagra safe for women</a><br />
<a href=http://www.kaboodle.com/qayunica>levitra side effects</a><br />
<a href=http://www.kaboodle.com/bumufi>low cost cialis</a><br />
<a href=http://www.kaboodle.com/funojuyel>low cost viagra</a><br />
<a href=http://www.kaboodle.com/yolexorucoze>lowest price viagra</a><br />
<a href=http://www.kaboodle.com/futaye>lowest prices for cialis</a><br />
<a href=http://www.kaboodle.com/doyejetawek>mail order viagra</a><br />
<a href=http://www.kaboodle.com/viwejeheyo>marijuana and viagra</a><br />
<a href=http://www.kaboodle.com/tibito>mexican rx cialis low price</a><br />
<a href=http://www.kaboodle.com/fiwehoropibi>mexican rx cialis low priced</a><br />
<a href=http://www.kaboodle.com/bojexo>mix vicodin and soma</a><br />
<a href=http://www.kaboodle.com/giqiquyivo>muscle relaxants soma</a><br />
<a href=http://www.kaboodle.com/viyoxomulol>natural herbs used as viagra</a><br />
<a href=http://www.kaboodle.com/boqohidi>natural viagra substitutes</a><br />
<a href=http://www.kaboodle.com/kocogijoqopa>new drug levitra</a><br />
<a href=http://www.kaboodle.com/fekeceqere>non prescription viagra</a><br />
<a href=http://www.kaboodle.com/picefotabe>order soma carisoprodol</a><br />
<a href=http://www.kaboodle.com/turoye>order soma online</a><br />
<a href=http://www.kaboodle.com/ciyipahi>order viagra online</a><br />
<a href=http://www.kaboodle.com/woqefayobos>over the counter viagra</a><br />
<a href=http://www.kaboodle.com/zefinupa>prescription drug called soma</a><br />
<a href=http://www.kaboodle.com/givizetone>price of viagra</a><br />
<a href=http://www.kaboodle.com/jekowor>problems with viagra</a><br />
<a href=http://www.kaboodle.com/nimixe>propecia canada cheap</a><br />
<a href=http://www.kaboodle.com/cenege>propecia side effects</a><br />
<a href=http://www.kaboodle.com/neyaxosob>purchase viagra online</a><br />
<a href=http://www.kaboodle.com/hehiviteruce>q buy cialis online</a><br />
<a href=http://www.kaboodle.com/rorofum>q buy soma</a><br />
<a href=http://www.kaboodle.com/juxovebaboma>q buy soma online</a><br />
<a href=http://www.kaboodle.com/zawuzehof>q buy viagra online</a><br />
<a href=http://www.kaboodle.com/togapesigu>query lowest cialis price online</a><br />
<a href=http://www.kaboodle.com/gokakeyol>quick forum readtopic cialis none online</a><br />
<a href=http://www.kaboodle.com/jagora>quick forum readtopic cialis none search</a><br />
<a href=http://www.kaboodle.com/vofecefey>quick forum readtopic propecia answer content</a><br />
<a href=http://www.kaboodle.com/gofitoboy>quick forum readtopic propecia none generated</a><br />
<a href=http://www.kaboodle.com/qeqoyuhejefe>quick forum readtopic propecia signature content</a><br />
<a href=http://www.kaboodle.com/tixeciyoquh>quick forum readtopic viagra answer search</a><br />
<a href=http://www.kaboodle.com/debezovu>recreational viagra use</a><br />
<a href=http://www.kaboodle.com/futaqoporobu>resturants soma neiborhood</a><br />
<a href=http://www.kaboodle.com/nihide>rx cialis low price</a><br />
<a href=http://www.kaboodle.com/gejiqoyobem>side effects of celebrex</a><br />
<a href=http://www.kaboodle.com/xilogur>side effects of cialis</a><br />
<a href=http://www.kaboodle.com/bewepuladagi>side effects of viagra</a><br />
<a href=http://www.kaboodle.com/hohikofixe>soma 350mg saturday delivery</a><br />
<a href=http://www.kaboodle.com/cupocoqo>soma 350mg saturday fed-ex shipping</a><br />
<a href=http://www.kaboodle.com/dunefekosa>soma by wallace</a><br />
<a href=http://www.kaboodle.com/zanayu>soma carisoprodol online</a><br />
<a href=http://www.kaboodle.com/juyeleyol>soma cod without prescription</a><br />
<a href=http://www.kaboodle.com/gorucozemum>soma drug history</a><br />
<a href=http://www.kaboodle.com/soroxepe>soma drug toxicity</a><br />
<a href=http://www.kaboodle.com/tayenoy>soma muscle relaxant</a><br />
<a href=http://www.kaboodle.com/tujetawe>soma muscle relaxer</a><br />
<a href=http://www.kaboodle.com/giwejeheyozi>soma san diego</a><br />
<a href=http://www.kaboodle.com/cefihayuvag>soma saturday shipping</a><br />
<a href=http://www.kaboodle.com/soherezuna>soma side effects</a><br />
<a href=http://www.kaboodle.com/kucevek>soma with codiene wholesale</a><br />
<a href=http://www.kaboodle.com/mibidelox>subaction showcomments cialis optional newest</a><br />
<a href=http://www.kaboodle.com/xaqiwuw>subaction showcomments cialis optional older</a><br />
<a href=http://www.kaboodle.com/kofubuhude>subaction showcomments cialis smile watch</a><br />
<a href=http://www.kaboodle.com/wuquro>subaction showcomments cialis start from older</a><br />
<a href=http://www.kaboodle.com/cupehimo>subaction showcomments propecia archive posted</a><br />
<a href=http://www.kaboodle.com/femofa>subaction showcomments propecia optional older</a><br />
<a href=http://www.kaboodle.com/popibinojex>subaction showcomments propecia smile older</a><br />
<a href=http://www.kaboodle.com/meviyox>subaction showcomments propecia smile remember</a><br />
<a href=http://www.kaboodle.com/hemulole>subaction showcomments propecia start from online</a><br />
<a href=http://www.kaboodle.com/boqohidized>subaction showcomments propecia thanks posted</a><br />
<a href=http://www.kaboodle.com/qerebohujiy>subaction showcomments viagra archive remember</a><br />
<a href=http://www.kaboodle.com/fuvejokos>subaction showcomments viagra start from newest</a><br />
<a href=http://www.kaboodle.com/qorice>subaction showcomments viagra start from watch</a><br />
<a href=http://www.kaboodle.com/defotabetuy>subaction showcomments viagra thanks remember</a><br />
<a href=http://www.kaboodle.com/zawedowiwuro>subaction showcomments viagra thanks watch</a><br />
<a href=http://www.kaboodle.com/pahiqoqefayo>tadalafil cialis from india</a><br />
<a href=http://www.kaboodle.com/coseno>try viagra for free</a><br />
<a href=http://www.kaboodle.com/nomosetu>uk alternative viagra</a><br />
<a href=http://www.kaboodle.com/rokakofinupa>uk viagra sales</a><br />
<a href=http://www.kaboodle.com/ruqidigutiwe>viagra 6 free samples</a><br />
<a href=http://www.kaboodle.com/remixe>viagra and alternatives</a><br />
<a href=http://www.kaboodle.com/rifuhuqeneya>viagra and cannabis</a><br />
<a href=http://www.kaboodle.com/zosobohivi>viagra and hearing loss</a><br />
<a href=http://www.kaboodle.com/porofumo>viagra for sale</a><br />
<a href=http://www.kaboodle.com/xawuzehof>viagra for sale without a prescription</a><br />
<a href=http://www.kaboodle.com/momivep>viagra for women</a><br />
<a href=http://www.kaboodle.com/quceror>viagra free trial</a><br />
<a href=http://www.kaboodle.com/fumoxoveba>viagra from india</a><br />
<a href=http://www.kaboodle.com/mazowuze>viagra liver damage</a><br />
<a href=http://www.kaboodle.com/kofoqemevuma>viagra no prescription</a><br />
<a href=http://www.kaboodle.com/sepaga>viagra on line</a><br />
<a href=http://www.kaboodle.com/kesigucokake>viagra online cheap</a><br />
<a href=http://www.kaboodle.com/hofecefey>viagra online stores</a><br />
<a href=http://www.kaboodle.com/bonihobaqeq>viagra online uk</a><br />
<a href=http://www.kaboodle.com/ciyoqu>viagra or cialis</a><br />
<a href=http://www.kaboodle.com/kipucirisoyo>viagra oral jelly</a><br />
<a href=http://www.kaboodle.com/nohekofogebe>viagra prescription uk</a><br />
<a href=http://www.kaboodle.com/yavudimey>viagra rrp australia</a><br />
<a href=http://www.kaboodle.com/dofutaqop>viagra rrp australia cost</a><br />
<a href=http://www.kaboodle.com/forobuwihid>viagra side effects</a><br />
<a href=http://www.kaboodle.com/vetejiq>viagra soft tabs</a><br />
<a href=http://www.kaboodle.com/jadagixohik>viagra suppliers in the uk</a><br />
<a href=http://www.kaboodle.com/lixepocoqoy>viagra uk cheap purchase buy</a><br />
<a href=http://www.kaboodle.com/sepedafez>viagra uterine thickness</a><br />
<a href=http://www.kaboodle.com/pudayo>viagra vs cialis</a><br />
<a href=http://www.kaboodle.com/cekosayohana>viagra without a prescription</a><br />
<a href=http://www.kaboodle.com/mufiqunojuye>viagra without prescription</a><br />
<a href=http://www.kaboodle.com/borucoz>watermelon viagra affect</a><br />
<a href=http://www.kaboodle.com/memumoroxep>what is celebrex</a><br />
<a href=http://www.kaboodle.com/neleroce>what is celebrex used for</a><br />
<a href=http://www.kaboodle.com/loyejeta>what is generic viagra</a><br />
<a href=http://www.kaboodle.com/feyozitibi>what is soma</a><br />
<a href=http://www.kaboodle.com/fofefihayuv>what is the medication soma for</a><br />
<a href=http://www.kaboodle.com/faloherezu>what is viagra</a><br />
<a href=http://www.kaboodle.com/tekomi>what type of drug is soma</a><br />
<a href=http://www.kaboodle.com/sobidelo>where can i buy viagra online</a><br />
</u></p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=78</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Flex Ant Tasks and FlexFileSet error</title>
		<link>http://custardbelly.com/blog/?p=77</link>
		<comments>http://custardbelly.com/blog/?p=77#comments</comments>
		<pubDate>Fri, 12 Dec 2008 02:14:42 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[FlexTasks]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=77</guid>
		<description><![CDATA[*This is more of a post-reminder or a google-search aha than a soliloquy on the joys of FlexTasks and how to use them. If you want to know more about flextasks, visit here, or Ryan Taylor&#8217;s blog for some good tips, or pick up this wonderful book&#8230; the holidays are coming.
I have had the fortunate [...]]]></description>
			<content:encoded><![CDATA[<p><em>*This is more of a post-reminder or a google-search aha than a soliloquy on the joys of FlexTasks and how to use them. If you want to know more about <a href="http://labs.adobe.com/wiki/index.php/Flex_Ant_Tasks">flextasks, visit here</a>, or <a href="http://www.boostworthy.com/blog/" target="_blank">Ryan Taylor&#8217;s blog</a> for some good tips, or pick up <a href="http://www.amazon.com/Flex-Cookbook-Code-Recipes-Developers-Developer/dp/0596529856/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1229047533&#038;sr=8-1" target="_blank">this wonderful book</a>&#8230; the holidays are coming.</em></p>
<p>I have had the fortunate opportunity to work with <a href="http://blog.zupko.info/" target="_blank">Andy Zupko</a> on a project here at <a href="http://infrared5.com/" target="_blank">Infrared5</a>. We have our good days and our bad days &#8211; as most projects go &#8211; and hopefully we&#8217;ll be able to showcase our efforts at some time. Recently i started whipping the project into shape to handle modules, rsls and loaded styles to minimize the download time and highten user experience. Why does it always come down to the last few days to get this up and running? I don&#8217;t know. Maybe we&#8217;re so gung-ho to get things finished for an iteration and to show a client that deployment structure falls a little to the wayside. In any event Andy, and in some part me i suppose, structured the project to have minimal impact when it came time to have a deployment routine and manage runtime styles and rsls. Enough horn-tooting! What am i talking about?</p>
<p>Well, when it came time to set up the ant tasks that will take over the deployment and distribution of the application i was hitting a wall in compiling against an rsl. More to the point, i was getting this error:</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;">BUILD FAILED : No directory specified for FlexFileSet.</pre></div></div>

<p>&#8230; when combined with this directive</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;compiler .external-library-path<span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;">&lt;include name=<span style="color: #ff0000;">&quot;${app.dir}/${rsl.name}.swc&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;">&lt;/compiler<span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>I&#8217;m not gonna go into the nuts and bolts of the build file or even attempt to explain what that error means. I am familiar with compiling applications and modules from the Terminal and pretty much love doing most things from the terminal rather than relying on tools in eclipse, but i thought to bring experience down to a playing ground for a project that will be handed off to a client at some point, go with flex ant tasks. It&#8217;s well documented. Google finds most answers. Etc. But there are subtle changes to syntax that i am unfamiliar with when it comes to create a build file targeting the command line tools of the SDK.</p>
<p>In any event, it baffled me why this command would not work. It syntactically looked correct to me. The compiler directive is spelled correctly, the option variable is the correct path&#8230; wtf. Well just like the -library-path option i suppose you had to remove the directory that the SWC lives in from the variable and add it as a dir property.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;compiler .external-library-path dir=<span style="color: #ff0000;">&quot;${app.dir}&quot;</span><span style="color: #7400FF;">&gt;</span></span>
	<span style="color: #000000;">&lt;include name=<span style="color: #ff0000;">&quot;${rsl.name}.swc&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
<span style="color: #000000;">&lt;/compiler<span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>Works! All is fine&#8230; but it took a hell of a long time to figure that out. Thought i would post this for any Terminal monkeys out there that run across this issue when building an ant file for compiling rsls into your application.</p>
<p>Was I bone-head for 2 hours? Probably&#8230;. feel free to leave a comment.</p>
<p><strong>[Update February 3rd, 2009]</strong> &#8211; <a href="http://www.boostworthy.com/blog/" target="_blank">Ryan Taylor</a> sent a solution that he uses (after being welcomed by my wordpress comments failure), which i find pretty elegant and will use in the future.</p>

<div class="wp_syntax"><div class="code"><pre class="mxml" style="font-family:monospace;"><span style="color: #000000;">&lt;mxmlc ...<span style="color: #7400FF;">&gt;</span></span>
       <span style="color: #000000;">&lt;runtime -shared-library-path path-element=<span style="color: #ff0000;">&quot;${libs}/MyLibrary.swc&quot;</span><span style="color: #7400FF;">&gt;</span></span>
           <span style="color: #000000;">&lt;url rsl-url=<span style="color: #ff0000;">&quot;MyLibrary.swf&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
           <span style="color: #000000;">&lt;url policy-file-url=<span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #7400FF;">/&gt;</span></span>
    <span style="color: #000000;">&lt;/runtime<span style="color: #7400FF;">&gt;</span></span>
<span style="color: #000000;">&lt;/mxmlc<span style="color: #7400FF;">&gt;</span></span></pre></div></div>

<p>Thanks, Ryan!</p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=77</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Back from MAX</title>
		<link>http://custardbelly.com/blog/?p=76</link>
		<comments>http://custardbelly.com/blog/?p=76#comments</comments>
		<pubDate>Sun, 23 Nov 2008 23:05:04 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Infrared5]]></category>
		<category><![CDATA[Prana]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=76</guid>
		<description><![CDATA[Just got back from Adobe MAX and a sweet short vacation for the missus and i. Been to SF only once, when i was 9, and all i cared about were Garbage Pail Kids and pleading with my mom to buy me some Nikes. Needless to say, i remember &#8211; i think &#8211; a lot [...]]]></description>
			<content:encoded><![CDATA[<p>Just got back from <a href="http://max.adobe.com/">Adobe MAX</a> and a sweet short vacation for the missus and i. Been to SF only once, when i was 9, and all i cared about were Garbage Pail Kids and pleading with my mom to buy me some Nikes. Needless to say, i remember &#8211; i think &#8211; a lot more about this last trip.</p>
<p>I was overjoyed to be able to sit on the Flex Architecture Face-Off panel with <a href="http://rewindlife.com/">Chafic Kazoun</a>, <a href="http://thefactoryfactory.com/wordpress/">Josh Noble</a> and <a href="http://flexblog.faratasystems.com/">Yakov Fain</a>. They are amazing architects with strong beliefs and open ears. We had a pretty good turnout and the session ended up being sold out. Only noticed one person walk out, but as it turns out they were over-caffeinated&#8230;</p>
<p>It was my first MAX and i didn&#8217;t know what to expect with the record-breaking attendance and my bundle of nerves. All said, i really enjoyed it and renewed my interest in the software platform that constantly evolves and inspires me to keep digging even after the workday is over. Of course it was centered around Adobe products, but i truly got the sense of it being a presentation rather than being force-fed. A lot of great things are on the horizon and even though i am a mark-up snob in a sense, i love the direction that the Flex platform is taking. Would have liked more &#8216;inspire&#8217; sessions, but <a href="http://www.boostworthy.com/blog/">Ryan Taylor</a>, <a href="http://blog.andre-michelle.com/">Andre Michelle</a> and <a href="http://www.quasimondo.com/">Mario Klingemann</a> kept me wide-eyed and ready to go back to my room to code&#8230; although there always seemed to be free beer that blocked the exit <img src='http://darko.liquidweb.com/~custardb/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Adobe also sponsored a party on Tuesday night at the <a href="http://www.famsf.org/deyoung/">de Young</a> and <a href="http://www.calacademy.org/">Science Academy</a>. I thought that these were venerable institutions in Golden Gate park, but it was dark and as I later found out after going with the missus again later in the week that the are relatively new. If you are in the SF area anytime soon, i highly recommend checking them out. That was a great night with two great museums and some really great friends&#8230; plus me and <a href="http://thefactoryfactory.com/wordpress/">Josh</a> schooled some poor saps in Foosball&#8230; after i got schooled in NBA Jams by <a href="http://www.razorberry.com/blog/">Ash</a> &#8211; rematch, all i&#8217;ll say.</p>
<p>Some people found me after our panel and had some questions about things i brought up that i wish i could have gone into further:</p>
<p>1. As far as specs, docs and architecture go, I think your best bet is <a href="http://www.sparxsystems.com.au/products/ea/trial.html">Enterprise Architect</a>. That is, unless you are on a Mac in which case it is not available and i prefer <a href="http://www.omnigroup.com/applications/OmniGraffle/">Omnigraffle</a>.</p>
<p>2. I briefly mentioned <a href="http://www.pranaframework.org/">Prana</a> and IoC as a segue from scaffolding and I wish i had more time to devote to it during the panel. Though <a href="http://mate.asfusion.com/">Mate</a> does support some dependency injection for their event mapping, it is compiled in and i prefer an external application context that can be configured for runtime. We use it heavily at <a href="http://www.infrared5.com/">Infrared5</a> and I would whole-heartedly suggest you look into it for your next project &#8211; <a href="http://www.pranaframework.org/">Prana</a> developed by <a href="http://www.herrodius.com/blog/">Christophe Herreman</a>.</p>
<p>3. On the panel, we were all familiar with <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a> and mostly use it when business requirements and dev team size makes it a perfect fit. But i did bring up the black hole of state control that comes with it&#8230; in my opinion. I am quite taken with how <a href="http://puremvc.org/">PureMVC</a> handles state through mediators, but i have other weight-baring problems with <a href="http://puremvc.org/">PureMVC</a> that i can&#8217;t get around that make me choose <a href="http://opensource.adobe.com/wiki/display/cairngorm/Cairngorm">Cairngorm</a> when it comes to incorporating a micro-architecture into our projects. I basically said that i hate throwing string-denoted state on the ModelLocator that is bound to a view. I can&#8217;t stand it, but i do it because i know that developers are familiar with it. In my personal opinion i think this is the best case for the Strategy pattern. I like the Mediator pattern as well, but i think there is too much baggage and extra code that needs to be thrown in an if..else of switch..case. I know that Strategy is  behaviour pattern but i see it fitting in nicely with presentation as well. I can go into that farther in another post if you all want, but i just wanted to convey that even though you might represent a simple string on a global model, i think you are losing the loose-coupling infrastructure&#8230; but don&#8217;t even get me started on Singleton models&#8230; this 3 point has already run too long.</p>
<p>In any event, if you sat in on the panel, I would love to hear your thoughts &#8211; good, bad and ugly. Leave a comment&#8230; and bundle up, it&#8217;s cold here in boston.</p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Errata or just a helpful hint?</title>
		<link>http://custardbelly.com/blog/?p=75</link>
		<comments>http://custardbelly.com/blog/?p=75#comments</comments>
		<pubDate>Thu, 04 Sep 2008 01:14:35 +0000</pubDate>
		<dc:creator>todd anderson</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Books]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://custardbelly.com/blog/?p=75</guid>
		<description><![CDATA[For those of you who have a copy of the Adobe Air Create-Modify-Reuse book that myself and Marc Leuchner and Matt Wright (of NoBien fame) authored, we hope you are enjoying it and i also may have a bit of errata for Chapter 1 if you are running Leopard. For those of you who don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you who have a copy of the <a href="http://www.amazon.com/Adobe-AIR-Create-Modify-Programmer/dp/0470182075/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1220490556&#038;sr=8-1" target="_blank">Adobe Air Create-Modify-Reuse book</a> that myself and <a href="http://blog.nobien.net/" target="_blank">Marc Leuchner and Matt Wright (of NoBien fame)</a> authored, we hope you are enjoying it and i also may have a bit of errata for Chapter 1 if you are running Leopard. For those of you who don&#8217;t have a copy of the <a href="http://www.amazon.com/Adobe-AIR-Create-Modify-Programmer/dp/0470182075/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1220490556&#038;sr=8-1" target="_blank">book</a> (go buy it) and/or are running Leopard and want to use the Flex SDK command line tools, this may be of interest&#8230;</p>
<p>In Chapter 1 of the Adobe AIR Create-Modify-Reuse book, <em>The Development Environment</em>, it states that in order to set a PATH variable for your command line tools that you should:</p>
<p><strong>1.</strong> Open the Terminal and type <strong>> open -e .profile</strong><br />
<strong>2.</strong> Add the path to the /bin folder of your SDK installation (I paraphrased&#8230; but you get the idea)</p>
<p>In Tiger this is all well and good, and if you are running in Tiger you can drop off or read on if you intend to upgrade to Leopard. Setting system paths in Leopard has changed and you no longer have a <em>.profiles</em> file in your User directory to which you can add/append paths. The following steps are what i took to add a path to the Flex SDK command line tools under Leopard:</p>
<p><strong>1.</strong> Open the Terminal and navigate to /etc/paths.d<br />
<strong>2.</strong> Create a file named &#8216;flex&#8217; &#8211; (sans quotes)<br />
<strong>3.</strong> Enter the following command: <strong>> pico flex</strong><br />
<strong>4.</strong> Enter: <strong>/Applications/flex_sdk_3/bin</strong><br />
<strong>5.</strong> Exit and Save</p>
<p>You will need to restart your computer.</p>
<p><em>*Note: /Applications/flex_sdk_3/bin points to the /bin directory of my Flex 3 SDK installation, change as you see fit to your installation.</em></p>
<p>I can&#8217;t go into the long and short of why this needs to take place in Leopard, but that will get you up and running with the command line tools if running under Leopard; i can however tell you i used the following to set me on the right path (no pun intended):</p>
<p><a href="http://littlesquare.com/2008/01/24/upgraded-to-leopard-making-use-of-etcpathsd-and-path_helper/" target="_blank">here</a> and <a href="http://old.blog.elliottcable.name/articles/2007/10/leopard-paths" target="_blank"> here</a> </p>
<p>I apologise if anyone had purchased <a href="http://www.amazon.com/Adobe-AIR-Create-Modify-Programmer/dp/0470182075/ref=pd_bbs_sr_1?ie=UTF8&#038;s=books&#038;qid=1220490556&#038;sr=8-1" target="_blank">the book</a> and tried to go through Chapter 1 with a Leopard installation. I did not know that setting PATH variables had changed and I was running Tiger when written and up until about a couple weeks ago when my HD went on the lam and i was greeted by a series of &#8216;Do Not Enter&#8217; and &#8216;Missing File&#8217; icons on start-up&#8230; all is well though, and they replaced my HD and installed Leopard for free!</p>
<p>For those of you have a copy of the book, i hope you are enjoying it. For those who are trying to get the tools up and running and just switched to Leopard i hope this is useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://custardbelly.com/blog/?feed=rss2&amp;p=75</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
