<?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.3.1</generator>
	
	
		
      <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/angry-fly" type="application/rss+xml" /><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>
         <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>Coldbox</category><category>Development</category><category>ColdFusion</category>
         <pubDate>Wed, 04 Feb 2009 14:19:49 GMT</pubDate>
      </item>	
      <item>
         <title>Forms With Nested Resources In Rails</title>
         <description>&lt;p&gt;This post is more of an informational post for myself in case I forget this later on. I have been working on a client project thats using Ruby on Rails and I was having a little trouble getting my head around nested resources and the routing that goes along with that. Once I had the routing figured out, the next thing to address was handling my forms. Now, as with all things in programming, there is more than one way to "skin a cat" when it comes to this in Rails but for the most part, this is from what I can tell, the preferred method and I like it better than the alternative.&lt;/p&gt;
&lt;p&gt;To start off with, nested resources is simply a way to have much cleaner urls without having to append a query string to the url. So you can have something like:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;mysite.com/category/1/products/3&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;instead of:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;mysite.com/category/1?product=3&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Of course the nice URL's are not the only reason for doing this. When it comes to handling forms, Rails can handle all of the associations for you reducing the amount of code you are writing.&lt;/p&gt;
&lt;p&gt;So, borrowing form the earlier example of products and categories, we can easily setup our form to handle the relationship by modifying our &lt;span style="font-weight: bold;"&gt;form_for&lt;/span&gt; arguments in the form like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;form_for [@category, @product] do |f|&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Now we no longer have to manually add a hidden field containing the category id.&lt;/p&gt;
&lt;p&gt;In our controller, several methods are affected by this change, but lucky for us the changes are simple.&lt;/p&gt;
&lt;p&gt;First, lets look at the &lt;span style="font-weight: bold;"&gt;new&lt;/span&gt; method which sets up the blank form:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;def new&lt;br /&gt;    @category = Category.find_by_id(params[:user_id])&lt;br /&gt;    @product = @category.build_product&lt;br /&gt;    respond_to do |format|&lt;br /&gt;     format.html&lt;br /&gt;    end&lt;br /&gt;  end&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Since we are referencing the product through the category, its best to use the category itself to build the new product object. This allows the previous change that we made to the form to work. Now lets have a look at the &lt;span style="font-weight: b&amp;lt;mce:script type="&gt;&lt;span style="font-weight: bold;"&gt;create&lt;/span&gt;&lt;/span&gt; method that will actually save our form:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;def create&lt;br /&gt;    @category = Category.find_by_id(params[:user_id])&lt;br /&gt;    @product = @category.build_product(params[:product])&lt;br /&gt;    respond_to do |format|&lt;br /&gt;      if @product.save&lt;br /&gt;        flash[:notice] = 'Product was successfully created.'&lt;br /&gt;        format.html { redirect_to edit_category_product_path(@category,@product) }&lt;br /&gt;      else&lt;br /&gt;        format.html { render :action =&lt;span class='cc_specialchar'&gt;&amp;amp;amp;gt;&lt;/span&gt; &lt;span class='cc_value'&gt;&amp;quot;new&amp;quot;&lt;/span&gt; }&lt;br /&gt;      end&lt;br /&gt;    end&lt;br /&gt;  end&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Notice again that we are building the product object through the category association and passing the product data to it from the form to populate it. Thats pretty much all of the magic sauce. There is one other thing to notice in that method that warrants attention. Notice the &lt;span style="font-weight: bold;"&gt;redirect_to&lt;/span&gt; method? Normally that would look something like this:&lt;/p&gt;
&lt;p&gt;
&lt;code&gt;redirect_to edit_product_path(@product)&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;But since we are accessing products as a nested resource of categories, we simply add in the category part to the method and supply the category instance variable to the argument list. This will ensure we are redirected to the proper url.&lt;/p&gt;
&lt;p&gt;Now I know this is a dumbed down version of this, but hey, like I said earlier, its more for my reference later on. Hopefully someone can get something out of it as well.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/forms-with-nested-resources-in-rails</link>
         <guid>http://www.angry-fly.com/post.cfm/forms-with-nested-resources-in-rails</guid>
         <category>Development</category><category>Ruby on Rails</category>
         <pubDate>Mon, 12 Jan 2009 14:18:37 GMT</pubDate>
      </item>	
      <item>
         <title>Skweegee SVN Repo Now Public</title>
         <description>&lt;p&gt;I have been promising several of you that I would open the SVN repo back up for public read-only access for some time now. After Mark Mandel prodded me a bit, I finally took half an hour and moved the repository over to my own server and set public access on it.&lt;/p&gt;
&lt;p&gt;I cant promise that the latest revisions are 100% working but you can now checkout from the repo and play around with all of the latest stuff. I have migrated all of the latest changes up to the public site at &lt;a href="http://skweegee.com"&gt;http://skweegee.com&lt;/a&gt; so you can click around over there as well.&lt;/p&gt;
&lt;p&gt;The wiki support has been added back into the repo version, as well as a TON of updates and fixes. Im planning to get a release together after the Thanksgiving holidays when things slow down a bit and post the download to the RiaForge site.&lt;/p&gt;
&lt;p&gt;If you have any trouble accessing the repo, please feel free to shoot me an email.&lt;/p&gt;
&lt;p&gt;SVN Repo : http://svn.madpiranha.com/skweegee&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/skweegee-svn-repo-now-public</link>
         <guid>http://www.angry-fly.com/post.cfm/skweegee-svn-repo-now-public</guid>
         <category>Skweegee</category>
         <pubDate>Tue, 25 Nov 2008 02:25:48 GMT</pubDate>
      </item>	
      <item>
         <title>Dr. Horribles Sing-Along Blog</title>
         <description>&lt;p&gt;Sorry for the lack of posts over the last few weeks. Things have been so crazy with my wife having surgery and trying to keep up with client work, not to mention the kids!&lt;/p&gt;
&lt;p&gt;Just wanted to take a minute to recommend Joss Whedon's new undertaking. I bought the first 3 acts of Dr. Horribles Sing-Along Blog from iTunes the other day. It stars Neil Patrick Harris as Dr Horrible and Nathan Fillion as his nemesis Captain Hammer.&lt;/p&gt;
&lt;p&gt;Its a musical thats really very humorous and entertaining. If you like Joss Whedon's stuff, you really should check it out.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/dr-horribles-sing-along-blog</link>
         <guid>http://www.angry-fly.com/post.cfm/dr-horribles-sing-along-blog</guid>
         <category>Just Stuff</category>
         <pubDate>Tue, 04 Nov 2008 15:27:12 GMT</pubDate>
      </item>	
      <item>
         <title>CFConversations 19 Framework Discussion</title>
         <description>&lt;p&gt;Brian Meloche has released Episode 19 of his &lt;a href="http://www.cfconversations.com/index.cfm/2008/10/19/CFConversations-19-Roundtable-6-Controller-based-Frameworks-Part-1" target="_blank"&gt;CFConversations&lt;/a&gt; podcast today. Its the first part of 2 on a really good frameworks discussion. I was fortunate enough to be able to take part in this episode as a representative of ColdBox. I havent had a chance to listen to the final edited version yet but Im worried I came off sounding like an idiot. I was so nervous during the recording my stomach was in knots. So Im afraid I didnt represent ColdBox as well as I would have liked but Im sure Luis will do a better job when he finally gets to do an interview with Brian.&lt;/p&gt;
&lt;p&gt;Head over and check it out. Part 2 should be released once the editing is done.&lt;/p&gt;
&lt;p&gt;Thanks to Brian for inviting me join in on the podcast thanks to all of the guys for such a great discussion following the recording of the podcast as well.&lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/cfconversations-19-framework-discussion-and-im-in-it</link>
         <guid>http://www.angry-fly.com/post.cfm/cfconversations-19-framework-discussion-and-im-in-it</guid>
         <category>Community</category><category>Coldbox</category><category>Development</category>
         <pubDate>Mon, 20 Oct 2008 00:08:47 GMT</pubDate>
      </item>	
      <item>
         <title>CFML Code Challenge</title>
         <description>&lt;p&gt;I was having a really great discussion with &lt;a href="http://cfconversations.com/" target="_blank"&gt;Brian Meloche&lt;/a&gt;, &lt;a href="http://www.sosensible.com/" target="_blank"&gt;John Farrar&lt;/a&gt; and &lt;a href="http://ontap.riaforge.org/" target="_blank"&gt;Isaac Dealey&lt;/a&gt; Friday night on Skype and I tossed an idea that I have been having out to them for their opinions. Since then, this idea has really been nagging at me to the point that I finally decided to do something about it.&lt;/p&gt;
&lt;p&gt;So, Im putting the details together for a CFML development contest. I have the rules about 80% finalized. Im not sure of the start date yet but I will say that I hope to kick this off in November sometime. Here are a few of the thoughts that Im putting into the rules.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Contest is open to any CFML developers&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;You may enter as an individual or a team of up to 4 people&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Application must run on one of the available CFML engines (bonus points for apps that are compatible with all 3 engines)&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;Development CANNOT start until the specified start date!&lt;/li&gt;
&lt;li&gt;Non digital planning of your application can be started prior to the start date but no code or digital assets can be created.&lt;/li&gt;
&lt;li&gt;Entries must be an "application", not open to custom tags, etc at this point&lt;/li&gt;
&lt;li&gt;You may utilize any open-source code in your application that you like providing it doesnt violate that codes license.&lt;/li&gt;
&lt;li&gt;You can choose to keep your application closed or you can open-source the app (preferred).&lt;/li&gt;
&lt;li&gt;Judging to be done by the community at large, no judging panel.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;I will post some more details later this week as I finish hashing things out. I will go ahead and say that my company, Mad Piranha Inc., is donating brand new iPod nanos as pr
&lt;script src="/admin/assets/editors/tinymce_3/jscripts/tiny_mce/themes/advanced/langs/en.js" type="text/javascript"&gt;&lt;/script&gt;
izes. And I dont mean just one! I'm donating one for each member of the winning team!&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;If you are interested in helping out or perhaps sponsoring some prizes for the contest, please contact me at russ@madpiranha.com.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;I'm working on coming up with a way to host SVN accounts for each team to be used during the contest. Ideally, temporary hosting would be great for the judging process as well but that might not be doable.&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;More to come.&lt;/div&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description>
         <link>http://www.angry-fly.com/post.cfm/cfml-code-challenge</link>
         <guid>http://www.angry-fly.com/post.cfm/cfml-code-challenge</guid>
         <category>Development</category><category>Community</category>
         <pubDate>Wed, 15 Oct 2008 22:03:53 GMT</pubDate>
      </item>
	
   </channel>
</rss>
