<?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>h6 - HatSix &#187; Projects</title>
	<atom:link href="http://hat6.com/category/projects/feed/" rel="self" type="application/rss+xml" />
	<link>http://hat6.com</link>
	<description>Hat6 Web Application Engineering</description>
	<lastBuildDate>Fri, 12 Mar 2010 17:13:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flex 4 gotcha &#8211; baseColor changed to chromeColor</title>
		<link>http://hat6.com/2010/03/12/flex-4-gotcha-basecolor-changed-to-chromecolor/</link>
		<comments>http://hat6.com/2010/03/12/flex-4-gotcha-basecolor-changed-to-chromecolor/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 17:13:32 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://hat6.com/2010/03/12/flex-4-gotcha-basecolor-changed-to-chromecolor/</guid>
		<description><![CDATA[Sometime after Flex 4 beta 2 was released, they changed the main way to change the color of a sparkSkin from &#8216;baseColor&#8217; to &#8216;chromeColor&#8217;.  So, if you get an error in eclipse about how baseColor doesn&#8217;t exist, but the tutorials are telling you that it does, try chromeColor instead.
]]></description>
			<content:encoded><![CDATA[<p>Sometime after Flex 4 beta 2 was released, they changed the main way to change the color of a sparkSkin from &#8216;baseColor&#8217; to &#8216;chromeColor&#8217;.  So, if you get an error in eclipse about how baseColor doesn&#8217;t exist, but the tutorials are telling you that it does, try chromeColor instead.</p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2010/03/12/flex-4-gotcha-basecolor-changed-to-chromecolor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Flex for pushing data from BlazeDS to HTML</title>
		<link>http://hat6.com/2009/12/09/using-flex-for-pushing-data-from-blazeds/</link>
		<comments>http://hat6.com/2009/12/09/using-flex-for-pushing-data-from-blazeds/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 09:03:50 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://hat6.com/?p=91</guid>
		<description><![CDATA[Here&#8217;s my presentation for December&#8217;s SeaFlexUG meeting:

]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s my presentation for December&#8217;s SeaFlexUG meeting:</p>
<p><object id="prezi_npjdwj02h58e" name="prezi_npjdwj02h58e" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="750" height="550"><param name="movie" value="http://prezi.com/bin/preziloader.swf"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="bgcolor" value="#ffffff"/><param name="flashvars" value="prezi_id=npjdwj02h58e&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"/><embed id="preziEmbed_npjdwj02h58e" name="preziEmbed_npjdwj02h58e" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="750" height="550" bgcolor="#ffffff" flashvars="prezi_id=npjdwj02h58e&amp;lock_to_path=1&amp;color=ffffff&amp;autoplay=no"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2009/12/09/using-flex-for-pushing-data-from-blazeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android ItemRenderers &#8211; Updated</title>
		<link>http://hat6.com/2009/11/27/itemrenderers-updated/</link>
		<comments>http://hat6.com/2009/11/27/itemrenderers-updated/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 01:06:17 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://hat6.com/2009/11/27/itemrenderers-updated/</guid>
		<description><![CDATA[I&#8217;ve created a project for showing off ItemRenderers.  Anyone can view it here:
http://svn.hat6.com/hat6public/itemRenderersExample/trunk
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve created a project for showing off ItemRenderers.  Anyone can view it here:</p>
<p><a href="http://svn.hat6.com/hat6public/itemRenderersExample/trunk">http://svn.hat6.com/hat6public/itemRenderersExample/trunk</a></p>
<div id="attachment_56" class="wp-caption alignnone" style="width: 343px"><a rel="attachment wp-att-56" href="http://hat6.com/2009/11/27/itemrenderers-updated/itemrenderersimple/"><img class="size-full wp-image-56" title="ItemRendererSimple" src="http://hat6.com/wp-content/uploads/2009/11/ItemRendererSimple.png" alt="ItemRenderer With Just Text" width="333" height="491" /></a><p class="wp-caption-text">ItemRenderer With Just Text</p></div>
<div id="attachment_55" class="wp-caption alignnone" style="width: 339px"><a rel="attachment wp-att-55" href="http://hat6.com/2009/11/27/itemrenderers-updated/itemrenderericon/"><img class="size-full wp-image-55" title="ItemRendererIcon" src="http://hat6.com/wp-content/uploads/2009/11/ItemRendererIcon.png" alt="ItemRenderer With Icon" width="329" height="488" /></a><p class="wp-caption-text">ItemRenderer With Icon</p></div>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2009/11/27/itemrenderers-updated/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Commits to Flex SDK</title>
		<link>http://hat6.com/2009/03/28/commits-to-flex-sdk/</link>
		<comments>http://hat6.com/2009/03/28/commits-to-flex-sdk/#comments</comments>
		<pubDate>Sun, 29 Mar 2009 02:24:16 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://hat6.com/2009/03/28/2nd-commit-to-flex-sdk/</guid>
		<description><![CDATA[First one was an addition to the border, to ensure that borders were drawn with the correct radius:
http://bugs.adobe.com/jira/browse/SDK-16147
Second is just a tooltip fix, but EVERY fix committed is a testament to the power of Flex+Open Source!!!!!!!!
http://bugs.adobe.com/jira/browse/SDK-16475
]]></description>
			<content:encoded><![CDATA[<p>First one was an addition to the border, to ensure that borders were drawn with the correct radius:</p>
<p><a href="http://bugs.adobe.com/jira/browse/SDK-16147" target="_blank">http://bugs.adobe.com/jira/browse/SDK-16147</a></p>
<p>Second is just a tooltip fix, but EVERY fix committed is a testament to the power of Flex+Open Source!!!!!!!!</p>
<p><a href="http://bugs.adobe.com/jira/browse/SDK-16475" target="_blank">http://bugs.adobe.com/jira/browse/SDK-16475</a></p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2009/03/28/commits-to-flex-sdk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Showing us your Flex Ninjatude</title>
		<link>http://hat6.com/2009/02/22/showing-us-your-flex-ninjatude/</link>
		<comments>http://hat6.com/2009/02/22/showing-us-your-flex-ninjatude/#comments</comments>
		<pubDate>Mon, 23 Feb 2009 00:14:37 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://hat6.com/2009/02/22/showing-us-your-flex-ninjatude/</guid>
		<description><![CDATA[
Several of the guys @ the SeaFlex User Group started the BugQuash.  Sign Up, or go crying home to mommy.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://bugquash.com/"><img src="http://hat6.com/wp-content/uploads/2009/02/seattle09.jpg" alt="seattle09" title="seattle09" width="244" height="244" class="alignnone size-full wp-image-29" /></a><br />
Several of the guys @ the SeaFlex User Group started the BugQuash.  Sign Up, or go crying home to mommy.</p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2009/02/22/showing-us-your-flex-ninjatude/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SeattleFUG Project: Extending the Code Jam Project</title>
		<link>http://hat6.com/2008/10/12/seattlefug-project-extending-the-code-jam-project/</link>
		<comments>http://hat6.com/2008/10/12/seattlefug-project-extending-the-code-jam-project/#comments</comments>
		<pubDate>Sun, 12 Oct 2008 20:18:52 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>

		<guid isPermaLink="false">http://hat6.com/?p=27</guid>
		<description><![CDATA[Last thursday a bunch of members of the User Group gathered around and decided that a good way to learn about new tech was to just do it, and considering that I am associated with a project that is very close to 1.0, and has set goals for 2.0, we decided to work on the [...]]]></description>
			<content:encoded><![CDATA[<p>Last thursday a bunch of members of the User Group gathered around and decided that a good way to learn about new tech was to just do it, and considering that I am associated with a project that is very close to 1.0, and has set goals for 2.0, we decided to work on the <a href="http://code.google.com/p/flexcodejam/wiki/ResourceLocator" target="_blank">ResourceLocator </a>that was developed at the San Jose 2008 Flex 360 Charity Code Jam.</p>
<p>So, the code isn&#8217;t there yet, we&#8217;re waiting for 1.0, which should be finished in the next couple weeks. But I&#8217;ve invited all of the members that want to participate to <a href="http://code.google.com/p/flexcodejam/source/browse/#svn/trunk/codejams/sanjose08/VirtualFoodConnection" target="_blank">take a look at the code</a>, and if they get really excited about it, they can even contribute and fix <a href="http://code.google.com/p/flexcodejam/issues/list" target="_blank">one of the bugs</a> that are still outstanding. This invitation is NOT restricted to my user group members, anyone can join, just contact me (dusty (dot) jewett -at- gmail (dot) com).</p>
<p>One thing I promised the members was a bit of guidance, so I&#8217;m linking to <a href="http://www.onflex.org/ted/2008/09/360flex-sj-2008-mate-flex-framework-by.php" target="_blank">Laura&#8217;s Flex 360 talk about Mate</a>. Unfortunately, the talk on <a href="http://www.degrafa.com/" target="_blank">Degrafa </a>hasn&#8217;t been posted yet, but there are plenty of examples on the site.  AMFPHP has been around for a long while, but I&#8217;ve enjoyed <a href="http://www.sephiroth.it/tutorials.php" target="_blank">Sephiroth&#8217;s tutorials</a>. I&#8217;ll be explaining specific things in our user group meeting on the 13th, and while we don&#8217;t have the cool setup that Flex360 did, I should be able to come up with some sort of recording of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2008/10/12/seattlefug-project-extending-the-code-jam-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Singleton-esque, self-aware &#8216;Kind&#8217; Classes</title>
		<link>http://hat6.com/2008/09/08/singleton-esque-self-aware-kind-classes/</link>
		<comments>http://hat6.com/2008/09/08/singleton-esque-self-aware-kind-classes/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 00:49:46 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://hat6.com/?p=26</guid>
		<description><![CDATA[I recently started a project of converting an older flex app to an AIR app. This app has to scan through a bunch of files, and classify certain types of media based on the location and file extension.  Then it saves a manifest of the media to an xml file that can be loaded [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started a project of converting an older flex app to an AIR app. This app has to scan through a bunch of files, and classify certain types of media based on the location and file extension.  Then it saves a manifest of the media to an xml file that can be loaded (without scanning every time).</p>
<p>I started out with a Kind class (think CollectionEventKind) that had the types as strings&#8230; but then I had to figure out how to store the regular expressions to make them easily accessible&#8230; Then I remembered that while everyone just uses Strings, static const vars can be any class, including it&#8217;s own class.  So I came up with this class that you can use constants, or locate a specific constant.  Code after the fold.<br />
<span id="more-26"></span><br />
<code><br />
package aero.panasonic.training.model<br />
{<br />
	import flash.utils.Dictionary;<br />
	import flash.utils.describeType;</p>
<p>	public class MediaKind<br />
	{<br />
		public function MediaKind(title:String, label:String, regex:RegExp ){<br />
			this.title = title;<br />
			this.label = label;<br />
			this.regex = regex;<br />
		}<br />
		public function toString():String{<br />
			return title;<br />
		}<br />
		public var title:String;<br />
		public var label:String;<br />
		public var regex:RegExp;<br />
		public static const D_ILLUSTRATION_PERSPECTIVE:MediaKind =<br />
			new MediaKind("Illustration - Perspective", "Perspective", /Deliverables\/Illustrations\/Perspective\/.*_perspective\.(?:png|swf|jpg)/i );<br />
		public static const D_ILLUSTRATION_THREEQUARTER:MediaKind =<br />
			new MediaKind("Illustration - 3/4 (ISO)", "ISO", /Deliverables\/Illustrations\/Isometric\/.*_iso\.(?:png|swf|jpg)/i );</p>
<p>		private static var lookup:Dictionary = new Dictionary();<br />
		private static var allKinds:Array = new Array();<br />
		private static var kindsMapped:Boolean = false;</p>
<p>		private static function mapKinds():void{<br />
			var description:XML = describeType(MediaKind);<br />
			for each(var cXML:XML in description.constant){<br />
				var m:MediaKind = MediaKind[cXML.@name] as MediaKind;<br />
				lookup[m.title] = m;<br />
				lookup[m.label] = m;<br />
				allKinds.push(m);<br />
			}<br />
			kindsMapped = true;<br />
		}<br />
		public static function getMediaKind(input:String):MediaKind{<br />
			if(!kindsMapped) mapKinds();<br />
			return lookup[input];<br />
		}<br />
		public static function getAllKinds():Array{<br />
			if(!kindsMapped) mapKinds();<br />
			return allKinds;<br />
		}<br />
	}<br />
}<br />
</code></p>
<p>In my code, I have a piece that gets all of the MediaKinds, then checks each file against each kind. I can filter, I can create drop-downs, all from one class.  The getMediaKind() function lets me effortlessly create my ValueObjects from XML. The toString() writes out the title, making my XML human-readable.</p>
<p>Instinctively, I want to take this farther and create a base &#8216;Kind&#8217; class that has this all in it. It turns out that static properties/functions aren&#8217;t inherited. The properties and functions are still in scope, however&#8230; so it may be possible to write a generic function that takes a class, creates a lookup for that specific class and passes it back down the line, allowing the allKinds() function to return ALL of the static definitions for the class and it&#8217;s super-classes.  Anyways, that&#8217;s too much for my head at this point, but maybe someone else will take the bait <img src='http://hat6.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2008/09/08/singleton-esque-self-aware-kind-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launching Files from Adobe Air</title>
		<link>http://hat6.com/2008/09/04/launching-files-from-adobe-air/</link>
		<comments>http://hat6.com/2008/09/04/launching-files-from-adobe-air/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 21:45:12 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://hat6.com/?p=25</guid>
		<description><![CDATA[So, this takes the long way around, and is not a good solution for mass-distributed applications, but if you&#8217;re lucky enough to have a managed environment that you can push installs down the pipe, this is a way to let your users launch files from AIR.
First, download Switchboard.
Second, add Switchboard to your libs.
Third, use this [...]]]></description>
			<content:encoded><![CDATA[<p>So, this takes the long way around, and is not a good solution for mass-distributed applications, but if you&#8217;re lucky enough to have a managed environment that you can push installs down the pipe, this is a way to let your users launch files from AIR.</p>
<p>First, download <a href="http://labs.adobe.com/wiki/index.php/SwitchBoard">Switchboard</a>.</p>
<p>Second, add Switchboard to your libs.</p>
<p>Third, use this script:<br />
<code><br />
private function openFile(f:File):void{<br />
Client.init(super.applicationID);<br />
var message:Message = new Message();<br />
var script:String = "var runScript = function(fileName){\n" +<br />
"   var theFile = new File(fileName);\n" +<br />
"	if(!theFile.exists) return false;\n" +<br />
"	theFile.execute();\n" +<br />
"}\n" +<br />
"runScript(\"" + f.url.substr(7) + "\");";<br />
message.body = script;<br />
message.target = "bridge";<br />
message.onError =  function( msg: Message ) : void {<br />
// put the error message into the result box<br />
trace("Error: " + msg.body);<br />
}</code></p>
<p>message.send();<br />
status = &#8220;Opening &#8221; + f.name;<br />
Client.close();<br />
}</p>
<p>This opens up bridge, then uses Bridge to run the &#8220;execute()&#8221; command that ExtendScript (or whatever they&#8217;re calling it) has available.</p>
<p>Now&#8230; while this is neither simple or elegant, it gets the job done.  I&#8217;d rather use Merapi, but my app has to ship before Merapi can go stable.</p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2008/09/04/launching-files-from-adobe-air/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flex Code Jam &#8211; Now with ∞ more open source code.</title>
		<link>http://hat6.com/2008/08/29/flex-code-jam-now-with-%e2%88%9e-more-open-source-code/</link>
		<comments>http://hat6.com/2008/08/29/flex-code-jam-now-with-%e2%88%9e-more-open-source-code/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 19:07:35 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flex]]></category>
		<category><![CDATA[Flex Code Jam]]></category>

		<guid isPermaLink="false">http://hat6.com/?p=24</guid>
		<description><![CDATA[The Flex Code Jam Google Code Project is officially LIVE!
I&#8217;ve added all of our source code to the repository, including the code from the Seattle 2007 Code Jam (which is unfortunately unfinished&#8230;).  We&#8217;re heading towards a 1.0 release for the Second Harvest food bank, then after 1.0 we&#8217;ll be abstracting some of the pieces, so [...]]]></description>
			<content:encoded><![CDATA[<p>The <a title="Flex Code Jam" href="http://code.google.com/p/flexcodejam/" target="_blank">Flex Code Jam Google Code Projec</a>t is officially LIVE!</p>
<p>I&#8217;ve added all of our source code to the repository, including the code from the Seattle 2007 Code Jam (which is unfortunately unfinished&#8230;).  We&#8217;re heading towards a 1.0 release for the Second Harvest food bank, then after 1.0 we&#8217;ll be abstracting some of the pieces, so that it can be a plug-n-play widget for any organization that wants to offer a slick location-based-search. (Though it WILL be tailored to non-profits)</p>
<p>The code is free to download and try out.  We don&#8217;t have documentation on how to set up the AMF-PHP yet, but it&#8217;s coming&#8230; it shouldn&#8217;t be too hard, however. We have 7 open tickets as of this post, so feel free to dig in and help us release 1.0.  If you work on one of the tickets, let me know&#8230; I&#8217;ll add you to the project as soon as you have code to commit.</p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2008/08/29/flex-code-jam-now-with-%e2%88%9e-more-open-source-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>flash.system.Capabilities</title>
		<link>http://hat6.com/2008/07/29/flashsystemcapabilities/</link>
		<comments>http://hat6.com/2008/07/29/flashsystemcapabilities/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 18:07:02 +0000</pubDate>
		<dc:creator>Dusty</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://hat6.com/?p=23</guid>
		<description><![CDATA[Ever need to know if you&#8217;re running in debug mode (programmatically)? What screen resolution the user is running?
flash.system.Capabilities has everything you need.
&#60;mx:Canvas visible=&#8221;{Capabilities.isDebugger}&#8221; /&#62; will give you a canvas that is only displayed when you are debugging. You can check the flash player version, check to see if audio is enabled, many other things that [...]]]></description>
			<content:encoded><![CDATA[<p>Ever need to know if you&#8217;re running in debug mode (programmatically)? What screen resolution the user is running?</p>
<p><a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/system/Capabilities.html" target="_blank">flash.system.Capabilities</a> has everything you need.</p>
<p>&lt;mx:Canvas visible=&#8221;{Capabilities.isDebugger}&#8221; /&gt; will give you a canvas that is only displayed when you are debugging. You can check the flash player version, check to see if audio is enabled, many other things that can really tailor your application to enhance the user experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://hat6.com/2008/07/29/flashsystemcapabilities/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
