<?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>Repeated Overflows &#187; ColdFusion</title>
	<atom:link href="http://code.christophervigliotti.com/category/coldfusion/feed/" rel="self" type="application/rss+xml" />
	<link>http://code.christophervigliotti.com</link>
	<description>Christopher Vigliotti often speaks in ColdFusion, Flash, SQL, CSS, Java and JavaScript.</description>
	<lastBuildDate>Thu, 02 Feb 2012 19:40:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>&#8220;Zeus, There It Is&#8221; or &#8220;Don&#8217;t Bring Me Down&#8230;Zeus&#8221;</title>
		<link>http://code.christophervigliotti.com/2012/01/zeus-there-it-is-or-dont-bring-me-down-zeus/</link>
		<comments>http://code.christophervigliotti.com/2012/01/zeus-there-it-is-or-dont-bring-me-down-zeus/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 18:29:15 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=487</guid>
		<description><![CDATA[I&#8217;ll be participating on a preview of ColdFusion Zeus tomorrow at noon. See you there.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be participating on a preview of ColdFusion Zeus tomorrow at noon.  See you <a href="http://www.meetup.com/coldfusionmeetup/events/45355792/">there</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2012/01/zeus-there-it-is-or-dont-bring-me-down-zeus/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ColdFusion 10</title>
		<link>http://code.christophervigliotti.com/2011/10/coldfusion-10/</link>
		<comments>http://code.christophervigliotti.com/2011/10/coldfusion-10/#comments</comments>
		<pubDate>Wed, 05 Oct 2011 17:26:30 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=452</guid>
		<description><![CDATA[Welcome to what may quite possibly be my laziest blog post ever&#8230;in which I mention the new version of ColdFusion in the title and simply state that &#8220;I&#8217;m seeing some juicy details on the new version of ColdFusion&#8230;head over to Nathan Struz&#8216;s twitter feed now for more&#8221;. Enjoy.]]></description>
			<content:encoded><![CDATA[<p>Welcome to what may quite possibly be my laziest blog post ever&#8230;in which I mention the new version of ColdFusion in the title and simply state that &#8220;I&#8217;m seeing some juicy details on the new version of ColdFusion&#8230;head over to <a href="http://twitter.com/#!/nathanstrutz">Nathan Struz</a>&#8216;s twitter feed now for more&#8221;.  Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2011/10/coldfusion-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entity Drive</title>
		<link>http://code.christophervigliotti.com/2011/09/entity-drive/</link>
		<comments>http://code.christophervigliotti.com/2011/09/entity-drive/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 23:13:58 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=447</guid>
		<description><![CDATA[Imagine if you could define the relationships between entities in your data-driven system once, and then have them automatically link to both the database and to the display pages of your ColdFusion-based system. I&#8217;m exploring this concept now and am calling it &#8220;Entity Drive&#8221;. The Point The high-level goal here is to speed up the [...]]]></description>
			<content:encoded><![CDATA[<p>Imagine if you could define the relationships between entities in your data-driven system once, and then have them automatically link to both the database and to the display pages of your ColdFusion-based system.  I&#8217;m exploring this concept now and am calling it &#8220;Entity Drive&#8221;.</p>
<p><strong>The Point</strong><br />
The high-level goal here is to speed up the process of developing software.  Every system that I&#8217;ve coded shares similar features.  Entity Drive automates the process of some of those features&#8230;in particular getting data from the database, displaying it (either in list or tree forms) and presenting users with system interactions.  I should also point out that the code is easy read, implement and modify.  </p>
<p><strong>Concepts</strong></p>
<p>Entity Drive is similar to existing Object-relational mapping (ORM) solutions in that it links the database to system objects.  Unlike ORM the code uses a <a href="http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=arrayStruct_07.html">structure</a> in place of objects.  I chose a structure or structures in place of objects as I want this to work as fast as possible.  This structure is called the Entity Definition.</p>
<p>Each Entity Definition includes four basic pieces:</p>
<ol>
<li>it&#8217;s name</li>
<li>how it relates to the database</li>
<li>how it relates to child entities</li>
<li>which (if any) links to create</li>
</ol>
<p>From the Entity Definition you simply pass in ancestor and descendent entity names and generate an Entity Chain.  An Entity Chain is a slice of the Entity Definition that only contains relevant segments of the Entity Definition.  It is limited to definitions of the ancestor entity, the descendent entity and each entity between.</p>
<p>The Entity Chain serves two purposes.  The first is to generate queries.  The second is to generate views.  Both are dynamically generated, which is a fancy way of saying that they are created when and where you need them.  </p>
<p><strong>Where I&#8217;m At</strong></p>
<p>It works and it&#8217;s fast.  I have the following features working:</p>
<ul>
<li>Entity Definition created from an XML file</li>
<li>Entity Chain created from Entity Definition</li>
<li>queries are dynamically generated</li>
<li>a basic Tree View feature that outputs the query</li>
</ul>
<p><strong>What&#8217;s Next</strong></p>
<ol>
<li>refine Tree View feature to restore the tree&#8217;s expand/collapse state when a user returns to the page</li>
<li>highlight relevant tree node when user returns</li>
<li>refactor Entity Drive, Entity Chain and Entity DAO objects, adding lots and lots of comments</li>
<li>create unit tests and functional tests for all features</li>
<li>perform testing with a mega-huge data set</li>
<li>create an awesome List View page</li>
<li>documentation, documentation, documentation</li>
</ol>
<p>In the coming weeks/months I&#8217;ll be posting updates and code samples.  When it&#8217;s done I&#8217;ll share it.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2011/09/entity-drive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ColdFusion 8 Structure Blues</title>
		<link>http://code.christophervigliotti.com/2011/09/coldfusion-8-structure-blues/</link>
		<comments>http://code.christophervigliotti.com/2011/09/coldfusion-8-structure-blues/#comments</comments>
		<pubDate>Tue, 06 Sep 2011 18:31:53 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=445</guid>
		<description><![CDATA[I ran across the following error when attempting to add an array to a structure: &#8220;Complex object types cannot be converted to simple values&#8221; &#60;cfscript&#62; request.anArray = ArrayNew&#40;1&#41;; request.aStruct = StructNew&#40;&#41;; request.aStructure = request.xml.entity.xmlAttributes; request.aStructure.aString = &#34;must...drink...coffee...&#34;; &#160; // interestingly enough this does not throw an error request.aStructure.aStruct = request.aStruct; &#160; // boo hoo, an [...]]]></description>
			<content:encoded><![CDATA[<p>I ran across the following error when attempting to add an array to a structure: &#8220;Complex object types cannot be converted to simple values&#8221;</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>cfscript<span style="color: #339933;">&gt;</span>
request.<span style="color: #006633;">anArray</span> <span style="color: #339933;">=</span> ArrayNew<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStruct</span> <span style="color: #339933;">=</span> StructNew<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStructure</span> <span style="color: #339933;">=</span> request.<span style="color: #006633;">xml</span>.<span style="color: #006633;">entity</span>.<span style="color: #006633;">xmlAttributes</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">aString</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;must...drink...coffee...&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// interestingly enough this does not throw an error</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">aStruct</span> <span style="color: #339933;">=</span> request.<span style="color: #006633;">aStruct</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// boo hoo, an error :(</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">anArray</span> <span style="color: #339933;">=</span> request.<span style="color: #006633;">anArray</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>cfscript<span style="color: #339933;">&gt;</span></pre></div></div>

<p>It&#8217;s important to note that I am copying structure elements from an xml node.   When I remove the reference to xmlAttributes the error vanishes.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>cfscript<span style="color: #339933;">&gt;</span>
request.<span style="color: #006633;">anArray</span> <span style="color: #339933;">=</span> ArrayNew<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStruct</span> <span style="color: #339933;">=</span> StructNew<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStructure</span> <span style="color: #339933;">=</span> StructNew<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">aString</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;must...drink...coffee...&quot;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">aStruct</span> <span style="color: #339933;">=</span> request.<span style="color: #006633;">aStruct</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// no error this time.  hmm...</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">anArray</span> <span style="color: #339933;">=</span> request.<span style="color: #006633;">anArray</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>cfscript<span style="color: #339933;">&gt;</span></pre></div></div>

<p>Since I needed to get values from xml I was still up against the error.  After a few moments of scratching my head I wrapped the xml in ColdFusion&#8217;s Duplicate() method.</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>cfscript<span style="color: #339933;">&gt;</span>
request.<span style="color: #006633;">anArray</span> <span style="color: #339933;">=</span> ArrayNew<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStruct</span> <span style="color: #339933;">=</span> StructNew<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// booya</span>
request.<span style="color: #006633;">aStructure</span> <span style="color: #339933;">=</span> Duplicate<span style="color: #009900;">&#40;</span>request.<span style="color: #006633;">xml</span>.<span style="color: #006633;">entity</span>.<span style="color: #006633;">xmlAttributes</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">aString</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;must...drink...coffee...&quot;</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">aStruct</span> <span style="color: #339933;">=</span> request.<span style="color: #006633;">aStruct</span><span style="color: #339933;">;</span>
request.<span style="color: #006633;">aStructure</span>.<span style="color: #006633;">anArray</span> <span style="color: #339933;">=</span> request.<span style="color: #006633;">anArray</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>cfscript<span style="color: #339933;">&gt;</span></pre></div></div>

<p>ColdFusion&#8217;s Duplicate() function to the rescue!  The above code does not throw an error, and I am able to get the xml values that I need as well as add arrays to the structure.</p>
<p>I am left wondering if this is a bug in ColdFusion 8.  It would appear so to me.  At some point I will test this in ColdFusion 9 to see if I get the same results.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2011/09/coldfusion-8-structure-blues/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dreamweaver HTML Protyping FTW</title>
		<link>http://code.christophervigliotti.com/2011/08/dreamweaver-html-protyping-ftw/</link>
		<comments>http://code.christophervigliotti.com/2011/08/dreamweaver-html-protyping-ftw/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 19:42:43 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=444</guid>
		<description><![CDATA[Most ColdFusion developers are using either ColdFusion Builder or Eclipse (with added CFEclipse awesomeness). I&#8217;m presently using CFEclipse for ColdFusion development, but when I have to create HTML prototypes I use Adobe Dreamweaver. This morning I leveraged Dreamweaver&#8217;s templates and jQuery code completion features to get an ajax-powered, interactive prototype up and running in an [...]]]></description>
			<content:encoded><![CDATA[<p>Most ColdFusion developers are using either ColdFusion Builder or Eclipse (with added CFEclipse awesomeness).  I&#8217;m presently using CFEclipse for ColdFusion development, but when I have to create HTML prototypes I use Adobe Dreamweaver.  This morning I leveraged Dreamweaver&#8217;s templates and jQuery code completion features to get an ajax-powered, interactive prototype up and running in an hour.</p>
<p>I&#8217;m wondering why the folks at Adobe didn&#8217;t just add some of <a href="http://fusiongrokker.com/post/why-i-think-you-should-buy-coldfusion-builder">ColdFusion Builder&#8217;s awesome features</a> to Dreamweaver.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2011/08/dreamweaver-html-protyping-ftw/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CFEclipse Snippet: Get and Set Methods</title>
		<link>http://code.christophervigliotti.com/2011/08/cfeclipse-snippet-get-and-set-methods/</link>
		<comments>http://code.christophervigliotti.com/2011/08/cfeclipse-snippet-get-and-set-methods/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 20:15:45 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=442</guid>
		<description><![CDATA[Is this really my first post since June?! At any rate here&#8217;s a simple tip that may save some of you some time. Here is a CFEclipse Snippet for quickly writing get and set methods. &#60;!--- get$${Uppercase Property Name} ---&#62; &#60;cffunction name=&#34;get$${Uppercase Property Name}&#34; output=&#34;false&#34; access=&#34;public&#34; returntype=&#34;$${Return Type:any&#124;void&#124;string&#124;numeric&#124;struct&#124;array&#124;query}&#34; hint=&#34;get method for $${Lowercase Property Name}&#34;&#62; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Is this really my first post since June?!  At any rate here&#8217;s a simple tip that may save some of you some time.  Here is a <a href="http://blog.mxunit.org/2009/04/timesavers-cfeclipse-snippets.html" target="_blank">CFEclipse Snippet</a> for quickly writing get and set methods.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!---	get$${Uppercase Property Name} ---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cffunction</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;get$${Uppercase Property Name}&quot;</span> </span>
<span style="color: #333333;">	output<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;false&quot;</span> </span>
<span style="color: #333333;">	<span style="color: #0000FF;">access</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;public&quot;</span> </span>
<span style="color: #333333;">	returntype<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;$${Return Type:any|void|string|numeric|struct|array|query}&quot;</span> </span>
<span style="color: #333333;">	<span style="color: #0000FF;">hint</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;get method for $${Lowercase Property Name}&quot;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfreturn</span> variables.$$<span style="color: #0000FF;">&#123;</span>Lowercase Property <span style="color: #0000FF;">Name</span><span style="color: #0000FF;">&#125;</span> <span style="color: #0000FF;">/&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cffunction</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
<span style="color: #808080; font-style: italic;">&lt;!---	set$${Uppercase Property Name} ---&gt;</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cffunction</span> </span>
<span style="color: #333333;">	<span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;set$${Uppercase Property Name}&quot;</span> </span>
<span style="color: #333333;">	output<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;false&quot;</span> </span>
<span style="color: #333333;">	<span style="color: #0000FF;">access</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;public&quot;</span> </span>
<span style="color: #333333;">	returntype<span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;void&quot;</span> </span>
<span style="color: #333333;">	<span style="color: #0000FF;">hint</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;set method for $${Lowercase Property Name}&quot;</span><span style="color: #0000FF;">&gt;</span></span>
&nbsp;
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfargument</span> <span style="color: #0000FF;">name</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;$${Lowercase Property Name}&quot;</span> </span>
<span style="color: #333333;">			<span style="color: #0000FF;">type</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;$${Return Type:any|void|string|numeric|struct|array|query}&quot;</span> </span>
<span style="color: #333333;">			<span style="color: #0000FF;">required</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;true&quot;</span> </span>
<span style="color: #333333;">			<span style="color: #0000FF;">hint</span><span style="color: #0000FF;">=</span><span style="color: #009900;">&quot;set method for $${Lowercase Property Name}&quot;</span> <span style="color: #0000FF;">/&gt;</span></span>
&nbsp;
	<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> variables.$$<span style="color: #0000FF;">&#123;</span>Lowercase Property <span style="color: #0000FF;">Name</span><span style="color: #0000FF;">&#125;</span> <span style="color: #0000FF;">=</span> arguments.$$<span style="color: #0000FF;">&#123;</span>Lowercase Property <span style="color: #0000FF;">Name</span><span style="color: #0000FF;">&#125;</span> <span style="color: #0000FF;">/&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cffunction</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2011/08/cfeclipse-snippet-get-and-set-methods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I got started in ColdFusion</title>
		<link>http://code.christophervigliotti.com/2011/08/how-i-got-started-in-coldfusion/</link>
		<comments>http://code.christophervigliotti.com/2011/08/how-i-got-started-in-coldfusion/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 20:24:30 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[I'm Just Sayin']]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=439</guid>
		<description><![CDATA[I&#8217;ve been enjoying reading the &#8220;How I got Started in ColdFusion&#8221; posts that have been popping up on the interwebs over the last few days.  Here&#8217;s my story&#8230; 10 PRINT &#8220;YOU SMELL&#8221; 20 GOTO 10 RUN By the age of ten I had written my first bit of code on a Timex Sinclair. I copied [...]]]></description>
			<content:encoded><![CDATA[<p><em>I&#8217;ve been enjoying reading the &#8220;How I got Started in ColdFusion&#8221; posts that have been <a href="http://www.google.com/search?q=%22how+I+got+started+in+coldfusion%22&amp;ie=utf-8&amp;oe=utf-8&amp;aq=t&amp;rls=org.mozilla:en-US:official&amp;client=firefox-a">popping up on the interwebs</a> over the last few days.  Here&#8217;s my story&#8230;</em></p>
<p><strong>10 PRINT &#8220;YOU SMELL&#8221; 20 GOTO 10 RUN</strong></p>
<p>By the age of ten I had written my first bit of code on a Timex Sinclair. I copied the basic code for a clock out of the book and from that moment on I was hooked. By 7th grade I was fortunate enough to get a Commodore 128. I wrote a few games (again in basic), and played a LOT of games on that machine. I took basic programming and computer animation classes in high school and enjoyed working with the Commodore Amiga.</p>
<p><strong>Webcrawler and Pentiums</strong><em><br />
</em></p>
<p>A few years after graduating high school and slacking about I landed a job in the shipping/receiving department at a local computer reseller. At that job I was exposed to x86 and Sun platforms.  I also built my first pc&#8230;a totlly bad-ass 133mhz Pentium with 24mb of ram and a 14.4kb modem.  I was the first one in the shop running Windows 95 (no more irq headaches!) and distinctly remember the day that I first saw Netscape 2 in action.</p>
<p>I took to HTML programming and spent countless hours/days/weeks of my free time working on my personal site as well as a site for my band.</p>
<p>Fast forward a few years 1998&#8230;the dawn of broadband. I got a job as an field technician at a nationwide DSL provider and spent my free time developing Flash-based interactive training modules for my team. During this time I met quite a few software developers, most of which were having DSL installed in their homes so they could work from home.  the very thought of working from home was a new concept&#8230;and one that appealed to me.</p>
<p><strong>&lt;cf_lucky&gt;</strong></p>
<p>As luck would have it I had fixed a dsl circuit at a software development firm about a month before the bottom dropped out of the telecom market. They were impressed with my ability to fix the circuit where others had failed, as well as by the cheesy Flash-based resume that I stayed up all night to code.  I was lucky to change careers at the exact moment when many of my friends and co-workers were losing their jobs.</p>
<p>My first official year as a software developer was a great one. I learned how to write my first query, how to design a website and how to code in ColdFusion. I&#8217;ve been working with ColdFusion ever since, evolving as a developer as the language evolves. I also enjoy coding in ActionScript, JavaScript (go jQuery!), SQL, Java, PHP on occasion and anything else that comes my way, but ColdFusion remains my favorite language and in my biased opinion one of the best out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2011/08/how-i-got-started-in-coldfusion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Seeking Fusebox Documentation</title>
		<link>http://code.christophervigliotti.com/2011/06/wherefore-art-thou-fusebox-documentation/</link>
		<comments>http://code.christophervigliotti.com/2011/06/wherefore-art-thou-fusebox-documentation/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 15:28:15 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=438</guid>
		<description><![CDATA[Does anyone know of a mirror to the Fusebox Documentation? The documentation link on Fusebox site http://trac.fusebox.org/ is dead.]]></description>
			<content:encoded><![CDATA[<p>Does anyone know of a mirror to the Fusebox Documentation?  The documentation link on Fusebox site <a href="http://trac.fusebox.org/">http://trac.fusebox.org/</a> is dead.</p>
]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2011/06/wherefore-art-thou-fusebox-documentation/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Merry Christmas</title>
		<link>http://code.christophervigliotti.com/2010/12/merry-christmas/</link>
		<comments>http://code.christophervigliotti.com/2010/12/merry-christmas/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 15:58:24 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>
		<category><![CDATA[I'm Just Sayin']]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=430</guid>
		<description><![CDATA[May you all have a safe and happy Christmas filled with fun, friends, family and properly scoped variables. &#60;cfset variables.message = &#34;Merry Christmas&#34; /&#62; &#60;cfoutput&#62; #variables.message# &#60;/cfoutput&#62;]]></description>
			<content:encoded><![CDATA[<p>May you all have a safe and happy Christmas filled with fun, friends, family and properly scoped variables.</p>

<div class="wp_syntax"><div class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfset</span> variables.message <span style="color: #0000FF;">=</span> <span style="color: #009900;">&quot;Merry Christmas&quot;</span> <span style="color: #0000FF;">/&gt;</span></span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span>
<span style="color: #0000FF;">#variables.message#</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2010/12/merry-christmas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Truncate That List</title>
		<link>http://code.christophervigliotti.com/2010/12/truncate-that-list/</link>
		<comments>http://code.christophervigliotti.com/2010/12/truncate-that-list/#comments</comments>
		<pubDate>Wed, 08 Dec 2010 17:44:41 +0000</pubDate>
		<dc:creator>Christopher Vigliotti</dc:creator>
				<category><![CDATA[ColdFusion]]></category>

		<guid isPermaLink="false">http://code.christophervigliotti.com/?p=415</guid>
		<description><![CDATA[Today&#8217;s ColdFusion code sample meets the needs of anyone that has to truncate a list if it&#8217;s over X characters add a suffix to the list in cases where it was truncated Pardon the lack of proper indentation in the code sample below. If you copy and paste it into your favorite IDE the indentations [...]]]></description>
			<content:encoded><![CDATA[<p>Today&#8217;s ColdFusion code sample meets the needs of anyone that has to </p>
<ol>
<li>truncate a list if it&#8217;s over X characters</li>
<li>add a suffix to the list in cases where it was truncated</li>
</ol>
<p><em>Pardon the lack of proper indentation in the code sample below.  If you copy and paste it into your favorite IDE the indentations will be restored.</em></p>
<p>Here&#8217;s the function call&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>cfscript<span style="color: #339933;">&gt;</span>
	variables.<span style="color: #006633;">aLongList</span> <span style="color: #339933;">=</span> 
		<span style="color: #0000ff;">&quot;something, something else, a block of cheese, 
		the letter q, five golden rings, a shoe, 
		something additional goes here&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	variables.<span style="color: #006633;">truncatedList</span> <span style="color: #339933;">=</span> truncateList
		<span style="color: #009900;">&#40;</span>
		theList <span style="color: #339933;">=</span> variables.<span style="color: #006633;">aLongList</span>,
		theDelimter <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;,&quot;</span>,
		truncatedListMaxength <span style="color: #339933;">=</span> <span style="color: #cc66cc;">100</span>,
		theSuffix <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;...and many more&quot;</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>cfscript<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>&#8230;here&#8217;s the function&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>cffunction 
	name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;truncateList&quot;</span> 
	returntype<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;string&quot;</span> 
	hint<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;returns an author list that is under X characters&quot;</span><span style="color: #339933;">&gt;</span>
&nbsp;
	<span style="color: #339933;">&lt;</span>cfargument name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;theList&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;string&quot;</span> required<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;true&quot;</span> <span style="color: #339933;">/&gt;</span>
	<span style="color: #339933;">&lt;</span>cfargument name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;theDelimiter&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;string&quot;</span> required<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">default</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;,&quot;</span> <span style="color: #339933;">/&gt;</span>
	<span style="color: #339933;">&lt;</span>cfargument name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;truncatedListMaxength&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;string&quot;</span> required<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;true&quot;</span> <span style="color: #339933;">/&gt;</span>
	<span style="color: #339933;">&lt;</span>cfargument name<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;theSuffix&quot;</span> type<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;string&quot;</span> required<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;true&quot;</span> <span style="color: #000000; font-weight: bold;">default</span><span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;, et al.&quot;</span> <span style="color: #339933;">/&gt;</span>
&nbsp;
&nbsp;
	<span style="color: #339933;">&lt;</span>cfscript<span style="color: #339933;">&gt;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// declare variables</span>
		var local <span style="color: #339933;">=</span> structNew<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		local.<span style="color: #006633;">theDelimiter</span> <span style="color: #339933;">=</span> arguments.<span style="color: #006633;">theDelimiter</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">theList</span> <span style="color: #339933;">=</span> arguments.<span style="color: #006633;">theList</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">theSuffix</span> <span style="color: #339933;">=</span> arguments.<span style="color: #006633;">theSuffix</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">truncatedListMaxength</span> <span style="color: #339933;">=</span> arguments.<span style="color: #006633;">truncatedListMaxength</span><span style="color: #339933;">;</span>
&nbsp;
		local.<span style="color: #006633;">currentListItem</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">currentItemLength</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">delimiterLength</span> <span style="color: #339933;">=</span> len<span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">theDelimiter</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">i</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">suffixLength</span> <span style="color: #339933;">=</span> len<span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">theSuffix</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">theListLength</span> <span style="color: #339933;">=</span> len<span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">theList</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">truncatedList</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
		local.<span style="color: #006633;">truncatedListLength</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #666666; font-style: italic;">// if the list needs to be truncated, loop through it</span>
		<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">theListLength</span> <span style="color: #339933;">&gt;</span> local.<span style="color: #006633;">truncatedListMaxength</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span> local.<span style="color: #006633;">i</span> <span style="color: #339933;">&lt;=</span> local.<span style="color: #006633;">theListLength</span><span style="color: #339933;">;</span> local.<span style="color: #006633;">i</span> <span style="color: #339933;">=</span> local.<span style="color: #006633;">i</span><span style="color: #339933;">+</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">/*
				if the length of the current truncated list 
				+ the length of the current author string 
				+ the length of the delimiter 
				is GTE maxlength...
				*/</span>
				local.<span style="color: #006633;">currentListItem</span> <span style="color: #339933;">=</span> listGetAt<span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">theList</span>, local.<span style="color: #006633;">i</span>, local.<span style="color: #006633;">theDelimiter</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				local.<span style="color: #006633;">truncatedListLength</span> <span style="color: #339933;">=</span> len<span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">truncatedList</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
				local.<span style="color: #006633;">currentItemLength</span> <span style="color: #339933;">=</span> len<span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">currentListItem</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #000000; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>
					local.<span style="color: #006633;">currentItemLength</span>
					<span style="color: #339933;">+</span> local.<span style="color: #006633;">truncatedListLength</span>
					<span style="color: #339933;">+</span> local.<span style="color: #006633;">delimiterLength</span>
					<span style="color: #339933;">&gt;=</span> local.<span style="color: #006633;">truncatedListMaxength</span>
				<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
					<span style="color: #666666; font-style: italic;">/*
					...if the length of the truncated list 
					+ the length of the suffix 
					are greater than the max
					*/</span>
					<span style="color: #000000; font-weight: bold;">if</span>
						<span style="color: #009900;">&#40;</span>
						local.<span style="color: #006633;">truncatedListLength</span> 
						<span style="color: #339933;">+</span> local.<span style="color: #006633;">suffixLength</span>
						<span style="color: #339933;">&gt;</span> local.<span style="color: #006633;">truncatedListMaxength</span>
						<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
						<span style="color: #666666; font-style: italic;">// remove the last item from the list</span>
						local.<span style="color: #006633;">truncatedList</span> <span style="color: #339933;">=</span> 
							listDeleteAt
								<span style="color: #009900;">&#40;</span>
								local.<span style="color: #006633;">truncatedList</span>, 
								listLen<span style="color: #009900;">&#40;</span>local.<span style="color: #006633;">truncatedList</span>, local.<span style="color: #006633;">theDelimiter</span><span style="color: #009900;">&#41;</span>, 
								local.<span style="color: #006633;">theDelimiter</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
&nbsp;
&nbsp;
					<span style="color: #009900;">&#125;</span>
					<span style="color: #666666; font-style: italic;">// add the suffix and break out of the loop</span>
					local.<span style="color: #006633;">truncatedList</span> <span style="color: #339933;">=</span> local.<span style="color: #006633;">truncatedList</span> 
						<span style="color: #339933;">&amp;</span> local.<span style="color: #006633;">theSuffix</span><span style="color: #339933;">;</span>
					<span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
				<span style="color: #666666; font-style: italic;">// else...</span>
				<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
&nbsp;
					<span style="color: #666666; font-style: italic;">// ...add the current item to the string</span>
					local.<span style="color: #006633;">truncatedList</span> <span style="color: #339933;">=</span> local.<span style="color: #006633;">truncatedList</span> 
						<span style="color: #339933;">&amp;</span> local.<span style="color: #006633;">currentListItem</span> <span style="color: #339933;">&amp;</span> local.<span style="color: #006633;">theDelimiter</span><span style="color: #339933;">;</span>
&nbsp;
				<span style="color: #666666; font-style: italic;">//	end if</span>
				<span style="color: #009900;">&#125;</span>
&nbsp;
			<span style="color: #666666; font-style: italic;">//	end loop</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span><span style="color: #000000; font-weight: bold;">else</span><span style="color: #009900;">&#123;</span>
			local.<span style="color: #006633;">truncatedList</span> <span style="color: #339933;">=</span> local.<span style="color: #006633;">theList</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
&nbsp;
		<span style="color: #000000; font-weight: bold;">return</span> local.<span style="color: #006633;">truncatedList</span><span style="color: #339933;">;</span>
	<span style="color: #339933;">&lt;/</span>cfscript<span style="color: #339933;">&gt;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>cffunction<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>&#8230;and just so you don&#8217;t have to type anything&#8230;</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>123
124
125
</pre></td><td class="code"><pre class="cfm" style="font-family:monospace;"><span style="color: #333333;"><span style="color: #0000FF;">&lt;</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span>
	<span style="color: #0000FF;">#variables.truncatedList#</span>
<span style="color: #333333;"><span style="color: #0000FF;">&lt;/</span><span style="color: #990000; font-weight: bold;">cfoutput</span><span style="color: #0000FF;">&gt;</span></span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://code.christophervigliotti.com/2010/12/truncate-that-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

