<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
	<channel>
	<title>Angry-Fly.com</title>
	<link>http://www.angry-fly.com/</link>
	<description>Russ Johnson's Application Development Blog</description>
	<generator>Mango 1.4</generator>
	
	
		
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/angry-fly" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
         <title>Fixing Railo and Resin on Snow Leopard</title>
         <description>&lt;p&gt;After upgrading to Snow Leopard, I found that my Railo install was not working anymore. I followed &lt;a href="http://www.luismajano.com/blog/index.cfm/2008/12/5/Railo-Resin-Apache-and-Mac-OS-X--A-FAST-Combination"&gt;Luis Majano's instructions&lt;/a&gt; for getting it setup on Leopard to begin with and the only way it would work for me was to switch the built-in Apache binary to the 32-but mode and then compile the mod_caucho apache module. &lt;/p&gt;
&lt;p&gt;Well after the upgrade, that no longer worked. I couldnt get apache to start with the 64-bit architecture removed from the httpd binary so I had to find another way. After a bit of investigating, I found that the configure script checks my Java install for 64-bit compatibility and during that check it was returning that it wasnt 64-bit Java. Hmmm now wasnt Snow Leopard supposed to be all about 64-bit? So I checked my java binary for 64-bit support using the following from the terminal:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;file /usr/bin/java&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That returned:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/usr/bin/java: Mach-O universal binary with 3 architectures&lt;br /&gt;/usr/bin/java (for architecture x86_64):&amp;nbsp;&amp;nbsp;&amp;nbsp;Mach-O 64-bit executable x86_64&lt;br /&gt;/usr/bin/java (for architecture i386):&amp;nbsp;&amp;nbsp;&amp;nbsp;Mach-O executable i386&lt;br /&gt;/usr/bin/java (for architecture ppc):  Mach-0 executable ppc&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;It was showing 64-bit support, so what was the issue? So back into the configure script I went. It turns out that it was checking a symlink which points to the current JVM install.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/System/Library/Frameworks/JavaVM.framework/Versions/Current&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In my case, the symlink "Current" was pointing to a folder in the same directory named simply "A". I have no idea where that came from since I never mess with the built-in Java on my mac. There was however several other directories and symlinks in the same folder that pointed to the "1.6.0" directory. So I simply deleted the "Current" symlink and recreated it to point to the 1.6.0 directory.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;[russ@Prime:/System/Library/Frameworks/JavaVM.framework/Versions]$ sudo ln -s 1.6.0 Current&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;That created a symlink pointing to the newest JVM on my system. Then back in my Railo install directory which happened to be /Applications/railo, I ran the configure script again.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;./configure --with-apxs=/usr/sbin/apxs --enable-64bit&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;After checking the output of the configure script, I found this line:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;-n checking if Java is&lt;span class='cc_numeric'&gt; 64&lt;/span&gt;-bit... yes&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Success! Then I simply ran make then make install to install the newly compiled 64-bit mod_caucho module and restarted apache.&lt;/p&gt;
&lt;p&gt;Now Railo is up and running again on Snow Leopard!&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/fixing-railo-and-resin-on-snow-leopard</link>
         <guid>http://www.angry-fly.com/post.cfm/fixing-railo-and-resin-on-snow-leopard</guid>
         <category>ColdFusion</category><category>Railo</category>
         <pubDate>Mon, 14 Sep 2009 14:05:57 GMT</pubDate>
      </item>	
      <item>
         <title>Announcing WorkingWithCFML.com</title>
         <description>&lt;p&gt;Although there are many downsides to being unemployed, there are a few upsides to it as well. One of which is that you have a TON of time to play with code and learn new things. After almost 3 months between projects now, I started getting the fever to launch something. So I was playing around with &lt;a href="http://cfwheels.org" target="_blank"&gt;CFWheels&lt;/a&gt; at that time and decided to throw something together.&lt;/p&gt;
&lt;p&gt;The result is &lt;a href="http://workingwithcfml.com" target="_blank"&gt;WorkingWithCFML.com&lt;/a&gt;. Its not nearly feature complete, but I wanted to get something out there and start playing around. Its basically a site that allows CFML developers to create profiles, recommend other developers, etc. The idea is not mine, Most of the functionality is heavily "borrowed" from the Rails site workingwithrails.com. I just thought it would be a cool project and wanted to see how much i could get done with Wheels.&lt;/p&gt;
&lt;p&gt;Currently I have around 45 man hours in the site, that includes bug-fixing the last couple days. Its running on the latest version of &lt;a href="http://getrailo.org" target="_blank"&gt;Railo&lt;/a&gt; 3.1.0.026 and was written with version 0.9.3 of &lt;a href="http://cfwheels.org" target="_blank"&gt;CFWheels&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;If you are so inclined, create profile and share. If you happen to run into any issues, or if you can think of a feature that you would like added, please let me know. Afterall, I dont have much else to do right now. ;)&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/announcing-workingwithcfml-com</link>
         <guid>http://www.angry-fly.com/post.cfm/announcing-workingwithcfml-com</guid>
         <category>Community</category><category>ColdFusion</category><category>Railo</category><category>CFWheels</category>
         <pubDate>Fri, 07 Aug 2009 18:30:24 GMT</pubDate>
      </item>	
      <item>
         <title>Linking To Files In ColdFusion Errors</title>
         <description>&lt;p&gt;Its been well over a year ago that I dropped developing with CFEclipse. I grew tired of the endless resources it consumed and it always seem very slow. Of course this wasnt due to the the CFEclipse plugin, it was the Eclipse platform that it was built on. Now with Adobe releasing the beta of ColdFusion Builder I decided I would give it a try again. But after an hour or so of playing with it, I still wasnt sold.&lt;/p&gt;

&lt;p&gt;So, it was back to Textmate for me. Using Textmate for devlopment has been a pure joy. Its so easy to add new functionality specific to the language you are using with its Bundles that I find myself looking for new ways to make everything faster. I have created a bundle for CFWheels that provides function insight along with snippets for just about everything in the framework. This runs on top of the excellent ColdFusion Bundle that Rob Rohan is working on. I have hotkeys for just about everything I need with the exception of getting me another cup of coffee.&lt;/p&gt;

&lt;p&gt;I have heard from guys on mailing lists time and time again talk about the productivity they have gained since moving to Textmate or its port to Windows called "E-Texteditor". &lt;/p&gt;

&lt;p&gt;I came across a feature in the Textmate manual yesterday that I was interested in and wanted to see if I could exploit it in some way. This feature was the ability to link directly to files on your dev machine from other applications, even in html. Hmmm, so does this mean I could create an error page that would link directly to my development files?&lt;/p&gt;

&lt;p&gt;So, since I use Railo for my local development mainly, I opened up the web admin and found the Error section to see which error file I was using for this particular project. I was using the error-neo.cfm template that mimics the output of the ColdFusion error pages, so I opened it up in Textmate to see how the file list was output.&lt;/p&gt;

&lt;p&gt;Now Im not going to gaurantee that the ColdFusion error code is the same as the Railo error code but its probably pretty similar and should work just as well. So this is what I found for the error output:&lt;/p&gt;

&lt;code&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cfoutput&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class='cc_cftag'&gt;&amp;lt;cfloop index=&lt;span class='cc_value'&gt;&amp;quot;idx&amp;quot;&lt;/span&gt; from=&lt;span class='cc_value'&gt;&amp;quot;1&amp;quot;&lt;/span&gt; to=&lt;span class='cc_value'&gt;&amp;quot;#arraylen(catch.tagcontext)#&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;cfif idx EQ&lt;span class='cc_numeric'&gt; 1&lt;/span&gt;&amp;gt;&lt;/span&gt;The error occurred in &lt;span class='cc_normaltag'&gt;&amp;lt;b&amp;gt;&lt;/span&gt;#catch.tagcontext[idx].template#:&lt;span class='cc_specialchar'&gt;&amp;amp;amp;nbsp;&lt;/span&gt;line #catch.tagcontext[idx].line#&lt;span class='cc_normaltag'&gt;&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span class='cc_normaltag'&gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;cfelse&amp;gt;&lt;/span&gt;&lt;span class='cc_normaltag'&gt;&amp;lt;b&amp;gt;&lt;/span&gt;Called from&lt;span class='cc_normaltag'&gt;&amp;lt;/b&amp;gt;&lt;/span&gt; #catch.tagcontext[idx].template#:&lt;span class='cc_specialchar'&gt;&amp;amp;amp;nbsp;&lt;/span&gt;line #catch.tagcontext[idx].line#&lt;span class='cc_normaltag'&gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;/cfif&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;/cfloop&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class='cc_cftag'&gt;&amp;lt;/cfoutput&amp;gt;&lt;/span&gt;&lt;/code&gt;

&lt;p&gt;Wow, that looks simple enough. So back to the Textmate documentation I went to see exactly "how" I build out the link structure. The URL structure in HTML is pretty simple. There are only 3 parts to it that you have to build out.&lt;/p&gt;

&lt;p&gt;&lt;ul&gt;
  &lt;li&gt;url - the (file) URL to open&lt;/li&gt;
  &lt;li&gt;line - the line number to jump to an place the cursor when the file is opened&lt;/li&gt;
  &lt;li&gt;column - the column to place the cursor when the file is opened&lt;/li&gt;
&lt;/ul&gt;&lt;/p&gt;

&lt;p&gt;Now going back and looking at our error code. We know the code is outputting the full path to the file and its also displaying the line number. So we have 2 of what we need. The Column attribute is optional and we dont really need it.&lt;/p&gt;

&lt;p&gt;So here is what our link should actually look like using the Textmate format and our CFCATCH variables:&lt;/p&gt;

&lt;code&gt;txmt://open/?url=file://#catch.tagcontext[idx].template#&amp;amp;line=#catch.tagcontext[idx].line#&lt;/code&gt;

&lt;p&gt;Pretty simple right? Now here is the same code block with the URL's in-place to allow you to open any of the files in the error stack.&lt;/p&gt;

&lt;code&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cfoutput&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class='cc_cftag'&gt;&amp;lt;cfloop index=&lt;span class='cc_value'&gt;&amp;quot;idx&amp;quot;&lt;/span&gt; from=&lt;span class='cc_value'&gt;&amp;quot;1&amp;quot;&lt;/span&gt; to=&lt;span class='cc_value'&gt;&amp;quot;#arraylen(catch.tagcontext)#&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;cfif idx EQ&lt;span class='cc_numeric'&gt; 1&lt;/span&gt;&amp;gt;&lt;/span&gt;The error occurred in &lt;span class='cc_normaltag'&gt;&amp;lt;b&amp;gt;&lt;/span&gt;&lt;span class='cc_anchor'&gt;&amp;lt;a href=&lt;span class='cc_value'&gt;&amp;quot;txmt://open/?url=file://#catch.tagcontext[idx].template#&amp;amp;line=#catch.tagcontext[idx].line#&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;#catch.tagcontext[idx].template#:&lt;span class='cc_specialchar'&gt;&amp;amp;amp;nbsp;&lt;/span&gt;line #catch.tagcontext[idx].line#&lt;span class='cc_anchor'&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;span class='cc_normaltag'&gt;&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span class='cc_normaltag'&gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;cfelse&amp;gt;&lt;/span&gt;&lt;span class='cc_normaltag'&gt;&amp;lt;b&amp;gt;&lt;/span&gt;Called from&lt;span class='cc_normaltag'&gt;&amp;lt;/b&amp;gt;&lt;/span&gt; &lt;span class='cc_anchor'&gt;&amp;lt;a href=&lt;span class='cc_value'&gt;&amp;quot;txmt://open/?url=file://#catch.tagcontext[idx].template#&amp;amp;line=#catch.tagcontext[idx].line#&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;#catch.tagcontext[idx].template#:&lt;span class='cc_specialchar'&gt;&amp;amp;amp;nbsp;&lt;/span&gt;line #catch.tagcontext[idx].line#&lt;span class='cc_anchor'&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;&lt;span class='cc_normaltag'&gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;/cfif&amp;gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class='cc_cftag'&gt;&amp;lt;/cfloop&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class='cc_cftag'&gt;&amp;lt;/cfoutput&amp;gt;&lt;/span&gt;&lt;/code&gt;

&lt;p&gt;Now when you encounter an error in your application and the cfcatch message is displayed with the file listing. You can simply click on the file and it will open to the exact line in Textmate. No digging through the file list to find the file.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/linking-to-files-in-coldfusion-errors</link>
         <guid>http://www.angry-fly.com/post.cfm/linking-to-files-in-coldfusion-errors</guid>
         <category>Development</category><category>ColdFusion</category>
         <pubDate>Mon, 20 Jul 2009 16:01:30 GMT</pubDate>
      </item>	
      <item>
         <title>Handling Nested Resources in CFWheels</title>
         <description>&lt;p&gt;Several frameworks these days are including a routing system to make it easy to implement user friendly urls, or as some like to call them, search engine safe urls. These routing systems can also make refactoring much simpler as well if you use them properly. &lt;/p&gt;

&lt;p&gt;I have been playing around with CFWheels lately and was wondering how I could take advantage of nested resources in this framework. Nested resources is something I picked up while working on some Rails projects, its a way to automatically handle related objects in your forms. Let me show you a quick example.&lt;/p&gt;

&lt;p&gt;Say we are building a bug tracker. We have 2 objects, a Projects object and a Ticket object. Here is how the associations are setup.&lt;/p&gt;

Project.cfc&lt;br&gt;
&lt;code&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cfcomponent extends=&lt;span class='cc_value'&gt;&amp;quot;Model&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class='cc_cftag'&gt;&amp;lt;cffunction name=&lt;span class='cc_value'&gt;&amp;quot;init&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class='cc_cftag'&gt;&amp;lt;cfset hasMany(&lt;span class='cc_value'&gt;&amp;quot;tickets&amp;quot;&lt;/span&gt;)&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class='cc_cftag'&gt;&amp;lt;/cffunction&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;&lt;span class='cc_cftag'&gt;&amp;lt;/cfcomponent&amp;gt;&lt;/span&gt;&lt;/code&gt;

&lt;p&gt;and now our Ticket.cfc&lt;/p&gt;
&lt;code&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cfcomponent extends=&lt;span class='cc_value'&gt;&amp;quot;Model&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;  &lt;span class='cc_cftag'&gt;&amp;lt;cffunction name=&lt;span class='cc_value'&gt;&amp;quot;init&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class='cc_cftag'&gt;&amp;lt;cfset belongsTo(&lt;span class='cc_value'&gt;&amp;quot;project&amp;quot;&lt;/span&gt;)&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class='cc_cftag'&gt;&amp;lt;/cffunction&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;&lt;span class='cc_cftag'&gt;&amp;lt;/cfcomponent&amp;gt;&lt;/span&gt;&lt;/code&gt;

&lt;p&gt;Now normally if you were adding a ticket, you could use a URL like this:&lt;/p&gt;

&lt;p&gt;localhost/tickets/new&lt;/p&gt;

&lt;p&gt;And you could pass in the projectID as a hidden field or something like that to handle the association.&lt;/p&gt;

&lt;p&gt;But, there is a much easier way to handle this. First lets take advantage of the routing system and create a few routes. I like named routes in my applications much better than the defaults. If I ever refactor a controller and rename an action, etc. I can change the route and every link in my site that points to that route is automatically updated for me. Hows that for a time saver?&lt;/p&gt;

&lt;code&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cfset addRoute(name=&lt;span class='cc_value'&gt;&amp;quot;project_tickets&amp;quot;&lt;/span&gt;, pattern=&lt;span class='cc_value'&gt;&amp;quot;/project/[projectID]/tickets&amp;quot;&lt;/span&gt;, controller=&lt;span class='cc_value'&gt;&amp;quot;tickets&amp;quot;&lt;/span&gt;, action=&lt;span class='cc_value'&gt;&amp;quot;index&amp;quot;&lt;/span&gt;)&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cfset addRoute(name=&lt;span class='cc_value'&gt;&amp;quot;new_project_ticket&amp;quot;&lt;/span&gt;, pattern=&lt;span class='cc_value'&gt;&amp;quot;/project/[projectID]/tickets/new&amp;quot;&lt;/span&gt;, controller=&lt;span class='cc_value'&gt;&amp;quot;tickets&amp;quot;&lt;/span&gt;, action=&lt;span class='cc_value'&gt;&amp;quot;new&amp;quot;&lt;/span&gt;)&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cfset addRoute(name=&lt;span class='cc_value'&gt;&amp;quot;edit_project_ticket&amp;quot;&lt;/span&gt;, pattern=&lt;span class='cc_value'&gt;&amp;quot;/project/[projectID]/tickets/edit/[ticketID]&amp;quot;&lt;/span&gt;, controller=&lt;span class='cc_value'&gt;&amp;quot;tickets&amp;quot;&lt;/span&gt;, action=&lt;span class='cc_value'&gt;&amp;quot;edit&amp;quot;&lt;/span&gt;)&amp;gt;&lt;/span&gt;&lt;/code&gt;

&lt;p&gt;These 3 routes handle the nesting for us. Notice how the project part of the url is always first? Then the nested resource since tickets belong to projects. This URL structure will ensure that our projectID is always available in the params scope. Our URl will now look like this if we are adding a ticket to a project.&lt;/p&gt;

&lt;p&gt;localhost/project/1/tickets/new&lt;/p&gt;

&lt;p&gt;Heres a typical link that would point to our form to create a new ticket.&lt;/p&gt;

&lt;code&gt;#linkTo(text=&lt;span class='cc_value'&gt;&amp;quot;New Ticket&amp;quot;&lt;/span&gt;, route=&lt;span class='cc_value'&gt;&amp;quot;new_project_ticket&amp;quot;&lt;/span&gt;, projectid=params.projectid)&lt;/code&gt;

&lt;p&gt;To setup our form for the new ticket an automatically populate the projectID hidden field, we can write our controller action like this.&lt;/p&gt;

&lt;code&gt;&lt;span class='cc_cftag'&gt;&amp;lt;cffunction name=&lt;span class='cc_value'&gt;&amp;quot;new&amp;quot;&lt;/span&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class='cc_cftag'&gt;&amp;lt;cfset project = model('project').findByKey(params.projectID)&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class='cc_cftag'&gt;&amp;lt;cfset ticket = project.newTicket()&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class='cc_cftag'&gt;&amp;lt;/cffunction&amp;gt;&lt;/span&gt;&lt;/code&gt;

&lt;p&gt;That takes advantage of the built-in associations in Wheels and builds the new ticket object through the project object for us. You form would be a standard Wheels form but will automatically have the projectID set in the hidden field for you.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/handling-nested-resources-in-cfwheels</link>
         <guid>http://www.angry-fly.com/post.cfm/handling-nested-resources-in-cfwheels</guid>
         <category>Development</category><category>ColdFusion</category><category>CFWheels</category>
         <pubDate>Wed, 15 Jul 2009 21:24:49 GMT</pubDate>
      </item>	
      <item>
         <title>Where are all the ColdFusion SaaS Apps?</title>
         <description>&lt;p&gt;Since I have been "between projects" for the last 7 weeks or so, I have been spending most of my time working on some open source stuff and surfing the web. Trying to keep up with all of the happenings in the CFML community. One thing Im noticing a major lack of is SaaS (Software as a Service) applications focused toward CFML developers.&lt;/p&gt;
&lt;p&gt;In a community such as the Rails community, there are tons of SaaS apps focused on helping the Rails developer community. Things like wireframe tools, rapid prototyping tools, bug trackers, project management apps. All applications built and aimed primarily at the Rails developer community.&lt;/p&gt;
&lt;p&gt;It made me start wondering why there were really no applications like that in our community. Would the CFML community not support such an effort? Are we so used to just using the freely available tools written in other languages and settling for that?&lt;/p&gt;
&lt;p&gt;Just yesterday I saw a ColdFusion developer (I wont mention his name but he is pretty well known in the community) mention on Twitter that he was considering purchasing a project management/bug tracking tool that was written in PHP. I would be curious to know how many CFML developers are paying for those services right now. Using an application written in Rails or something else besides CFML.&lt;/p&gt;
&lt;p&gt;What do you think? In your opinion, would the CFML community support such an undertaking if the app was good enough?&lt;/p&gt;
&lt;p&gt;Do you know of any CFML SaaS applications on the web now? Let me know about them. Im interested in checking some out!&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/where-are-all-the-coldfusion-saas-apps</link>
         <guid>http://www.angry-fly.com/post.cfm/where-are-all-the-coldfusion-saas-apps</guid>
         <category>Community</category><category>ColdFusion</category>
         <pubDate>Wed, 15 Jul 2009 02:08:40 GMT</pubDate>
      </item>	
      <item>
         <title>Great Intro To Git</title>
         <description>&lt;p&gt;I have been asked by several folks lately in the ColdFusion community about Git. It seems that alot of the CF developers are so in-grained with SVN that they either wont consider Git or are afraid of it. Not sure which is the case. But I will say that Git has completely changed the way I look at source control. &lt;a href="http://www.ricroberts.com/articles/2009/06/01/getting-to-grips-with-git" target="_blank"&gt;Ric Roberts&lt;/a&gt; has posted a really nice &lt;a href="http://www.ricroberts.com/articles/2009/06/01/getting-to-grips-with-git" target="_blank"&gt;intro to Git&lt;/a&gt; that anyone interested in Git should have a look at.&lt;/p&gt;
&lt;p&gt;Im planning to do a presentation on Git for the Online CF Meetup as soon as I get time to get the slides together so hopefully that will help de-mystify Git for some of you as well.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/great-intro-to-git</link>
         <guid>http://www.angry-fly.com/post.cfm/great-intro-to-git</guid>
         <category>Development</category><category>Git</category>
         <pubDate>Thu, 04 Jun 2009 02:55:46 GMT</pubDate>
      </item>	
      <item>
         <title>Updates to Related_Selects plugin</title>
         <description>&lt;p&gt;Two weeks ago, &lt;a href="http://www.idolhands.com" target="_blank"&gt;Corey Ehmke&lt;/a&gt; sent a pull request for some updates he made to the &lt;a href="http://github.com/russjohnson/related_select_forms/tree/master" target="_blank"&gt;related_selects&lt;/a&gt; plugin on GitHub. Im actually quite late in pulling these but I have been extremely busy with work and family stuff. Here is what Corey said about the changes:&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;I made a couple of changes that you will hopefully incorporate:&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;1) Expanded support for include_blank to match behaviour of standard Rails form options helper. You can now pass an :include_blank attribute consisting of true, false (default), a string, or a two-element array, just like the standard Rails select form helper. If you do not set this attribute, the related select will default to the first option.&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt;&lt;em&gt;2) I also edited the README and replaced the original examples with the (much more concise and comprehensible) example from your post on angry-fly.com.&lt;/em&gt;&lt;/p&gt;
&lt;p style="padding-left: 30px;"&gt; &lt;/p&gt;
&lt;p&gt;This is great! Thanks again for the updates Corey!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/updates-to-related-selects-plugin</link>
         <guid>http://www.angry-fly.com/post.cfm/updates-to-related-selects-plugin</guid>
         <category>Development</category><category>Ruby on Rails</category>
         <pubDate>Thu, 21 May 2009 17:38:21 GMT</pubDate>
      </item>	
      <item>
         <title>Related_Select plugin update for Rails 2.3</title>
         <description>&lt;p&gt;Last night I was looking for a solution that would allow me to easily create a setup of related select boxes. I needed 3 of them to be exact. You know the ones that always seem to pop-up from time to time where the contents of one select box are populated after selecting a value on the first select box.&lt;/p&gt;
&lt;p&gt;I started googling for a solution and came across a Rails plugin called related_select_forms that was written by Dimitrij Denissenko back in 2007. I figured "what the heck" it looks easy enough. Well after installing it from the svn repo on google code and setting up my initial form fields, I was welcomed by a plethora of errors. So I started digging into the plugin to find the issues and ended up fixing everything so that it now works with Rails 2.3.2.&lt;/p&gt;
&lt;p&gt;I sent an email to Dimitrij asking about the status of the plugin but I havent heard back from him as of yet. I created a GitHub repo for the plugin to allow me to share my fixes with everyone. It can be found here:&lt;/p&gt;
&lt;p&gt;http://github.com/russjohnson/related_select_forms/tree/master&lt;/p&gt;
&lt;p&gt;Let me take just a second to show you how easy it was for me to create 3 related select boxes in my form with this plugin.&lt;/p&gt;
&lt;p&gt;Consider the following models:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;class Metro &amp;lt; ActiveRecord::Base&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;   has_many :areas&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;end&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;class Area &amp;lt; ActiveRecord::Base&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;   belongs_to :metro&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;   has_many :neighborhoods&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;end&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;class Neighborhood &amp;lt; ActiveRecord::Base&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;   belongs_to :area&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;end&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Just looking at the models it should be plain to see how the selects should be related. You must first select a Metro, then that will populate the Areas. Once you select the area, that will populate the Neighborhoods.&lt;/p&gt;
&lt;p&gt;Normally this would take a lot of handwritten Javascript to accomplish. And I know there are probably some super simple jQuery plugins for this thing, but this application is using the standard Prototype/Scriptaculous combo that ships with Rails.&lt;/p&gt;
&lt;p&gt;So here is the how simple the form fields are using the plugin.&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;&lt;span class='cc_normaltag'&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;br /&gt;    &amp;lt;%= f.label :metro_id, '', :class =&amp;gt; 'title' %&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;%= f.collection_select :metro_id, Metro.find(:all, :order =&amp;gt; &lt;span class='cc_value'&gt;&amp;quot;name&amp;quot;&lt;/span&gt;), :id, :name, :include_blank =&amp;gt; true %&amp;gt;&lt;br /&gt;  &lt;span class='cc_normaltag'&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class='cc_normaltag'&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;br /&gt;    &amp;lt;%= f.label :area_id, '', :class =&amp;gt; 'title' %&amp;gt;&lt;br /&gt;    &amp;lt;%= related_collection_select(:sales_contact, :area_id, [:sales_contact_metro, :id], Area.find(:all,:order =&amp;gt; &lt;span class='cc_value'&gt;&amp;quot;area&amp;quot;&lt;/span&gt; ), :id, :area, :metro_id) %&amp;gt;&lt;br /&gt;  &lt;span class='cc_normaltag'&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;br /&gt;  &lt;span class='cc_normaltag'&gt;&amp;lt;p&amp;gt;&lt;/span&gt;&lt;br /&gt;    &amp;lt;%= f.label :neighborhood_id, '', :class =&amp;gt; &lt;span class='cc_value'&gt;&amp;quot;title&amp;quot;&lt;/span&gt;  %&amp;gt;&lt;br /&gt;    &amp;lt;%= related_collection_select(:sales_contact, :neighborhood_id, [:sales_contact_area, :id], Neighborhood.find(:all,:order =&amp;gt; &lt;span class='cc_value'&gt;&amp;quot;title&amp;quot;&lt;/span&gt;), :id, :title, :area_id) %&amp;gt;&lt;br /&gt;  &lt;span class='cc_normaltag'&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;&lt;/code&gt;
&lt;/p&gt;

&lt;p&gt;Notice the first select is a standard &lt;code&gt;collection_select&lt;/code&gt; then for each related field. We make calls to the plugin. The method signature is very similar to the standard &lt;code&gt;collection_select&lt;/code&gt; with the addition of a couple parent related arguments.&lt;/p&gt;
&lt;p&gt;Super simple!&lt;/p&gt;
&lt;p&gt;If you have any improvements or additions, feel free to fork the repo and send me a pull request.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/related-select-forms-plugin-update-for-rails-2-3</link>
         <guid>http://www.angry-fly.com/post.cfm/related-select-forms-plugin-update-for-rails-2-3</guid>
         <category>Development</category><category>Ruby on Rails</category>
         <pubDate>Fri, 10 Apr 2009 20:18:59 GMT</pubDate>
      </item>	
      <item>
         <title>Deployment Gotchas - Git And Capistrano</title>
         <description>&lt;p&gt;Im just starting to take the leap with Capistrano and so far Im loving it. It simplifies deployment task down to a single command-line call. In my book, that beats syncing the FTP, manually running migrations, etc. One issue I ran into last night though, was during my deployment, I clone my git repository to get the latest version of the application. Thats baked into Capistrano, very simple stuff. However, I kept getting an error that '&lt;strong&gt;git-index-pack&lt;/strong&gt;' was not a git command.&lt;/p&gt;
&lt;p&gt;I spent literally hours googling, reading mailing-list archives, tweaking, updating git, reinstaliing git, etc. Nothing I did made one bit of difference. Being up until 5am probably didnt help me to think clearly either. So after a few hours sleep, I started investigating again. This time it hit me. It hit me like an Amtrak train at full speed.&lt;/p&gt;
&lt;p&gt;I host on my own dedicated servers, with that being the case, I have my CentOS servers setup to use Jail-Shell by default for all new accounts in the web group. I completely forgot to change the shell for my deployment user so of course git was failing! &lt;strong&gt;Doh!&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As soon as I changed the default shell for that user to bash and ran '&lt;strong&gt;cap deploy:update&lt;/strong&gt;' it worked like a charm!&lt;/p&gt;
&lt;p&gt;So if you are deploying to a shared host and running into this issue, make sure to check your shell. I know there are hosts out there that will Jail-Shell you by default.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/deployment-gotchas-git-and-capistrano</link>
         <guid>http://www.angry-fly.com/post.cfm/deployment-gotchas-git-and-capistrano</guid>
         <category>Development</category><category>Ruby on Rails</category><category>Git</category>
         <pubDate>Thu, 02 Apr 2009 17:21:57 GMT</pubDate>
      </item>	
      <item>
         <title>Installing Git on CentOS 5</title>
         <description>&lt;p&gt;I have made the switch from SVN to Git for all of my projects and I'm loving it. So I decided as part of my deployment process, I would install Git on my server and use Git to fetch the release code to the deployment folder. This is alot like I did with Subversion, using svn export to push a tagged release to the server. Installing Git was quite simple even though there is no package for CentOS 5 yet. Here is the process I used to set it up.&lt;/p&gt;
&lt;p&gt;The following packages are dependancies for Git, so make sure they are installed.&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;yum install zlib-devel&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum install openssl-devel &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum install perl&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum install cpio&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum install expat-devel&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;yum install gettext-devel&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next, if you do not already have Curl installed, follow the next step to get it up and running.&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;wget http://curl.haxx.se/download/curl-7.18.0.tar.gz&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tar xzvf curl-7.18.0.tar.gz&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd curl-7.18.0&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;./configure&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;make&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;make install&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Next, make sure /usr/local/lib is in your ld.so.conf, this is required for git-http-push to correctly link up to the Curl version you are installing.&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;vi /etc/ld.so.conf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;(Insert the following)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/usr/local/lib&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Save the file, then run:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;ldconfig&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now download and install Git&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;wget http://www.codemonkey.org.uk/projects/git-snapshots/git/git-latest.tar.gz&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;tar xzvf git-latest.tar.gz&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;cd git-{date}&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;autoconf&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;./configure --with-curl=/usr/local&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;make&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;make install&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Thats all there is to it! Simple enough. I will post a follow up on how I actually deploy using Git in the near future.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/installing-git-on-centos-5</link>
         <guid>http://www.angry-fly.com/post.cfm/installing-git-on-centos-5</guid>
         <category>Development</category><category>Git</category>
         <pubDate>Sun, 15 Mar 2009 04:47:45 GMT</pubDate>
      </item>	
      <item>
         <title>My Server Is Now Running On Railo</title>
         <description>&lt;p&gt;After considering it for a long time, I have finally converted my server over to Railo 3 Community Edition. I have been running ColdFusion 7 on it forever and I just couldn't justify the upgrade costs to run my couple little blog sites and open-source projects. Fortunately everything went well with only a few unexpected hiccups that I will outline further in a minute. I must say that Im really impressed with Railo so far. I love how the admin is separated by site so each application can have its own settings.&lt;/p&gt;
&lt;p&gt;Im one of the folks who has always criticized ColdFusion for not having a "Community Edition" for non-commercial applications like blogs and open-source applications. Im so glad to see that Gert and the guys at Railo have joined forces to open-source Railo and make it more available for developers.&lt;/p&gt;
&lt;p&gt;On a few of the hiccups, well, the Skeegee.com site is down completely. I expected that since it uses Transfer and I know they are compatible now, but I haven't had time to work out the issues. Since Im running Mango, the Captcha on the comment form was being displayed as broken image. After posting to the Mango forums, I solution was posted to just install the CF8 Captcha plugin which fixed it right up.&lt;/p&gt;
&lt;p&gt;Im really looking forward to writing some apps that can really push Railo and see what its made of.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/my-server-is-now-running-on-railo</link>
         <guid>http://www.angry-fly.com/post.cfm/my-server-is-now-running-on-railo</guid>
         <category>ColdFusion</category><category>Railo</category>
         <pubDate>Thu, 26 Feb 2009 03:35:32 GMT</pubDate>
      </item>	
      <item>
         <title>Im Going To Flex Camp Miami</title>
         <description>&lt;p&gt;Yes, Im going to brave the 95 for some 300+ miles headed south to Coral Gables for &lt;a href="http://www.flexcampmiami.com/"&gt;Flex Camp Miami&lt;/a&gt;. Why not? Its a full day of Flex goodness for a measly $30 and that includes lunch! Seriously though, &lt;a href="http://www.remotesynthesis.com/index.cfm" target="_blank"&gt;Brian Rinaldi&lt;/a&gt; is known for putting on killer Flex Camps. The speaker line-up is top notch so you know your going to learn something. I think Im most excited that Laura Arguello from &lt;a href="http://www.asfusion.com/"&gt;ASFusion&lt;/a&gt; is going to be there presenting about her Flex framework entitled &lt;a href="http://mate.asfusion.com/"&gt;Mate&lt;/a&gt;. I have looked at a few other Flex frameworks in the past and I wasnt really keen on any of them, however, from what I have seen of Mate, Im seriously impressed!&lt;/p&gt;
&lt;p&gt;So c'mon! If you are in Florida and even remotely interested in Flex, you owe it to yourself to register and take a short trip to Miami. On that note, if you are interested in carpooling, let me know. I will be leaving from Jacksonville and have room for 4 people. I drive a 2007 Nissan Titan 4-door so there is plenty of room. I even have DVD players in the head rests so the guys in the backseat can watch movies on the way down! ha ha!&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/im-going-to-flex-camp-miami</link>
         <guid>http://www.angry-fly.com/post.cfm/im-going-to-flex-camp-miami</guid>
         <category>Development</category><category>ColdFusion</category><category>Flex</category>
         <pubDate>Thu, 19 Feb 2009 15:12:56 GMT</pubDate>
      </item>	
      <item>
         <title>Skweegee Has Moved To GitHub</title>
         <description>&lt;p&gt;I have decided to take the plunge headfirst with git. Im really digging the distributed nature of it and the fact that I can make small commits to my local repo, then squash them into one atomic commit and push that to the master. It seems to really fit my workflow better.&lt;/p&gt;
&lt;p&gt;Due to this switch, I have moved the Skweegee SVN repository over to &lt;a href="http://github.com"&gt;GitHub&lt;/a&gt;. Importing it from SVN wasnt trivial as the GitHub importer failed constantly without telling me why. So I found svn2git and installed the gem. This made it pretty simple and it kept all of the history.&lt;/p&gt;
&lt;p&gt;The Skweegee repo can be found &lt;a href="http://github.com/russjohnson/skweegee/tree/master"&gt;here&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The SVN repo is still up for now but will not be committed to unless I can find a way to mirror my git commits back to SVN automatically. If I cant, I will pull the SVN repo down later this month.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/skweegee-has-moved-to-github</link>
         <guid>http://www.angry-fly.com/post.cfm/skweegee-has-moved-to-github</guid>
         <category>Development</category><category>Skweegee</category><category>ColdFusion</category><category>Git</category>
         <pubDate>Fri, 13 Feb 2009 00:03:32 GMT</pubDate>
      </item>	
      <item>
         <title>Need CF Telecommuter For Contract</title>
         <description>&lt;p&gt;One of my clients is looking to bring on another ColdFusion consultant for a new project. This developer would need to be able to start within the next 2 weeks if at all possible. I will not be working on this project but will be managing it from a high-level as well as being involved and available for questions, troubleshooting, etc.&lt;/p&gt;
&lt;p&gt;We are looking for someone who can work on their own that has experience working with jQuery and AJAX as well as being extremely proficient on ColdFusion. Experience with any of the major CF frameworks would be great and if it happens to be ColdBox, all the better. High level of knowledge of working with CFC's is a must! This project is utilizing SQL Server 2008 and ColdFusion 8 so you will be on the latest and greatest. &lt;/p&gt;
&lt;p&gt;If you are interested or have more questions, feel free to email me at russ@angry-fly.com and we can discuss. Your rate/terms are to be discussed with the client. Im just trying to find the best person for the project.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/cf-job-looking-for-telecommuter-for-contract</link>
         <guid>http://www.angry-fly.com/post.cfm/cf-job-looking-for-telecommuter-for-contract</guid>
         <category>ColdFusion</category>
         <pubDate>Mon, 09 Feb 2009 16:21:34 GMT</pubDate>
      </item>	
      <item>
         <title>ColdBox Training in Southern California</title>
         <description>&lt;p&gt;&lt;span style="color: #333333; font-size: 11px; line-height: 16px;"&gt;ColdBox Platform Official Training Seminars Announces Early-Bird Special Pricing for March 14-15 2008 &lt;a style="color: #0087dd; background-color: inherit; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.coldboxframework.com/index.cfm/courses/cbox101"&gt;CBOX 101- Core ColdBox&lt;/a&gt; Seminar in Ontario, California.  Welcome to where it's sunny and warm!&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;ColdBox Platform Official Training Seminars today announces an Early-Bird Special discount registration price of just &lt;strong style="padding: 0px; margin: 0px;"&gt;$895 &lt;/strong&gt;for our March 14-15th, 2009 ColdBox Platform 101 seminar to be held in Ontario, California.  Registrants can take advantage of this early bird savings over the full seminar price of $1,100 by completing their registration before 5PM (Pacific Daylight Time) on February 8th, 2009. (Discounts available for groups of 5 or more)&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;The &lt;a style="color: #0087dd; background-color: inherit; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.coldboxframework.com/index.cfm/training"&gt;ColdBox Platform 101 Seminar&lt;/a&gt; is a 2-Day Introduction to ColdBox and ColdBox Platform Application Development providing 16+ hours of intense, hands-on training with ColdBox author Luis Majano in an intimate setting with only 15-20 seats available.  The skills learned in this seminar can be immediately applied to a developer’s daily tasks.&lt;br style="padding: 0px; margin: 0px;" /&gt;&lt;br style="padding: 0px; margin: 0px;" /&gt;For more information on ColdBox Platform Training or to register, please visit the &lt;a style="color: #0087dd; background-color: inherit; text-decoration: none; padding: 0px; margin: 0px;" href="http://www.coldboxframework.com/index.cfm/training"&gt;ColdBox Training web site&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/coldbox-training-seminar-in-southern-california</link>
         <guid>http://www.angry-fly.com/post.cfm/coldbox-training-seminar-in-southern-california</guid>
         <category>Development</category><category>Coldbox</category><category>ColdFusion</category>
         <pubDate>Wed, 04 Feb 2009 14:19:49 GMT</pubDate>
      </item>
	
   </channel>
</rss>
