<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Dead Ink Vinyl &#187; flex</title>
	<atom:link href="http://blog.deadinkvinyl.com/tag/flex/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.deadinkvinyl.com</link>
	<description>Musings of David L Kinney</description>
	<lastBuildDate>Wed, 24 Feb 2010 05:33:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.deadinkvinyl.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Dead Ink Vinyl &#187; flex</title>
		<link>http://blog.deadinkvinyl.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.deadinkvinyl.com/osd.xml" title="Dead Ink Vinyl" />
	<atom:link rel='hub' href='http://blog.deadinkvinyl.com/?pushpress=hub'/>
		<item>
		<title>QCon San Francisco 2008</title>
		<link>http://blog.deadinkvinyl.com/2008/11/25/qcon-san-francisco-2008/</link>
		<comments>http://blog.deadinkvinyl.com/2008/11/25/qcon-san-francisco-2008/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 04:55:12 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Conference]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[360flex]]></category>
		<category><![CDATA[c4]]></category>
		<category><![CDATA[evernote]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[qcon]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubyonrails]]></category>
		<category><![CDATA[sanfrancisco]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/?p=173</guid>
		<description><![CDATA[For most of this year, I&#8217;ve been taking notes at conferences using Field Notes notebooks. I love their pocket sized dimensions and they have just enough pages to comfortably hold everything from a conference that I&#8217;ll want to remember later. However, for QCon last week I decided to try typing everything into Evernote. The fact [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=173&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>For most of this year, I&#8217;ve been taking notes at conferences using <a href="http://fieldnotesbrand.com/">Field Notes</a> notebooks. I love their pocket sized dimensions and they have just enough pages to comfortably hold everything from a conference that I&#8217;ll want to remember later. However, for <a href="http://qconsf.com/">QCon</a> last week I decided to try typing everything into <a href="http://www.evernote.com/">Evernote</a>. The fact that I can access my notes on my iPhone makes the notes just as portable <span lang="latin">ex post facto</span>, and saved my Field Notes for more worthy pursuits. </p>
<p>Evernote worked out very well, and now I can share my notes online just by putting all of them into their own notebook (folder) and making it public. </p>
<p>So without further ado: <a href="http://www.evernote.com/pub/dlkinney/QConSF2008">my notes from QCon</a>.</p>
<p>Overall, I thought QCon was excellent. While the quality of the speakers was somewhat varied in the sessions I attended, I never felt my time might be better spent checking out a different session, which puts it ahead of most conferences. (I&#8217;m a big fan of <a href="http://blog.deadinkvinyl.com/2007/10/27/how-to-make-any-conference-better/">voting with my feet</a>.) QCon is certainly on my short list of conferences to attend next year. Also on my list are (in no particular order): <a href="http://en.wikipedia.org/wiki/C4_%28conference%29">C4</a>, <a href="http://developer.apple.com/wwdc/"><span class="caps">WWDC</span></a>, <a href="http://en.oreilly.com/rails2009/">RailsConf</a>, <a href="http://erubycon.com/">eRubyCon</a>, and <a href="http://www.360conferences.com/360flex/">360|Flex</a>. </p>
<br />Posted in Community, Conference, Review Tagged: 360flex, c4, Conference, evernote, flex, qcon, rails, ruby, rubyonrails, sanfrancisco, wwdc <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/173/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/173/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/173/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=173&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2008/11/25/qcon-san-francisco-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>Flex 3 addChild() and initialize()</title>
		<link>http://blog.deadinkvinyl.com/2008/10/05/flex-3-addchild-and-initialize/</link>
		<comments>http://blog.deadinkvinyl.com/2008/10/05/flex-3-addchild-and-initialize/#comments</comments>
		<pubDate>Sun, 05 Oct 2008 05:21:22 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[addchild]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flexauthority]]></category>
		<category><![CDATA[initialize]]></category>
		<category><![CDATA[lifecycle]]></category>
		<category><![CDATA[ooad]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[opensource]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/?p=136</guid>
		<description><![CDATA[Okay, I&#8217;ve walked through all of the code in UIComponent and Container to work this out, so I&#8217;m going to share it: the sequence of operations when addChild(child) is invoked on a container and child extends UIComponent. Since the primary use for this knowledge is managing the initialization portion of the component life cycle, I&#8217;ve [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=136&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Okay, I&#8217;ve walked through all of the code in <a href="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/UIComponent.as">UIComponent</a> and <a href="http://opensource.adobe.com/svn/opensource/flex/sdk/branches/3.0.x/frameworks/projects/framework/src/mx/core/Container.as">Container</a> to work this out, so I&#8217;m going to share it: the sequence of operations when <code>addChild(child)</code> is invoked on a container and <code>child</code> extends UIComponent. </p>
<p>Since the primary use for this knowledge is managing the initialization portion of the component life cycle, I&#8217;ve highlighted the lines where your component may extend the behavior of UIComponent to perform its own operations. </p>
<p>The <code>addChild()</code> code bounces around through a lot of the <code>Container</code> class hierarchy, so I&#8217;ve included the class name with the method calls inside the parent&#8217;s instance so that you know where in the class hierarchy things get handled. </p>
<p>For simplicity, I skip showing the parameters to method calls and I don&#8217;t expand some operations (depicted by <em>italicized</em> text).</p>
<ol>
<li>Container.addChild()
<ol>
<li>calls Container.addChildAt()
<ol>
<li><em>removes child&#8217;s previous parent, if present</em></li>
<li>calls Container.addingChild()
<ol>
<li>calls UIComponent.addingChild()
<ol>
<li><span style="background-color:#ff8;color:#007;">calls child.parentChanged()</span></li>
<li>performs style setup on child</li>
<li><span style="background-color:#ff8;color:#007;">calls child.stylesInitialized()</span></li>
</ol>
</li>
<li><em>invalidates size and display list of parent</em></li>
</ol>
</li>
<li>calls UIComponent.$addChildAt()
<ol>
<li>calls Sprite.addChild()</li>
</ol>
</li>
<li>calls Container.childAdded()
<ol>
<li>parent dispatches &#8220;childrenChanged&#8221;</li>
<li>parent dispatches &#8220;childAdd&#8221;</li>
<li>calls child.dispatchEvent()
<ol>
<li><span style="background-color:#ff8;color:#007;">child dispatches &#8220;add&#8221;</span></li>
</ol>
</li>
<li>calls UIComponent.childAdded()
<ol>
<li><span style="background-color:#ff8;color:#007;">calls child.initialize()</span>
<ol>
<li><span style="background-color:#ff8;color:#007;">dispatches &#8220;preinitialize&#8221;</span></li>
<li><span style="background-color:#ff8;color:#007;">calls child.createChildren()</span></li>
<li><span style="background-color:#ff8;color:#007;">calls child.childrenCreated()</span>
<ol>
<li><em>invalidates properties, size, and display list of child</em></li>
</ol>
</li>
<li><span style="background-color:#ff8;color:#007;">calls child.initializeAccessibility()</span></li>
<li><span style="background-color:#ff8;color:#007;">calls child.initializationComplete()</span>
<ol>
<li>sets processedDescriptors = true
<ol>
<li><span style="background-color:#ff8;color:#007;">dispatches &#8220;initialize&#8221;</span></li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
</li>
</ol>
<p>There you have it: the order of operations when you invoke Container.addChild(). I hope this proves useful.</p>
<br />Posted in Development Tagged: addchild, component, Development, flex, flexauthority, initialize, lifecycle, ooad, oop, opensource <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/136/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/136/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/136/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=136&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2008/10/05/flex-3-addchild-and-initialize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>Rules for Flash Indexing</title>
		<link>http://blog.deadinkvinyl.com/2008/07/14/rules-for-flash-indexing/</link>
		<comments>http://blog.deadinkvinyl.com/2008/07/14/rules-for-flash-indexing/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 04:33:04 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[blogsearch]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[fleximagically]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[rpc]]></category>
		<category><![CDATA[ryanstewart]]></category>
		<category><![CDATA[searchable]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[zedianet]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/?p=126</guid>
		<description><![CDATA[I&#8217;ve been thinking a lot about the Ryan Stewart&#8217;s Flex SEO contest (also known as the &#8220;Fleximagically Searchable&#8221; contest). As I posted earlier, I believe the best and correct method for &#8220;making Flash indexable&#8221; is not to index Flash at all, but rather to index the data. I spent a lot of time thinking about [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=126&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking a lot about the Ryan Stewart&#8217;s <a href="http://blog.digitalbackcountry.com/?p=1478">Flex SEO contest</a> (also known as the &#8220;Fleximagically Searchable&#8221; contest). As <a href="http://blog.deadinkvinyl.com/2008/07/08/a-thought-about-flash-indexing/">I posted earlier</a>, I believe the best and correct method for &#8220;making Flash indexable&#8221; is not to index Flash at all, but rather to index the data. I spent a lot of time thinking about how I could get Google to index my content but link to my Flex application and I finally <a href="http://www.google.com/help/about_blogsearch.html">found a mechanism</a> to do this! However, upon very close reading of Ryan&#8217;s rules I see that <a href="http://blog.digitalbackcountry.com/?p=1478#comment-698675">he specifically does not want this solution</a>&#8212;he wants the content to be indexed by Googlebot &#8220;interacting&#8221; with the application. </p>
<p><em>That&#8217;s just silly.</em></p>
<p>For data-driven sites&#8212;which would be most Web sites with Flex front-ends&#8212;this is an completely artificial restriction. The only place where this would make any sense is for applications that do not dynamically <em>load</em> content, but rather dynamically <em>generate</em> content, such as for client-side mash-ups. Additionally, <a href="http://googlewebmastercentral.blogspot.com/2008/06/improved-flash-indexing.html">according to Google</a> &#8220;if your Flash file loads an HTML file, an XML file, another SWF file, etc., Google will separately index that resource, but it will not yet be considered to be part of the content in your Flash file.&#8221; That implies that dynamically loaded content must be RPC-based (and binary?) to be considered part of your SWF (as Ryan Stewart desires) instead of a separate resource. <em>Yuck!</em></p>
<p>I will continue with my planned solution because demonstrating the technique and learning how well it works for SEO will provide valuable information for the community. </p>
<p>Finally, I&#8217;d like to announce that I&#8217;ve purchased the domain <a href="http://www.fleximagicallysearchable.com/">fleximagicallysearchable.com</a> for this contest<sup><a href="#fn1">1</a></sup>. There is nothing there now, but I would like to turn it into a blog or user forum for discussing Flex SEO strategies and make it a resource that lives beyond this contest, continuing to be useful in the future by providing tutorials and covering the emerging best practices for Flash and Flex SEO. </p>
<p><sup>1</sup> Not to be confused with <a href="http://fleximagically-searchable.com/">fleximagically-searchable.com</a>, which is <a href="http://blog.digitalbackcountry.com/?p=1478#comment-698674">owned by zedia.net</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deadinkvinyl.wordpress.com/126/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deadinkvinyl.wordpress.com/126/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/126/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/126/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/126/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=126&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2008/07/14/rules-for-flash-indexing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>A Thought About Flash Indexing</title>
		<link>http://blog.deadinkvinyl.com/2008/07/08/a-thought-about-flash-indexing/</link>
		<comments>http://blog.deadinkvinyl.com/2008/07/08/a-thought-about-flash-indexing/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 17:14:44 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[contest]]></category>
		<category><![CDATA[cs4]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[indexing]]></category>
		<category><![CDATA[mastercollection]]></category>
		<category><![CDATA[ryanstewart]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/?p=124</guid>
		<description><![CDATA[It seems to me that thinking about the problem as &#8220;indexing Flash&#8221; is to approach the matter backward. We want the data to be indexed&#8212;the presentation is irrelevant. Take this blog as an example. It&#8217;s database-driven and generates documents with my content&#8212;these words you&#8217;re reading now&#8212;wrapped inside of some HTML garnish to make the reading [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=124&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It seems to me that thinking about the problem as &#8220;indexing Flash&#8221; is to approach the matter backward. We want the <em>data</em> to be indexed&#8212;the presentation is irrelevant. Take this blog as an example. It&#8217;s database-driven and generates documents with my content&#8212;these words you&#8217;re reading now&#8212;wrapped inside of some HTML garnish to make the reading experience pleasant. If you&#8217;re reading this in a feed reader, then the content is wrapped in Atom or RSS garnish. Do I care what garnish surrounds my content? Not particularly. </p>
<p>The same principle holds true for other Web applications, whether the garnish is Ajax, Flash, Flex, Silverlight, or&#8212;like this blog&#8212;good old fashioned dynamically generated HTML. It is the <em>data</em> that must be indexed, the presentation around that data is (conceptually) irrelevant for SEO purposes. I think the matter may be confused because for so long the data and the presentation were bundled together in HTML (like this blog). Now with Ajax and Flash/Flex, we are back to separating the user interface from the data. However, when the data isn&#8217;t part of the user interface document sent by the server, it&#8217;s harder for search engines to access and index. </p>
<p>So what&#8217;s the solution? Expose the <em>data</em> for indexing and detect when incoming links should launch the Flash/Flex app instead of responding with the raw information. Naturally, the Flash/Flex app would be launched to deep-linked directly to the relevant content. If you&#8217;re not sure how to make the data indexable, I&#8217;ll tell you that I take my guidance from <a href="http://www.amazon.com/RESTful-Web-Services-Leonard-Richardson/dp/0596529260/?tag=deadinkvinyl-20">RESTful Web Services</a>. The magic in this solution is detecting when an incoming link should launch a deep-linked Flex application and when it should render the raw data. For the moment, I&#8217;ll punt on detailing an implementation&#8212;consider it to be an exercise for the reader. </p>
<p>An exercise for the reader that can lead to rich rewards! Ryan Stewart has announced the <a href="http://blog.digitalbackcountry.com/?p=1478">Flex SEO Contest</a> to encourage the community to establish best practices for <a href="http://www.peterelst.com/blog/2008/07/06/update-on-swf-indexing-issues/">Flash/Flex indexing</a>. The rules are straightforward and the top prize is CS4 Master Collection. I like the challenge and may try my hand creating an entry that meets the contest criteria just for the experience of it. </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deadinkvinyl.wordpress.com/124/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deadinkvinyl.wordpress.com/124/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/124/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/124/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/124/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=124&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2008/07/08/a-thought-about-flash-indexing/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>Java&#8217;s Infatuation with Abstraction</title>
		<link>http://blog.deadinkvinyl.com/2008/02/24/javas-infatuation-with-abstraction/</link>
		<comments>http://blog.deadinkvinyl.com/2008/02/24/javas-infatuation-with-abstraction/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 07:14:17 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Community]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[arp]]></category>
		<category><![CDATA[cairngorm]]></category>
		<category><![CDATA[corba]]></category>
		<category><![CDATA[dhh]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[ejb]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[flest]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[gettingreal]]></category>
		<category><![CDATA[guasax]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[modelviewflex]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[mvcs]]></category>
		<category><![CDATA[n00b]]></category>
		<category><![CDATA[nhibernate]]></category>
		<category><![CDATA[opinionatedsoftware]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[puremvc]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubyonrails]]></category>
		<category><![CDATA[serverbox]]></category>
		<category><![CDATA[serverboxfoundry]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[steveyegge]]></category>
		<category><![CDATA[sun]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/?p=102</guid>
		<description><![CDATA[Steve Yegge wrote a long and somewhat rambling&#8212;but painfully insightful&#8212;article entitled Portrait of a N00b. It starts by discussing the phases of a software developer&#8217;s professional development, from toddler to teenager through to adulthood. Steve puts forward that a developer&#8217;s relationship to metadata (comments, static typing, modeling) changes over time from an over dependence on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=102&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://steve-yegge.blogspot.com">Steve Yegge</a> wrote a long and somewhat rambling&#8212;but painfully insightful&#8212;article entitled <a href="http://steve-yegge.blogspot.com/2008/02/portrait-of-n00b.html">Portrait of a N00b</a>. It starts by discussing the phases of a software developer&#8217;s professional development, from toddler to teenager through to adulthood. Steve puts forward that a developer&#8217;s relationship to metadata (comments, static typing, modeling) changes over time from an over dependence on metadata to a distaste for it. He then goes on to discuss consequences of this insight. </p>
<p>The article really hits its stride in the section &#8220;Creeping bureacracy&#8221;. If you&#8217;re short on time, jump down to that header. I found myself laughing and nodding at these pearls of wisdom:</p>
<blockquote>
<p>I think that by far the biggest reason that C++ and Java are the predominant industry languages today, as opposed to dynamic languages like Perl/Python/Ruby or academic languages like Modula-3/SML/Haskell, is that C++ and Java cater to both secure and insecure programmers. </p>
</blockquote>
<p>and</p>
<blockquote>
<p>Perl, Python and Ruby fail to attract many Java and C++ programmers because, well, they force you to get stuff done. It&#8217;s not very easy to drag your heels and dicker with class modeling in dynamic languages, although I suppose some people still manage. By and large these languages (like C) force you to face the computation head-on. That makes them really unpopular with metadata-addicted n00bs. </p>
</blockquote>
<p>While the whole article sent my neurons firing off in dozens of different directions worthy of blog entries, I&#8217;m going to concentrate on this bit:</p>
<blockquote>
<p>Java has been overrun by metadata-addicted n00bs. You can&#8217;t go to a bookstore or visit a forum or (at some companies) even go to the bathroom without hearing from them. You can&#8217;t actually model everything; it&#8217;s formally impossible and pragmatically a dead-end. But they try. And they tell their peers (just like our metadata-addicted logical data modelers) that you have to model everything or you&#8217;re a Bad Citizen.</p>
</blockquote>
<p><em>Hello, my name is David and used to be a metadata-addicted n00b</em>. Joking aside, Steve is absolutely right. </p>
<p>I think Java became the garden of frameworks due to its early positioning as an enterprise software platform. Enterprises are strange beasts. Internally developed enterprise software has a tendency to live a long, long time. A decade, often more. Take a moment and pause to think about what you were doing 10 years ago today, and then think about how much technology has changed in that time, too. </p>
<p>One of the problems faced by enterprise software that isn&#8217;t typically encountered outside of enterprises is that the systems, protocols, and interfaces that an application was originally written to run on or collaborate with will have been replaced. Vendors are replaced, authorization systems change (database to directory to single sign-on), databases are upgraded, CORBA loses favor to EJB and then to SOAP, and so on. Consequently, the fathers of Java emphasized abstraction&#8212;don&#8217;t get too close to your touch points, because they may be changed tomorrow. Let&#8217;s call this &#8220;abstraction at the edge&#8221;. </p>
<p>I think that a lot of Java developers&#8212;myself included&#8212;took abstraction too far. Instead of abstracting at the edge, we started abstracting everything. Rather than creating <a href="http://gettingreal.37signals.com/ch04_Make_Opinionated_Software.php">opinionated software</a>, the Java development community promoted and embraced frameworks that competed to be the most general and all-encompassing. <strong>Rather than solving problems, the Java community invested its energy in building problem-solving engines.</strong> </p>
<p>This is important because as Java developers have started jumping into new communities&#8212;I&#8217;m thinking of .NET, Flex, and Ruby on Rails&#8212;they have brought their framework addictions with them. <a href="http://www.hibernate.org/343.html">NHibernate</a> and <a href="http://www.springframework.net/">Spring.NET</a> are gaining momentum within .NET communities and you can&#8217;t look sideways at Flex without tripping over a new Flex MVC framework<sup><a href="#fn1">1</a></sup>. The Rails community has been very successful at resisting the <a href="http://rails-engines.org/">inventions</a> of &#8220;metadata addicted n00bs&#8221; because the big names in the community have taken a <a href="http://weblog.rubyonrails.com/2005/11/11/why-engines-and-components-are-not-evil-but-distracting/">strong positions</a> <a href="http://www.loudthinking.com/arc/000407.html">against abstraction</a>. </p>
<p>I might be growing up faster than Steve&#8217;s timetable for growth, but I&#8217;m tired of frameworks that try to do everything. I just want to get things done. </p>
<p><sup>1</sup> Here&#8217;s <em>nine</em> for you: <a href="http://labs.adobe.com/wiki/index.php/Cairngorm">Cairngorm</a>, <a href="http://www.puremvc.org/">PureMVC</a>, <a href="http://osflash.org/projects/arp">ARP</a>, <a href="http://www.adobe.com/devnet/flex/articles/blueprint.html">MVCS</a>, <a href="http://code.google.com/p/flest/">Flest</a>, <a href="http://www.model-glue.com/flex.cfm">Model-Glue: Flex</a>, <a href="http://www.servebox.com/foundry/doku.php">ServerBox Foundry</a>, <a href="http://www.guasax.com/">Guasax</a>, and <a href="http://www.memorphic.com/news/">Slide</a>. List compiled from <a href="http://www.asserttrue.com/articles/2007/10/17/silvafug-application-frameworks-presentation">here</a> and <a href="http://puremvc.org/content/view/43/98/">here</a>.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deadinkvinyl.wordpress.com/102/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deadinkvinyl.wordpress.com/102/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=102&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2008/02/24/javas-infatuation-with-abstraction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>My Schedule for Adobe MAX 2007 Chicago</title>
		<link>http://blog.deadinkvinyl.com/2007/09/07/my-schedule-for-adobe-max-2007-chicago/</link>
		<comments>http://blog.deadinkvinyl.com/2007/09/07/my-schedule-for-adobe-max-2007-chicago/#comments</comments>
		<pubDate>Sat, 08 Sep 2007 04:07:00 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[adobemax]]></category>
		<category><![CDATA[experiencedesign]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[creativesuite]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[applicationdesign]]></category>
		<category><![CDATA[continuousintegration]]></category>
		<category><![CDATA[datavisualization]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flexunit]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[prototyping]]></category>
		<category><![CDATA[richinternetapplication]]></category>
		<category><![CDATA[rubyonrails]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/2007/09/07/my-schedule-for-adobe-max-2007-chicago/</guid>
		<description><![CDATA[The Adobe MAX conference is in my backyard this year. The lack of travel expenses and the steep discount provided to attendees of 360&#124;Flex made it possible for me to attend. After registering, I chatted with other developers in my company to determine what sessions would be of greatest benefit to the teams using or [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=77&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.adobemax2007.com/">Adobe MAX</a> conference is in my backyard this year. The lack of travel expenses and the steep discount provided to attendees of <a href="http://www.360flex.com/">360|Flex</a> made it possible for me to attend. </p>
<p>After registering, I chatted with other developers in my company to determine what sessions would be of greatest benefit to the teams using or investigating Flex. I shuffled those in with some sessions I really wanted to attend and the resulting schedule is below.</p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA209W">Data Visualization with Flex</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA303W">Customizing the Flex Framework</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA207W">Continuous Integration with Flex, FlexUnit, and Ant</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/WD212W">Optimizing ActionScript 3.0 Performance</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA026W">Inspire Session: The Dawning of the Age of Experience</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/WI022W">What Makes a Design Seem Intuitive?</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/WI302W">Pixel Perfect Precision</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/WI010W">XD: Prototyping Rich Internet Applications with Fireworks CS3</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA012W">XD: Adobe&#8217;s Approach to Application Design</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA305W">Optimizing Flex Applications</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/WI211W">Designers and Developers CAN Love Each Other</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA208W">Creating New Flex Components</a></p>
<p><a href="https://secure.adobemax2007.com/na/sessions/locator/session/RA212W">Flex on Rails</a></p>
<p>I look forward to seeing some of you there! </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deadinkvinyl.wordpress.com/77/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deadinkvinyl.wordpress.com/77/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=77&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2007/09/07/my-schedule-for-adobe-max-2007-chicago/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>What&#8217;s in Your Computer Bag?</title>
		<link>http://blog.deadinkvinyl.com/2007/08/25/whats-in-your-computer-bag/</link>
		<comments>http://blog.deadinkvinyl.com/2007/08/25/whats-in-your-computer-bag/#comments</comments>
		<pubDate>Sat, 25 Aug 2007 15:15:00 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[backpack]]></category>
		<category><![CDATA[codingconventions]]></category>
		<category><![CDATA[creatingapplications]]></category>
		<category><![CDATA[effectiveui]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[flexbuilder]]></category>
		<category><![CDATA[greghamer]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[oreilly]]></category>
		<category><![CDATA[pdf]]></category>
		<category><![CDATA[powerbook]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubyonrails]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sun]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[userinterface]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/2007/08/25/whats-in-your-computer-bag/</guid>
		<description><![CDATA[My computer bag, a Brenthaven backpack I&#8217;ve used since my original 17&#8221; PowerBook, has gotten insanely heavy over the course of this week. I pulled eveything out to take a look at what has been adding load. The first items aren&#8217;t that interesting. A 360&#124;Flex folder and an Effective UI graph pad I picked up [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=75&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My computer bag, a <a href="http://www.brenthaven.com/">Brenthaven</a> backpack I&#8217;ve used since my original 17&#8221; PowerBook, has gotten insanely heavy over the course of this week. I pulled eveything out to take a look at what has been adding load. </p>
<p>The first items aren&#8217;t that interesting. A 360|Flex folder and an <a href="http://effectiveui.com/">Effective UI</a> graph pad I picked up off a table while at that conference (thanks, guys!). I plan to use the graph pad to layout some screens for an upcoming project at work and want to keep it handy in case inspiration strikes. I&#8217;m still waiting for that inspiration. </p>
<p>Then I pulled out a two inch thick collection of papers I&#8217;d printed (duplex, to conserve paper). On top of the stack is <a href="http://blog.dclick.com.br/wp-content/uploads/adobe-flex-coding-guidelines-v12-english.pdf">D-Click&#8217;s Adobe Flex Coding Guidelines</a>. I really don&#8217;t like placing opening braces on their own line. Drives me nuts. (For my money, the <a href="http://java.sun.com/docs/codeconv/">Sun Java Coding Conventions</a> can&#8217;t be beat.) But, when in Rome, do as the Romans do. I recognize that being consistent (especially across developers on the same team) is more important than the merits of any single convention, so I&#8217;m trying to learn new habits. </p>
<p>Next up are printouts of six chapters from Adobe&#8217;s <a href="http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/js/html/wwhelp.htm?href=Part7_Build_Deploy_112_1.html">Building and Deploying Flex Applications</a> (PDF <a href="http://www.adobe.com/go/flex2_building_pdf">here</a>). I have only built Flex apps inside of Flex Builder, so I still need to learn the command line tools. My company is big on &#8220;repeatable builds&#8221;&#8212;meaning that any interally-developed production applications should be easy to regenerate from source without developer involvement. In practice, this means that the application must be built with a command line build script (Make, Ant, etc.). Besides, I get nervous when I&#8217;m overly dependent on an IDE. I like code completion, syntax highlighting, and refactoring, but I really like to know that I can do it all from <a href="http://en.wikipedia.org/wiki/Vi">vi</a> or Notepad and the raw Flex SDK if desired or needed. Hence my interest in the <em>Building and Deploying Flex Applications</em> book. And I mean <em>book!</em> A full printout would weigh in at 400+ pages! So I picked the most important parts to me and just printed those. </p>
<p>The first chapter is Chapter 3 (Flex Application Structure). I just finished reading this chapter last night. Not a lot to say here. It&#8217;s good to have the layout with which I was familiar due to Flex Builder reinforced in print. Next up are Chapter 4 (Applying Flex Security), Chapter 7 (Building Overview), Chapter 9 (Using the Flex Compilers), Chapter 13 (Using ASDoc), and Chapter 14 (Creating Applications for Testing). </p>
<p>Then I come to printouts of various <a href="http://www.oreilly.com/">O&#8217;Reilly</a> articles about <a href="http://www.rubyonrails.org/">Ruby on Rails</a> that I intend to read Any Day Now&#8482;. <a href="http://www.onlamp.com/pub/a/onlamp/2006/12/14/revisiting-ruby-on-rails-revisited.html">Rolling with Ruby on Rails Revisited</a>, <a href="http://www.oreillynet.com/pub/a/ruby/2007/05/17/cookin-with-ruby-on-rails%2d%2d%2dmay.html">Cookin&#8217; with Ruby on Rails: May</a>, <a href="http://www.oreillynet.com/pub/a/ruby/2007/06/28/cookin-with-ruby-on-rails%2d%2d%2djune.html">Cookin&#8217; with Ruby on Rails: Designing for Testability</a>, <a href="http://www.oreillynet.com/pub/a/ruby/2007/07/28/cookin-with-ruby-on-rails-july.html">Cookin&#8217; with Ruby on Rails: More Designing for Testability</a>. </p>
<p>And finally, I have <a href="http://blog.halcyonsolutions.net/">Greg Hamer&#8217;s</a> presentation slides for introducing Cairngorm at 360|Flex. I suppose I can take this out of my bag. I have the general idea of how Cairngorm works. I&#8217;m still waiting to write an app large enough to make playing with Cairngorm worthwhile. Okay, that&#8217;s not quite right. I&#8217;m still working on my first Flex app ever. I&#8217;m plugging into the <a href="http://www.37signals.com/">37signals</a> <a href="http://www.backpackit.com/">Backpack</a> <a href="http://developer.37signals.com/backpack/">API</a>. When I&#8217;m done with that, I might look at refactoring it for Cairngorm just to get that experience under my belt. </p>
<p>And that&#8217;s wy my computer bag weighs a ton. What&#8217;s in your computer bag?</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deadinkvinyl.wordpress.com/75/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deadinkvinyl.wordpress.com/75/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=75&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2007/08/25/whats-in-your-computer-bag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>Catching Up On Flex Feeds</title>
		<link>http://blog.deadinkvinyl.com/2007/08/20/catching-up-on-flex-feeds/</link>
		<comments>http://blog.deadinkvinyl.com/2007/08/20/catching-up-on-flex-feeds/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 03:54:00 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[feeds]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/2007/08/20/catching-up-on-flex-feeds/</guid>
		<description><![CDATA[I started tonight with about 350 unread feed items in my Flex group. I decided that everything in the first half of this year could be skipped, which eliminated about 100 entries. Now I&#8217;m working my way through the remaining 247 items. Update: I&#8217;m down to 157.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=74&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I started tonight with about 350 unread feed items in my Flex group. I decided that everything in the first half of this year could be skipped, which eliminated about 100 entries. Now I&#8217;m working my way through the remaining 247 items.</p>
<p><strong>Update:</strong> I&#8217;m down to 157.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deadinkvinyl.wordpress.com/74/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deadinkvinyl.wordpress.com/74/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=74&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2007/08/20/catching-up-on-flex-feeds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
		<item>
		<title>360&#124;Flex: My Thoughts</title>
		<link>http://blog.deadinkvinyl.com/2007/08/18/360flex-my-thoughts/</link>
		<comments>http://blog.deadinkvinyl.com/2007/08/18/360flex-my-thoughts/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 17:00:00 +0000</pubDate>
		<dc:creator>dlkinney</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[adobeflex]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[charity]]></category>
		<category><![CDATA[codejam]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[davidcoletta]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jeffhouser]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[seattle]]></category>
		<category><![CDATA[userinterface]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://deadinkvinyl.wordpress.com/2007/08/18/360flex-my-thoughts/</guid>
		<description><![CDATA[I just returned from the 360Flex Seattle conference. Overall, it was an excellent conference with great sessions covering a variety of material for Adobe Flex. The Flex community is still rather small, so this conference had me shoulder to shoulder with the preeminent names in the field (Jeff Houser of The Flex Show leaps to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=73&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I just returned from the <a href="http://www.360flex.com/">360Flex</a> Seattle conference. Overall, it was an excellent conference with great sessions covering a variety of material for <a href="http://www.adobe.com/products/flex/">Adobe Flex</a>. The Flex community is still rather small, so this conference had me shoulder to shoulder with the preeminent names in the field (<a href="http://www.jeffryhouser.com/">Jeff Houser</a> of <a href="http://www.theflexshow.com/">The Flex Show</a> leaps to mind). Due to the small conference size, a lot of value came from the informal Q&#38;A&#8217;s with the presenters after each session and chit-chatting with other developers about their experiences, difficulties, and insights. </p>
<p>Flex developers come from a wide range of backgrounds. There were some management types and UI designers sprinkled in the mix, and I found that these people had the best questions and comments during the less technical sessions (e.g., &#8220;Design Eye for the Dev Guy&#8221;). About half of the attendees were designers&#8212;most with a strong background in Flash, but some Web (HTML/CSS) designers as well. The other half of attendees were developers&#8212;<em>lots</em> of .NET developers, a healthy batch of Java developers, enough Ruby developers so that I didn&#8217;t feel lonely, a handful of ColdFusion holdouts. </p>
<p>There were some areas where the conference could have been improved, though&#8212;most were related to communication. </p>
<ul>
<li>If I had known up front that the <a href="http://www.colettas.org/?p=175">sessions would be video recorded</a> and made available later, I would have been more inclined to join the Flex 101 and AIR 101 hands-on sessions, since I could watch the recordings of sessions I missed later. </li>
<li>It wasn&#8217;t clear to me that the Flex <a href="http://www.360conferences.com/360flex/2007/07/360flex-charity-code-jam-press-release.html">Charity Code Jam</a> (<a href="http://flexcodejam.org/">more</a>, <a href="http://www.flickr.com/photos/thedevguy/1139234075/">more</a>) was intended to be a <a href="http://blogs.digitalprimates.net/codeSlinger/index.cfm/2007/8/17/Flex-360-and-Northwest-Charity-Flex-Jam">learning experience</a>. I felt that as a Flex newbie, I wouldn&#8217;t have much to contribute. </li>
<li>The vendors, who made it possible for me to attend an amazing conference for only $360, were tucked in a room off in the corner. I would have switched the chill-out room and the vendor room to give the vendors more presence. I swung through the vendor booths twice to pick up their marketing material note all of the URLs to research later. <em>Thanks, vendors!</em> </li>
</ul>
<p>Beyond that, I agree with everything <a href="http://www.colettas.org/?p=175">David Coletta said</a>. </p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/deadinkvinyl.wordpress.com/73/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/deadinkvinyl.wordpress.com/73/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadinkvinyl.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadinkvinyl.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadinkvinyl.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadinkvinyl.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadinkvinyl.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadinkvinyl.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadinkvinyl.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadinkvinyl.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadinkvinyl.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadinkvinyl.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadinkvinyl.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadinkvinyl.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadinkvinyl.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadinkvinyl.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.deadinkvinyl.com&amp;blog=2908484&amp;post=73&amp;subd=deadinkvinyl&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.deadinkvinyl.com/2007/08/18/360flex-my-thoughts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0439564df67efd24620e338a78a8d921?s=96&#38;d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96&#38;r=G" medium="image">
			<media:title type="html">dlkinney</media:title>
		</media:content>
	</item>
	</channel>
</rss>
