<?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>Eric Fickes &#187; adobe</title>
	<atom:link href="http://ericfickes.com/category/adobe/feed/" rel="self" type="application/rss+xml" />
	<link>http://ericfickes.com</link>
	<description>Design minded Internet Programmer</description>
	<lastBuildDate>Fri, 28 Oct 2011 04:14:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>I spoke about HTML5, and left out some notes</title>
		<link>http://ericfickes.com/2011/04/i-spoke-about-html5-and-left-out-some-notes/</link>
		<comments>http://ericfickes.com/2011/04/i-spoke-about-html5-and-left-out-some-notes/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 05:29:00 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[FLASH]]></category>
		<category><![CDATA[flash platform]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=2151</guid>
		<description><![CDATA[Tonight I spoke about the state of HTML5 and my thoughts about it&#8217;s future.  The overall message of the talk was to think of HTML5 as a tool rather than a Flash killer.  In time, HTML5 is expected to advance &#8230; <a href="http://ericfickes.com/2011/04/i-spoke-about-html5-and-left-out-some-notes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="Flex Camp 2011 Denver" href="http://dfug.groupsite.com/calendar/event/2011/4/14/251740" target="_blank"><img class="alignleft size-full wp-image-2152" title="RIA 5280 Flex Camp 2011" src="http://ericfickes.com/wp-content/uploads/2011/04/Screen-shot-2011-04-14-at-10.44.21-PM.png" alt="" width="167" height="129" /></a>Tonight I spoke about the state of HTML5 and my thoughts about it&#8217;s future.  The overall message of the talk was to think of HTML5 as a tool rather than a Flash killer.  In time, HTML5 is expected to advance to a point where we can deliver &#8220;flash like&#8221; audio, video, and application experiences on any device with an HTML5 compliant browser.  Similar to XML when it gave us a common format to exchange data between different computer systems in 2000, HTML5 may be that tool to connect us across all devices.</p>
<p>In the now there is a great deal of energy by the major browser makers to implement HTML5.  However, it really feels like only the fun stuff is here right now ( audio, video, canvas ).  Chrome and Opera have plenty more impressive features, but it&#8217;s going to be be a while until HTML5 is that magical ubiquitous platform.  With all the major browsers getting monthly ( and sometimes semi-monthly ) updates, HTML5 is more than just all the rage.  It&#8217;s actually getting built!</p>
<div style="width:425px" id="__ss_7635295"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/ericfickes/targeting-screens-with-html5-flash-native" title="Targeting Screens with HTML5, Flash &amp; Native">Targeting Screens with HTML5, Flash &amp; Native</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/7635295" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/ericfickes">Eric Fickes</a> </div>
</p></div>
<p>And here are some of the notes that didn&#8217;t make it into the presentation, and information on the demos that did.</p>
<p><strong>TOOLING</strong></p>
<ul>
<li><strong>Dreamweaver HTML5 Pack</strong>. <a title="Get the HTML5 pack for Dreamweaver on Adobe Labs" href="http://labs.adobe.com/technologies/html5pack/" target="_blank">http://labs.adobe.com/technologies/html5pack/</a></li>
<li><strong>TextMate</strong>.  There are HTML5 bundles available. <a title="TextMate for OS X" href="http://macromates.com/" target="_blank">http://macromates.com/</a></li>
<li><strong>WebStorm</strong>.  Web IDE = JavaScript / HTML Editor + JS Debugger + VCS Support.  <a title="From the makers of IntelliJIDEA, and .NET's Refactor" href="http://www.jetbrains.com/webstorm/" target="_blank">http://www.jetbrains.com/webstorm/</a></li>
<li><strong>Aptana</strong>.  <a href="http://www.aptana.com/" target="_blank">http://www.aptana.com/</a></li>
</ul>
<p><strong>MOBILE FRAMEWORKS</strong></p>
<ul>
<li><span style="color: #000000;"><strong>JO </strong>( mobile app fw, js html5 )  <a title="Javacript and HTML5 mobile framework" href="http://joapp.com/" target="_blank">http://joapp.com/</a><strong><br />
</strong></span></li>
<li><strong>Sencha JS</strong> ( Javascript and HTML5 ) <a title="Javascript and HTML5 framework" href="http://www.sencha.com/" target="_blank">http://www.sencha.com/</a></li>
<li><strong>PhoneGap</strong> ( mobile and js, open source all 6 platforms ) <a title="Open source mobile javascript framework" href="http://www.phonegap.com/" target="_blank">http://www.phonegap.com/</a></li>
<li><strong>Wink</strong> ( Lightweight mobile javascript framework ) <a title="Lightweight mobile javascript framework" href="http://www.winktoolkit.org/" target="_blank">http://www.winktoolkit.org/</a></li>
<li><strong>NimbleKit</strong> ( native iOS using HTML and JS ) <a title="Use HTML and Javascript to create native iOS apps" href="http://www.nimblekit.com/" target="_blank">http://www.nimblekit.com/</a></li>
<li><strong>Appcelerator  &gt; Titanium Platform</strong> ( html, css, js, ruby, python ) <a title="HTML, CSS, Javascript, Ruby, Python" href="http://www.appcelerator.com/products/titanium-cross-platform-application-development/" target="_blank">http://www.appcelerator.com/products/titanium-cross-platform-application-development/</a></li>
<li><strong>Appcelerator  &gt; Titanium Mobile</strong> ( html, css, js ) <a title="HTML, CSS, and Javascript" href="http://www.appcelerator.com/products/titanium-mobile-application-development/" target="_blank">http://www.appcelerator.com/products/titanium-mobile-application-development/</a></li>
<li><strong>jQTouch</strong> ( jQuery for iPhone and iPod Touch ) <a title="jQuery for iPhone and iPod Touch" href="http://jqtouch.com/" target="_blank">http://jqtouch.com/</a></li>
<li><strong>jQueryMobile</strong> ( Touch-Optimized Web Framework for Smartphones &amp; Tablets )  <a title="Touch framework for Smartphones &amp; Tablets" href="http://jquerymobile.com/" target="_blank">http://jquerymobile.com/</a></li>
<li><strong>The M-Project</strong> ( HTML5, JS for mobile ) <a title="HTML5 and Javascript for mobile" href="http://the-m-project.net/" target="_blank">http://the-m-project.net/</a></li>
<li><strong>Rhodes</strong> (Ruby framework to build native apps for iPhone, Windows Mobile, RIM, Symbian and Android).  <a title="Ruby framework to make native apps for iPhone, Windows Mobile, RIM, Symbian and Android" href="http://rhomobile.com/products/rhodes/" target="_blank">http://rhomobile.com/products/rhodes/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2011/04/i-spoke-about-html5-and-left-out-some-notes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eleven Coldfusion-ish tips from the field</title>
		<link>http://ericfickes.com/2011/02/eleven-coldfusion-ish-tips-from-the-field/</link>
		<comments>http://ericfickes.com/2011/02/eleven-coldfusion-ish-tips-from-the-field/#comments</comments>
		<pubDate>Sun, 20 Feb 2011 08:34:49 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[tips and tricks]]></category>
		<category><![CDATA[asc]]></category>
		<category><![CDATA[cfml]]></category>
		<category><![CDATA[cfscript]]></category>
		<category><![CDATA[chr]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[listcontains]]></category>
		<category><![CDATA[listfind]]></category>
		<category><![CDATA[listhasvalue]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[parameterized query]]></category>
		<category><![CDATA[special character]]></category>
		<category><![CDATA[sproc]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[stored procedure]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1965</guid>
		<description><![CDATA[I&#8217;ve had this running list of Coldfusion tips on my wall for the last few years and it&#8217;s time to get these online.  All of the items in this list came from Coldfusion projects over the last few years, but &#8230; <a href="http://ericfickes.com/2011/02/eleven-coldfusion-ish-tips-from-the-field/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had this running list of Coldfusion tips on my wall for the last few years and it&#8217;s time to get these online.  All of the items in this list came from Coldfusion projects over the last few years, but a good portion of these could easily be considered tips for server programmers.  I definitely run into the same items when programming Asp.NET.</p>
<p>There is no rhyme or reason here, just some things I felt need to be repeated.</p>
<h2>1. <a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_m-r_14.html" target="_blank">PreserveSingleQuotes</a>()</h2>
<p>This one came in really handy on a project requiring large text files to be imported into a MySQL database.  I used Coldfusion to upload and read the files into large INSERT chunks using <a href="http://dev.mysql.com/doc/refman/5.5/en/insert.html" target="_blank">MySQL&#8217;s multi &#8211; row INSERT syntax</a>. Code built the VALUES portion of the SQL, then I just fed the data into a function for insertion.</p>
<pre class="brush: sql; title: ; notranslate">
INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
</pre>
<pre class="brush: coldfusion; title: ; notranslate">
	&lt;cfquery name=&quot;insert_data&quot; result=&quot;insert_result&quot; DATASOURCE=&quot;#request.dsn#&quot; USERNAME=&quot;#request.dbuser#&quot; PASSWORD=&quot;#request.dbpswd#&quot;&gt;
	INSERT INTO table
	( column1, column2, column3, column4, column5, column6, column7 )
	VALUES
	#PreserveSingleQuotes( insert_values )#
	&lt;/cfquery&gt;
</pre>
<h2>2. What if GENERATED_KEY doesn&#8217;t work?</h2>
<p>If you&#8217;re using MySQL and the GENERATED_KEY property of your cfquery objects isn&#8217;t populating, you can use <a href="http://dev.mysql.com/doc/refman/5.5/en/information-functions.html#function_last-insert-id" target="_blank">LAST_INSERT_ID</a> instead.</p>
<pre class="brush: sql; title: ; notranslate">SELECT LAST_INSERT_ID();</pre>
<h2>3. Use ArrayAppend when building strings</h2>
<p>Classic performance tuning tip for just about any programming language.  Here I&#8217;ll give a Coldfusion example and keep it dead simple.  If you ever have to concatenate strings in code, user ArrayAppend instead.  Here are two loops that do the same thing.  If you run this code, you should notice loop1 takes forever, and loop2 is smoking fast.</p>
<p><strong>slow&#8230;..</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfscript&gt;
xx				= 100000;
insertString	= &quot;&quot;;

// do the loop
while( xx &gt; 0 ) {
	insertString &amp;= xx &amp; &quot; &quot;;
	xx--;
}

WriteOutput( insertString);
&lt;/cfscript&gt;
</pre>
<p><strong>FAST!</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfscript&gt;
xx				= 1000000;
insertArray		= ArrayNew(1);
// do the loop
while( xx &gt; 0 ) {
	ArrayAppend( insertArray, xx &amp; &quot; &quot; );
	xx--;
}

WriteOutput( ArrayToList( insertArray, &quot; &quot; ) );
ArrayClear( insertArray );
&lt;/cfscript&gt;
</pre>
<h2>4. If CSV, then CHR</h2>
<p>This one is simple, if you find yourself creating CSV or any other text file, use special characters when dealing with single and double quotes, etc.</p>
<ul>
<li>chr(9) = Tab</li>
<li>chr(34) = &#8221; double quote</li>
<li>chr(39) = &#8216; single quote</li>
</ul>
<p>And if you&#8217;re not sure of the correct code for the character you&#8217;re looking to use, just wrap that character in <a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=functions_a-b_25.html" target="_blank">ASC()</a> and <a href="http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7ecf.html" target="_blank">WriteOutput</a> to the page.</p>
<h2>5. Use CFMail with GMail</h2>
<p>This is a no brainer, but with how difficult sending email can be with <em><a title="I love .NET, but it's a pain in the butt sometimes" href="http://www.google.com/search?sourceid=chrome&amp;ie=UTF-8&amp;q=send+email+with+ASP.NET" target="_blank">other languages</a></em>, I&#8217;m mentioning it here.</p>
<p><strong>Application.cfc</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfscript&gt;
	APPLICATION.mail.server		= &quot;smtp.gmail.com&quot;;
	APPLICATION.mail.port		= &quot;465&quot;;
	APPLICATION.mail.ssl		= true;
	APPLICATION.mail.user		= &quot;gmailAccount&quot;;
	APPLICATION.mail.pswd		= &quot;gmailPasssword&quot;;
&lt;/cfscript&gt;
</pre>
<p><strong>Emailer.cfm</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfmail to=&quot;work@ericfickes.com&quot;
		bcc=&quot;&quot;
		from=&quot;web@master.com&quot;
		subject=&quot;sending mail is easy with Coldfusion&quot;
		server=&quot;#application.mail.server#&quot;
		useSSL=&quot;#application.mail.ssl#&quot;
		port=&quot;#application.mail.port#&quot;
		username=&quot;#application.mail.user#&quot;
		password=&quot;#application.mail.pswd#&quot;&gt;
#emailBody#
&lt;/cfmail&gt;
</pre>
<h2>6. CFSCRIPT doesn&#8217;t know NULL?</h2>
<p>Another tip from the land of importing and exporting data.  While working with query objects in CFScript, for some reason I could never accurately detect for NULL values.  I tried all sorts of detection schemes and ended up just writing a hacky fail safe.  Please, if you have a better suggestion for *easy* NULL detection in CFSCript, add it in the comments below.</p>
<p><strong>utils.cfc</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;!---  Simple value getter with try / catch to get around NULL values
This function originated in a script where we always needed a &quot; &quot; even if
the value from the database was null.
---&gt;
&lt;cffunction name=&quot;qryGetString&quot; access=&quot;public&quot; returntype=&quot;string&quot;&gt;

&lt;cfargument name=&quot;data&quot; type=&quot;string&quot;&gt;

&lt;cftry&gt;
	&lt;cfscript&gt;
	return #data# &amp; &quot; &quot;;
	&lt;/cfscript&gt;

	&lt;cfcatch type=&quot;Any&quot;&gt;
		&lt;cfreturn &quot; &quot;/&gt;
	&lt;/cfcatch&gt;
&lt;/cftry&gt;

&lt;/cffunction&gt;
</pre>
<p><strong>Exporter.cfm</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
// largeish loop
tab = chr(9);
for( xx = 1; xx &lt;= queryObj.RecordCount; xx++ )
{
	// start the row
	this_row = 	utils_cfc.qryGetString( queryObj.FirstName[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.MiddleName[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.LastName[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.Suffix[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.MedicalTitle[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.email[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_phone[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_fax[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_name[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_address1[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_address2[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_city[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_state[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.practice_zipcode[xx] ) &amp; tab &amp;
			utils_cfc.qryGetString( queryObj.hospital_affiliation[xx] ) &amp; tab;

	// do stuff with the data
}
</pre>
<h2>7. How I find list items</h2>
<h2><span style="font-size: 16px; color: #444444; line-height: 24px;">Ever notice the different behavior in the Coldfusion ListFind commands?  I ended up writing my own ListHasValue function in order to find exact pattern matching in a list.  I had a list of role ids in a list, and just couldn&#8217;t get the built in functions to tell me when my id was in the list without also matching on other ids.  This one makes sense when you run some code.</span></h2>
<p>The top of this sample as my custom ListHasValue() command, and the lower half does three simple loops counting from 1 to 100, and using ListFind, ListContains, and ListHasValue for number checking against the same list.</p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;!---
	Use this to do an exact pattern check for a value in a list.
	This is useful inside of a loop checking numbers against a number list.

	EX :

	list = &quot;91, 92&quot;

	if you loop from 1 - 100, ListFind and related CF functions will match
	on 1, 2, and 9.  Not just 91 and 92

	Use this when you're looping and you ONLY want to match on 91, or 92

---&gt;
&lt;cffunction name=&quot;ListHasValue&quot; access=&quot;public&quot; returntype=&quot;boolean&quot;&gt;

	&lt;cfargument name=&quot;list&quot; required=&quot;yes&quot; type=&quot;string&quot;&gt;
	&lt;cfargument name=&quot;value&quot; required=&quot;yes&quot; type=&quot;any&quot;&gt;

	&lt;cfscript&gt;
		// clean up to be safe
		list = trim( toString( list ) );

		// check to see if we have a *possible* match
		position = ListContains( list, value ) ;

		if( position &gt; 0 )
		{
			// NOTE : KEEP THE TRIM AND TOSTRING
			found_value = trim( toString( ListGetAt( list, position ) ) );

			if( Compare( value, found_value ) == 0 )
			{
				return true;
			}
		}

		// no match for you!
		return false;
	&lt;/cfscript&gt;

&lt;/cffunction&gt;

&lt;cfscript&gt;
list	= &quot;1, 11, 21, 31, 41, 51, 61, 71, 81, 91, 99&quot;;
xx		= 1;

WriteOutput( &quot;List = &quot; &amp; list &amp; &quot;&lt;hr&gt;&quot;);

while( xx &lt; 100 ) {
	if( ListContains( list, xx ) &gt; 0 )
	{
		WriteOutput( &quot;ListContains found &quot; &amp; xx &amp; &quot;&lt;br&gt;&quot; );
	}
    xx++;
}

WriteOutput(&quot;&lt;hr /&gt;&quot;);

xx = 1;
while( xx &lt; 100 ) {
	// ListFind
	if( ListFind( list, xx ) &gt; 0 )
	{
		WriteOutput( &quot;ListFind found &quot; &amp; xx &amp; &quot;&lt;br&gt;&quot; );
	}
    xx++;
}

WriteOutput(&quot;&lt;hr /&gt;&quot;);

xx = 1;
while( xx &lt; 100 ) {
    // Eric's ListHasValue
	if( ListHasValue( list, xx ) )
	{
		WriteOutput( &quot;ListHasValue found &quot; &amp; xx &amp; &quot;&lt;br&gt;&quot; );
	}
	xx++;
}
&lt;/cfscript&gt;
</pre>
<p>If you run this code on your Coldfusion server, you should notice the following results.  ListContains matches single digits from the loop that do not really exist in the list.  ListFind only finds the number 1?  And finally, my function does exactly what I needed it to do.  Tell me when a specific number exists in a list.</p>
<div id="attachment_1980" class="wp-caption alignnone" style="width: 240px"><a href="http://ericfickes.com/wp-content/uploads/2011/02/cf-list-find1.png" rel="lightbox[1965]"><img class="size-full wp-image-1980" title="cf-list-find" src="http://ericfickes.com/wp-content/uploads/2011/02/cf-list-find1.png" alt="CF ListFind function comparison" width="230" height="559" /></a><p class="wp-caption-text">Coldfusion ListFind functions don&#39;t always behave how I want them to</p></div>
<p><span style="font-size: 16px; color: #444444; line-height: 24px;"><br />
</span></p>
<h2>8. Make PDFs faster</h2>
<p>This could easily be it&#8217;s own topic, but I&#8217;ll say one thing about making PDFs faster with CFDocument.  Only put final content between &lt;cfdocument&gt; and &lt;/cfdocument&gt;.  That is, if you have any processing code, cfqueries, cfloops, inside of your cfdocument tag, your cfml page is running slower than it needs to be.  Here&#8217;s a simple example of one of my cfml pages that has only final content in the cfdocument tags.</p>
<p>The key to this example is moving all of my content creation code into an external file, then including at the top of my page. I always do a check for my main PDF_BODY variable, and then spit out my PDF document.</p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfinclude template=&quot;code/export_pdf_codefile.cfm&quot;&gt;

&lt;cfif PDF_BODY NEQ &quot;&quot;&gt;

    &lt;cfdocument	name=&quot;provider_profile&quot;
                format=&quot;PDF&quot;
                pagetype=&quot;A4&quot;
                mimetype=&quot;application/pdf&quot;
                orientation=&quot;portrait&quot;
                margintop=&quot;0&quot;
                marginbottom=&quot;0.2&quot;
                marginleft=&quot;0.2&quot;
                marginright=&quot;0.2&quot;
                &gt;
        &lt;cfoutput&gt;#PDF_BODY#&lt;/cfoutput&gt;
    &lt;/cfdocument&gt;

    &lt;!--- send directly to client ---&gt;
    &lt;cfheader name=&quot;Content-Disposition&quot; value=&quot;attachment; filename=#filename#&quot;&gt;
    &lt;cfcontent type=&quot;application/pdf&quot; variable=&quot;#provider_profile#&quot;&gt;

&lt;cfelse&gt;
	No PDF content found
&lt;/cfif&gt;
</pre>
<h2>9. Use parameterized queries</h2>
<p>This is a tip for all server side programmers whether you use Coldfusion, ASP, JSP, PBJ.  Use parameterized queries when doing any database interaction.  It&#8217;s too easy not to use, and you get protection from SQL Injection, as well as enforcing proper data types when speaking to your database.  This is something all server programmers should do regardless of your language, the sample below is for Coldfusion.</p>
<p><strong>BAD</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfquery name=&quot;tblInsert&quot; datasource=&quot;myDb&quot;&gt;
INSERT INTO	myTable
( col1, col2, col3, col4 )
VALUES
( '#Form.field1#', '#Form.field2#', '#Form.field3#' )
&lt;/cfquery&gt;
</pre>
<p><strong>GOOD</strong></p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfset val1 = Form.field1&gt;
&lt;cfset val2 = Form.field1&gt;
&lt;cfset val3 = Form.field1&gt;

&lt;cfquery name=&quot;tblInsert&quot; datasource=&quot;myDb&quot;&gt;
INSERT INTO	myTable
( col1, col2, col3, col4 )
VALUES
(
    &lt;cfqueryparam cfsqltype=&quot;cf_sql_varchar&quot; value=&quot;#val1#&quot; /&gt;,
    &lt;cfqueryparam cfsqltype=&quot;cf_sql_varchar&quot; value=&quot;#val2#&quot; /&gt;,
    &lt;cfqueryparam cfsqltype=&quot;cf_sql_varchar&quot; value=&quot;#val3#&quot; /&gt;
)
&lt;/cfquery&gt;
</pre>
<h2>10. Where&#8217;d the time go?</h2>
<p>For the good programmers already using parameterized queries, ever insert a timestamp into your database and find out the date is correct, but the time is always 12:00:00?  Take a closer look at the cfsqltype in your cfqueryparam, I had this exact problem and here&#8217;s what happened.</p>
<p>Using <strong>cf_sql_date does</strong> not include the full date and timestamp, just the date.</p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfqueryparam cfsqltype=&quot;cf_sql_date&quot; value=&quot;#paymentDate#&quot; /&gt;
</pre>
<p>&nbsp;</p>
<p>Using <strong>cf_sql_timestamp</strong> includes the full date and timestamp I was looking for.</p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfqueryparam cfsqltype=&quot;cf_sql_timestamp&quot; value=&quot;#paymentDate#&quot; /&gt;
</pre>
<h2>11. Stored Procedures are a little different</h2>
<p>This last one isn&#8217;t much of a tip, but more of a reminder to myself.  I do so much database work that stored procedures are just queries to me, but not so to Coldfusion and the CFQuery tag.  If you want to get data from a stored procedure, you need to use the <a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_r-s_22.html" target="_blank">CFStoredproc</a> tag.  Here&#8217;s a sample of passing one argument into a stored procedure, and how to get the resulting data.</p>
<pre class="brush: coldfusion; title: ; notranslate">
&lt;cfstoredproc	datasource=&quot;myDb&quot; procedure=&quot;GetDataFaster&quot;&gt;

	&lt;cfprocparam type=&quot;in&quot; cfsqltype=&quot;cf_sql_integer&quot; value=&quot;#inputVar#&quot; /&gt;

	&lt;!--- specify sproc result here, cfstoredproc res != returned recordset ---&gt;
	&lt;cfprocresult name = sprocResult&gt;

&lt;/cfstoredproc&gt;

&lt;cfreturn #sprocResult.ColumnFromQuery#&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2011/02/eleven-coldfusion-ish-tips-from-the-field/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Coldfusion 7 peer not authenticated error</title>
		<link>http://ericfickes.com/2010/12/coldfusion-7-peer-not-authenticated-error/</link>
		<comments>http://ericfickes.com/2010/12/coldfusion-7-peer-not-authenticated-error/#comments</comments>
		<pubDate>Fri, 31 Dec 2010 01:08:37 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1846</guid>
		<description><![CDATA[Have you ever seen the error message &#8220;ErrorDetail I/O Exception: peer not authenticated&#8221; when working with Coldfusion 7&#8242;s CFHTTP?  I hadn&#8217;t until recently, and it turns out I found an interesting bug with Coldfusion7 running on top of Windows 2003. &#8230; <a href="http://ericfickes.com/2010/12/coldfusion-7-peer-not-authenticated-error/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Have you ever seen the error message &#8220;ErrorDetail I/O Exception: peer not authenticated&#8221; when working with Coldfusion 7&#8242;s CFHTTP?  I hadn&#8217;t until recently, and it turns out I found an interesting bug with Coldfusion7 running on top of Windows 2003.</p>
<p>I ran into this while building a PayPal payment processor, and wasted too much time thinking this was a username and password issue, or possibly a problem with the host name I was using, but it wasn&#8217;t.  It was extra frustrating because my test PayPal code worked just fine if I created an html form and posted directly to PayPal.  Also, the same code worked perfectly in production, just not on my development server.</p>
<p>After hours of googling and trial and error I found <em>my</em> solution thanks to <a title="USING KEYTOOL TO IMPORT SSL CERTIFICATES INTO SUN JDK" href="http://www.talkingtree.com/blog/index.cfm/2004/7/1/keytool" target="_blank">Steve Erat</a>.  Basically Coldfusion 7 isn&#8217;t able to handshake securely with PayPal ( Verisign ) because the server doesn&#8217;t have PayPal&#8217;s certificate in the key store.  You can read in depth about what&#8217;s happening on<a title="Coldfusion7 MX peer not authenticated error" href="http://www.talkingtree.com/blog/index.cfm/2004/7/1/keytool" target="_blank"> Steve&#8217;s blog post here</a>.</p>
<p>So my solution ended up being this</p>
<ol>
<li>Download the verisign.cer certificate from my production server</li>
<li>Import verisign.cer into the JDK that comes with Coldfusion</li>
<li>Restart Coldfusion and IIS</li>
</ol>
<p>I tried all sorts of things from installing every windows certificate management features, upgrading my JDK and having Coldfusion use that, apply all the latest service packs and updates to my server, changing any paypal setting I can think of.  All I needed to do was this.</p>
<ol>
<li>Drop to CMD prompt</li>
<li>Run the keytool that came installed with Coldfusion<small><br />
&#8220;C:\CFusionMX7\runtime\jre\bin\keytool -import -trustcacerts -keystore C:\CFusionMX7\runtime\jre\lib\security\cacerts -storepass changeit -noprompt -alias PayPal -file c:\verisign.cer&#8221;</small></li>
</ol>
<p>I couldn&#8217;t find this solution anywhere else online besides Steve&#8217;s site, so this is a rebroadcast in case somebody else hits this issue.  Also, at the time of writing, the test payment hostname for PayPal is pilot-payflowpro.paypal.com.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/12/coldfusion-7-peer-not-authenticated-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>360 Flex, HTML5, Adobe AIR, and a bathrobe</title>
		<link>http://ericfickes.com/2010/09/my-360flex-dc-talk-about-html5-and-air/</link>
		<comments>http://ericfickes.com/2010/09/my-360flex-dc-talk-about-html5-and-air/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 04:19:02 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[flash platform]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[air2]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[steve jobs]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1659</guid>
		<description><![CDATA[I&#8217;m happy to share my 360 Flex presentation on HTML5 and Adobe AIR.  This is a topic I have a renewed interest in after Steve Jobs decided to start a war against Adobe&#8217;s Flash player.  Also, my very first major &#8230; <a href="http://ericfickes.com/2010/09/my-360flex-dc-talk-about-html5-and-air/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to share my <a title="THE Flex conference" href="http://www.360flex.com/" target="_blank">360 Flex</a> presentation on HTML5 and Adobe AIR.  This is a topic I have a renewed interest in after Steve Jobs decided to start a war against Adobe&#8217;s Flash player.  Also, my very first major HTML5 project <a title="Joshua Davis, Branden Hall, Eric Fickes created the endlessmural for Microsoft's Beauty Of the web event IE9" href="http://www.endlessmural.com" target="_blank">endlessmural.com</a> was launched the week before 360 Flex.</p>
<div style="width: 425px;">Despite the title of this presentation, I didn&#8217;t put this together to bash HTML5 or Apple.  Steve Jobs fired me up when he declared Flash dead, and I realized it&#8217;s time to start having the &#8220;technology is a tool&#8221; conversation again.</div>
<div style="width: 425px;"></div>
<div style="width: 425px;"></div>
<div style="width: 425px;">Bottom line, know your problem so you can pick the appropriate tool for the job.  That tool might be HTML, it might be the Flash Platform, or it may be Lego blocks.  Chances are your target customer doesn&#8217;t care.</div>
<div style="width: 425px;">If you have any interest in the sample AIR applications I demoed, just drop me a line, comment, email, tweet, smoke signal, or carrier pigeon.</div>
<div id="__ss_5264156" style="width: 425px;"></div>
<div style="width: 425px;"><strong><a title="Screw HTML5, make cool shit with AIR" href="http://www.slideshare.net/ericfickes/screw-html5-make-cool-shit-with-air-5264156">Screw HTML5, make cool shit with AIR</a></strong></div>
<p style="text-align: left;"><object id="__sse5264156" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=preso-100922220734-phpapp02&amp;rel=0&amp;stripped_title=screw-html5-make-cool-shit-with-air-5264156&amp;userName=ericfickes" /><param name="name" value="__sse5264156" /><param name="allowfullscreen" value="true" /><embed id="__sse5264156" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=preso-100922220734-phpapp02&amp;rel=0&amp;stripped_title=screw-html5-make-cool-shit-with-air-5264156&amp;userName=ericfickes" name="__sse5264156" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div id="__ss_5264156" style="width: 425px;">
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/ericfickes">Eric Fickes</a>.</div>
<div style="padding: 5px 0 12px;">BTW, I gave this preso wearing a bathrobe.</div>
<div style="padding: 5px 0 12px;"><a href="http://ericfickes.com/wp-content/uploads/2010/09/eric-preso-robe.jpg" rel="lightbox[1659]"><img class="aligncenter size-full wp-image-1666" title="Hilton has comfy bath robes" src="http://ericfickes.com/wp-content/uploads/2010/09/eric-preso-robe.jpg" alt="I like to be comfy when I speak" width="604" height="453" /></a></div>
<div style="padding: 5px 0 12px;">* this was posted from the backseat of <a title="Tech / Rock / Future band" href="http://twitter.com/thecompilers" target="_blank">@thecompilers</a> mini van while driving home from 360 Flex. We&#8217;re currently heading west on I70 ( Go go Sprint 4G! )</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/09/my-360flex-dc-talk-about-html5-and-air/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Upload to ASP.NET from HTML, Flash, or Flex clients</title>
		<link>http://ericfickes.com/2010/08/upload-to-asp-net-from-html-flash-or-flex-clients/</link>
		<comments>http://ericfickes.com/2010/08/upload-to-asp-net-from-html-flash-or-flex-clients/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 03:18:49 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flash platform]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[asp.net upload]]></category>
		<category><![CDATA[flash upload]]></category>
		<category><![CDATA[flex upload]]></category>
		<category><![CDATA[html upload]]></category>
		<category><![CDATA[NETWORK SERVICE]]></category>
		<category><![CDATA[Request.Files]]></category>
		<category><![CDATA[upload]]></category>
		<category><![CDATA[upload handler]]></category>
		<category><![CDATA[uploader]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1625</guid>
		<description><![CDATA[File uploading has been a hot topic during my time as an internet programmer.  In the classic ASP days this was a bit of a task to build and get correct.  Nowadays both Adobe&#8217;s Coldfusion and Microsoft&#8217;s ASP.NET both have &#8230; <a href="http://ericfickes.com/2010/08/upload-to-asp-net-from-html-flash-or-flex-clients/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>File uploading has been a hot topic during my time as an internet programmer.  In the classic ASP days this was a bit of a task to build and get correct.  Nowadays both <a title="Coldfusion makes file handling simple with &lt;CFFILE /&gt;" href="http://help.adobe.com/en_US/ColdFusion/9.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-7fa1.html" target="_blank">Adobe&#8217;s Coldfusion</a> and <a title="ASP.NET has the FileUpload class" href="http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.fileupload.aspx" target="_blank">Microsoft&#8217;s ASP.NET</a> both have built in file uploader tags ( server controls ) that handle this with ease.</p>
<p>This is great, but what happens when you have a mixed bag of clients that all need to upload to the same location?  Sometimes I work with completely ASP.NET or CF web apps, but more often than not I&#8217;m dealing with Flash clients as well as HTML clients.</p>
<p>Recently I ran into this upload scenario and built this simple ASP.NET uploader script.  This feels a bit old school since it uses .NET&#8217;s built in Request.Files collection, instead of a fancy new &#8216;all in one&#8217; server control, but I actually prefer this method.</p>
<p>Here&#8217;s all you need :</p>
<pre class="brush: csharp; title: ; notranslate">
// Check for posted files
for (int xx = 0; xx &lt; Request.Files.Count; xx++)
{
    // UPLOAD FILE
    HttpPostedFile _file = Request.Files[xx];

    // make sure we're not finding empty filename
    if (_file.FileName.Trim() != string.Empty)
    {
        // NOTE : IE &lt; 8 reports full path of file, not just filename
        // Parse out filename, then create full upload path
        var fileName = _file.FileName;
        if (fileName.Contains(&quot;\\&quot;))
        {
            var aFile = fileName.Split('\\');
            fileName = aFile[ aFile.Length - 1 ].ToString();
        }

        // create full save path for uploaded file
        var full_file_path = Server.MapPath( UP_FOLDER ) + &quot;\\&quot; + fileName;

        try
        {
            // save file to server
            _file.SaveAs(full_file_path);
        }
        catch (Exception exc)
        {
            var emsg = &quot;Unable to upload file : &quot; + exc.Message;

            Response.Write( emsg );
            Response.Flush();
            Response.End();
        }

        // show result
        Response.Write( _file.FileName + &quot; uploaded! &lt;br&gt;&quot; );
    }
}
</pre>
<p>That&#8217;s all there is to it codewise.  Before using this code you will need to give the NETWORK SERVICES user write permissions to your upload folder.  Other than that, that&#8217;s all she wrote!</p>
<p><a title="ASP.NET uploader, HTML upload, Flash upload, and Flex upload clients" href="http://ericfickes.com/code/aspxuploader.zip" target="_blank">Here is a zip of all the code for you to download</a>.</p>
<p>Inside this zip you will find :</p>
<ul>
<li><strong>flashclient.fla</strong> &#8211; Flash upload client ( <em>*be sure to update the upload path before building</em> )</li>
<li><strong>flexclient.mxml</strong> &#8211; Flex upload client ( <em>*also update upload path before building</em> )</li>
<li><strong>uploader.aspx </strong>- ASP.NET file upload handler</li>
<li><strong>uploadform.html </strong>- sample HTML upload form ( <em>again, update path</em> )</li>
</ul>
<p>Hope somebody finds this useful.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/08/upload-to-asp-net-from-html-flash-or-flex-clients/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>EMERGENT COLLECTIVE released, the community rejoices!</title>
		<link>http://ericfickes.com/2010/07/emergent-collective-one-released/</link>
		<comments>http://ericfickes.com/2010/07/emergent-collective-one-released/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 22:33:59 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[band]]></category>
		<category><![CDATA[denver]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[An Early Morning Letter - Displaced]]></category>
		<category><![CDATA[Bugbear]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[free cd]]></category>
		<category><![CDATA[James Allen]]></category>
		<category><![CDATA[Jazpicious]]></category>
		<category><![CDATA[Lee Fernandes]]></category>
		<category><![CDATA[musicians]]></category>
		<category><![CDATA[My Brother And I]]></category>
		<category><![CDATA[Partition 36]]></category>
		<category><![CDATA[Sea of Arrows]]></category>
		<category><![CDATA[Sean McCracken]]></category>
		<category><![CDATA[Sleepwalker]]></category>
		<category><![CDATA[the compilers]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1593</guid>
		<description><![CDATA[I&#8217;m happy to announce my band The Compilers have been included on the new EMERGENT COLLECTIVE ONE cd. This compilation is made up of developers in the Adobe community who are also involved with making music.  Go download it now, &#8230; <a href="http://ericfickes.com/2010/07/emergent-collective-one-released/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce my band <a href="http://compilersworld.com" target="_blank">The Compilers</a> have been included on the new <a title="Download the new EMERGENT COLLECTIVE compilation for free!" href="http://fracturedvisionmedia.com/FVM005/" target="_blank">EMERGENT COLLECTIVE ONE</a> cd.  This compilation is made up of developers in the Adobe community who are also involved with making music.  <a title="Download EMERGENT COLLECTIVE 1 for free" href="http://fracturedvisionmedia.com/FVM005/" target="_blank">Go download it now</a>, it&#8217;s free for all!</p>
<div id="attachment_1594" class="wp-caption aligncenter" style="width: 569px"><a href="http://fracturedvisionmedia.com/FVM005/" target="_blank"><img class="size-full wp-image-1594  " title="EMERGENT COLLECTIVE ONE compilation" src="http://ericfickes.com/wp-content/uploads/2010/07/EMERGENT_COLLECTIVE_ONE.png" alt="11 tracks from Adobe community members who also make music" width="559" height="639" /></a><p class="wp-caption-text">Download this free album now!</p></div>
<p>A huge thanks goes out to creator of this compilation <a title="Joseph Labrecque: Senior Multimedia Application Developer for the University of Denver and Owner of Fractured Vision Media, LLC. Joseph is an Adobe Higher Education Leader" href="http://inflagrantedelicto.memoryspiral.com/" target="_blank">Joseph Labrecque</a>.  Thank you for making this compilation and thank you for letting The Compilers submit our song &#8216;Sleep Tick v2&#8242;.  Be sure to read <a title="Joseph Labreqcue releases 'EMERGENT COLLECTIVE ONE' for free. The Adobe community rejoices!" href="http://inflagrantedelicto.memoryspiral.com/2010/07/emergent-collective-one-now-available/" target="_blank">Joseph&#8217;s comments about the compilation</a> he so graciously put out for all to enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/07/emergent-collective-one-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>I am going to 360 Flex DC, and so should you</title>
		<link>http://ericfickes.com/2010/07/i-am-going-to-360-flex-dc-and-so-should-you/</link>
		<comments>http://ericfickes.com/2010/07/i-am-going-to-360-flex-dc-and-so-should-you/#comments</comments>
		<pubDate>Mon, 12 Jul 2010 04:02:03 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[flash platform]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[22nd Century]]></category>
		<category><![CDATA[360 Flex]]></category>
		<category><![CDATA[360 Flex DC 2010]]></category>
		<category><![CDATA[360flex]]></category>
		<category><![CDATA[360FlexAPalooza]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[DC]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Flex conference]]></category>
		<category><![CDATA[thecompilers]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1563</guid>
		<description><![CDATA[I&#8217;m happy to announce I received my Golden Ticket to speak at the next 360 Flex conference in Washington DC.  The conference will be held at the Hilton DC North Gaithersburg, September 19 &#8211; 22, 2010. I&#8217;m going to 360 Flex &#8230; <a href="http://ericfickes.com/2010/07/i-am-going-to-360-flex-dc-and-so-should-you/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce I received my <a title="I got my 360 Flex golden ticket, just like Charlie got his chocolate factory ticket" href="http://en.wikipedia.org/wiki/Golden_Ticket" target="_blank">Golden Ticket</a> to speak at the next <a title="360 Flex is THE flex conference to attend" href="http://www.360flex.com" target="_blank">360 Flex</a> conference in Washington DC.  The conference will be held at the <a href="http://www1.hilton.com/en_US/hi/hotel/GAIGHHF-Hilton-Washington-DC-North-Gaithersburg-Maryland/index.do" target="_blank">Hilton DC North Gaithersburg</a>, September 19 &#8211; 22, 2010.</p>
<div class="mceTemp mceIEcenter">
<dl id="attachment_1564" class="wp-caption aligncenter" style="width: 598px;"><a href="http://ericfickes.com/wp-content/uploads/2010/07/eric_golden_ticket.jpg" rel="lightbox[1563]"><span style="color: #000000;"><img class="size-full wp-image-1564" title="I got my golden ticket to 360 Flex DC 2010!" src="http://ericfickes.com/wp-content/uploads/2010/07/eric_golden_ticket.jpg" alt="I am speaking at 360 Flex DC" width="588" height="441" /></span></a>I&#8217;m going to 360 Flex DC, and so should you </dl>
</div>
<p>I spoke at the last <a title="I also spoke at 360 Flex San Jose" href="http://www.360flex.com/san-jose-2010/" target="_blank">360|Flex in San Jose</a>, but I&#8217;m already more excited for the DC conference, and here&#8217;s why.</p>
<ol>
<li>I&#8217;m speaking about the most exciting part of the Flash Platform, <a title="Adobe AIR2 release notes for developers" href="http://www.adobe.com/support/documentation/en/air/2/releasenotes_developers.html" target="_blank">AIR2</a></li>
<li><a title="Jesse Warden vs Jesse Freeman at 360 Flex DC - BE THERE!!!" href="http://www.360flex.com/blog/2010/07/360flex-jesse-vs-jesse/" target="_blank">Jesse vs. Jesse ( Flash vs Flex throwdown )</a></li>
<li>It&#8217;s in Washington DC</li>
<li>My band <a title="The Compilers World" href="http://compilersworld.com/" target="_blank">The Compilers</a> will be giving a lunch talk, as well as playing live at one of the parties</li>
<li>There is talk of <a title="Duane 'chaos' Nickull's band 22nd Century. Duane is a fellow bassist!" href="http://22ndcenturyofficial.com/" target="_blank">Duanne Nickull&#8217;s band 22nd Century</a> playing ( hopefully <a title="Sean the flex guy is my personal online DJ" href="http://twitter.com/seantheflexguy" target="_blank">Sean &#8216;the flex guy&#8217;</a> too )</li>
<li>Doug McCune is giving the opening Keynote speech on Monday</li>
<li>I get to hang out with the Flex community</li>
</ol>
<p>If you haven&#8217;t been to a 360 Flex conference yet I highly recommend it.  If you still need help deciding, here are a few conference questions for you.</p>
<ol>
<li>Do you currently work with or have any interest in <a title="Adobe Flex" href="http://www.adobe.com/products/flex/" target="_blank">Adobe Flex</a>?</li>
<li>Have you attended a 360 Flex conference yet?</li>
<li>Do you want to meet the community loudmouths you&#8217;re already following on Twitter?</li>
<li>Have you seen who is <a title="Speakers at 360|Flex DC 2010" href="http://www.360flex.com/speakers/" target="_blank">speaking at 360 Flex DC</a>?</li>
<li>Have you ever heard <a title="The Compilers world!" href="http://compilersworld.com/" target="_blank">The Compilers</a> play live?</li>
<li>Are you still reading this blog post?</li>
</ol>
<p>The last 360 Flex I spoke at was in San Jose and it rocked.  The city of San Jose bored me to tears, but I felt like I was living inside my twitter feed for three days.  My presentation was on the final day of 360 Flex, so I spent most of the conference preparing, and sitting in a few sessions here and there.  I spent almost half of my time in San Jose working and still met 10-15 of my twitter buddies, not to mention all the new contacts I met.  In a nutshell, if you attend a 360 Flex conference, you will meet the community.  In fact, you&#8217;d have to try pretty hard to not meet the Flex community.</p>
<p>If this sounds up your alley, go ahead and register to take advantage of the early adopter ticket price of $450.  I&#8217;m not sure when the ticket price will go up to $599, but I know it will so act fast.  If you make it to DC, be sure to find me and introduce yourself.  I promise it will be a good time.</p>
<table border="0" cellspacing="5" cellpadding="5" align="center">
<tbody>
<tr>
<th valign="top">
<p><div id="attachment_1578" class="wp-caption aligncenter" style="width: 160px"><a title="Register for 360|Flex DC now, and receive the early adopter rate $450" href="http://www.eventbrite.com/event/680816340/360flexhelpsell/872527234" target="_blank"><img class="size-full wp-image-1578 " title="360|Flex Washington DC 2010" src="http://ericfickes.com/wp-content/uploads/2010/07/site_badge_ef.png" alt="360|Flex Washington D.C. Sept.19-22 " width="150" height="158" /></a><p class="wp-caption-text">Early adopter price $450 </p></div></th>
<td valign="middle">
<h2>360|Flex Information</h2>
<h3><a href="http://www.360flex.com/" target="_blank">ABOUT</a></h3>
<h3><a href="http://360flex.com/downloads/schedule.pdf" target="_blank">SCHEDULE</a></h3>
<h3><a href="http://www.360flex.com/speakers/" target="_blank">SPEAKERS</a></h3>
<h3><a href="http://www.eventbrite.com/event/680816340/360flexhelpsell/872527234" target="_blank">REGISTER</a></h3>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/07/i-am-going-to-360-flex-dc-and-so-should-you/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>It&#8217;s official, The Flash Platform rocks!</title>
		<link>http://ericfickes.com/2010/06/its-official-the-flash-platform-rocks/</link>
		<comments>http://ericfickes.com/2010/06/its-official-the-flash-platform-rocks/#comments</comments>
		<pubDate>Fri, 18 Jun 2010 06:00:26 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[band]]></category>
		<category><![CDATA[denver]]></category>
		<category><![CDATA[flash platform]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[air2]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[getMicrophone]]></category>
		<category><![CDATA[megaphone]]></category>
		<category><![CDATA[merapi]]></category>
		<category><![CDATA[midi]]></category>
		<category><![CDATA[mmj]]></category>
		<category><![CDATA[NativeProcess]]></category>
		<category><![CDATA[Roboreader]]></category>
		<category><![CDATA[say]]></category>
		<category><![CDATA[the compilers]]></category>
		<category><![CDATA[Visualizer]]></category>
		<category><![CDATA[zero wing]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1514</guid>
		<description><![CDATA[* UPDATE : all the videos were originally made and hosted at http://screentoaster.com which is now defunct.  I will get these videos updated someday.  Sorry for the loss. In case you missed the June RMAUG meeting, my band The Compilers played &#8230; <a href="http://ericfickes.com/2010/06/its-official-the-flash-platform-rocks/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<address><span style="color: #800000;">* UPDATE : all the videos were originally made and hosted at <a href="http://www.screentoaster.com"><span style="color: #800000;">http://screentoaster.com</span></a> which is now defunct.  I will get these videos updated someday.  Sorry for the loss.</span></address>
<p>In case you missed the June <a href="http://rmaug.com/">RMAUG</a> meeting, my band <a title="The Compilers headquarters on the internets" href="http://compilersworld.com" target="_blank">The Compilers</a> played our first hybrid concert and presentation show. Who are The Compilers? As far as I know, we&#8217;re Denver CO&#8217;s only Tech Funk Fusion trio that use internet technology along with analog instruments. By day we&#8217;re internet programmers, and by night we&#8217;re rockers. Right now majority of our software revolves around the <a title="Adobe's Flash Platform rocks!" href="http://www.adobe.com/flashplatform/" target="_blank">Flash Platform</a>, so it was only natural that we play at RMAUG.</p>
<p>Below is a recap of our setlist, and notes about the technology we presented on. When you see mentions of a Flash movie, these are not run as standalone SWF files. They are actually played by our Flex based Compilers Live Player. This application runs on our guitarist <a title="Guitarist and UBER coder for The Compilers, all around code and jam rocker" href="http://iheartair.com" target="_blank">Jun Heider&#8217;s</a> laptop, and the entire app is controlled over MIDI, via a Behringer FCB1010 Foot Controller, <a title="Midi for Java on Mac" href="http://www.humatic.de/htools/mmj.htm" target="_blank">MMJ</a>, and <a title="Checkout the MERAPI Java to Flex bridge" href="http://www.merapiproject.net/" target="_blank">MERAPI</a>.</p>
<h3>Intro Song</h3>
<p>For the first song of our set we decided to use a funny and informative Flash movie to give the audience a hint at what they&#8217;re about to see. For the June RMAUG show, this movie was updated to include spoken thank you slides for the companies that make our technology, and special shout outs to all the people who help us put on a great show.</p>
<p style="text-align: left;"><a href="http://ericfickes.com/code/thecompilers/intro.html" target="_blank"><strong> Watch Flash Intro Movie</strong></a></p>
<h3><strong>I want an iPhone</strong></h3>
<div id="_mcePaste">For our iPhone song we have another entertaining Flash movie that gets played during my iPhone solo part. Both this song, and the Flash movie where updated a bit for RMAUG. Unfortunately Soundbooth crashed on us when saving the recording of our live set, so I can&#8217;t play a clip for the remixed iPhone song, but you can watch the updated iPhone Flash movie.</div>
<p><strong><a title="The Compilers 'I want an iPhone' Flash movie, watch for the special guests" href="http://ericfickes.com/code/thecompilers/iPhone-RMAUG.html" target="_blank">Watch Flash iPhone Movie</a></strong></p>
<div id="_mcePaste">
<h3>All your base, are belong to us</h3>
</div>
<div id="_mcePaste">This song is pretty straight forward when it comes to technology. We have a backing Flash movie that plays scenes from the ZeroWing video game, as well as the <a title="All your base are belong to us, now on your iPhone!" href="http://www.apptism.com/apps/all-your-base" target="_blank">&#8216;All Your Base&#8217; iPhone app</a> for ZeroWing audio samples. I&#8217;m not including anything for this song besides, if you&#8217;ve seen us play before, this song now has a reggae feel to it. Prior to this show, &#8216;All Your Base&#8217; was a hard driving all your punk are belong to us.</div>
<div>
<h3>Sleep Tick</h3>
</div>
<div id="_mcePaste">This is one of our original rock tunes which has been given a minor touch of technology. There is a middle part that I now break out into an iPhone solo, and we also have an AIR 2 powered audio visualizer. This particular app is one of the most exciting for me because I&#8217;ve been waiting for the day when we can use getMicrophone to pull raw data. Instead of explaining this one, you can watch it instead.</div>
<div style="text-align: center;"><object id="stU0hSREFIR15ZRltbXVJRUlNT" width="425" height="344" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="video=stU0hSREFIR15ZRltbXVJRUlNT" /><param name="src" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed id="stU0hSREFIR15ZRltbXVJRUlNT" width="425" height="344" type="application/x-shockwave-flash" src="http://www.screentoaster.com/swf/STPlayer.swf" data="http://www.screentoaster.com/swf/STPlayer.swf" allowFullScreen="true" allowScriptAccess="always" flashvars="video=stU0hSREFIR15ZRltbXVJRUlNT" allowfullscreen="true" allowscriptaccess="always" /></object></div>
<h3>Tweet Jam v2</h3>
<div>I&#8217;m happy to report our crown jewel of internet technology and audience interaction mashup &#8220;Tweet Jam&#8221;, has reached version 2. Both the song and the application have been rewritten especially for the RMAUG show. TweetJam is an instrumental jam song where the audience tweets at <a title="Follow The Compilers on Twitter" href="http://twitter.com/thecompilers" target="_blank">@thecompilers</a> during our show, then our Roboreader application imports the <a title="What is a Twitter @reply or @mention?" href="http://help.twitter.com/forums/10711/entries/14023" target="_blank">@mentions</a> and reads them back to the crowd via robot voice. Since our application reads the live Twitter feed, you don&#8217;t have to be at our shows to participate! A final point of interest for this application is that I run this on my laptop and control it using a wired XBOX 360 controller. There&#8217;s not much more to explain, but there is a video showing it in action.</div>
<p style="text-align: center;"><object id="stU0hSREFIR15ZRltVWVpcVldW" width="425" height="344" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="flashvars" value="video=stU0hSREFIR15ZRltVWVpcVldW" /><param name="src" value="http://www.screentoaster.com/swf/STPlayer.swf" /><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><embed id="stU0hSREFIR15ZRltVWVpcVldW" width="425" height="344" type="application/x-shockwave-flash" src="http://www.screentoaster.com/swf/STPlayer.swf" data="http://www.screentoaster.com/swf/STPlayer.swf" allowFullScreen="true" allowScriptAccess="always" flashvars="video=stU0hSREFIR15ZRltVWVpcVldW" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<h3 style="font-size: 1.17em;">James vs. Rick</h3>
<div id="_mcePaste">Our final song of the night uses two applications. One is a game for the audience, and the other is a simple audio app. The game is an AIR application that connects to the <a title="MegaPhone - The phone game company" href="http://www.playmegaphone.com/" target="_blank">&#8216;phone game company&#8217; MegaPhone service</a> and displays a specially assigned 888 telephone number, and a range of numbers to press in order to vote for James Brown ( 0 &#8211; 4 ) or Rick James ( 5 &#8211; 9 ). When a player calls in and presses a number from a specific range, our AIR app will play an appropriate audio sample while we&#8217;re playing. Our AIR app keeps track and displays the running vote count, then at the end of the song we fade and play a funny video from the winner.</div>
<div>The second application &#8216;Funky Funky&#8217; is a simple AIR2 application that uses NativeProcess to say &#8220;Funky Funky&#8221;. While this doesn&#8217;t sound like anything noteworthy, it&#8217;s a perfect application for this particular jam because OSX&#8217;s SAY command has a voice called &#8220;Bells&#8221; that speaks in a melody that matches the song we&#8217;re playing. Of course this doesn&#8217;t make much sense not knowing what the song sounds like, so here&#8217;s the actual application for you download and try out. Note, this is an AIR2 app that uses NativeProcess, so this is an OSX only application.</div>
<div style="text-align: center;"><a title="FUNKY FUNKY! OSX application by The Compilers" href="http://ericfickes.com/code/thecompilers/FunkyFunky.dmg" target="_blank">Download &#8220;Funky Funky&#8221; for OSX</a></div>
<div style="text-align: center;"><a href="http://ericfickes.com/code/thecompilers/FunkyFunky.dmg"><img class="aligncenter size-full wp-image-1537" title="FUNKY FUNKY" src="http://ericfickes.com/wp-content/uploads/2010/06/FunkyFunky-128.png" alt="Funky Funky! A text to speech OSX application by The Compilers" width="128" height="128" /></a></div>
<div>For your entertainment, here are two funny videos from <a title="James Brown wasted on CNN" href="http://www.youtube.com/watch?v=COYNAgNJkXA" target="_blank">James Brown</a> and <a title="Rick James 'SLAP' remix" href="http://www.youtube.com/watch?v=IhNPDueFVSo" target="_blank">Rick James</a>.</div>
<h3>The Flash Platform Rocks!</h3>
<div>So there you go, proof that the <a title="Adobe's Flash Platform rocks!" href="http://www.adobe.com/flashplatform/" target="_blank">Flash Platform</a> rocks! I haven&#8217;t thought of any rocking ending other than, go check out AIR2. The Flash Platform is no longer restricted to the browser. Let all the HTML heads keep the browser, I want to rock on stage with Flash.</div>
<div>
<h3 style="font-size: 1.17em;">Photos</h3>
</div>
<div>We didn&#8217;t get a recording of the show, but we do have a <a title="The Compilers play RMAUG 6.8.2010" href="http://tinyurl.com/37fowsn" target="_blank">photo album of the June RMAUG on Facebook</a>.</div>
<h3>The Compilers Next Show</h3>
<div>If you missed The Compilers at RMAUG, we are playing at <a title="The Compilers are playing Ignite Denver 7. Get your tickets now!" href="http://ignitedenver.eventbrite.com/?ref=ebtn" target="_blank">Ignite Denver 7 on July 27th.</a> If you can&#8217;t make that show, be sure to at least tweet @thecompilers on July 27th to get yourself heard.</div>
<div>Be sure to check out <a title="Official Headquarters of The Compilers" href="http://compilersworld.com" target="_blank">The Compilers World</a> for information from the future of the internet rock trenches.</div>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/06/its-official-the-flash-platform-rocks/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Using an AS3 object or class as a DataProvider</title>
		<link>http://ericfickes.com/2010/02/using-an-as3-object-or-class-as-a-dataprovider/</link>
		<comments>http://ericfickes.com/2010/02/using-an-as3-object-or-class-as-a-dataprovider/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 22:25:12 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[adobe]]></category>
		<category><![CDATA[flash platform]]></category>
		<category><![CDATA[FLEX]]></category>
		<category><![CDATA[tips and tricks]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[ArrayCollection]]></category>
		<category><![CDATA[ArrayUtil]]></category>
		<category><![CDATA[as3]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[DataGrid]]></category>
		<category><![CDATA[dataProvider]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[ObjectUtil]]></category>
		<category><![CDATA[reflection]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1120</guid>
		<description><![CDATA[I have a need to use custom class objects as a DataGrid dataprovider.  After wrestling with flash.utils.describeClass() I gave up and found two other methods for binding my custom objects to a DataGrid. First here is a look at the &#8230; <a href="http://ericfickes.com/2010/02/using-an-as3-object-or-class-as-a-dataprovider/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I have a need to use custom class objects as a DataGrid dataprovider.  After wrestling with flash.utils.describeClass() I gave up and found two other methods for binding my custom objects to a DataGrid.</p>
<p style="text-align: center;">First here is a look at the <a title="Get the MXML source for this Object as DataGrid.dataProvider sample" href="http://ericfickes.posterous.com/two-methods-for-binding-an-as3-object-to-a-da" target="_blank">sample MXML app I put together</a>.</p>
<div id="attachment_1126" class="wp-caption aligncenter" style="width: 424px"><a href="http://ericfickes.com/wp-content/uploads/2010/02/object-databound-datagrids.png" rel="lightbox[1120]"><img class="size-full wp-image-1126" title="Using custom object as a DataGrid.dataProvider in Flex 3" src="http://ericfickes.com/wp-content/uploads/2010/02/object-databound-datagrids.png" alt="Using custom object as a DataGrid.dataProvider in Flex 3" width="414" height="277" /></a><p class="wp-caption-text">Same object bound two different ways</p></div>
<p style="text-align: center;"><a title="Run this sweet sweet Flex RIA in your own browser" href="http://ericfickes.com/code/flex/reflection/objectAsDataprovider.html" target="_blank">Click here to run this demo in a new window</a>.</p>
<p>In the first grid the DataGrid gets a column per object property.</p>
<pre class="brush: as3; title: ; notranslate">
var dp_horizontal:Array = ArrayUtil.toArray( myCustomObj );
grid_1.dataProvider = dp_horizontal.valueOf();
</pre>
<p>In the second grid, I run my custom object through a helper function to create an ArrayCollection containing NAME, VALUE pairs for each object property.</p>
<pre class="brush: as3; title: ; notranslate">
/**
 * Convert a class object into an ArrayCollection to be used
 * as a DataProvider
 */
private function objectToDataProvider( obj:Object ):ArrayCollection
{
	// our DataProvider
	var dp:ArrayCollection = new ArrayCollection();
	// get object class info
	var info:Object = mx.utils.ObjectUtil.getClassInfo( obj );
	// split the class property list into Array
	var propsA:Array = String( info.properties ).split(',');
	// loop over class properties grabbing value and filling up dp
	for( var xx:int = 0; xx &lt;= propsA.length-1; xx++)
	{
		dp.addItem( { name : propsA[ xx ], value : obj[ propsA[ xx ] ] } );
	}

	return dp;
}
</pre>
<p>I&#8217;m currently using this helper function to bind the result of WebORB.NET data calls to a DataGrid for testing.  This code could really be used by any type of object though.</p>
<p>Hope this helps somebody else.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/02/using-an-as3-object-or-class-as-a-dataprovider/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Coldfusion and ASP.NET coexisting on IIS, where&#8217;d WebResource.axd go?</title>
		<link>http://ericfickes.com/2010/02/coldfusion-and-asp-net-coexisting-on-iis-whered-webresource-axd-go/</link>
		<comments>http://ericfickes.com/2010/02/coldfusion-and-asp-net-coexisting-on-iis-whered-webresource-axd-go/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 19:33:39 +0000</pubDate>
		<dc:creator>Eric Fickes</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[coldfusion]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[tips and tricks]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[iis7]]></category>
		<category><![CDATA[inetmgr]]></category>
		<category><![CDATA[web.config]]></category>
		<category><![CDATA[webresource.axd]]></category>

		<guid isPermaLink="false">http://ericfickes.com/?p=1109</guid>
		<description><![CDATA[My Monday morning WTF comes from IIS7 on Windows 7.  I recently installed Coldfusion9 on this machine which has a handful of existing ASP.NET 3.5 web applications.  The problem I ran into came after installing Coldfusion9 and electing to configure &#8230; <a href="http://ericfickes.com/2010/02/coldfusion-and-asp-net-coexisting-on-iis-whered-webresource-axd-go/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My Monday morning WTF comes from IIS7 on Windows 7.  I recently installed Coldfusion9 on this machine which has a handful of existing ASP.NET 3.5 web applications.  The problem I ran into came after installing Coldfusion9 and electing to configure all IIS websites to work with CF.  While that is convenient, it ended up breaking one of my ASP.NET applications that was using ASP Validation controls on a login form.  Now that things are figured out, here are the details.</p>
<p>Firing up my ASP.NET application gives me the error message :</p>
<p style="text-align: center;"><strong>The WebResource.axd handler must be registered in the configuration to process this request</strong></p>
<div id="attachment_1110" class="wp-caption aligncenter" style="width: 310px"><a href="http://ericfickes.com/wp-content/uploads/2010/02/axd-handler-error.png" rel="lightbox[1109]"><img class="size-medium wp-image-1110" title="WebResource.axd handler must be registered" src="http://ericfickes.com/wp-content/uploads/2010/02/axd-handler-error-300x177.png" alt="Misleading web handler error message" width="300" height="177" /></a><p class="wp-caption-text">WebResource.axd handler must be registered</p></div>
<p>Obviously all I could think is WTF?!?!? since this application worked on Friday and now it is broken.  The first thing I want to point out is that in my situation, the suggested solution of mapping WebResource.axd in the httpHandlers section of my web.config did <em><strong>not</strong></em> help this problem.  After some googling I cam across <a title="Problems with ASP.NET 2.0 Applications with Validation Controls" href="http://forums.iis.net/p/1147595/1861983.aspx#1861983" target="_blank">this post on the IIS.NET forums</a> which put me on the right track.  You can read the details there if you want a good background on MS&#8217; response and other users running CF and ASP.NET on the same box.</p>
<p>I&#8217;m happy to say I have three workarounds for this issue.  Hopefully these will help you as well.</p>
<h3>1. Change your AppPool to run in Classic Mode</h3>
<ol>
<li>In inetmgr, put your web application into it&#8217;s own Application Pool ( unless it&#8217;s already in it&#8217;s own pool )</li>
<li>Change that AppPool&#8217;s Managed pipeline mode to &#8220;Classic&#8221;</li>
<li>You should be good to go</li>
</ol>
<div id="attachment_1111" class="wp-caption aligncenter" style="width: 310px"><a href="http://ericfickes.com/wp-content/uploads/2010/02/change-apppool-2-classic.png" rel="lightbox[1109]"><img class="size-medium wp-image-1111" title="Edit Application Pool &gt; Managed Pipeline Mode" src="http://ericfickes.com/wp-content/uploads/2010/02/change-apppool-2-classic-300x266.png" alt="Change Managed Pipeline Mode to Classic" width="300" height="266" /></a><p class="wp-caption-text">Classic mode is for compatibility ( think IIS6 )</p></div>
<h3>2. Stop using ASP Validation controls</h3>
<p>All ASP.NET Validation controls are hosted by WebResource.axd.  If you stop using ASP Validator controls, the server will stop asking for WebResource.axd.</p>
<div id="attachment_1112" class="wp-caption aligncenter" style="width: 301px"><a href="http://ericfickes.com/wp-content/uploads/2010/02/stop-using-validators.png" rel="lightbox[1109]"><img class="size-medium wp-image-1112" title="Don't use ASP Validator controls" src="http://ericfickes.com/wp-content/uploads/2010/02/stop-using-validators-291x300.png" alt="Comment out ASP Validator controls" width="291" height="300" /></a><p class="wp-caption-text">Removing ASP Validator controls should remove this error</p></div>
<h3>3. Remove Coldfusion handler mappings from your ASP.NET site</h3>
<p>If your ASP.NET app isn&#8217;t using Coldfusion, I would suggest doing this as your solution.  Even if you do need Coldfusion in your ASP.NET app, you could still host your CF app in it&#8217;s own Virtual Directory and request if via ASP.NET.</p>
<ol>
<li>Open inetmgr</li>
<li>Select your web app on the left ( under Default Web Site )</li>
<li>In Features View on the right, double click Handler Mappings</li>
<li>Sort your Handler Mappings by Name, and remove all entries titled &#8220;AboMapperCustom-*&#8221;</li>
<li>Now your ASP.NET should work like a champ.</li>
</ol>
<div id="attachment_1113" class="wp-caption aligncenter" style="width: 310px"><a href="http://ericfickes.com/wp-content/uploads/2010/02/inetmgr-handlerMappings.png" rel="lightbox[1109]"><img class="size-medium wp-image-1113" title="inetmgr Handler Mappings" src="http://ericfickes.com/wp-content/uploads/2010/02/inetmgr-handlerMappings-300x238.png" alt="IIS7 inetmgr Handler Mappings" width="300" height="238" /></a><p class="wp-caption-text">IIS7 Handler Mappings</p></div>
<div id="attachment_1114" class="wp-caption aligncenter" style="width: 310px"><a href="http://ericfickes.com/wp-content/uploads/2010/02/remove-cf-mappings.png" rel="lightbox[1109]"><img class="size-medium wp-image-1114" title="Coldfusion9 Handler Mappings" src="http://ericfickes.com/wp-content/uploads/2010/02/remove-cf-mappings-300x242.png" alt="Coldfusion9 Handler Mappings" width="300" height="242" /></a><p class="wp-caption-text">Coldfusion9 Handler Mappings</p></div>
<p>Monday WTF solved.  Now to get back to pushing buttons.</p>
]]></content:encoded>
			<wfw:commentRss>http://ericfickes.com/2010/02/coldfusion-and-asp-net-coexisting-on-iis-whered-webresource-axd-go/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

