<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>jpreardon.com &#187; Rails</title>
	<atom:link href="http://jpreardon.com/category/development/rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://jpreardon.com</link>
	<description>Now with more randomness!</description>
	<lastBuildDate>Thu, 08 Jul 2010 17:12:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Installing Rails on Leopard</title>
		<link>http://jpreardon.com/2008/03/08/installing-rails-on-leopard/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2008/03/08/installing-rails-on-leopard/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 21:53:16 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2008/03/08/installing-rails-on-leopard/</guid>
		<description><![CDATA[Leopard comes with Rails, but I prefer to roll my own in an effort to keep my environment stable. As always Hivelogic has the goods:

Installing Ruby, Rubygems, Rails, and Mongrel on Mac OS X 10.5 (Leopard)
Special bonus: Why not install the latest copy of Subversion? This was written a while back, I followed the directions [...]]]></description>
			<content:encoded><![CDATA[<p>Leopard comes with Rails, but I prefer to roll my own in an effort to keep my environment stable. As always Hivelogic has the goods:</p>
<ul>
<li><a href="http://hivelogic.com/articles/ruby-rails-leopard/">Installing Ruby, Rubygems, Rails, and Mongrel on Mac OS X 10.5 (Leopard)</a></li>
<li>Special bonus: Why not <a href="http://hivelogic.com/articles/svn_on_os_x/">install the latest copy of Subversion</a>? <em>This was written a while back, I followed the directions but went for version 1.4.6 rather than the one referenced on Hivelogic. You might get an error message when compiling, if so, follow the instructions in the comments.</em>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2008/03/08/installing-rails-on-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RESTfulness</title>
		<link>http://jpreardon.com/2008/01/03/restfulness/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2008/01/03/restfulness/#comments</comments>
		<pubDate>Fri, 04 Jan 2008 01:54:34 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2008/01/03/restfulness/</guid>
		<description><![CDATA[Gregg Pollack, of Rails Envy fame, gave a good presentation on REST web services at the Orlando Ruby User&#8217;s Group recently (video here). This is a great primer for anyone trying to figure out what all this REST stuff is about. He also touches briefly on a couple Rails 2.0 features like ActiveResource.
]]></description>
			<content:encoded><![CDATA[<p>Gregg Pollack, of <a href="http://railsenvy.com/">Rails Envy</a> fame, gave a good presentation on REST web services at the Orlando Ruby User&#8217;s Group <strike>recently</strike> (<a href="http://www.patchedsoftware.com/FutureOfWebServices.mov">video here</a>). This is a great primer for anyone trying to figure out what all this REST stuff is about. He also touches briefly on a couple Rails 2.0 features like <a href="http://wiki.rubyonrails.org/rails/pages/ActiveResource">ActiveResource</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2008/01/03/restfulness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.patchedsoftware.com/FutureOfWebServices.mov" length="191993707" type="video/quicktime" />
		</item>
		<item>
		<title>AJAX drag and drop on Rails</title>
		<link>http://jpreardon.com/2007/11/24/ajax-drag-drop-on-rails/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/11/24/ajax-drag-drop-on-rails/#comments</comments>
		<pubDate>Sat, 24 Nov 2007 14:42:21 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/11/24/ajax-drag-drop-on-rails/</guid>
		<description><![CDATA[Fallen Rogue has a succinct tutorial on implementing drag &#038; drop lists on Rails. It also touches on implementing acts_as_list. This tutorial and the referenced sample application was good way to get drag &#038; drop lists working quickly in my own application.
]]></description>
			<content:encoded><![CDATA[<p>Fallen Rogue has a succinct <a href="http://www.fallenrogue.com/articles/152-Zebra-Stripes-A-look-at-acts_as_list-ajax-sorting-and-the-cycle-method-in-Rails">tutorial on implementing drag &#038; drop lists on Rails</a>. It also touches on implementing acts_as_list. This tutorial and the referenced sample application was good way to get drag &#038; drop lists working quickly in my own application.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/11/24/ajax-drag-drop-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Rails Book</title>
		<link>http://jpreardon.com/2007/10/02/free-rails-book/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/10/02/free-rails-book/#comments</comments>
		<pubDate>Tue, 02 Oct 2007 19:11:35 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/10/02/free-rails-book/</guid>
		<description><![CDATA[The PDF version of Build Your Own Ruby on Rails Web Applications by Patrick Lenz is available for free for the next 60 days. Click over to Sitepoint to download the complete book (20MB). The book introduces Ruby on Rails to aspiring Rails developers by showing them how to build a Digg clone step by [...]]]></description>
			<content:encoded><![CDATA[<p>The PDF version of <em>Build Your Own Ruby on Rails Web Applications</em> by Patrick Lenz is available for free for the next 60 days. <a href="http://www.sitepoint.com/books/rails1/freebook.php">Click over to Sitepoint to download the complete book</a> (20MB). The book introduces Ruby on Rails to aspiring Rails developers by showing them how to build a <a href="http://digg.com/">Digg</a> clone step by step. In the process it touches on many important concepts such as test driven development.</p>
<p><em>via <a href="http://weblog.rubyonrails.com/">Riding Rails</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/10/02/free-rails-book/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>RESTful Rails and Nested Resources</title>
		<link>http://jpreardon.com/2007/09/21/restful-rails-and-nested-resources/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/09/21/restful-rails-and-nested-resources/#comments</comments>
		<pubDate>Fri, 21 Sep 2007 14:43:07 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/09/21/restful-rails-and-nested-resources/</guid>
		<description><![CDATA[This Nested resource CRUD tutorial does a great job of quickly explaining how to get a nested resource working in a RESTful Rails application. If you want some more detail, this RESTful Rails Development PDF covers more while still remaining succinct. It is worth a read, even for non-rails developers, since it explains more about [...]]]></description>
			<content:encoded><![CDATA[<p>This <a href="http://earthcode.com/blog/2007/01/nested_crud_resources_in_rails.html">Nested resource CRUD tutorial</a> does a great job of quickly explaining how to get a nested resource working in a RESTful Rails application. If you want some more detail, this <a href="http://www.b-simple.de/documents">RESTful Rails Development PDF</a> covers more while still remaining succinct. It is worth a read, even for non-rails developers, since it explains more about how REST works. Especially helpful is the explanation of how the HTTP verbs are used to call different actions in the controller.</p>
<p>Learn from my mistake and don&#8217;t forget to modify the nested controller&#8217;s <em>create</em> action. This is noted in the PDF but not the post. Left unmodified, the <em>create</em> action will insert the nested records (in this case, &#8220;comments&#8221;) with NULL foreign keys in the database.</p>
<p>There are a couple ways to fix this. I&#8217;ll keep with the posts/comments example in the code snippets below. The method used in the PDF simply adds one line of code to explicitly set the parent id as shown in <strong>bold</strong> below:</p>
<pre>
def create
	@comment = Comment.new(params[:comment])
	<strong>@comment.post_id = @post.id</strong>
	. . . .
end
</pre>
<p>The other way, which I prefer, is to replace the call to the comment&#8217;s <em>new</em> method with a call to the <em>build</em> method as shown in the following code:</p>
<pre>
def create
	<strong>@comment = @post.comments.build(params[:comment])</strong>
	. . . .
end
</pre>
<p>This accomplishes the same thing in one line rather than two, therefore, I like it. Thanks to <a href="http://railscasts.com/">Ryan</a> for <a href="http://railsforum.com/viewtopic.php?pid=39610#p39610">pointing this out on railsforum</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/09/21/restful-rails-and-nested-resources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails Security Reference</title>
		<link>http://jpreardon.com/2007/09/21/rails-security-reference/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/09/21/rails-security-reference/#comments</comments>
		<pubDate>Fri, 21 Sep 2007 13:34:47 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/09/21/rails-security-reference/</guid>
		<description><![CDATA[This Ruby on Rails security guide pulls together several excellent sources on securing Rails applications. It is broken down by category (authentication, model, controller etc.) so it makes for a great reference.
via Ruby Inside
]]></description>
			<content:encoded><![CDATA[<p>This <a href="http://www.quarkruby.com/2007/9/20/ruby-on-rails-security-guide">Ruby on Rails security guide</a> pulls together several excellent sources on securing Rails applications. It is broken down by category (authentication, model, controller etc.) so it makes for a great reference.</p>
<p><em>via <a href="http://www.rubyinside.com/ruby-on-rails-security-guide-609.html">Ruby Inside</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/09/21/rails-security-reference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails and SVN</title>
		<link>http://jpreardon.com/2007/09/15/rails-and-svn/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/09/15/rails-and-svn/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 18:58:22 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/09/15/rails-and-svn/</guid>
		<description><![CDATA[Writing code without using version control is the equivalent of swinging on a trapeze without a net. Sure, if you execute each move flawlessly, you&#8217;ll be fine. But, one wrong move and you&#8217;ll fall to your death. Okay, coding mistakes rarely lead to injury or death&#8211;of the programmer anyway&#8211;but I think you see my point.
There [...]]]></description>
			<content:encoded><![CDATA[<p>Writing code without using version control is the equivalent of swinging on a trapeze without a net. Sure, if you execute each move flawlessly, you&#8217;ll be fine. But, one wrong move and you&#8217;ll fall to your death. Okay, coding mistakes rarely lead to injury or death&#8211;of the programmer anyway&#8211;but I think you see my point.</p>
<p>There are loads of version control systems out there. <a href="http://subversion.tigris.org/">Subversion</a>, however, is the weapon of choice for most people working with Ruby on Rails. If you are unfamiliar with Subversion, the <a href="http://svnbook.red-bean.com/">Subversion book</a> is a good place to start (<a href="http://www.amazon.com/gp/product/0596004486?ie=UTF8&#038;tag=jpreardon-20&#038;linkCode=as2&#038;camp=1789&#038;creative=9325&#038;creativeASIN=0596004486">print version available on Amazon</a><img src="http://www.assoc-amazon.com/e/ir?t=jpreardon-20&#038;l=as2&#038;o=1&#038;a=0596004486" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />). The first part of this book gives a good overview of what version control is all about, so those totally unfamiliar with the concept can jump right in.</p>
<p>As for Ruby on Rails applications, they can just be checked into version control like anything else. But, there some files and directories that don&#8217;t really need to be under version control. There is an easy, <a href="http://wiki.rubyonrails.org/rails/pages/HowtoUseRailsWithSubversion">step-by-step guide on using Subversion with Rails</a> at the Rails wiki. Following these instructions takes less than five minutes and will keep your repository free of extraneous files (e.g. log and temp files).</p>
<p>With your Rails application under version control, you can rest easy knowing that you have some recourse when your latest code update breaks everything. Just don&#8217;t forget to commit your changes on a regular basis or this is all for naught. Also, remember that the Rails generator scripts accept an <code>--svn</code> option which will automatically add generated files to your repository. This will save you the step of adding these files manually later on.</p>
<p>In addition to giving you a sort of coder&#8217;s safety net, using Subversion gives you the ability to automate application deployment with <a href="http://www.capify.org/getting-started/rails">Capistrano</a> if you wish. So, now you have two excellent reasons to get your application into Subversion. By the way, if you are looking for a place to store your repository, check out <a href="http://cvsdude.com/">CVSDude</a>. They offer <a href="http://cvsdude.com/product.pl">several monthly plans</a>, including a free one.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/09/15/rails-and-svn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActiveRecord Tutorial</title>
		<link>http://jpreardon.com/2007/08/21/activerecord-tutorial/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/08/21/activerecord-tutorial/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 22:13:49 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/08/21/activerecord-tutorial/</guid>
		<description><![CDATA[Rails Envy has a great screencast tutorial on ActiveRecord. Gregg does a great job explaining a couple concepts that can be difficult to grasp like has many :through and polymorphic relationships. This is well worth watching for anyone new to Ruby and Rails. Even if you are not working with Ruby, it is a good [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.railsenvy.com/2007/8/8/activerecord-tutorial">Rails Envy has a great screencast tutorial on ActiveRecord</a>. Gregg does a great job explaining a couple concepts that can be difficult to grasp like <em>has many :through</em> and <em>polymorphic relationships</em>. This is well worth watching for anyone new to Ruby and Rails. Even if you are not working with Ruby, it is a good way to see how Object-relational Mapping is achieved in Ruby with ActiveRecord.</p>
<p><em>via <a href="http://www.rubyinside.com/activerecord-screencast-presentation-577.html">Ruby Inside</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/08/21/activerecord-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Meet Java and Ruby on Rails</title>
		<link>http://jpreardon.com/2007/05/14/meet-java-and-ruby-on-rails/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/05/14/meet-java-and-ruby-on-rails/#comments</comments>
		<pubDate>Mon, 14 May 2007 23:20:38 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Hi tek]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/05/14/meet-java-and-ruby-on-rails/</guid>
		<description><![CDATA[You&#8217;ll only need to be mildly geeky to appreciate this Get a Mac inspired ad.
Click to play video
I wonder what&#8217;s in that final, mysterious jar? Kool-Aid perhaps?
via Riding Rails
Update 2006-05-16: These guys are posting an ad a day leading up to RailsConf 07. See the rest of the Envy ads on youtube.
]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ll only need to be mildly geeky to appreciate this <em><a href="http://www.apple.com/getamac/ads/">Get a Mac</a></em> inspired ad.</p>
<p><center><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/PQbuyKUaKFo"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/PQbuyKUaKFo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><a href="http://www.youtube.com/watch?v=PQbuyKUaKFo">Click to play video</a></center></p>
<p>I wonder what&#8217;s in that final, mysterious jar? Kool-Aid perhaps?</p>
<p><em>via <a href="http://weblog.rubyonrails.com/2007/5/14/hi-i-m-ruby-on-rails">Riding Rails</a></em></p>
<p><strong>Update 2006-05-16:</strong> These guys are posting an ad a day leading up to <a href="http://conferences.oreillynet.com/rails/">RailsConf 07</a>. See <a href="http://www.youtube.com/profile?user=envyads">the rest of the Envy ads on youtube</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/05/14/meet-java-and-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gotham Ruby Conference</title>
		<link>http://jpreardon.com/2007/04/21/gotham-ruby-conference/?utm_campaign=RSS&amp;utm_source=RSS&amp;utm_medium=RSS</link>
		<comments>http://jpreardon.com/2007/04/21/gotham-ruby-conference/#comments</comments>
		<pubDate>Sat, 21 Apr 2007 15:00:41 +0000</pubDate>
		<dc:creator>jpreardon</dc:creator>
				<category><![CDATA[Rails]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://jpreardon.com/2007/04/21/gotham-ruby-conference/</guid>
		<description><![CDATA[Rather than enjoying a long awaited Spring Saturday in New York, I was at the first&#8211;and hopefully annual&#8211;Gotham Ruby Conference. Although the great weather was enticing, the conference was well worth the day spent indoors. The fact that it was at Google&#8217;s NYC office didn&#8217;t hurt.
The organizers of this conference deserve a huge, collective pat [...]]]></description>
			<content:encoded><![CDATA[<p>Rather than enjoying a long awaited Spring Saturday in New York, I was at the first&#8211;and hopefully annual&#8211;<a href="http://2007.goruco.com/">Gotham Ruby Conference</a>. Although the great weather was enticing, the conference was well worth the day spent indoors. The fact that it was at Google&#8217;s NYC office didn&#8217;t hurt.</p>
<p><a href="http://2007.goruco.com/volunteers/">The organizers</a> of this conference deserve a huge, collective pat on the back for a job well done. This was one of the best organized events I&#8217;ve attended. No small task for a group of people that have day jobs and many extracurricular activities. Nice work all.</p>
<p>Here are my brief notes, for more detailed coverage of the talks, check out <a href="http://www.brynary.com/">Bryan Helmkamp&#8217;s blog</a>.</p>
<p><strong>Adhearson: &#8220;Build your own PBX on a Weekend&#8221;</strong> (<a href="http://www.travelistic.com/video/show/7156/Jay-Phillips-@-Gotham-Ruby-Conference-2007">video</a>)<br />
<em><a href="http://jicksta.com/">Jay Phillips</a></em></p>
<p><a href="http://adhearsion.com/">Adhearsion</a> is a Ruby layer on top of <a href="http://www.asterisk.org/">Asterisk</a>. This talk got a lot of people in the room excited about the possibility of doing VoIP with Ruby. That&#8217;s good because Jay said he would like to hook up with some rails developers that are interested in Asterisk integration. This is very cool stuff. I personally would welcome one of the items off of Jay&#8217;s &#8220;future&#8221; slide: RSpec testing&#8230; for a PBX!</p>
<p>Resources:</p>
<ul>
<li><a href="http://adhearsion.com/">Adhearsion</a></li>
<li><a href="http://www.asterisk.org/">Asterisk</a></li>
<li><a href="http://www.sipphone.com/">sipphone.com</a> for cheap POTS/VoIP integration</li>
<li><a href="http://voip-info.org">voip-info.org</a> for general VoIP information</li>
</ul>
<p><strong>JRuby: Ready for Prime Time</strong> (<a href="http://www.travelistic.com/video/show/7159/Nick-Sieger-@-Gotham-Ruby-Conference-2007">video</a>)<br />
<em><a href="http://blog.nicksieger.com/">Nick Sieger</a></em></p>
<p><a href="http://jruby.codehaus.org/">JRuby</a> is a version of Ruby that runs on the Java Virtual Machine. JRuby running in interpreted mode is still a bit slower than C Ruby. However, in compiled mode, it tends to run a bit faster in many cases. Release 0.9.9 should be available next week.</p>
<p><strong>Going Camping</strong> (<a href="http://www.travelistic.com/video/show/7157/Jeremy-McAnally-@-Gotham-Ruby-Conference-2007">video</a>)<br />
<em><a href="http://www.jeremymcanally.com/">Jeremy McAnally</a></em></p>
<p><a href="http://code.whytheluckystiff.net/camping/">Camping</a> is a web microframework (4K) and in short, it&#8217;s &#8220;Rubylicious&#8221;. It is a MVC framework, but unlike rails, all of the application code goes in one file by default. Camping is good for those occasions when Rails is just too fat. Some other differences are that views are constructed in <a href="http://code.whytheluckystiff.net/markaby/">Markaby</a> rather than ERb and Camping defaults to SQLite but using another RBDMS is certainly possible. Jeremy is working on porting some other very useful Rails modules to Camping.</p>
<p><strong>Categorizing Documents in Ruby</strong> (<a href="http://www.travelistic.com/video/show/7155/Paul-Dix-@-Gotham-Ruby-Conference-2007">video</a>)<br />
<em><a href="http://www.pauldix.net/">Paul Dix</a></em></p>
<p>This is a topic I am currently very interested in. Document categorization is used quite a bit for spam detection today. It is also quite useful for language identification, news categorization and sentiment detection.</p>
<p>At a very high level, the steps for machine categorization are as follows:</p>
<ul>
<li>Get training data</li>
<li>Document preprocessing</li>
<li>Feature selection (optional, increases accuracy)</li>
<li>Train the Classifier</li>
<li>Test and update</li>
</ul>
<p>Yes, that is very high level. Once again, get the details of the talk <a href="http://www.brynary.com/2007/4/21/goruco-talk-classifying-documents-using-ruby">here</a>.</p>
<p>For those wishing to get started with document categorization, Paul suggested the <a href="http://en.wikipedia.org/wiki/Naive_Bayes_classifier">Naive Bayes Classifier</a> since it is fast and forgiving. He <strike>said he would post</strike> has posted some of his categorization code on <a href="http://www.pauldix.net/2007/04/categorizing_do.html">his site</a>, including his Chi Squared feature selector.</p>
<p><strong>Contexts, Mocks and Stubs. Oh My!</strong> (<a href="http://www.travelistic.com/video/show/7154/Trotter-Cashion-@-Gotham-Ruby-Conference-2007">video</a>)<br />
<em><a href="http://www.lifecoding.com/">Trotter Cashion</a></em></p>
<p>Trotter&#8217;s talk was very detailed and chock full of examples, my notes are quite sparse here though. The best thing I took away from it was to avoid going nuts when writing tests. Basically, test thoroughly and ensure good coverage, but be careful not to write too many tests or make them too brittle. Also, sometimes it is better to create a class for testing rather than to use mocks and stubs.</p>
<p>He also pointed out Ryan Davis&#8217; <a href="http://blog.zenspider.com/archives/2007/04/functional-test-matrix.html">Functional</a> <a href="http://blog.zenspider.com/archives/2007/04/functional-test-matrix-cont-sorta.html">Test</a> <a href="http://blog.zenspider.com/archives/2007/04/functional-test-matrix-a-visualization.html">Matrix</a> which looks quite interesting indeed.</p>
<p><strong>Business Natural Language Ruby Systems</strong> (<a href="http://www.travelistic.com/video/show/7158/Jay-Fields-@-Gotham-Ruby-Conference-2007">video</a>)<br />
<em><a href="http://www.jayfields.com/">Jay Fields</a></em></p>
<p>The idea behind Business Natural Language (BNL) is to put the power of changing business rules into the business expert&#8217;s hands rather than involving software developers for every change. <a href="http://bnl.jayfields.com/">Jay&#8217;s BNL site</a> explains this much better than I can, so I won&#8217;t attempt to go into detail here.</p>
<p>One final note: Having the <a href="http://en.wikipedia.org/wiki/Lightning_Talks">Lightning Talks</a> directly after lunch was a great idea. It can be difficult to stay focused, or awake, during a long presentation after lunch. Short, five minute presentations by different people keep it lively.</p>
<p><em>Technorati tag: <a href="http://technorati.com/tag/goruco2007" rel="tag">goruco2007</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://jpreardon.com/2007/04/21/gotham-ruby-conference/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
