<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/stylesheets/rss.css" type="text/css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Yup Dot Com: Category Ruby on Rails</title>
    <link>http://www.yup.com/articles/category/ruby-on-rails</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Advanced Web Services</description>
    <item>
      <title>No Reservations about Keywords in Ruby on Rails</title>
      <description>&lt;p&gt;&lt;img src="http://farm1.static.flickr.com/66/164496756_e8f8a16a87_m.jpg" style="margin: 4px; padding: 4px; float: right; border: 1px dotted #ccc;" alt="Thesaurus" /&gt;&lt;/p&gt;

&lt;p&gt;Have you ever had the urge to name a data model in your Ruby on Rails application something obvious, like Action, Table, File, Columns, or Database? Well, don&amp;#8217;t. Choosing a name like that might work for you in some cases, but it might fail miserably for someone else using a different database engine (i.e., MySQL verses PostgreSQL verses Oracle). &lt;/p&gt;

&lt;p&gt;Think you can remember all the problematic names? Think again. There are at least 974 known keywords which can give you problems. I started with the &lt;a href="http://wiki.rubyonrails.com/rails/pages/ReservedWords"&gt;ReservedWords&lt;/a&gt; pages on the Ruby on Rails Wiki, and pulled in and merged all the SQL-92, SQL-99, SQL-2003, PostgreSQL, MySQL, SQL Server and ODBC reserved keywords, and put them in one place, mainly for my own future reference.&lt;/p&gt;

&lt;p&gt;So what if your data models are about Databases, Tables, Columns, and Files? Simply think of a Good Prefix&amp;trade;, and name all your models accordingly: DaDatabase, DaTable, DaColumn, and DaFile, with resulting table named da_databases, da_tables, da_columns, and da_files. It&amp;#8217;s easy, painless, and helps you group similarly-purposed tables and models accordingly, and you don&amp;#8217;t have to wrack your brains thinking of synonyms for obvious model names like &amp;#8220;Action&amp;#8221;. I use Geo- for location-oriented data, Sys- for System-oriented tables, Log- for transactions, and App- for application-oriented tables.&lt;/p&gt;

&lt;p&gt;Read on to see the full list &amp;#8230; &lt;/p&gt;</description>
      <pubDate>Wed, 31 Jan 2007 16:05:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:5b1515c6-c759-4a7a-9e4e-856732447d0b</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2007/01/31/no-reservations-about-keywords-in-ruby-on-rails</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Better Subversion External Branch Management with Piston</title>
      <description>&lt;p&gt;&lt;img style="float: right; margin: 4px; padding: 4px; border: 1px dotted #ccc;" src="http://static.flickr.com/53/167075855_2bf474f73f_m.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;Subversion exports can be difficult to manage in your Ruby on Rails application, especially if you want to make local changes to a vendor-supplied plugin that shouldn&amp;#8217;t really be applied back to that vendor&amp;#8217;s trunk (or cannot be). Another reason to keep the vendor&amp;#8217;s code checked into your own tree, is that you&amp;#8217;ll be able to better see changes to the vendor&amp;#8217;s code as they happen and assess the impact on your own code, as well as audit vendor changes that break your application in some way. Externals cannot provide such a safety net. So, into the cylinder of Rails plugins enters Piston by François Beausoleil of Sherbrooke, Québec, Canada. His description:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Piston is a utility that eases vendor branch management. This is similar to &lt;code&gt;svn:externals&lt;/code&gt;, except you have a local copy of the files, which you can modify at will. As long as the changes are mergeable, you should have no problems.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Watch him demonstrate its usage:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_default "&gt;$ piston import http://dev.rubyonrails.org/svn/rails/trunk vendor/rails
Exported r4720 from 'http://dev.rubyonrails.org/svn/rails/trunk' to 'vendor/rails'
$ svn commit -m &amp;quot;Importing local copy of Rails&amp;quot;
$ piston update vendor/rails
Updated 'vendor/rails' to r4720.
$ svn commit -m &amp;quot;Updates vendor/rails to the latest revision&amp;quot;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;As a bonus feature, you can lock piston-gripped trees with &lt;code&gt;piston lock&lt;/code&gt; to prevent subversion from updating past a specific vendor&amp;#8217;s revision that works with your application. Nice work, François.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://piston.rubyforge.org/"&gt;Piston @ RubyForge&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 01 Nov 2006 20:59:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:c411d003-fa9d-41f6-a0b2-24e7a468ff3d</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/11/01/better-subversion-external-branch-management-with-piston</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Rails Plugins Made Even Easier with RaPT</title>
      <description>&lt;p&gt;Wow, can discovering and installing helpful Rails plugins get any simpler than this?&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_shell "&gt;$ gem install rapt
Successfully installed rapt-0.2.1
$ rapt search &amp;quot;full text search&amp;quot;
Active Search
  Info: http://www.agilewebdevelopment.com/plugins/show/22
  Install: http://julik.textdriven.com/svn/tools/rails_plugins/simple_search
Indexed search engine
  Info: http://www.agilewebdevelopment.com/plugins/show/63
  Install: http://langwell-ball.com/svn/indexed-search/trunk/indexed_search_engine/
Acts as Ferret
  Info: http://www.agilewebdevelopment.com/plugins/show/83
  Install: svn://projects.jkraemer.net/acts_as_ferret/trunk/plugin/acts_as_ferret
Searchable
  Info: http://www.agilewebdevelopment.com/plugins/show/236
  Install: http://svn.mojodna.net/repository/acts_as_searchable/trunk
Query Analyzer
  Info: http://www.agilewebdevelopment.com/plugins/show/392
  Install: http://svn.nfectio.us/plugins/query_analyzer
acts_as_solr
  Info: http://www.agilewebdevelopment.com/plugins/show/400
  Install: http://opensvn.csie.org/thiago/rails/plugins/acts_as_solr/
ExceptionTextable
  Info: http://www.agilewebdevelopment.com/plugins/show/268
  Install: http://svn.pinds.com/rails/plugins/exception_textable/
FCKeditor
  Info: http://www.agilewebdevelopment.com/plugins/show/369
  Install: svn://rubyforge.org//var/svn/fckeditorp/trunk/fckeditor
$ rapt install http://opensvn.csie.org/thiago/rails/plugins/acts_as_slr/
+ ./acts_as_solr/CHANGE_LOG
+ ./acts_as_solr/README
+ ./acts_as_solr/init.rb
+ ./acts_as_solr/install.rb
+ ./acts_as_solr/lib/acts_as_solr.rb
+ ./acts_as_solr/lib/templates/solr.yml
+ ./acts_as_solr/schema.xml&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;All made possible by Ben Curtis&amp;#8217; RaPT tool and the &lt;a href="http://www.agilewebdevelopment.com/plugins"&gt;Rails Plugin Directory&lt;/a&gt;. Thanks, Ben!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.bencurtis.com/archives/2006/10/search-for-rails-plugins/"&gt;Ben&amp;#8217;s Blog Entry on RaPT&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://rapt.rubyforge.org/"&gt;RaPT @ RubyForge&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Fri, 27 Oct 2006 11:08:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:c4e91aef-8c8d-4fe2-a79e-85162e0dc296</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/10/27/rails-plugins-made-even-easier-with-rapt</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Ruby FlexImage Plugin Now Especially Effective</title>
      <description>&lt;p&gt;&lt;img src="http://static.flickr.com/2/1606009_13860efa16_m.jpg" style="border: 1px dotted #ccc; margin: 4px; padding: 4px; float: right" /&gt;Alex Wayne has updated his FlexImage plugin for Ruby on Rails, and it now allows for all sorts of special effects such as translucent overlays, drop shadows, and borders, in addition to its existing image processing capabilities.  The plugin is described as:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;&amp;#8220;FlexImage is a plugin that allows you to put image data in your database And retrieve at any size, qulaity or cropping you like. Combine this with page caching and you have a fast and easy way to manage large numbers of uploaded images that are always just the right size for your needs.&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As an example, an image can be resized with an added drop shadow with the following snippet:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="ident"&gt;flex_image&lt;/span&gt;  &lt;span class="symbol"&gt;:action&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="punct"&gt;'&lt;/span&gt;&lt;span class="string"&gt;show&lt;/span&gt;&lt;span class="punct"&gt;',&lt;/span&gt;
            &lt;span class="symbol"&gt;:class&lt;/span&gt;  &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="constant"&gt;MyImage&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt;
            &lt;span class="symbol"&gt;:size&lt;/span&gt;   &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;200&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt;
            &lt;span class="symbol"&gt;:crop&lt;/span&gt;   &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="constant"&gt;true&lt;/span&gt;&lt;span class="punct"&gt;,&lt;/span&gt;
            &lt;span class="symbol"&gt;:shadow&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="constant"&gt;true&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Thanks, Alex!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://beautifulpixel.com/articles/2006/10/26/flex-image-now-has-special-effects"&gt;Alex&amp;#8217;s Blog Posting&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://beautifulpixel.com/flex_image/index.html"&gt;FlexImage API Documentation&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.agilewebdevelopment.com/plugins/fleximage"&gt;FlexImage at the Ruby Plugins Directory&lt;/a&gt;  &lt;/p&gt;</description>
      <pubDate>Thu, 26 Oct 2006 16:08:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:71ccdc84-2cbf-4078-aa5f-47ebe21d1c3f</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/10/26/ruby-fleximage-plugin-now-especially-effective</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Exploitable Denial of Service in Ruby's cgi.rb Library</title>
      <description>&lt;p&gt;&lt;img style="float: right; margin: 4px; padding: 4px; border: 1px dotted #ccc;" src="http://static.flickr.com/11/13267551_49bda05e0e_m.jpg" /&gt;
Zed Shaw, author of &lt;a href="http://mongrel.rubyforge.org/"&gt;Mongrel&lt;/a&gt;, has provided a fix for the exploitable error in Ruby&amp;#8217;s cgi.rb library. The error occurs when incorrectly crafted MIME boundaries for multipart uploads causes cgi.rb to loop infinitely waiting for input. &lt;/p&gt;

&lt;p&gt;The following servers are affected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Mongrel&lt;/li&gt;
&lt;li&gt;Lightspeed&lt;/li&gt;
&lt;li&gt;CGI Standalone&lt;/li&gt;
&lt;li&gt;Any other server using cgi.rb&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you&amp;#8217;re running any of these, you may want to upgrade or patch. More information on the error can be found in &lt;a href="http://www.ruby-forum.com/topic/85966"&gt;Zed&amp;#8217;s post&lt;/a&gt; to the Ruby on Rails forum.&lt;/p&gt;</description>
      <pubDate>Wed, 25 Oct 2006 18:24:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:832d1512-d859-4367-9e57-0aec9c561be0</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/10/25/exploitable-denial-of-service-in-rubys-cgi-rb-library</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Rails Documentation in CHM Format</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px solid #ccc; margin: 4px; padding: 4px" src="http://static.flickr.com/78/230643739_571cb726cf_m.jpg" /&gt;DeLynn Berry from Denver, Colorado, has converted the Rails Documentation to CHM format, which is quite a bit easier to use than the online HTML format. CHM, or Microsoft Compressed HTML Help, is a proprietary format for online help files, but it can be read on other platforms like Linux and Mac with additional software. DeLynn writes of the update:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;&amp;#8220;This update has the documentation for the 1.1.6 release of Rails. This version also has a much more organized Contents section that has a folder group for each gem, which will hopefully lead to easier browsing of the entire file.&amp;#8221;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you&amp;#8217;re on Mac, try &lt;a href="http://www.versiontracker.com/dyn/moreinfo/macosx/28016&amp;amp;vid=277468"&gt;Chamonix&lt;/a&gt;, which has better search features than &lt;a href="http://chmox.sourceforge.net/"&gt;Chmox&lt;/a&gt;, but both tools work. On Linux, try &lt;a href="http://freshmeat.net/projects/gnochm/"&gt;GnoCHM&lt;/a&gt; or &lt;a href="http://freshmeat.net/projects/kchmviewer/"&gt;KchmViewer&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://delynnberry.com/2006/10/16/rails-chm-documentation-version-1-1-6"&gt;Link to DeLynn&amp;#8217;s Blog Announcement&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://delynnberry.com/assets/2006/9/20/rails-documentation-1-1-6.chm"&gt;Direct Link to CHM File&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 17 Oct 2006 11:03:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:9c551bc4-b717-468f-929d-8b106646823e</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/10/17/rails-documentation-in-chm-format</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Ruby on Rails date_finder plugin</title>
      <description>&lt;p&gt;Jonathan Viney of New Zealand has announced his &lt;code&gt;date_finder&lt;/code&gt; plugin for Ruby on Rails. The plugin allows the following types of actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To find the next five Mondays and Fridays:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="constant"&gt;DateFinderBase&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;weekly&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;day&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:monday&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;day&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:friday&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;find&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:max&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To find the 10th of the month for the next five months:&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="constant"&gt;DateFinderBase&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;monthly&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;day_number&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="number"&gt;10&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;find&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:max&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To find the last Thursday in September for the next 3 years&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="constant"&gt;DateFinderBase&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;yearly&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;month&lt;/span&gt; &lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:september&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;day&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:thursday&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;day_occurrence&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:last&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;find&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:max&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;3&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To find the next 5 Wednesdays on a fortnightly basis (skips every second week):&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="constant"&gt;DateFinderBase&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;weekly&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="number"&gt;2&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;day&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:wednesday&lt;/span&gt;&lt;span class="punct"&gt;).&lt;/span&gt;&lt;span class="ident"&gt;find&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="symbol"&gt;:max&lt;/span&gt; &lt;span class="punct"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="number"&gt;5&lt;/span&gt;&lt;span class="punct"&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;To install, execute &lt;code&gt;script/plugin install http://svn.viney.net.nz/things/rails/plugins/date_finder&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Thanks, Jonathan.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.agilewebdevelopment.com/plugins/date_finder"&gt;Date Finder @ Ruby Plugins Directory&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 20 Sep 2006 09:07:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:3961e8ff-4344-47f7-82ff-f911e74ef7a6</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/09/20/ruby-on-rails-date_finder-plugin</link>
      <category>Ruby on Rails</category>
      <category>plugin</category>
    </item>
    <item>
      <title>Ruby on Rails Plugin: CriteriaQuery</title>
      <description>&lt;p&gt;You&amp;#8217;ll like this code:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;&lt;span class="constant"&gt;Person&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;query&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;name_like&lt;/span&gt;&lt;span class="punct"&gt;('&lt;/span&gt;&lt;span class="string"&gt;name&lt;/span&gt;&lt;span class="punct"&gt;').&lt;/span&gt;&lt;span class="ident"&gt;join&lt;/span&gt;&lt;span class="punct"&gt;('&lt;/span&gt;&lt;span class="string"&gt;address&lt;/span&gt;&lt;span class="punct"&gt;').&lt;/span&gt;&lt;span class="ident"&gt;city_like&lt;/span&gt;&lt;span class="punct"&gt;('&lt;/span&gt;&lt;span class="string"&gt;city&lt;/span&gt;&lt;span class="punct"&gt;')&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&amp;#8230; and CriteriaQuery brings it to you (via Max Muermann) as a Ruby on Rails plugin. Head to the &lt;code&gt;README&lt;/code&gt; for some useful examples, like this awkward beauty:&lt;/p&gt;

&lt;div class="typocode"&gt;&lt;pre&gt;&lt;code class="typocode_ruby "&gt;  &lt;span class="ident"&gt;pq&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="constant"&gt;Person&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;query&lt;/span&gt;
  &lt;span class="ident"&gt;pq&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;disjunction&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;first_name_eq&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:name&lt;/span&gt;&lt;span class="punct"&gt;]).&lt;/span&gt;&lt;span class="ident"&gt;last_name_eq&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:name&lt;/span&gt;&lt;span class="punct"&gt;])&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:name&lt;/span&gt;&lt;span class="punct"&gt;]&lt;/span&gt;
  &lt;span class="ident"&gt;pq&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;category_id_eq&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:category&lt;/span&gt;&lt;span class="punct"&gt;])&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:category&lt;/span&gt;&lt;span class="punct"&gt;]&lt;/span&gt;
  &lt;span class="punct"&gt;...&lt;/span&gt;
  &lt;span class="ident"&gt;address&lt;/span&gt; &lt;span class="punct"&gt;=&lt;/span&gt; &lt;span class="ident"&gt;pq&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;join&lt;/span&gt;&lt;span class="punct"&gt;(&amp;quot;&lt;/span&gt;&lt;span class="string"&gt;address&lt;/span&gt;&lt;span class="punct"&gt;&amp;quot;)&lt;/span&gt;
  &lt;span class="ident"&gt;address&lt;/span&gt;&lt;span class="punct"&gt;.&lt;/span&gt;&lt;span class="ident"&gt;state_eq&lt;/span&gt;&lt;span class="punct"&gt;(&lt;/span&gt;&lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:address&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:state&lt;/span&gt;&lt;span class="punct"&gt;]])&lt;/span&gt; &lt;span class="keyword"&gt;if&lt;/span&gt; &lt;span class="ident"&gt;params&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:address&lt;/span&gt;&lt;span class="punct"&gt;[&lt;/span&gt;&lt;span class="symbol"&gt;:state&lt;/span&gt;&lt;span class="punct"&gt;]]&lt;/span&gt;
  &lt;span class="punct"&gt;...&lt;/span&gt;
  &lt;span class="keyword"&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Neat, huh?&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.muermann.org/ruby/criteria_query"&gt;CriteriaQuery Plugin Documentation Page&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.agilewebdevelopment.com/plugins/criteria_query"&gt;Ruby Plugins Directory Entry&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 06 Sep 2006 21:00:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:d74f0256-8098-47cb-89ff-de191aaff5e1</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/09/06/ruby-on-rails-plugin-criteriaquery</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Prototype Carousel Class for Ruby on Rails</title>
      <description>&lt;p&gt;&lt;img style="float: right; margin: 6px; border: 1px dotted #ccc;" src="http://static.flickr.com/1/185956773_4d50545870_m.jpg"/&gt;
Sébastien Gruhier of Carquefou, France, a new Rails convert (after 13 years of C++/Java) has provided a handy &lt;a href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt;/&lt;a href="http://script.aculo.us/"&gt;Scriptaculous&lt;/a&gt; Carousel component, which does not use any Yahoo User Interface JavaScript components. A carousel component allows you to view a window into a image stream, with forward and reverse buttons that allow you to navigate through the images. &lt;/p&gt;

&lt;p&gt;Yahoo&amp;#8217;s page describes the component:&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;The carousel component manages a list of content (HTML UL and LI elements) that can be displayed horizontally or vertically. The content can be scrolled back and forth with or without animation. The content can reference static HTML content or the list items can be created dynamically on-the-fly (with or without Ajax).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The current version supports both static and Ajax content.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://prototype-carousel.xilinus.com/"&gt;Prototype Carousel Component Home Page&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://billwscott.com/carousel/"&gt;Original Carousel Component Documentation&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 06 Sep 2006 19:32:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:f94896d9-ca5a-4855-9d3c-84dfedf55298</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/09/06/prototype-carousel-class-for-ruby-on-rails</link>
      <category>Web Design</category>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>The New Ruby-Lang.org</title>
      <description>&lt;p&gt;A new design for ruby-lang.org is coming, and it&amp;#8217;s very Web 2.0. Sweet.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://redhanded.hobix.com/images/ruby-lang-2006.png" alt="Ruby Lang Logo"/&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://redhanded.hobix.com/cult/theNewRubyLang.html"&gt;_why&amp;#8217;s Blog Article&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://new.ruby-lang.org"&gt;New Site&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.ruby-lang.org"&gt;Old Site&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 30 Aug 2006 18:00:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:90dbf4a8-ba35-4f8a-935b-a2c2f72e3429</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/30/the-new-ruby-lang-org</link>
      <category>Ruby on Rails</category>
      <category>Web Design</category>
    </item>
    <item>
      <title>Rails No-Nos Now</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px dotted #ccc; margin: 4px; padding: 4px;" src="http://static.flickr.com/75/229477859_745945240b_m.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;Kevin Clark of San Diego has posted an article describing several deprecated features of Rails&amp;#8211;thing you should fix now or they&amp;#8217;ll break later. Quickly, they are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Accessing Instance Variables You Didn’t Create&lt;/li&gt;
&lt;li&gt;Stop using &lt;code&gt;find_all&lt;/code&gt; and &lt;code&gt;find_first&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t write the AJAX-enabled feature before you write the simple fallback feature.&lt;/li&gt;
&lt;li&gt;Stop asking for things not directly related to your problem. &lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t use scaffolding.&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t use components.&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t use engines unless you&amp;#8217;re going to do it  right.&lt;/li&gt;
&lt;li&gt;Use layouts more&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t use Rails Paginator class&lt;/li&gt;
&lt;li&gt;Don&amp;#8217;t put controllers into namespaces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I don&amp;#8217;t completely agree with all of Kevin&amp;#8217;s findings, but you should at least view the article to be aware of some of the problems that you might encounter using these less than best practices features.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://glu.ttono.us/articles/2006/08/30/guide-things-you-shouldnt-be-doing-in-rails"&gt;Things You Shouldn&amp;#8217;t Be Doing in Rails&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 30 Aug 2006 17:45:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:3ae1f910-81b0-41d3-a71c-3e1eed63b6bd</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/30/rails-no-nos-now</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Beware of &amp;quot;Assumed Logged In&amp;quot; Attacks</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px dotted #ccc; margin: 4px; padding: 4px" src="http://static.flickr.com/54/128390795_3d16a30ee3_m.jpg" /&gt;
Brian Ellin of Portland, Oregon, warns us of &amp;#8220;assumed logged in&amp;#8221; attacks, which are cross-site attacks in which another site carefully crafts a URL that opens in a hidden frame which performs a destructive action on a different site that you are assumed to have been logged in to. His solution: the secure-action-plugin. He describes the problem and the solution:&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;In an assumed logged in attack, a malicious site assumes the visitor is logged into your site. The malicious site manually crafts a URL to a destructive action on your site (change email, delete account, etc.) and opens the URL to that action in a hidden iframe. The browser then sends the user’s cookies and actions may be performed on your user’s behalf without them ever knowing. This technique may be used to steal accounts, inject or delete account data, or perform other malicious actions.&lt;/p&gt;

&lt;p&gt;The plugin works by overriding ActionController.url_for and adding a signature of the user’s session_id and some salt to URL query strings. By adding a sig that includes the user’s session_id, it makes it impossible to for malicious sites to create URLs that will work on your site for anyone but themselves. The signature is verified before a secure action is executed.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;Until now, I had not conceived of this type of attack. Thanks, Brian. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://wiki.rubyonrails.com/rails/pages/Secure+Action"&gt;Secure Action on the Rails Wiki Page&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://code.google.com/p/secure-action-plugin/"&gt;Plugin Home Page&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.agilewebdevelopment.com/plugins/secure_action_plugin"&gt;Ruby Plugins Directory Entry&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 30 Aug 2006 07:01:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:a982cd27-e9e4-43fc-aab0-ba103c08600c</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/30/beware-of-assumed-logged-in-attacks</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Modal Information Boxes: RedBoxPlugin for Ruby on Rails</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px dotted #ccc; margin: 4px; padding: 4px;" src="http://static.flickr.com/33/52699349_171ff9584a_m.jpg" /&gt;
Craig Ambrose, an Aussie from Melbourne, has announced the RedBox Plugin for Ruby on Rails. He writes,&lt;/p&gt;

&lt;blockquote&gt;

I&amp;#8217;ve written a little plugin to use for displaying a block of html over
a page while fading out the background. This is like the lightbox.js
library, and all it&amp;#8217;s related offshoots (thickbox, greybox, etc.). My
plugin, Redbox, is not really any better than these others (in fact,
it&amp;#8217;s less mature, and less tested), but it builds on prototype and
scriptaculous, is available as a rails plugin, provides easy to use
helpers, and unlike the other libraries, works very well with rails&amp;#8217;
ajax functionality.

&lt;/blockquote&gt;

&lt;p&gt;Looks nice, and it&amp;#8217;s easy to use. Thanks, Craigh.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blog.craigambrose.com/articles/2006/08/16/redbox-a-rails-compatible-lightbox"&gt;Craig&amp;#8217;s Blog Entry&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.craigambrose.com/redbox_demo"&gt;Demo Page&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.agilewebdevelopment.com/plugins/redbox"&gt;Ruby Plugins Directory Entry&lt;/a&gt;  &lt;/p&gt;</description>
      <pubDate>Tue, 29 Aug 2006 10:22:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:b1a1c50b-c5ad-4602-b263-9f2813036abe</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/29/modal-information-boxes-redboxplugin-for-ruby-on-rails</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Ruby on Rails Forums in about 500 LOC: Beast</title>
      <description>&lt;p&gt;&lt;img style="float:right; border: 1px dotted #ccc; margin: 4px; padding: 4px"  src="http://static.flickr.com/21/31339455_51ac290bf4_m.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;Josh Goebel and Rick Olsen are working on Beast, a &amp;#8220;small, light-weight forum in Rails with a scary name and a goal of around 500 lines of code when we&amp;#8217;re done.&amp;#8221;  Beast is not mature yet, but forums is one application domain that is sorely lacking in the RoR world, and it&amp;#8217;s good to see people working on innovative applications. phpBB is difficult to maintain, modify, and full of security holes, and I&amp;#8217;ve been searching for a better alternative, perhaps even going so far as to start writing my own forum system.&lt;/p&gt;

&lt;p&gt;So far, &lt;a href="http://rforum.andreas-s.net/"&gt;RForum&lt;/a&gt; (stuck at version 0.2 since December 2005) looks like the most mature forum application available for Rails, and it comes complete with email gateway functionality, but hopefully other forum applications will start populating the thriving ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://beast.caboo.se/"&gt;Beast Demo Site&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://svn.techno-weenie.net/projects/beast/"&gt;Beast Subversion Repository&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 17 Aug 2006 13:58:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:5539e847-e567-4ba6-8d8f-d3ddeda845c2</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/17/ruby-on-rails-forums-in-about-500-loc-beast</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Bruce Tate on Rails Migrations</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px dotted #ccc; margin: 4px; padding: 4px;" src="http://static.flickr.com/27/67673887_5480282dc5_m.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;Bruce Tate, a Java book author and Ruby on Rails advocate, discusses the advantages of Ruby on Rails database migration strategy, and concludes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The migrations story in Java programming is not nearly as robust. Some products have spot solutions for some of the schema migrations problems, but without a systemic process for coordinating schema changes &amp;#8211; both up and down &amp;#8211; dealing with changes in the data and object model can be a difficult task. The Rails solution has some core advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Rails migrations are DRY (don&amp;#8217;t repeat yourself). With Rails, you specify each column definition exactly once: in the migration. Some other mappers force you to specify a column six times: in the schema, the getter, the setter, the model&amp;#8217;s instance variable, the &amp;#8220;from&amp;#8221; mapping, and the &amp;#8220;to&amp;#8221; mapping.&lt;/li&gt;
&lt;li&gt;Rails migrations allow data migration as well as schema migration.&lt;/li&gt;
&lt;li&gt;Rails migrations let you use model logic with your data migration where SQL scripts don&amp;#8217;t.&lt;/li&gt;
&lt;li&gt;Rails migrations are database independent, but SQL scripts aren&amp;#8217;t.&lt;/li&gt;
&lt;li&gt;Rails migrations allow direct SQL for unsupported extensions (such as stored procedures or constraints), while some ORM mappers don&amp;#8217;t.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With all of the benefits of migrations, you&amp;#8217;d expect a complex piece of code, but they are incredibly simple. Migrations have meaningful names and version numbers. Each migration, has an up and down method. Finally, a rake task coordinates running them in the correct order. This simple strategy is also revolutionary. The idea of expressing each schema change not in the model but as a distinct migration is both elegant and effective. Coordinating both data and schema changes is another paradigm shift, and an effective one. Best of all, these ideas are completely language agnostic. If you&amp;#8217;re building a new Java wrapping framework, you&amp;#8217;d do well to consider migrations.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;I personally take full advantage of migrations during development and maintenance of Ruby on Rails, and they have forever solved the chicken-and-egg data, code, and schema synchronization problem which made moving from development to production a unweildy and error-prone process in the past. It&amp;#8217;s also important to have a histor of the schema changes over time so that if a problem arises, you can track back to the exact change and schema migration which caused it.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www-128.ibm.com/developerworks/web/library/j-cb08156.html?ca=dgr-lnxw03RailsMigration"&gt;Crossing Borders: Rails Migrations Article&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://wiki.rubyonrails.org/rails/pages/UnderstandingMigrations"&gt;Understanding Migrations @ Rails Wiki&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 17 Aug 2006 10:41:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:19f6d2a7-90fb-455e-834c-95ec3b34ac6a</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/17/bruce-tate-on-rails-migrations</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>New Rails Security Mailing List</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px dotted #ccc; margin: 4px; border: 4px;"  src="http://static.flickr.com/41/117295501_0cf269b2f2_m.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;re running any Rails installations in production, do yourself a favor and sign up to the Rails-Security mailing list. DHH says:&lt;/p&gt;

&lt;blockquote&gt;

In light of the past days of fun and games, we’ve started a new mailing list focused entirely around security. This list will be much lower volume than the main list and be exclusively about security concerns. You can signup at the rails-security mailing list page.

&lt;/blockquote&gt;

&lt;p&gt;You&amp;#8217;ll only receive announcements about Rails security, not discussion, so it won&amp;#8217;t be too painful when something like this happens again.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblog.rubyonrails.org/2006/8/10/new-security-mailing-list"&gt;David&amp;#8217;s Blog Entry&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://lists.rubyonrails.org/mailman/listinfo/rails-security"&gt;Rails-Security Mailing List Signup Page&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 10 Aug 2006 21:01:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:f7fbaed8-b0be-4839-9764-8600d530ea5e</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/10/new-rails-security-mailing-list</link>
      <category>Ruby on Rails</category>
      <category>security</category>
    </item>
    <item>
      <title>Typo 4.0.1 Released</title>
      <description>&lt;p&gt;&lt;img style="float:right; border: 1px dotted #ccc; margin: 4px; padding: 4px;" src="http://static.flickr.com/75/204822958_ae20240385_m.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;Scott Laird has released version 4.0.1 of Typo, the premiere blogging application written in Ruby on Rails. This release includes Rails 1.1.5, which fixes substantial security problems, and everyone is encouraged to upgrade.&lt;/p&gt;

&lt;p&gt;The new installer script has several changes, according to Scott:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It has been spun off into its own .gem and lives in its own source repository, so other projects can use it as well.&lt;/li&gt;
&lt;li&gt;It now supports Postgres as well as SQLite3. I’ll write about this soon.&lt;/li&gt;
&lt;li&gt;It performs database-agnostic backups to a .yml file.&lt;/li&gt;
&lt;li&gt;A number of bugs have been squashed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Thanks for all the hard work!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://scottstuff.net/blog/articles/2006/08/10/typo-4-0-1"&gt;Scott&amp;#8217;s Blog Annoucement&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://rubyforge.org/frs/?group_id=555"&gt;Typo 4.0.1 @ RubyForge&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.typosphere.org/trac/wiki/DownloadStable"&gt;Download Page @ TypoSphere&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 10 Aug 2006 07:04:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:cc80f9c1-86ba-414c-8b76-03855d8831ab</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/10/typo-4-0-1-released</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Upgrade your old Rails installations ... Now!</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px dotted #ccc; margin: 4px; padding: 4px;" src="http://static.flickr.com/68/197231052_169578d781_m.jpg"&gt;&lt;/p&gt;

&lt;p&gt;DHH has decreed:&lt;/p&gt;

&lt;blockquote&gt;

&lt;p&gt;This is a MANDATORY upgrade for anyone not running on a very recent edge (which isn’t affected by this). If you have a public Rails site, you MUST upgrade to Rails 1.1.5. The security issue is severe and you do not want to be caught unpatched.&lt;/p&gt;

&lt;p&gt;The issue is in fact of such a criticality that we’re not going to dig into the specifics. No need to arm would-be assailents.&lt;/p&gt;

&lt;p&gt;So upgrade today, not tomorrow. We’ve made sure that Rails 1.1.5 is fully drop-in compatible with 1.1.4. It only includes a handful of bug fixes and no new features.&lt;/p&gt;

&lt;/blockquote&gt;

&lt;p&gt;So, if this blog goes down in the next few minutes for a nick, that&amp;#8217;s bloody well why.&lt;/p&gt;</description>
      <pubDate>Wed, 09 Aug 2006 18:59:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:ac7e52a0-7cbf-4c3c-a2e9-12a7ae4dc997</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/09/upgrade-your-old-rails-installations-now</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Better Scaffolding with Ruby on Rails: dry_scaffold</title>
      <description>&lt;p&gt;Ed Moss loves the DRY principle enough that he&amp;#8217;s posted a Rails engine that attempts to prevent code duplication across model, views, and controllers that allow data editing.&lt;/p&gt;

&lt;p&gt;The engine includes support for parent-child relationships, sorting, filtering, in-context editing, as well as being completely customizable. Take a look:&lt;/p&gt;

&lt;p&gt;&lt;img src="/lib/images/dry-scaffold-500w.jpg" /&gt;&lt;/p&gt;

&lt;p&gt;The engine looks great and is easy to use. Thanks, Ed!&lt;/p&gt;

&lt;p&gt;&lt;a href="http://dry.rubyforge.org/"&gt;dry_scaffold Page @ Rubyforge&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://rubyforge.org/projects/dry"&gt;Download Plugin from Rubyforge&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://dry.4thebusiness.com/companies"&gt;DRY Rails Engine Plugin Demo&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Wed, 09 Aug 2006 10:07:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:4bbc6e7a-d20e-40e5-9b6b-565c7a8e2e41</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/09/better-scaffolding-with-ruby-on-rails-dry_scaffold</link>
      <category>Ruby on Rails</category>
    </item>
    <item>
      <title>Yet Another Ruby on Rails IDE: RideMe</title>
      <description>&lt;p&gt;&lt;img style="float: right; border: 1px dotted #ccc; margin: 4px; padding: 4px;" src="http://static.flickr.com/46/113218714_177f0116ea_m.jpg"/&gt;&lt;/p&gt;

&lt;p&gt;While nothing can really compare to TextMate on OS X for its simplicity and natural flexibility, Windows users have yet another Ruby on Rails IDE to satiate your need of file drawers, tab completions, and that debilitating syntax-highlighting addiction: RideMe. Jeff Cohen declared version 1.0 as indulging you in the following ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;100% free, open source, and not built on top of anything else.  You
just need Ruby 1.8.2 and .NET 2.0 installed.&lt;/li&gt;
&lt;li&gt;Mission in life is to be lightweight and very fast.  This is not a
general purpose Ruby editor, it&amp;#8217;s an IDE for getting your Rails work
done.&lt;/li&gt;
&lt;li&gt;File-system based approach. No messy workspace files or extra RIDE-ME
specifics junking up your directory.&lt;/li&gt;
&lt;li&gt;Syntax highlighting for Ruby Files, Views, Layouts, JavaScript, SQL,
CSS, and HTML.&lt;/li&gt;
&lt;li&gt;Familiar Visual Studio-style tabbed document editor.&lt;/li&gt;
&lt;li&gt;Model / Member drop downs for easy movability in code. (Think Visual
Studio above your code file)&lt;/li&gt;
&lt;li&gt;Code folding for Ruby files&lt;/li&gt;
&lt;li&gt;script/console built into the IDE (think Visual Studio &amp;#8220;Immediate
Mode&amp;#8221;)&lt;/li&gt;
&lt;li&gt;Server Error notification (template errors will actually open the
view file and go to the LOC)&lt;/li&gt;
&lt;li&gt;Internal web browser (optional)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="http://www.projectrideme.com/"&gt;Project RideMe&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://www.projectrideme.com/downloads/RideMe.Setup.msi"&gt;Download Installer: RideMe.Setup.msi&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Mon, 07 Aug 2006 17:23:00 -0400</pubDate>
      <guid isPermaLink="false">urn:uuid:4e7ace44-ccd6-4072-87a3-c97d55ce112d</guid>
      <author>Daniel Butler</author>
      <link>http://www.yup.com/articles/2006/08/07/yet-another-ruby-on-rails-ide-rideme</link>
      <category>Ruby</category>
      <category>Open Source</category>
      <category>Ruby on Rails</category>
      <category>IDE</category>
    </item>
  </channel>
</rss>
