<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:cc="http://web.resource.org/cc/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">

			<channel>
			<title>Phillip&apos;s ColdFusion Blog - ColdFusion</title>
			<link>http://www.phillipciske.com/blog/index.cfm</link>
			<description>createObject(&quot;component&quot;, &quot;YetAnotherCFBlog&quot;).init()</description>
			<language>en-us</language>
			<pubDate>Sun, 05 Sep 2010 01:29:32 -0700</pubDate>
			<lastBuildDate>Wed, 19 May 2010 19:17:00 -0700</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>pciske@gmail.com</managingEditor>
			<webMaster>pciske@gmail.com</webMaster>
			<itunes:subtitle></itunes:subtitle>
			<itunes:summary></itunes:summary>
			<itunes:category text="Technology" />
			<itunes:category text="Technology">
				<itunes:category text="Podcasting" />
			</itunes:category>
			<itunes:category text="Technology">
				<itunes:category text="Tech News" />
			</itunes:category>
			<itunes:keywords></itunes:keywords>
			<itunes:author></itunes:author>
			<itunes:owner>
				<itunes:email>pciske@gmail.com</itunes:email>
				<itunes:name></itunes:name>
			</itunes:owner>
			<itunes:image href="" />
			<image>
				<url></url>
				<title>Phillip&apos;s ColdFusion Blog</title>
				<link>http://www.phillipciske.com/blog/index.cfm</link>
			</image>
			<itunes:explicit>no</itunes:explicit>
			
			<item>
				<title>Out of the Comfort Zone - A First Introduction to CFWheels</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2010/5/19/Out-of-the-Comfort-Zone--A-First-Introduction-to-CFWheels</link>
				<description>
				
				I&apos;ve decided to step outside my comfort zone and try out a new framework, &lt;a href=&quot;http://cfwheels.org/&quot;&gt;CFWheels&lt;/a&gt;. CFWheels describes itself as &quot;an open source CFML framework inspired by Ruby on Rails.&quot; It advocates conventions over configuration, which seems to be the latest craze to hit CF frameworks (see &lt;a href=&quot;http://www.coldbox.org/&quot;&gt;ColdBox&lt;/a&gt; and &lt;a href=&quot;http://fw1.riaforge.org/&quot;&gt;FW/1&lt;/a&gt; for two others).

Since I&apos;m going outside my comfort zone, I think CFWheels is a good framework to explore since it supports several unfamiliar and/or uncomfortable areas for me:

&lt;ul&gt;
&lt;li&gt;Convention over configuration - I am a long time Fusebox user&lt;/li&gt;
&lt;li&gt;ORM - I proudly admit to being a control freak when it comes to the data layer&lt;/li&gt;
&lt;li&gt;URL rewriting - More than just pretty URLs?&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Creating a New CFWheels Site&lt;/h3&gt;

According to the documentation, setting up a new CFWheels application is rather straightforward. Download CFWheels, extract the zip file to the web root, and voila, a new CFWheels site.

For my first site, it was indeed this easy. I created a directory, extracted the CFWheels files into it, and I was done (almost...).

&lt;h3&gt;The Default Route&lt;/h3&gt;

I wanted the site to be under a directory named &quot;reading&quot; After creating such a directory and adding in the CFWheels skeleton, however, I immediately hit an error message. Not a ColdFusion-generated error, but a rather friendly CFWheels error message indicating that a view could not be found:

&lt;img src=&quot;http://www.phillipciske.com/blog/images/viewnotfound1.png&quot; /&gt;

After poking around the documentation and code a bit, I realized that the default route for a fresh skeleton application was set to look for a file named wheels.cfm under views/wheels. The config/routes.cfm template has the following lines of code to set up the default action:

&lt;code&gt;
&lt;!---
	Here you can add routes to your application and edit the default one.
	The default route is the one that will be called on your application&apos;s &quot;home&quot; page.
---&gt;
&lt;cfset addRoute(name=&quot;home&quot;, pattern=&quot;&quot;, controller=&quot;wheels&quot;, action=&quot;wheels&quot;)&gt;
&lt;/code&gt;

Translated, the addRoute() line tells CFWheels to look for a controller CFC named wheels in the controllers directory and a CFM template named wheels.cfm under a subdirectory named wheels in the views directory. (This conventions thing is rather handy.)

The error message I received pointed to a problem I introduced while setting up the site. I renamed the default &quot;wheels&quot; views directory to &quot;reading,&quot; not realizing that I was breaking the default route.

The fix was simple, either restore the views/reading directory to views/wheels, or, and this is the option I chose, change the route to to point to the existing views/reading directory:

&lt;code&gt;
&lt;cfset addRoute(name=&quot;home&quot;, pattern=&quot;&quot;, controller=&quot;reading&quot;, action=&quot;wheels&quot;)&gt;
&lt;/code&gt;

&lt;h3&gt;Next Steps&lt;/h3&gt;

So now that I have a happy CFWheels skeleton site, what next? The site I had in mind is a simple application to track what books I have read, so I need to take a step back and design the model and the screens, pardon me, views, that need to exist.

Once the basic design is set, I want to explore CRUD automation using CFWheel&apos;s ORM. I need to see if I can just let go and allow a framework to automate a good portion of the data layer. 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 19 May 2010 19:17:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2010/5/19/Out-of-the-Comfort-Zone--A-First-Introduction-to-CFWheels</guid>
				
				
			</item>
			
			<item>
				<title>CF Code-Fu Atrophy</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2010/1/19/CF-CodeFu-Atrophy</link>
				<description>
				
				It was bound to happen. 

I no longer get to code as often as I would like, so when I got the opportunity to make a quick fix to help bring my company&apos;s software up to CF 9 snuff, a problem with nested WDDX packets, I decided to keep the task to myself. A short time later I had the solution, wrote the necessary code, checked it in the browser, and then committed the file to source control feeling the old coding euphoria set in.

This morning, however, one of our developers called over the cubicle wall saying something was not right. Yep, I made a syntax error. My sense of accomplishment withered into feeling like a newbie. I made a mistake, one that I often coach others on: I did not sufficiently unit test my code change.

Once I got over the blast to my coding ego, I made the (small) code fix, unit tested again, and committed the file to the repository.

My lesson learned is two-fold:

First, never overestimate your own coding ability. There is always room for improving and refreshing both your language knowledge and your development practices.

Second, find time out from designing software to actually write some code. Do not let your code-fu wither due to disuse. 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>Personal</category>				
				
				<pubDate>Tue, 19 Jan 2010 09:51:25 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2010/1/19/CF-CodeFu-Atrophy</guid>
				
				
			</item>
			
			<item>
				<title>Using a ColdFusion Datasource in Java</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2010/1/14/Using-a-ColdFusion-Datasource-in-Java</link>
				<description>
				
				From time to time I have to switch out of ColdFusion into Java to get a task accomplished. The latest was writing a password callback class for a web service integration project using ColdFusion, aka the Axis web service engine, and &lt;a href=&quot;http://ws.apache.org/wss4j/&quot;&gt;WSS4J&lt;/a&gt;.  [More]
				</description>
				
				<category>ColdFusion</category>				
				
				<category>Java</category>				
				
				<pubDate>Thu, 14 Jan 2010 08:39:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2010/1/14/Using-a-ColdFusion-Datasource-in-Java</guid>
				
				
			</item>
			
			<item>
				<title>Creating a Self-Signed Key Pair</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2009/12/23/Creating-a-SelfSigned-Key-Pair</link>
				<description>
				
				&lt;p&gt;
One of my recent projects was to design a web service-based API for an existing Fusebox 3 application (more on that later). The data exchange has to be digitally signed, which requires working with public and private keys within ColdFusion. &lt;/p&gt;

&lt;p&gt;
ColdFusion uses the Java keystore within the JRE to handle keys and matters of trust. A keystore is simply a storage location for keys and certificates. Most keystores are physical files protected with a password. By the way, the default password for the ColdFusion keystore is &quot;changeit.&quot;&lt;/p&gt;

&lt;p&gt;
During the prototyping and development phases, I determined that using a self-signed key was faster and easier than having to go through the process of obtaining a &quot;real&quot; signed key.&lt;/p&gt;

&lt;p&gt;
&lt;strong&gt;Note:&lt;/strong&gt; Self-signed keys are useful for development, but a real key should be used in production environments.&lt;/p&gt;

&lt;h3&gt;General Syntax&lt;/h3&gt;

&lt;p&gt;
The general syntax for generating a self-signed key pair using the Java keytool utility is:&lt;/p&gt;

&lt;code&gt;
keytool 
    -genkey 
    -alias &lt;alias of key&gt; 
    -keypass &lt;password for alias&gt; 
    -keystore &lt;path/to/keystore&gt; 
    -storepass &lt;keystore password&gt; 
    -dname &quot;cn=&lt;alias&gt;&quot; 
    -keyalg RSA
&lt;/code&gt;

&lt;p&gt;
My project required using the RSA key algorithm. If you do not specify the algorithm to use, the keytool utility uses &lt;a href=&quot;http://en.wikipedia.org/wiki/Digital_Signature_Algorithm&quot;&gt;DSA&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Using the Keytool Utility&lt;/h3&gt;

&lt;p&gt;
Using the keytool utility requires going to the command line, so GUI-lovers beware! I&apos;m going to use the Windows command line in my examples below.&lt;/p&gt;

&lt;p&gt;
The keytool utility lives in the bin directory of the Java runtime associated with ColdFusion. The default keystore for ColdFusion, named cacerts is in the lib/security directory, so any references to it must be the full path.&lt;/p&gt;

&lt;code&gt;
cd c:\coldfusion9\runtime\jre\bin
&lt;/code&gt;

&lt;p&gt;
To list the current contents of the ColdFusion keystore, use the -list switch:&lt;/p&gt;

&lt;code&gt;
keytool -list -keystore c:\coldfusion9\runtime\jre\lib\security\cacerts -storepass changeit
&lt;/code&gt;

&lt;p&gt;
Generating a key pair uses the -genkey switch. In this example, I create a RSA key named mykey stored in the cacerts keystore, and then self-sign it:&lt;/p&gt;

&lt;code&gt;
keytool -genkey -alias mykey -keypass secureme -keystore c:\coldfusion9\runtime\jre\lib\security\cacerts -storepass changeit -dname &quot;cn=mykey&quot; -keyalg RSA

keytool -selfcert -alias mykey -keypass secureme -keystore c:\coldfusion9\runtime\jre\lib\security\cacerts -storepass changeit
&lt;/code&gt;

&lt;p&gt;
To share the public key with another application, you will need to export the certificate from the keystore using the -export switch:&lt;/p&gt;

&lt;code&gt;
keytool -export -alias mykey -keypass secureme -keystore c:\coldfusion9\runtime\jre\lib\security\cacerts -storepass changeit -file export\file\path\mykey.cer
&lt;/code&gt;

&lt;p&gt;
Importing a key also uses the keytool utility, this time with the -import switch:&lt;/p&gt;

&lt;code&gt;
keytool -import -alias the.key.alias -file path\to\certificate.cer -keystore c:\coldfusion9\runtime\jre\lib\security\cacerts -storepass changeit
&lt;/code&gt;

&lt;p&gt;
&lt;strong&gt;Note:&lt;/strong&gt; Once a key exists in the ColdFusion keystore be sure to restart the ColdFusion Application Server.&lt;/p&gt; 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 23 Dec 2009 12:41:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2009/12/23/Creating-a-SelfSigned-Key-Pair</guid>
				
				
			</item>
			
			<item>
				<title>The Persistant SQL UDF</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2009/8/19/The-Persistant-SQL-UDF</link>
				<description>
				
				I came across a very strange and unexpected problem with a SQL Server 2005 UDF yesterday that continues to puzzle me. First, the cast of players:

&lt;ul&gt;
&lt;li&gt;ColdFusion MX 7&lt;/li&gt;
&lt;li&gt;SQL Server 2005&lt;/li&gt;
&lt;li&gt;A table-valued function&lt;/li&gt;
&lt;li&gt;Puzzled developers&lt;/li&gt;
&lt;/ul&gt;

In case you are not familiar with table-valued functions, they are functions in SQL that return a table, as opposed to the more traditional scalar value.

We had to change the data type for one of the columns in the returned table from decimal to text to fix a bug. Nothing a simple ALTER FUNCTION statement could not handle. 

Script, run, test, same error, what?

Maybe something is cached on the SQL Server side. Let&apos;s try dropping and recreating the function.

Script, run, test, same error, ???

Something very odd was happening. Only after restarting the ColdFusion Application Server service did the error go away. 

I am still searching for an answer. Surely ColdFusion does not cache database object information...? 
				</description>
				
				<category>SQL</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 19 Aug 2009 05:07:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2009/8/19/The-Persistant-SQL-UDF</guid>
				
				
			</item>
			
			<item>
				<title>CFUnited the Fourth</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2009/8/10/CFUnited-the-Fourth</link>
				<description>
				
				CFUnited is this week, and I will be there from Wednesday to Friday. Since this will be my fourth CFUnited - I have the t-shirts to prove it - I have a pretty good idea of what the sessions and format will be like. The three days will be packed with information that is nearly impossible to remember without rereading any notes I happen to take.

CFUnited sessions are far to short to fully cover most topics. ColdFusion is just too deep and rich to do so. Instead, I approach each session with the following goals:

&lt;ul&gt;
&lt;li&gt;Learn one new aspect of the topic. For example, what does an XSS attack look like in the logs.&lt;/li&gt;
&lt;li&gt;Get introduced to the broad aspects of the topic. For example, what are the high-level abilities of ColdFusion to connect to a Microsoft Exchange server.&lt;/li&gt;
&lt;li&gt;Get acquainted with the latest buzzwords and &amp;quot;must-haves&amp;quot; in the ColdFusion world. A little tongue-in-cheek, but unfortunately I do not always have time to keep up with the various email lists and blogs.&lt;/li&gt;
&lt;/ul&gt;

Each session is an opportunity to become interested in a new or different approach to solving a problem (and everything is a problem to resolve). Just leave room for chatting with vendors and maybe even other developers. ;-) 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 10 Aug 2009 07:15:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2009/8/10/CFUnited-the-Fourth</guid>
				
				
			</item>
			
			<item>
				<title>Version Control for Database Objects?</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2009/7/27/Version-Control-for-Database-Objects</link>
				<description>
				
				I have used a variety of version control methods and products over the years. In the beginning, I (infrequently) added a digit or date to the end of the file name, an effort that was largely ineffective and highly subject to user error. :-) Then, corresponding with a job change, I was introduced to version control software in the shape of CS-RCS from ComponentSoftware, based on GNU RCS. After a couple of years, the development team made the shift to Subversion, my personal favorite. To be complete, I will throw in a year of pain using Visual SourceSafe.  [More]
				</description>
				
				<category>SQL</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 27 Jul 2009 07:56:40 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2009/7/27/Version-Control-for-Database-Objects</guid>
				
				
			</item>
			
			<item>
				<title>First Steps into Test Driven Development with Red Green Refactor</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2009/7/22/First-Steps-into-Test-Driven-Development-with-Red-Green-Refactor</link>
				<description>
				
				I (finally) took my first dive into test driven development (TDD) with a personal project I recently started. I admit, the first thought that came to mind when I first read about the red/green/refactor process included a man,  flannel, and duct tape. ;-) 

I decided to use &lt;a href=&quot;http://www.mxunit.org/&quot;&gt;MXUnit&lt;/a&gt; for my unit test framework. Using the Eclipse plugin made running the tests very easy.

Instead, the hardest part for me was fighting the impulse to just write code. Red/green/refactor is all about first writing the test, watching it fail, then writing the code. Test, fail, code, and repeat until the test passes. Several times I caught myself writing code outside of the confines of the current test case. It was far too tempting to listen to the little voice that says, &quot;It will be easy to add this feature too. The template is open anyway.&quot;

Writing the tests first was also a challenge. I had to sit back and really think about what behaviors and data my user bean would contain. I actually had to formulate a plan before coding! Time to practice what I preach about on almost a daily basis at my paying job.

I have yet to get to a true refactor stage, but I imagine it will be soon. It is too early in the unit testing and coding phase to have enough code to refactor. 
				</description>
				
				<category>TDD</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 22 Jul 2009 10:25:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2009/7/22/First-Steps-into-Test-Driven-Development-with-Red-Green-Refactor</guid>
				
				
			</item>
			
			<item>
				<title>Coding Resolutions for 2009</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2009/1/7/Coding-Resolutions-for-2009</link>
				<description>
				
				A new year is here and with it my list of resolutions for the coding year. Therefore, I resolve to:

&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Write a working program in Java&lt;/strong&gt; that is not a simple textbook example. I&apos;m talking something I can use in the real world.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Write an application using ColdBox&lt;/strong&gt;. A new year, a new framework. ColdBox just looks interesting to work with. I have not written on an event-driven framework before (go Fusebox!) so ColdBox ought to be a good introduction.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Attend CFUnited&lt;/strong&gt;. Okay, I admit I cheated on this one. I&apos;m already registered, but since the conference is not until August, I&apos;m writing it down as a goal.&lt;/li&gt;

&lt;li&gt;&lt;strong&gt;Release an open source application&lt;/strong&gt; written in ColdFusion. This is a tough one that I hope I&apos;ll find time to accomplish.&lt;/li&gt;

&lt;/ul&gt;

There they are, out in the wild, my coding resolutions for the year. I met (most) of my goals for 2008. I hope to keep that trend for 2009. 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 07 Jan 2009 09:45:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2009/1/7/Coding-Resolutions-for-2009</guid>
				
				
			</item>
			
			<item>
				<title>On the Naming of Things</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2008/11/19/On-the-Naming-of-Things</link>
				<description>
				
				One of the challenges we face as developers is maintaining code written by other people. Yes, the ever present &quot;they&quot; who just cannot seem to live up to your own expectations and standards of how code should be written. I&apos;m always struck by how hard it is to read other people&apos;s code, even if it well commented, contains properly scoped variables, and is written in a language I know.  [More]
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Wed, 19 Nov 2008 13:39:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2008/11/19/On-the-Naming-of-Things</guid>
				
				
			</item>
			
			<item>
				<title>MDCFUG Presentation on Zip Files</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2008/11/12/MDCFUG-Presentation-on-Zip-Files</link>
				<description>
				
				Last night I had the opportunity to speak at the &lt;a href=&quot;http://www.mdcfug.org/&quot;&gt;Maryland CFUG&lt;/a&gt; about working with zip files in ColdFusion. Since this was my first time speaking outside of the office environment, I admit I was a little apprehensive. I spent some time worrying about everything that could go wrong: getting stuck in traffic (not a problem, it was a federal holiday so traffic was light around the DC metro area), my presentation and code getting corrupted (MDCFUG asked for a copy of the presentation ahead of time), Connect not working (OK, there were some lag issues there, something about Macs and Adobe Connect, but nothing major for me).

When it came time for me to start, however, all of those worries were gone. The folks a TeraTech run a good meeting, even small CFUGs. The turn out was light, most likely due to the holiday, but I wasn&apos;t talking to an empty room. Thanks to everyone who came and asked questions. Overall, the experience was positive and I will be looking for opportunities to speak again. 
				</description>
				
				<category>ColdFusion</category>				
				
				<category>Personal</category>				
				
				<pubDate>Wed, 12 Nov 2008 06:18:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2008/11/12/MDCFUG-Presentation-on-Zip-Files</guid>
				
				
			</item>
			
			<item>
				<title>Reading Binary Files in a Zip File Before CF8</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2008/10/2/Reading-Binary-Files-in-a-Zip-File-Before-CF8</link>
				<description>
				
				In my last post about working with zip files, I examined how to list the contents of an archive without using CF8&apos;s cfzip tag. Now that we have a list of files, let&apos;s look at how to read one of the entries.  [More]
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Thu, 02 Oct 2008 10:50:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2008/10/2/Reading-Binary-Files-in-a-Zip-File-Before-CF8</guid>
				
				
			</item>
			
			<item>
				<title>Finding a Random Row</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2008/9/30/Finding-a-Random-Row</link>
				<description>
				
				Every now and then I get a requirement to do something to a random table record. The most common is to retrieve a random record for display. Other times it is part of a data scrambling routine. So how is this done?

Most database platforms have a function that generates a unique identifier. SQL Server has NEWID(), which generates a GUID:

&lt;code&gt;
SELECT NEWID()

Example Output: 0B7869E5-1428-4CA9-9D5A-CDA0E9756DC2
&lt;/code&gt;

MySQL has RAND(), which generates a random floating-point value:

&lt;code&gt;
SELECT RAND();

Example Output: 0.93845168309142
&lt;/code&gt;

Using these functions, retrieving a random row from a table becomes as simple as:

&lt;strong&gt;SQL Server&lt;/strong&gt;
&lt;code&gt;
SELECT TOP 1 *
FROM mytable
ORDER BY NEWID()
&lt;/code&gt;

&lt;strong&gt;MySQL&lt;/strong&gt;
&lt;code&gt;
SELECT *
FROM mytable
ORDER BY RAND()
LIMIT 1;
&lt;/code&gt;

So what is really going on behind the scenes? The key to the randomness is the ORDER BY clause. As each row in the table is evaluated, it is assigned a unique value via the NEWID() or RAND() function. The value changes for each row and each time the query is executed. 
				</description>
				
				<category>SQL</category>				
				
				<category>ColdFusion</category>				
				
				<pubDate>Tue, 30 Sep 2008 13:20:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2008/9/30/Finding-a-Random-Row</guid>
				
				
			</item>
			
			<item>
				<title>Fusebox 5.5&apos;s NoXML Option - First Impressions</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2008/9/29/Fusebox-55s-NoXML-Option--First-Impressions</link>
				<description>
				
				I have worked with Fusebox for several years, primarily version 3 and version 5.1. At work we have a large (I&apos;m talking 8K+ files) application written in Fusebox 3, along with a few apps written in Fusebox 2 that pop up every now and then on the maintenance radar. It is time to start thinking of a large-scale rearchitecture and refactoring of the FB3 app, so I decided to take a look at the noxml option for Fusebox 5.5.

I really like the use of CFCs over a big switch file, whether it is the FB3 fbx_switch.cfm or FB5 circuit.xml. I am a little unclear on how it all works. I decided to add a new view circuit and found that I could not nest them and have the implicit pickup work. This worked:

&lt;pre&gt;
views
 + myview
&lt;/pre&gt;

But this did not:

&lt;pre&gt;
views
 + new
  + myview
&lt;/pre&gt;

This definitely needs more exploration since I might want to have the option of grouping circuits together to help code organization. 
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Mon, 29 Sep 2008 05:40:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2008/9/29/Fusebox-55s-NoXML-Option--First-Impressions</guid>
				
				
			</item>
			
			<item>
				<title>Listing Zip File Contents Before CF8</title>
				<link>http://www.phillipciske.com/blog/index.cfm/2008/9/5/Listing-Zip-File-Contents-Before-CF8</link>
				<description>
				
				ColdFusion 8 brought us the &lt;a href=&quot;http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=Tags_u-z_5.html&quot;&gt;cfzip tag family&lt;/a&gt;, which greatly simplified working with zip files in ColdFusion. But, what about those of us who are not yet, for whatever reason, upgraded to CF8? Since ColdFusion has access to the Java API, we can use the classes in the java.util.Zip package to give us a hand.  [More]
				</description>
				
				<category>ColdFusion</category>				
				
				<pubDate>Fri, 05 Sep 2008 07:54:00 -0700</pubDate>
				<guid>http://www.phillipciske.com/blog/index.cfm/2008/9/5/Listing-Zip-File-Contents-Before-CF8</guid>
				
				
			</item>
			</channel></rss>