<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
  <channel>
    <title>Railscasts</title>
    <link>http://odeo.com/channels/375163-Railscasts</link>
    <itunes:explicit>no</itunes:explicit>
    <description>Every week you will be treated to a new Railscasts episode featuring tips and tricks with Ruby on Rails, the popular web development framework. These screencasts are short and focus on one technique so you can quickly move on to applying it to your own project. The topics are geared toward the intermediate Rails developer, but beginners and experts will get something out of it as well. This is the full resolution version, an iPod specific format is also available.</description>
    <itunes:summary>Every week you will be treated to a new Railscasts episode featuring tips and tricks with Ruby on Rails, the popular web development framework. These screencasts are short and focus on one technique so you can quickly move on to applying it to your own project. The topics are geared toward the intermediate Rails developer, but beginners and experts will get something out of it as well. This is the full resolution version, an iPod specific format is also available.</itunes:summary>
    <itunes:subtitle>Every week you will be treated to a new Railscasts episode featuring tips and tricks with Ruby on Rails, the popular web development framework. These screencasts are short and focus on one technique so you can quickly move on to applying it to your own project. The topics are geared toward the intermediate Rails developer, but beginners and experts will get something out of it as well. This is the full resolution version, an iPod specific format is also available.</itunes:subtitle>
    <language>en</language>
    <ttl>40</ttl>
    <itunes:image href="http://www.railscasts.com/"/>
    <image url="http://www.railscasts.com/" link="http://odeo.com/channels/375163-Railscasts" title="Railscasts"/>
    <pubDate>Mon, 09 Nov 2009 00:00:00 -0800</pubDate>
    <lastBuildDate>Mon, 09 Nov 2009 00:00:00 -0800</lastBuildDate>
    <category>Software How-To</category>
    <itunes:category text="Technology">
      <itunes:category text="Software How-to"/>
    </itunes:category>
    <item>
      <title>Episode 187: Testing Exceptions</title>
      <link>http://odeo.com/episodes/25424803-Episode-187-Testing-Exceptions</link>
      <description>Sometimes bad code slips into production and triggers a 500 error. Learn how to be notified of this and resolve it through integration tests.</description>
      <itunes:subtitle>Sometimes bad code slips into production and triggers a 500 error. Learn how to be notified of this and resolve it through integration tests.</itunes:subtitle>
      <itunes:summary>Sometimes bad code slips into production and triggers a 500 error. Learn how to be notified of this and resolve it through integration tests.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-11-09,25424803</guid>
      <pubDate>Mon, 09 Nov 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/187_testing_exceptions.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 186: Pickle with Cucumber</title>
      <link>http://odeo.com/episodes/25399906-Episode-186-Pickle-with-Cucumber</link>
      <description>Pickle adds many convenient Cucumber steps for generating models. Also learn about table diffs in this episode.</description>
      <itunes:subtitle>Pickle adds many convenient Cucumber steps for generating models. Also learn about table diffs in this episode.</itunes:subtitle>
      <itunes:summary>Pickle adds many convenient Cucumber steps for generating models. Also learn about table diffs in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-11-02,25399906</guid>
      <pubDate>Mon, 02 Nov 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/186_pickle_with_cucumber.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 185: Formtastic Part 2</title>
      <link>http://odeo.com/episodes/25375082-Episode-185-Formtastic-Part-2</link>
      <description>Learn about some of the more advanced functionality of Formtastic including handling many-to-many associations, required fields, and styling.</description>
      <itunes:subtitle>Learn about some of the more advanced functionality of Formtastic including handling many-to-many associations, required fields, and styling.</itunes:subtitle>
      <itunes:summary>Learn about some of the more advanced functionality of Formtastic including handling many-to-many associations, required fields, and styling.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-26,25375082</guid>
      <pubDate>Mon, 26 Oct 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/185_formtastic_part_2.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 184: Formtastic Part 1</title>
      <link>http://odeo.com/episodes/25311265-Episode-184-Formtastic-Part-1</link>
      <description>Formtastic is a concise way to generate form views. In this episode (part 1 of 2) I show how to generate both a simple form and a more complex one which is customized with options.</description>
      <itunes:subtitle>Formtastic is a concise way to generate form views. In this episode (part 1 of 2) I show how to generate both a simple form and a more complex one which is customized with options.</itunes:subtitle>
      <itunes:summary>Formtastic is a concise way to generate form views. In this episode (part 1 of 2) I show how to generate both a simple form and a more complex one which is customized with options.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-19,25311265</guid>
      <pubDate>Mon, 19 Oct 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/184_formtastic_part_1.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 183: Gemcutter &amp; Jeweler</title>
      <link>http://odeo.com/episodes/25271894-Episode-183-Gemcutter-Jeweler</link>
      <description>Gemcutter is a new service for hosting RubyGems, and Jeweler provides an automated way to release versions of a gem.</description>
      <itunes:subtitle>Gemcutter is a new service for hosting RubyGems, and Jeweler provides an automated way to release versions of a gem.</itunes:subtitle>
      <itunes:summary>Gemcutter is a new service for hosting RubyGems, and Jeweler provides an automated way to release versions of a gem.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-12,25271894</guid>
      <pubDate>Mon, 12 Oct 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/183_gemcutter_and_jeweler.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 182: Cropping Images</title>
      <link>http://odeo.com/episodes/25237482-Episode-182-Cropping-Images</link>
      <description>Present a slick user interface for cropping image attachments using Jcrop and Paperclip.</description>
      <itunes:subtitle>Present a slick user interface for cropping image attachments using Jcrop and Paperclip.</itunes:subtitle>
      <itunes:summary>Present a slick user interface for cropping image attachments using Jcrop and Paperclip.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-10-05,25237482</guid>
      <pubDate>Mon, 05 Oct 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/182_cropping_images.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 181: Include vs Joins</title>
      <link>http://odeo.com/episodes/25197686-Episode-181-Include-vs-Joins</link>
      <description>The :include and :joins options for the find method can be a little confusing because they are so similar. In this episode I show specifically when to use which option.</description>
      <itunes:subtitle>The :include and :joins options for the find method can be a little confusing because they are so similar. In this episode I show specifically when to use which option.</itunes:subtitle>
      <itunes:summary>The :include and :joins options for the find method can be a little confusing because they are so similar. In this episode I show specifically when to use which option.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-28,25197686</guid>
      <pubDate>Mon, 28 Sep 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/181_include_vs_joins.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 180: Finding Unused CSS</title>
      <link>http://odeo.com/episodes/25158213-Episode-180-Finding-Unused-CSS</link>
      <description>Over time a CSS file can become large and filled with unused selectors. In this episode I show how to use the Deadweight gem to determine which CSS selects you can remove.</description>
      <itunes:subtitle>Over time a CSS file can become large and filled with unused selectors. In this episode I show how to use the Deadweight gem to determine which CSS selects you can remove.</itunes:subtitle>
      <itunes:summary>Over time a CSS file can become large and filled with unused selectors. In this episode I show how to use the Deadweight gem to determine which CSS selects you can remove.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-21,25158213</guid>
      <pubDate>Mon, 21 Sep 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/180_finding_unused_css.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 179: Seed Data</title>
      <link>http://odeo.com/episodes/25122229-Episode-179-Seed-Data</link>
      <description>Rails 2.3.4 includes a conventional way to add seed data to your application - no more including it in the migration files.</description>
      <itunes:subtitle>Rails 2.3.4 includes a conventional way to add seed data to your application - no more including it in the migration files.</itunes:subtitle>
      <itunes:summary>Rails 2.3.4 includes a conventional way to add seed data to your application - no more including it in the migration files.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-14,25122229</guid>
      <pubDate>Mon, 14 Sep 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/179_seed_data.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 178: 7 Security Tips</title>
      <link>http://odeo.com/episodes/25084217-Episode-178-7-Security-Tips</link>
      <description>Security is important! Here I show seven different security flaws which are common to Rails applications ranging from mass assignment to CSRF protection.</description>
      <itunes:subtitle>Security is important! Here I show seven different security flaws which are common to Rails applications ranging from mass assignment to CSRF protection.</itunes:subtitle>
      <itunes:summary>Security is important! Here I show seven different security flaws which are common to Rails applications ranging from mass assignment to CSRF protection.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-09-07,25084217</guid>
      <pubDate>Mon, 07 Sep 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/178_seven_security_tips.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 177: Model Versioning</title>
      <link>http://odeo.com/episodes/25048742-Episode-177-Model-Versioning</link>
      <description>If you need to keep track of a model's history of changes and switch between versions, consider using the vistal_versions gem like I show in this episode.</description>
      <itunes:subtitle>If you need to keep track of a model's history of changes and switch between versions, consider using the vistal_versions gem like I show in this episode.</itunes:subtitle>
      <itunes:summary>If you need to keep track of a model's history of changes and switch between versions, consider using the vistal_versions gem like I show in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-31,25048742</guid>
      <pubDate>Mon, 31 Aug 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/177_model_versioning.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 176: Searchlogic</title>
      <link>http://odeo.com/episodes/25011481-Episode-176-Searchlogic</link>
      <description>Searchlogic makes searching models easier than ever with its assortment of named scopes. In this episode I show you how to create simple and advanced searches.</description>
      <itunes:subtitle>Searchlogic makes searching models easier than ever with its assortment of named scopes. In this episode I show you how to create simple and advanced searches.</itunes:subtitle>
      <itunes:summary>Searchlogic makes searching models easier than ever with its assortment of named scopes. In this episode I show you how to create simple and advanced searches.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-24,25011481</guid>
      <pubDate>Mon, 24 Aug 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/176_searchlogic.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 175: AJAX History and Bookmarks</title>
      <link>http://odeo.com/episodes/24973269-Episode-175-AJAX-History-and-Bookmarks</link>
      <description>Browser page history and bookmarks do not usually work with AJAX requests, but in this episode I show you how to remedy this problem using a simple jQuery plugin.</description>
      <itunes:subtitle>Browser page history and bookmarks do not usually work with AJAX requests, but in this episode I show you how to remedy this problem using a simple jQuery plugin.</itunes:subtitle>
      <itunes:summary>Browser page history and bookmarks do not usually work with AJAX requests, but in this episode I show you how to remedy this problem using a simple jQuery plugin.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-17,24973269</guid>
      <pubDate>Mon, 17 Aug 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/175_ajax_bookmarks_and_history.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 174: Pagination with AJAX</title>
      <link>http://odeo.com/episodes/24935287-Episode-174-Pagination-with-AJAX</link>
      <description>Learn an easy, unobtrusive way to add AJAX functionality to an existing set of pagination links using jQuery.</description>
      <itunes:subtitle>Learn an easy, unobtrusive way to add AJAX functionality to an existing set of pagination links using jQuery.</itunes:subtitle>
      <itunes:summary>Learn an easy, unobtrusive way to add AJAX functionality to an existing set of pagination links using jQuery.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-10,24935287</guid>
      <pubDate>Mon, 10 Aug 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/174_pagination_with_ajax.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 173: Screen Scraping with ScrAPI</title>
      <link>http://odeo.com/episodes/24902010-Episode-173-Screen-Scraping-with-ScrAPI</link>
      <description>Screen scraping is not pretty, but sometimes it's your only option to extract content from an external site. In this episode I show you how to fetch product prices using ScrAPI.</description>
      <itunes:subtitle>Screen scraping is not pretty, but sometimes it's your only option to extract content from an external site. In this episode I show you how to fetch product prices using ScrAPI.</itunes:subtitle>
      <itunes:summary>Screen scraping is not pretty, but sometimes it's your only option to extract content from an external site. In this episode I show you how to fetch product prices using ScrAPI.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-08-03,24902010</guid>
      <pubDate>Mon, 03 Aug 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/173_screen_scraping_with_scrapi.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 172: Touch and Cache</title>
      <link>http://odeo.com/episodes/24868858-Episode-172-Touch-and-Cache</link>
      <description>Rails 2.3.3 brings us a new feature called "touch". See how to use this to auto-expire associated caches in this episode.</description>
      <itunes:subtitle>Rails 2.3.3 brings us a new feature called "touch". See how to use this to auto-expire associated caches in this episode.</itunes:subtitle>
      <itunes:summary>Rails 2.3.3 brings us a new feature called "touch". See how to use this to auto-expire associated caches in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-27,24868858</guid>
      <pubDate>Mon, 27 Jul 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/172_touch_and_cache.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 171: Delayed Job</title>
      <link>http://odeo.com/episodes/24831828-Episode-171-Delayed-Job</link>
      <description>Is there a long running task which should be handled in the background? One of the best ways is using the delayed_job plugin like I show in this episode.</description>
      <itunes:subtitle>Is there a long running task which should be handled in the background? One of the best ways is using the delayed_job plugin like I show in this episode.</itunes:subtitle>
      <itunes:summary>Is there a long running task which should be handled in the background? One of the best ways is using the delayed_job plugin like I show in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-20,24831828</guid>
      <pubDate>Mon, 20 Jul 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/171_delayed_job.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 170: OpenID with Authlogic</title>
      <link>http://odeo.com/episodes/24792361-Episode-170-OpenID-with-Authlogic</link>
      <description>Learn how to apply OpenID to an existing Authlogic setup as I show in this episode. This builds upon the app from episode 160.</description>
      <itunes:subtitle>Learn how to apply OpenID to an existing Authlogic setup as I show in this episode. This builds upon the app from episode 160.</itunes:subtitle>
      <itunes:summary>Learn how to apply OpenID to an existing Authlogic setup as I show in this episode. This builds upon the app from episode 160.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-13,24792361</guid>
      <pubDate>Mon, 13 Jul 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/170_openid_with_authlogic.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 169: Dynamic Page Caching</title>
      <link>http://odeo.com/episodes/24746659-Episode-169-Dynamic-Page-Caching</link>
      <description>Use JavaScript to allow dynamic content in a page cache. In this episode I show you how to insert the user-specific content into a page through JavaScript.</description>
      <itunes:subtitle>Use JavaScript to allow dynamic content in a page cache. In this episode I show you how to insert the user-specific content into a page through JavaScript.</itunes:subtitle>
      <itunes:summary>Use JavaScript to allow dynamic content in a page cache. In this episode I show you how to insert the user-specific content into a page through JavaScript.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-07-06,24746659</guid>
      <pubDate>Mon, 06 Jul 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/169_dynamic_page_caching.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 168: Feed Parsing</title>
      <link>http://odeo.com/episodes/24744734-Episode-168-Feed-Parsing</link>
      <description>Learn two different techniques for parsing an RSS feed using Feedzirra in this episode!</description>
      <itunes:subtitle>Learn two different techniques for parsing an RSS feed using Feedzirra in this episode!</itunes:subtitle>
      <itunes:summary>Learn two different techniques for parsing an RSS feed using Feedzirra in this episode!</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-29,24744734</guid>
      <pubDate>Mon, 29 Jun 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/168_feed_parsing.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 167: More on Virtual Attributes</title>
      <link>http://odeo.com/episodes/24744735-Episode-167-More-on-Virtual-Attributes</link>
      <description>Use a virtual attribute to implement a simple tagging feature. In this episode I show you how to assign virtual attributes through a callback instead of a setter method.</description>
      <itunes:subtitle>Use a virtual attribute to implement a simple tagging feature. In this episode I show you how to assign virtual attributes through a callback instead of a setter method.</itunes:subtitle>
      <itunes:summary>Use a virtual attribute to implement a simple tagging feature. In this episode I show you how to assign virtual attributes through a callback instead of a setter method.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-22,24744735</guid>
      <pubDate>Mon, 22 Jun 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/167_more_on_virtual_attributes.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 166: Metric Fu</title>
      <link>http://odeo.com/episodes/24705692-Episode-166-Metric-Fu</link>
      <description>Metric Fu is a compilation of several tools to help find areas of code that could be improved. In this episode I show you how to setup this tool on the railscasts.com source code.</description>
      <itunes:subtitle>Metric Fu is a compilation of several tools to help find areas of code that could be improved. In this episode I show you how to setup this tool on the railscasts.com source code.</itunes:subtitle>
      <itunes:summary>Metric Fu is a compilation of several tools to help find areas of code that could be improved. In this episode I show you how to setup this tool on the railscasts.com source code.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-15,24705692</guid>
      <pubDate>Mon, 15 Jun 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/166_metric_fu.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 165: Edit Multiple</title>
      <link>http://odeo.com/episodes/24665318-Episode-165-Edit-Multiple</link>
      <description>Use checkboxes to select multiple records and edit them all in one form as shown in this episode. With virtual attributes you can even edit values relatively!</description>
      <itunes:subtitle>Use checkboxes to select multiple records and edit them all in one form as shown in this episode. With virtual attributes you can even edit values relatively!</itunes:subtitle>
      <itunes:summary>Use checkboxes to select multiple records and edit them all in one form as shown in this episode. With virtual attributes you can even edit values relatively!</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-08,24665318</guid>
      <pubDate>Mon, 08 Jun 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/165_edit_multiple.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 164: Cron in Ruby</title>
      <link>http://odeo.com/episodes/24635412-Episode-164-Cron-in-Ruby</link>
      <description>Cron is great for handling recurring tasks, but it is an external dependency with a crazy syntax. In this episode I show you how to use Whenever to create cron jobs with Ruby.</description>
      <itunes:subtitle>Cron is great for handling recurring tasks, but it is an external dependency with a crazy syntax. In this episode I show you how to use Whenever to create cron jobs with Ruby.</itunes:subtitle>
      <itunes:summary>Cron is great for handling recurring tasks, but it is an external dependency with a crazy syntax. In this episode I show you how to use Whenever to create cron jobs with Ruby.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-06-01,24635412</guid>
      <pubDate>Mon, 01 Jun 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/164_cron_in_ruby.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 163: Self-Referential Association</title>
      <link>http://odeo.com/episodes/24604951-Episode-163-Self-Referential-Association</link>
      <description>Creating a social networking site often requires a self-referential association on the User model to define friends/followers. In this episode I show how to do exactly that.</description>
      <itunes:subtitle>Creating a social networking site often requires a self-referential association on the User model to define friends/followers. In this episode I show how to do exactly that.</itunes:subtitle>
      <itunes:summary>Creating a social networking site often requires a self-referential association on the User model to define friends/followers. In this episode I show how to do exactly that.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-05-25,24604951</guid>
      <pubDate>Mon, 25 May 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/163_self_referential_association.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 162: Tree Based Navigation</title>
      <link>http://odeo.com/episodes/24575293-Episode-162-Tree-Based-Navigation</link>
      <description>The acts_as_tree plugin provides many methods for handling a tree based association. In this episode I show how to build a navigation system with tabs, subpages, and breadcrumbs.</description>
      <itunes:subtitle>The acts_as_tree plugin provides many methods for handling a tree based association. In this episode I show how to build a navigation system with tabs, subpages, and breadcrumbs.</itunes:subtitle>
      <itunes:summary>The acts_as_tree plugin provides many methods for handling a tree based association. In this episode I show how to build a navigation system with tabs, subpages, and breadcrumbs.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-05-18,24575293</guid>
      <pubDate>Mon, 18 May 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/162_tree_based_navigation.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 161: Three Profiling Tools</title>
      <link>http://odeo.com/episodes/24550440-Episode-161-Three-Profiling-Tools</link>
      <description>Ever want to know what Rails is doing under the hood during a request? In this episode I show three different profiling tools: New Relic RPM, FiveRuns TuneUp, and Rack::Bug.</description>
      <itunes:subtitle>Ever want to know what Rails is doing under the hood during a request? In this episode I show three different profiling tools: New Relic RPM, FiveRuns TuneUp, and Rack::Bug.</itunes:subtitle>
      <itunes:summary>Ever want to know what Rails is doing under the hood during a request? In this episode I show three different profiling tools: New Relic RPM, FiveRuns TuneUp, and Rack::Bug.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-05-11,24550440</guid>
      <pubDate>Mon, 11 May 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/161_three_profiling_tools.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 160: Authlogic</title>
      <link>http://odeo.com/episodes/24534464-Episode-160-Authlogic</link>
      <description>Authentication can get very complex. In this episode I show how Authlogic can handle this complexity while you stay in control of how it is presented to the user.</description>
      <itunes:subtitle>Authentication can get very complex. In this episode I show how Authlogic can handle this complexity while you stay in control of how it is presented to the user.</itunes:subtitle>
      <itunes:summary>Authentication can get very complex. In this episode I show how Authlogic can handle this complexity while you stay in control of how it is presented to the user.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-05-04,24534464</guid>
      <pubDate>Mon, 04 May 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/160_authlogic.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 159: More on Cucumber</title>
      <link>http://odeo.com/episodes/24507686-Episode-159-More-on-Cucumber</link>
      <description>There is a lot more to Cucumber than I showed in an earlier episode. See how to refactor complex scenarios in this episode.</description>
      <itunes:subtitle>There is a lot more to Cucumber than I showed in an earlier episode. See how to refactor complex scenarios in this episode.</itunes:subtitle>
      <itunes:summary>There is a lot more to Cucumber than I showed in an earlier episode. See how to refactor complex scenarios in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-04-27,24507686</guid>
      <pubDate>Mon, 27 Apr 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/159_more_on_cucumber.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 158: Factories not Fixtures</title>
      <link>http://odeo.com/episodes/25375083-Episode-158-Factories-not-Fixtures</link>
      <description>Fixtures are external dependencies which can make tests brittle and difficult to read. In this episode I show a better alternative using factories to generate the needed records.</description>
      <itunes:subtitle>Fixtures are external dependencies which can make tests brittle and difficult to read. In this episode I show a better alternative using factories to generate the needed records.</itunes:subtitle>
      <itunes:summary>Fixtures are external dependencies which can make tests brittle and difficult to read. In this episode I show a better alternative using factories to generate the needed records.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-04-20,25375083</guid>
      <pubDate>Mon, 20 Apr 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/158_factories_not_fixtures.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 158: Factories not Fixtures</title>
      <link>http://odeo.com/episodes/24471741-Episode-158-Factories-not-Fixtures</link>
      <description>Fixtures are external dependencies which can make tests brittle and difficult to read. In this episode I show a better alternative using factories to generate the needed records.</description>
      <itunes:subtitle>Fixtures are external dependencies which can make tests brittle and difficult to read. In this episode I show a better alternative using factories to generate the needed records.</itunes:subtitle>
      <itunes:summary>Fixtures are external dependencies which can make tests brittle and difficult to read. In this episode I show a better alternative using factories to generate the needed records.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-04-19,24471741</guid>
      <pubDate>Sun, 19 Apr 2009 23:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/158_factories_not_fixtures.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 157: RSpec Matchers &amp; Macros</title>
      <link>http://odeo.com/episodes/25375084-Episode-157-RSpec-Matchers-Macros</link>
      <description>You can improve the readability and remove duplication in RSpec by adding matchers and macros. Learn how in this episode.</description>
      <itunes:subtitle>You can improve the readability and remove duplication in RSpec by adding matchers and macros. Learn how in this episode.</itunes:subtitle>
      <itunes:summary>You can improve the readability and remove duplication in RSpec by adding matchers and macros. Learn how in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-04-13,25375084</guid>
      <pubDate>Mon, 13 Apr 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/157_rspec_matchers_and_macros.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 157: RSpec Matchers &amp; Macros</title>
      <link>http://odeo.com/episodes/24439285-Episode-157-RSpec-Matchers-Macros</link>
      <description>You can improve the readability and remove duplication in RSpec by adding matchers and macros. Learn how in this episode.</description>
      <itunes:subtitle>You can improve the readability and remove duplication in RSpec by adding matchers and macros. Learn how in this episode.</itunes:subtitle>
      <itunes:summary>You can improve the readability and remove duplication in RSpec by adding matchers and macros. Learn how in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-04-12,24439285</guid>
      <pubDate>Sun, 12 Apr 2009 23:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/157_rspec_matchers_and_macros.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 156: Webrat</title>
      <link>http://odeo.com/episodes/25375085-Episode-156-Webrat</link>
      <description>If you prefer writing integration tests in ruby instead of Cucumber's plain english, consider interacting with Webrat directly as I show in this episode.</description>
      <itunes:subtitle>If you prefer writing integration tests in ruby instead of Cucumber's plain english, consider interacting with Webrat directly as I show in this episode.</itunes:subtitle>
      <itunes:summary>If you prefer writing integration tests in ruby instead of Cucumber's plain english, consider interacting with Webrat directly as I show in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-04-06,25375085</guid>
      <pubDate>Mon, 06 Apr 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/156_webrat.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 156: Webrat</title>
      <link>http://odeo.com/episodes/24414049-Episode-156-Webrat</link>
      <description>If you prefer writing integration tests in ruby instead of Cucumber's plain english, consider interacting with Webrat directly as I show in this episode.</description>
      <itunes:subtitle>If you prefer writing integration tests in ruby instead of Cucumber's plain english, consider interacting with Webrat directly as I show in this episode.</itunes:subtitle>
      <itunes:summary>If you prefer writing integration tests in ruby instead of Cucumber's plain english, consider interacting with Webrat directly as I show in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-04-05,24414049</guid>
      <pubDate>Sun, 05 Apr 2009 23:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/156_webrat.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 155: Beginning with Cucumber</title>
      <link>http://odeo.com/episodes/25375086-Episode-155-Beginning-with-Cucumber</link>
      <description>Cucumber is a high-level testing framework. In this episode we will create a new Rails application from scratch using behavior driven development.</description>
      <itunes:subtitle>Cucumber is a high-level testing framework. In this episode we will create a new Rails application from scratch using behavior driven development.</itunes:subtitle>
      <itunes:summary>Cucumber is a high-level testing framework. In this episode we will create a new Rails application from scratch using behavior driven development.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-30,25375086</guid>
      <pubDate>Mon, 30 Mar 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/155_beginning_with_cucumber.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 155: Beginning with Cucumber</title>
      <link>http://odeo.com/episodes/24388278-Episode-155-Beginning-with-Cucumber</link>
      <description>Cucumber is a high-level testing framework. In this episode we will create a new Rails application from scratch using behavior driven development.</description>
      <itunes:subtitle>Cucumber is a high-level testing framework. In this episode we will create a new Rails application from scratch using behavior driven development.</itunes:subtitle>
      <itunes:summary>Cucumber is a high-level testing framework. In this episode we will create a new Rails application from scratch using behavior driven development.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-29,24388278</guid>
      <pubDate>Sun, 29 Mar 2009 23:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/155_beginning_with_cucumber.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 154: Polymorphic Association</title>
      <link>http://odeo.com/episodes/25375087-Episode-154-Polymorphic-Association</link>
      <description>Polymorphic associations can be perplexing. In this episode I show you how to set it up in Active Record and then move to the controller and view layer.</description>
      <itunes:subtitle>Polymorphic associations can be perplexing. In this episode I show you how to set it up in Active Record and then move to the controller and view layer.</itunes:subtitle>
      <itunes:summary>Polymorphic associations can be perplexing. In this episode I show you how to set it up in Active Record and then move to the controller and view layer.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-23,25375087</guid>
      <pubDate>Mon, 23 Mar 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/154_polymorphic_association.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 154: Polymorphic Association</title>
      <link>http://odeo.com/episodes/24345969-Episode-154-Polymorphic-Association</link>
      <description>Polymorphic associations can be perplexing. In this episode I show you how to set it up in Active Record and then move to the controller and view layer.</description>
      <itunes:subtitle>Polymorphic associations can be perplexing. In this episode I show you how to set it up in Active Record and then move to the controller and view layer.</itunes:subtitle>
      <itunes:summary>Polymorphic associations can be perplexing. In this episode I show you how to set it up in Active Record and then move to the controller and view layer.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-22,24345969</guid>
      <pubDate>Sun, 22 Mar 2009 23:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/154_polymorphic_association.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 153: PDFs with Prawn</title>
      <link>http://odeo.com/episodes/25375088-Episode-153-PDFs-with-Prawn</link>
      <description>Prawn is an excellent Ruby library for generating PDF documents. Learn how to use it along with the Prawnto plugin in this episode.</description>
      <itunes:subtitle>Prawn is an excellent Ruby library for generating PDF documents. Learn how to use it along with the Prawnto plugin in this episode.</itunes:subtitle>
      <itunes:summary>Prawn is an excellent Ruby library for generating PDF documents. Learn how to use it along with the Prawnto plugin in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-16,25375088</guid>
      <pubDate>Mon, 16 Mar 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/153_pdfs_with_prawn.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 153: PDFs with Prawn</title>
      <link>http://odeo.com/episodes/24311507-Episode-153-PDFs-with-Prawn</link>
      <description>Prawn is an excellent Ruby library for generating PDF documents. Learn how to use it along with the Prawnto plugin in this episode.</description>
      <itunes:subtitle>Prawn is an excellent Ruby library for generating PDF documents. Learn how to use it along with the Prawnto plugin in this episode.</itunes:subtitle>
      <itunes:summary>Prawn is an excellent Ruby library for generating PDF documents. Learn how to use it along with the Prawnto plugin in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-15,24311507</guid>
      <pubDate>Sun, 15 Mar 2009 23:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/153_pdfs_with_prawn.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 152: Rails 2.3 Extras</title>
      <link>http://odeo.com/episodes/25375089-Episode-152-Rails-2-3-Extras</link>
      <description>This episode finishes up this series on Rails 2.3. Here you will learn about several smaller additions in 2.3.</description>
      <itunes:subtitle>This episode finishes up this series on Rails 2.3. Here you will learn about several smaller additions in 2.3.</itunes:subtitle>
      <itunes:summary>This episode finishes up this series on Rails 2.3. Here you will learn about several smaller additions in 2.3.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-09,25375089</guid>
      <pubDate>Mon, 09 Mar 2009 00:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/152_rails_2_3_extras.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 152: Rails 2.3 Extras</title>
      <link>http://odeo.com/episodes/24276570-Episode-152-Rails-2-3-Extras</link>
      <description>This episode finishes up this series on Rails 2.3. Here you will learn about several smaller additions in 2.3.</description>
      <itunes:subtitle>This episode finishes up this series on Rails 2.3. Here you will learn about several smaller additions in 2.3.</itunes:subtitle>
      <itunes:summary>This episode finishes up this series on Rails 2.3. Here you will learn about several smaller additions in 2.3.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-08,24276570</guid>
      <pubDate>Sun, 08 Mar 2009 23:00:00 -0700</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/152_rails_2_3_extras.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 151: Rack Middleware</title>
      <link>http://odeo.com/episodes/24246693-Episode-151-Rack-Middleware</link>
      <description>Rack middleware is a way to filter a request and response coming into your application. In this episode I show how to modify the response body using middleware.</description>
      <itunes:subtitle>Rack middleware is a way to filter a request and response coming into your application. In this episode I show how to modify the response body using middleware.</itunes:subtitle>
      <itunes:summary>Rack middleware is a way to filter a request and response coming into your application. In this episode I show how to modify the response body using middleware.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-03-02,24246693</guid>
      <pubDate>Mon, 02 Mar 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/151_rack_middleware.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 150: Rails Metal</title>
      <link>http://odeo.com/episodes/24160397-Episode-150-Rails-Metal</link>
      <description>Rails Metal is a way to bypass the standard Rails request process for a performance boost. In this episode you will learn how to shave off a few milliseconds using Metal.</description>
      <itunes:subtitle>Rails Metal is a way to bypass the standard Rails request process for a performance boost. In this episode you will learn how to shave off a few milliseconds using Metal.</itunes:subtitle>
      <itunes:summary>Rails Metal is a way to bypass the standard Rails request process for a performance boost. In this episode you will learn how to shave off a few milliseconds using Metal.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-02-23,24160397</guid>
      <pubDate>Mon, 23 Feb 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/150_rails_metal.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 149: Rails Engines</title>
      <link>http://odeo.com/episodes/24109630-Episode-149-Rails-Engines</link>
      <description>Rails 2.3 brings us much of the same functionality as the Rails Engines plugin. Learn how to embed one application into another in this episode.</description>
      <itunes:subtitle>Rails 2.3 brings us much of the same functionality as the Rails Engines plugin. Learn how to embed one application into another in this episode.</itunes:subtitle>
      <itunes:summary>Rails 2.3 brings us much of the same functionality as the Rails Engines plugin. Learn how to embed one application into another in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-02-16,24109630</guid>
      <pubDate>Mon, 16 Feb 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/149_rails_engines.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 148: App Templates in Rails 2.3</title>
      <link>http://odeo.com/episodes/24058218-Episode-148-App-Templates-in-Rails-2-3</link>
      <description>In Rails 2.3 you can provide a template when generating a new Rails application. See how in this episode.</description>
      <itunes:subtitle>In Rails 2.3 you can provide a template when generating a new Rails application. See how in this episode.</itunes:subtitle>
      <itunes:summary>In Rails 2.3 you can provide a template when generating a new Rails application. See how in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-02-09,24058218</guid>
      <pubDate>Mon, 09 Feb 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/148_app_templates_in_rails_2_3.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 147: Sortable Lists</title>
      <link>http://odeo.com/episodes/24014286-Episode-147-Sortable-Lists</link>
      <description>Creating drag &amp; drop sortable lists is fairly easy using Prototype and the built in helper methods. See how in this episode.</description>
      <itunes:subtitle>Creating drag &amp; drop sortable lists is fairly easy using Prototype and the built in helper methods. See how in this episode.</itunes:subtitle>
      <itunes:summary>Creating drag &amp; drop sortable lists is fairly easy using Prototype and the built in helper methods. See how in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-02-02,24014286</guid>
      <pubDate>Mon, 02 Feb 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/147_sortable_lists.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 146: PayPal Express Checkout</title>
      <link>http://odeo.com/episodes/23944446-Episode-146-PayPal-Express-Checkout</link>
      <description>PayPal Express Checkout is easy to add to an existing ordering system. See how in this episode.</description>
      <itunes:subtitle>PayPal Express Checkout is easy to add to an existing ordering system. See how in this episode.</itunes:subtitle>
      <itunes:summary>PayPal Express Checkout is easy to add to an existing ordering system. See how in this episode.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-01-26,23944446</guid>
      <pubDate>Mon, 26 Jan 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/146_paypal_express_checkout.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
    <item>
      <title>Episode 145: Integrating Active Merchant</title>
      <link>http://odeo.com/episodes/23900883-Episode-145-Integrating-Active-Merchant</link>
      <description>In this episode I show how to add Active Merchant's functionality to a Rails application to make a fully-functional checkout process.</description>
      <itunes:subtitle>In this episode I show how to add Active Merchant's functionality to a Rails application to make a fully-functional checkout process.</itunes:subtitle>
      <itunes:summary>In this episode I show how to add Active Merchant's functionality to a Rails application to make a fully-functional checkout process.</itunes:summary>
      <guid isPermaLink="false">tag:odeo.com,2009-01-19,23900883</guid>
      <pubDate>Mon, 19 Jan 2009 00:00:00 -0800</pubDate>
      <itunes:explicit>no</itunes:explicit>
      <enclosure type="video/quicktime" url="http://media.railscasts.com/videos/145_integrating_active_merchant.mov"/>
      <itunes:author>Railscasts</itunes:author>
    </item>
  </channel>
</rss>
