<?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>Robby on Rails: Tag deployment</title>
    <link>http://www.robbyonrails.com/articles/tag/deployment</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>thoughts.sort_by{|t| t[:topic]}.collect </description>
    <item>
      <title>Boxcar Conductor: Rails deployment made easy</title>
      <description>&lt;p&gt;In a &lt;a href="http://www.robbyonrails.com/articles/2008/02/28/deploying-rails-with-an-interactive-capistrano-recipe-to-your-boxcar"&gt;previous post&lt;/a&gt;, I showed how we&amp;#8217;ve been working on an interactive deployment process for Rails applications to reduce the time it takes to deploy to a &lt;a href="http://railsboxcar.com"&gt;Boxcar&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;We began to move our Boxcar deployment recipes into it&amp;#8217;s own Rails plugin and just made it available on &lt;a href="http://github.coms"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;


	&lt;h2&gt;Introducing Boxcar Conductor&lt;/h2&gt;


	&lt;p&gt;The &lt;strong&gt;Boxcar Conductor plugin&lt;/strong&gt; aims to automate the entire process for deploying to your Boxcar. We&amp;#8217;re down to just a few simple commands to run to get your application up and running. While mileage may vary with other hosting providers, we did want to open up this work to the community and centralize our work with the community of Boxcar customers who have helped us build and test these tools.&lt;/p&gt;


	&lt;h3&gt;Install Boxcar Conductor&lt;/h3&gt;


	&lt;p&gt;If you&amp;#8217;re running on Edge Rails&amp;#8230; you can take advantage of the new support for installing plugins in git repositories.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
  $ ./script/plugin install git://github.com/robbyrussell/boxcar-conductor.git
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;&lt;small&gt;note: If you&amp;#8217;re not using edge rails, you can download a tarball and install the plugin manually.&lt;/small&gt;&lt;/p&gt;


	&lt;p&gt;Installing the plugin will add a custom &lt;code&gt;Capfile&lt;/code&gt; and &lt;code&gt;config/deploy.rb&lt;/code&gt;, which has a few things for you to define based on your &lt;a href="http://railsboxcar.com"&gt;Boxcar subscription&lt;/a&gt;.&lt;/p&gt;


	&lt;h3&gt;Configure Your Boxcar&lt;/h3&gt;


	&lt;p&gt;Once the plugin is installed, you can run the following task:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
  $ cap boxcar:config
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;This will ask you a few questions about your deployment needs.&lt;/p&gt;


&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/robbyrussell/bsx8/default"&gt;&lt;img src="http://img.skitch.com/20080415-x5rksmf1b7dkx1x57spsr9rwr9.preview.jpg" alt="Default" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;&amp;#8217;s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;

	&lt;ul&gt;
	&lt;li&gt;Which database server will you be using? (along with db user/pass info)&lt;/li&gt;
		&lt;li&gt;How many mongrels should run in your cluster?&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;After a few quick multiple choice answers, you&amp;#8217;re application is ready to be deployed and you can run an Boxcar-specific deployment task.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
  $ cap deploy
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;We&amp;#8217;ve also created a new public project on Lighthouse so that you can submit tickets and ideas to us. With Boxcar, we&amp;#8217;re really aiming to remove as many steps from the deployment process that aren&amp;#8217;t necessary.&lt;/p&gt;


	&lt;p&gt;To follow along, visit the project on &lt;a href="http://planetargon.lighthouseapp.com/projects/9962-boxcar-conductor"&gt;lighthouse&lt;/a&gt; or &lt;a href="http://github.com/robbyrussell/boxcar-conductor/"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;If you&amp;#8217;re interested in learning more about &lt;a href="http://railsboxcar.com"&gt;Rails Boxcar&lt;/a&gt;, feel free to &lt;a href="http://planetargon.com/contact.html"&gt;drop us a line&lt;/a&gt;.&lt;/p&gt;


	&lt;h2&gt;Related Posts&lt;/h2&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2008/02/28/deploying-rails-with-an-interactive-capistrano-recipe-to-your-boxcar"&gt;Deploying Rails with an interactive Capistrano recipe to your Boxcar&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2008/04/14/announcing-cobalt-and-monthly-subscriptions-for-boxcar"&gt;Announcing Cobalt and monthly subscriptions for Boxcar&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
</description>
      <pubDate>Tue, 15 Apr 2008 12:16:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:6f009771-e806-48fd-9d6f-a236f85accbc</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2008/04/15/boxcar-conductor-rails-deployment-made-easy</link>
      <category>Business</category>
      <category>Ruby on Rails</category>
      <category>PLANET ARGON</category>
      <category>deployment</category>
      <category>rails</category>
      <category>rubyonrails</category>
      <category>boxcar</category>
      <category>planetargon</category>
      <category>capistrano</category>
      <category>git</category>
    </item>
    <item>
      <title>Deploying Rails with an interactive Capistrano recipe to your Boxcar</title>
      <description>&lt;p&gt;I wanted to share something that I&amp;#8217;ve been meaning to share on here.&lt;/p&gt;


	&lt;p&gt;When we began planning &lt;a href="http://railsboxcar.com"&gt;Rails Boxcar&lt;/a&gt;, we really want to reduce the amount of work that it took to setup and deploy a &lt;span class="caps"&gt;VPS&lt;/span&gt; for a Rails application. During this period, we began to look at the deployment process itself and began working on an interactive tool for developers for setting up their deployment environment on their Boxcar instances. So, we worked with few customers to develop an interactive Capistrano recipe.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;The Goal?&lt;/strong&gt; Spend less time configuring the server or editing recipe files.&lt;/p&gt;


	&lt;p&gt;During the initial setup, we can have the customer provide a few details from the safety of their Rails application directory by answering the following.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;What database server will you be using? (PostgreSQL or MySQL)&lt;/li&gt;
		&lt;li&gt;What port does your database run on? (if different than the default for your db server)&lt;/li&gt;
		&lt;li&gt;What is your database username?&lt;/li&gt;
		&lt;li&gt;What is your database user&amp;#8217;s password?&lt;/li&gt;
		&lt;li&gt;What port will your mongrel cluster start with? &lt;/li&gt;
		&lt;li&gt;How many mongrel servers should your cluster run?&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Great&amp;#8230; setup the server and let&amp;#8217;s deploy!&lt;/p&gt;


&lt;div class="thumbnail"&gt;&lt;a href="http://skitch.com/robbyrussell/bsx8/default"&gt;&lt;img src="http://img.skitch.com/20080228-x5rksmf1b7dkx1x57spsr9rwr9.preview.jpg" alt="Default" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: Lucida Grande, Trebuchet, sans-serif, Helvetica, Arial; font-size: 10px; color: #808080"&gt;Uploaded with &lt;a href="http://plasq.com/"&gt;plasq&lt;/a&gt;&amp;#8217;s &lt;a href="http://skitch.com"&gt;Skitch&lt;/a&gt;!&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;small&gt;Feel free to snag our &lt;a href="http://pastie.caboo.se/99450"&gt;interactive Capistrano2 recipe&lt;/a&gt;. &lt;/small&gt;

	&lt;p&gt;We&amp;#8217;re trying to take the pain out of deploying your Ruby on Rails applications with &lt;a href="http://railsboxcar.com/"&gt;Boxcar&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;On a side note, we&amp;#8217;re in the process of expanding our team and &lt;a href="http://blog.planetargon.com/2008/2/20/welcome-alex"&gt;recently hired Alex Malinovich&lt;/a&gt;. Do stay tuned as we&amp;#8217;ll be posting important announcements about changes to our &lt;a href="http://planetargon.com/hosting.html"&gt;Rails hosting services&lt;/a&gt; in the next few weeks. (&lt;strong&gt;grin&lt;/strong&gt;)&lt;/p&gt;
</description>
      <pubDate>Thu, 28 Feb 2008 16:27:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:48a471b7-2cbe-445e-b82f-f0933288d293</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2008/02/28/deploying-rails-with-an-interactive-capistrano-recipe-to-your-boxcar</link>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>PLANET ARGON</category>
      <category>boxcar</category>
      <category>deployment</category>
      <category>rails</category>
      <category>ruby</category>
      <category>capistrano</category>
      <category>hosting</category>
    </item>
    <item>
      <title>Master/Slave Databases with Ruby on Rails</title>
      <description>&lt;p&gt;Not terribly long ago, I &lt;a href="http://www.robbyonrails.com/articles/2007/10/05/multiple-database-connections-in-ruby-on-rails"&gt;announced Active Delegate&lt;/a&gt;, which was a really lightweight plugin that I developed to allow models to talk to multiple databases for specific methods. The plugin worked great for really simple situations, like individual models.. but when it came time to test with associations it fell apart. I haven&amp;#8217;t had a chance to work on any updates and knew that it was going to take more work to get it going.&lt;/p&gt;


	&lt;p&gt;Earlier this week, we helped one of our bigger clients launch their new web site&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt;. For the deployment, we needed to send all writes to a master database and a reads to slaves (initial deployment is talking to almost 10 slaves spread around the globe!). We needed something to get integrated quickly and decided to ditch Active Delegate for the time being and began looking at the following options.&lt;/p&gt;


	&lt;p&gt;I spoke with Rick Olson&lt;sup&gt;&lt;a href="#fn2"&gt;2&lt;/a&gt;&lt;/sup&gt; and he pointed me to a new plugin that he hasn&amp;#8217;t really released yet. So, I&amp;#8217;m going to do him a favor and announce it for him. Of course&amp;#8230; I got his permission first&amp;#8230; ;-)&lt;/p&gt;


	&lt;h2&gt;Announcing Masochism!&lt;/h2&gt;


	&lt;p&gt;Masochism&lt;sup&gt;&lt;a href="#fn3"&gt;3&lt;/a&gt;&lt;/sup&gt; is a new plugin for Ruby on Rails that allows you to delegate all writes to a master database and reads to a slave database. The configuration process is just a few lines in your environment file and the plugin takes care of the rest.&lt;/p&gt;


	&lt;h3&gt;Installing Masochism&lt;/h3&gt;


	&lt;p&gt;With &lt;a href="http://piston.rubyforge.org/usage.html"&gt;piston&lt;/a&gt;, you can import Masochism with:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
  $ cd vendor/plugins
  $ piston import http://ar-code.svn.engineyard.com/plugins/masochism/
&lt;/code&gt;&lt;/pre&gt;

	&lt;ul&gt;
	&lt;li&gt;To learn more about piston, read &lt;a href="http://www.robbyonrails.com/articles/2007/01/16/every-second-counts-with-a-piston-in-your-trunk"&gt;Every Second Counts with a Piston in your trunk&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;You can also install it with the old-fashioned way:&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
  $ ./script/plugin install -x http://ar-code.svn.engineyard.com/plugins/masochism/
&lt;/code&gt;&lt;/pre&gt;

	&lt;h3&gt;Configuring Masochism&lt;/h3&gt;


	&lt;p&gt;The first thing that you&amp;#8217;ll need to do is add another database connection in &lt;code&gt;config/database.yml&lt;/code&gt; for &lt;code&gt;master_database&lt;/code&gt;. By default, Masochism expects you to have a production database, which will be the read-only/slave database. The &lt;code&gt;master_database&lt;/code&gt; will be the connection details for your (you guessed it&amp;#8230;) master database.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
# config/database.yml  
production:
  database: masochism_slave_database
  adapter: postgresql
  host: slavedb1.hostname.tld
  ...

master_database:
  database: masochism_master_database
  adapter: postgresql
  host: masterdb.hostname.tld
  ...
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The idea here is that replication will be handled elsewhere and your application can reap the benefits of talking to the slave database for all of it&amp;#8217;s read-only operations and let the master database(s) spend their time writing data.&lt;/p&gt;


	&lt;p&gt;The next step is to set this up in your environment file. In our scenario, this was &lt;code&gt;config/environments/production.rb&lt;/code&gt;.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
# Add this to config/environments/production.rb
config.after_initialize do 
  ActiveReload::ConnectionProxy.setup!    
end
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Voila, you should be good to go now. As I mentioned, we&amp;#8217;ve only been using this for this past week and we&amp;#8217;ve had to address a few problems that the initial version of the plugin didn&amp;#8217;t address. One of our developers, &lt;a href="http://andy.delcambre.com/"&gt;Andy Delcambre&lt;/a&gt;, just posted an article to show how we had a problem with &lt;a href="http://andy.delcambre.com/2007/11/15/masochistic-connection-proxy-with-observers"&gt;using ActiveRecord observers and masochism&lt;/a&gt;, which we&amp;#8217;re sending over a patch for now.&lt;/p&gt;


	&lt;p&gt;As we continue to monitor how this solution works, we&amp;#8217;ll report any findings on our blog. In the meantime, I&amp;#8217;d be interested in knowing what you&amp;#8217;re using to solve this problem. :-)&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; &lt;a href="http://contiki.com"&gt;Contiki&lt;/a&gt;, a cool travel company we&amp;#8217;re working with&lt;/p&gt;


	&lt;p id="fn2"&gt;&lt;sup&gt;2&lt;/sup&gt; Rick just moved to Portland&amp;#8230; welcome to stump town!&lt;/p&gt;


	&lt;p id="fn3"&gt;&lt;sup&gt;3&lt;/sup&gt; &lt;a href="http://ar-code.svn.engineyard.com/plugins/masochism/README"&gt;The Masochism plugin &lt;span class="caps"&gt;README&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
</description>
      <pubDate>Thu, 15 Nov 2007 16:02:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:3420b2e3-a80c-43c9-a136-a58040069607</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/11/15/master-slave-databases-with-ruby-on-rails</link>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>Programming</category>
      <category>PLANET ARGON</category>
      <category>plugins</category>
      <category>masochism</category>
      <category>database</category>
      <category>mysql</category>
      <category>postgresql</category>
      <category>client</category>
      <category>development</category>
      <category>activerecord</category>
      <category>replication</category>
      <category>deployment</category>
    </item>
    <item>
      <title>Boxcar: Open for business</title>
      <description>&lt;p&gt;We&amp;#8217;ve been quietly rolling out our &lt;a href="http://railsboxcar.com"&gt;new Rails hosting solution&lt;/a&gt; over the past month, each week&amp;#8230; inviting more people to ask questions and place orders. Initially, we invited some of our business hosting customers, and then sent out invites to those who signed up on the &lt;a href="http://railsboxcar.com"&gt;Rails Boxcar&lt;/a&gt; announcement list. We&amp;#8217;ve been taking orders for the past few weeks and have had sites running on Boxcar for over a month now.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://www.railsboxcar.com/img/boxcar_logo_wide.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;You&amp;#8217;ll also notice that we&amp;#8217;ve begun to phase out all of our older shared hosting solutions for new customers and are focusing solely on our Business and Boxcar accounts (aside from custom managed/dedicated solutions that we&amp;#8217;ve been offering upon request).&lt;/p&gt;


	&lt;p&gt;To learn more about Rails Boxcar, read &lt;a href="http://blog.planetargon.com/2007/8/22/rails-boxcar-is-here"&gt;the announcement on the &lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; blog&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;In other news, &lt;a href="http://teknot.us"&gt;Daniel Johnson&lt;/a&gt;, our Lead Systems Administrator broke his arm while riding his bike while participating in &lt;a href="http://www.zoobomb.org"&gt;Zoo Bomb&lt;/a&gt; (and cracked his helmet in the process). He&amp;#8217;s at home today on pain medicine and we hope that he has a swift recovery.&lt;/p&gt;
</description>
      <pubDate>Tue, 04 Sep 2007 13:04:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:fdf9092d-96b5-4001-a034-ba5c1c354d9d</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/09/04/boxcar-open-for-business</link>
      <category>Ruby on Rails</category>
      <category>PLANET ARGON</category>
      <category>hosting</category>
      <category>boxcar</category>
      <category>deployment</category>
      <category>vps</category>
      <category>rails</category>
      <category>rubyonrails</category>
      <category>daniel</category>
    </item>
    <item>
      <title>YSlow and Rails performance: Getting UJS and AssetPackager to play nice  </title>
      <description>&lt;p&gt;Yesterday, I started to dig deeper into &lt;a href="http://developer.yahoo.com/yslow/"&gt;YSlow&lt;/a&gt; and decided to pick an application that we recently launched for a client. The performance grade that I saw at first was an F, which wasn&amp;#8217;t surprising to me because we knew that there was going to be some fine tuning in the near future.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://myskitch.com/robbyrussell/30elm___assets-20070727-100946.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;There is a lot of JavaScript in this application and we have several files to break up stuff to make it more maintainable. However, in production, we really don&amp;#8217;t need to send the client (browser) 19 different JS files. We&amp;#8217;ve been using mod_deflate to compress these files, but it doesn&amp;#8217;t solve the problem of having several connections opening to download all the necessary JavaScript. The same is true for our &lt;span class="caps"&gt;CSS&lt;/span&gt; files.&lt;/p&gt;


	&lt;p&gt;At RailsConf, &lt;span class="caps"&gt;DHH&lt;/span&gt; announced that an upcoming version of Rails would bundle all the stylesheet and javascript files into one file and compress it. We&amp;#8217;re running on 1.2.x for this application and decided to look at the &lt;a href="http://synthesis.sbecker.net/pages/asset_packager"&gt;AssetPackager plugin&lt;/a&gt; as a good solution to this problem.&lt;/p&gt;


	&lt;p&gt;I installed the plugin via &lt;a href="http://piston.rubyforge.org/"&gt;piston&lt;/a&gt; and ran the following task, which is provided by AssetPackager.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;rake asset:packager:create_yml&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;This went ahead and created &lt;code&gt;config/assets_packager.yml&lt;/code&gt;. I then went ahead and updated our capistrano configuration to call the rake task after updating the code on the server when deploying.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
desc "all of our other tasks/commands to run after updating the code" 
task :after_update_code do
  #
  # all of our other tasks/commands
  #
  run "cd #{release_path} &amp;#38;&amp;#38; rake RAILS_ENV=production asset:packager:build_all" 
end
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;The first thing that I noticed was that the yml file that gets generated will not make any assumption as to what order the javascript libraries should be loaded. So, immediately, line 1 of our compressed javascript file was causing an error as the code was trying to reference a library that hadn&amp;#8217;t been defined yet (showed up later in the file). So, when you do this, you&amp;#8217;ll need to organize the yml file to load things in order that they are needed. This was also a good opportunity for us to say, &amp;#8220;oh, we&amp;#8217;re not using that one anymore. Let&amp;#8217;s remove it.&amp;#8221;&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
--- 
javascripts: 
- base: 
  - prototype  
  - effects
  - scriptaculous
  - controls
  - dragdrop
  - application
  - slider
  - pngfix
  - nav
  - lowpro
  - lightbox
  - folder
  - builder
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;Great, so we re-dployed and everything at first glance seemed fine&amp;#8230; &lt;em&gt;or so we thought!&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;We used the &lt;a href="http://www.ujs4rails.com/"&gt;unobtrusive javascript plugin&lt;/a&gt; for this project and it seems that we couldn&amp;#8217;t just compress every single file. Each page has a behaviors javascript file and since everything was being compressed into one file (and cached), &lt;span class="caps"&gt;RJS&lt;/span&gt; calls quickly broke throughout the site. &lt;strong&gt;&lt;span class="caps"&gt;OH NO&lt;/span&gt;!&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;So, I opted to merge all of the other javascript files and use the standard way of including unobtrusive javascript in the application layout.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
&amp;lt;%= javascript_include_merged :base %&amp;gt;
&amp;lt;%= javascript_include_tag :unobtrusive %&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;We also removed &lt;code&gt;lowpro&lt;/code&gt; from the list of javascript files to compress since the ujs plugin is currently including this when we call &lt;code&gt;&amp;lt;%= javascript_include_tag :unobtrusive %&amp;gt;&lt;/code&gt;. I plan to look into modifying this so we it&amp;#8217;ll only include the page-specific behaviors and not load the lowpro javascript file (so we can compress that as well).&lt;/p&gt;


	&lt;p&gt;Once this was re-deployed, we saw that the &lt;span class="caps"&gt;RJS&lt;/span&gt; issues were resolved and everything felt to be loading quicker. But, let&amp;#8217;s look at YSlow again for step 1 in improving the performance of the application.&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;side note:&lt;/strong&gt; the following grading was also after making some other adjustments that were suggested by YSlow, which I&amp;#8217;ll discuss in another blog post soon.&lt;/p&gt;


	&lt;p&gt;So, where we once had a grade F, we now have an D&amp;#8230; which is due to the client having us add several (four) external javascript files for mint, google analytics, etc. We&amp;#8217;re only loading 3 javascript files for the application, when we were originally loading many more.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://myskitch.com/robbyrussell/30elm___your_address_for_home_design-20070727-114427.jpg" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Obviously, there is some more tuning to be done, but we went from a grading of 43 to 74 in about three hours of time spent reading the YSlow documentation, adding asset_packager, and making various tweaks to our web servers (as suggested by YSlow).&lt;/p&gt;


	&lt;p&gt;Until next time&amp;#8230;&lt;/p&gt;


	&lt;p&gt;Related Posts:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.robbyonrails.com/articles/2007/01/16/every-second-counts-with-a-piston-in-your-trunk"&gt;Every Second Counts with a Piston in your Trunk&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
</description>
      <pubDate>Fri, 27 Jul 2007 13:40:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:e47a0bfa-0fff-42da-90a6-0c95701cdcc3</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/07/27/yslow-and-rails-performance-getting-ujs-and-assetpackager-to-play-nice</link>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>Programming</category>
      <category>assets</category>
      <category>javascript</category>
      <category>rails</category>
      <category>performance</category>
      <category>yslow</category>
      <category>rubyonrails</category>
      <category>deployment</category>
      <category>capistrano</category>
      <category>compression</category>
      <category>hosting</category>
    </item>
    <item>
      <title>Introducing Boxcar... coming soon to a train station near you!</title>
      <description>&lt;p&gt;&lt;a href="http://www.railsboxcar.com/"&gt;&lt;img src="http://www.railsboxcar.com/img/boxcar_logo_wide.png" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;As I &lt;a href="http://blog.planetargon.com/2007/5/8/coming-soon-boxcar-for-rails-business-hosting"&gt;just announced&lt;/a&gt; on the &lt;a href="http://blog.planetargon.com/"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; blog&lt;/a&gt;... our new hosting solution is almost here!&lt;/p&gt;


	&lt;p&gt;Last month, we put a freeze on new orders on several of our &lt;a href="http://www.planetargon.com/hosting.html"&gt;Rails hosting packages&lt;/a&gt; so that we could do some remodeling. Well, we&amp;#8217;re almost done and excited about what we&amp;#8217;re going to be reopening with. :-)&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;ll be posting updates on the &lt;a href="http://blog.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; blog&lt;/a&gt; over the coming days/weeks&amp;#8230; so yo might consider &lt;a href="http://feeds.feedburner.com/planetargon"&gt;subscribing to our feed&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Be sure to &lt;a href="http://www.railsboxcar.com/"&gt;sign up on our mailing list&lt;/a&gt; to be amongst the first to be notified when Boxcar gets launched!&lt;/p&gt;
</description>
      <pubDate>Tue, 08 May 2007 15:35:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:11920506-18ce-4855-aaae-d85d4888f317</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/05/08/introducing-boxcar-coming-soon-to-a-train-station-near-you</link>
      <category>Business</category>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>PLANET ARGON</category>
      <category>hosting</category>
      <category>boxcar</category>
      <category>deployment</category>
      <category>vps</category>
      <category>rails</category>
      <category>rubyonrails</category>
    </item>
    <item>
      <title>quote of the day: server tricks</title>
      <description>&lt;p&gt;&lt;a href="http://www.flickr.com/photos/planetargon/393488632/" title="Photo Sharing"&gt;&lt;img src="http://farm1.static.flickr.com/172/393488632_9d99ed4f60_m.jpg" width="240" height="160" alt="Daniel" /&gt;&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;...overheard on an internal forum&amp;#8230;&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;&lt;em&gt;&amp;#8220;My my passion for nifty server tricks will blow peoples minds&amp;#8221;&lt;/em&gt;&amp;#8212;&lt;a href="http://teknot.us"&gt;Daniel Johnson&lt;/a&gt;&lt;/p&gt;
	&lt;/blockquote&gt;
</description>
      <pubDate>Tue, 27 Feb 2007 13:03:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:1f6040b8-be8b-4b09-a62b-0ac821989665</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/02/27/qotd-server-tricks</link>
      <category>PLANET ARGON</category>
      <category>hosting</category>
      <category>deployment</category>
      <category>tricks</category>
      <category>quote</category>
    </item>
    <item>
      <title>Goodbye Instiki, Hello JunebugWiki</title>
      <description>&lt;p&gt;If you&amp;#8217;ve spent much time on the Ruby on Rails wiki, you know that the spam situation smells like rotten fruit.&lt;/p&gt;


	&lt;p&gt;We&amp;#8217;ve been using &lt;a href="http://www.instiki.org"&gt;Instiki&lt;/a&gt;, the same software as the Rails wiki for the &lt;a href="http://docs.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; Documentation Project&lt;/a&gt; and the spam situation was becoming an annoyance. So, we&amp;#8217;ve switched to &lt;a href="http://www.junebugwiki.com/"&gt;JunebugWiki&lt;/a&gt; as step one, to see how it holds up. The default styling was a nice improvement because we haven&amp;#8217;t had much chance to update the instiki one. It might not solve all of our spam problems, but in the short term, it appears to be a more elegant solution. It&amp;#8217;s also the first application built with &lt;a href="http://camping.rubyforge.org"&gt;camping&lt;/a&gt; that I have personally deployed.&lt;/p&gt;


	&lt;p&gt;So&amp;#8230; I present to you&amp;#8230; the new &lt;a href="http://docs.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; Documentation Project&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;In other news, it appears that &lt;a href="http://rubyurl.com"&gt;RubyURL&lt;/a&gt; has &lt;a href="http://www.google.com/search?q=rubyurl+viagra"&gt;caught the eye of spammers&lt;/a&gt;, which sucks. I&amp;#8217;m still thinking over a few possible ways to try and prevent that. :-/&lt;/p&gt;
</description>
      <pubDate>Tue, 06 Feb 2007 10:46:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:2e1cac13-2ff6-4b16-8a6f-eb8ce68565da</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/02/06/goodbye-instiki-hello-junebugwiki</link>
      <category>RubyURL</category>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>PLANET ARGON</category>
      <category>camping</category>
      <category>hosting</category>
      <category>documentation</category>
      <category>deployment</category>
      <category>wiki</category>
      <category>spam</category>
    </item>
    <item>
      <title>Remember When?</title>
      <description>&lt;p&gt;I was looking through some old code from &lt;em&gt;over two years ago&lt;/em&gt;, when I was playing with my first Rails applications. I noticed this hidden file in the &lt;code&gt;public/&lt;/code&gt; directory, called &lt;code&gt;.htaccess&lt;/code&gt;.&lt;/p&gt;


	&lt;p&gt;Do you remember the good &amp;#8216;ole days?&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
RewriteRule ^(.*)$ /dispatch.cgi?$1 [QSA,L]
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I remember when we at &lt;a href="http://www.planetargon.com/"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt; first starting &lt;a href="http://www.planetargon.com/hosting.html"&gt;hosting Ruby on Rails applications&lt;/a&gt; (two years ago now!) and we had to continually explain to people that &lt;a href="http://www.robbyonrails.com/articles/2005/03/16/fastcgi-installed"&gt;running on FastCGI&lt;/a&gt; was going to significantly improve speed over their default &lt;span class="caps"&gt;CGI&lt;/span&gt; deployment. This was one of the first FAQs that we posted on our website.&lt;/p&gt;


	&lt;p&gt;...oh how we&amp;#8217;ve come a &lt;em&gt;long&lt;/em&gt; way.&lt;/p&gt;


	&lt;p&gt;Before you know it, we&amp;#8217;ll be on &lt;span class="caps"&gt;IRC&lt;/span&gt; and talking about the good &amp;#8216;ole Rails days&amp;#8230; like we do about the &lt;span class="caps"&gt;BBS&lt;/span&gt; days. ;-)&lt;/p&gt;


	&lt;p&gt;Do you have a &lt;em&gt;remember when&lt;/em&gt; story related to Rails?&lt;/p&gt;
</description>
      <pubDate>Fri, 02 Feb 2007 00:49:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:3185b244-7220-43dd-af01-31c374e669cd</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/02/02/remember-when</link>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>PLANET ARGON</category>
      <category>hosting</category>
      <category>deployment</category>
      <category>rails</category>
      <category>memories</category>
    </item>
    <item>
      <title>Goodbye Pound, Hello Nginx</title>
      <description>&lt;p&gt;I&amp;#8217;ve been using pound for several months and it&amp;#8217;s been a good relationship. Except, for some strange reason, I noticed that I was getting development mode errors when it was running in production mode. I thought there might be an issue with my mongrel cluster&amp;#8230; but that wasn&amp;#8217;t the case.&lt;/p&gt;


	&lt;p&gt;Let me give you a little background to how we&amp;#8217;re encouraging customers to handle their deployment on &lt;a href="http://www.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Most of our hosting customers&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt; have three tiers (unless you have your own static IP address), one which we manage, two that you manage.&lt;/p&gt;


	&lt;p&gt;We handle the main web server/proxy server and proxy to your desired load balancer/proxy/server, which is generally any of the following options&amp;#8230; depending on your preference.&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://www.apsis.ch/pound"&gt;Pound&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://lighttpd.org"&gt;Lighttpd&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://nginx.net/"&gt;Nginx&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://www.apache.org"&gt;Apache&lt;/a&gt; 2.x or Apache 1.3.x&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://mongrel.rubyforge.org"&gt;Mongrel&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Each customer has a unique proxy server port and a range of other ports for their mongrel clusters.&lt;/p&gt;


	&lt;p&gt;So&amp;#8230; the typical setup is&amp;#8230;&lt;/p&gt;


	&lt;p&gt;Apache(external:80) [proxies to]==&amp;gt; Pound(localhost:8050) [proxies to]==&amp;gt; Mongrel::Cluster(localhost:10500-10503)&lt;/p&gt;


	&lt;p&gt;Well, when a request comes in through Apache, it gets passed off to Pound and each tier has it&amp;#8217;s own headers. By the time that it reaches Mongrel, all the requests appear to be coming &lt;em&gt;from&lt;/em&gt; &lt;code&gt;localhost&lt;/code&gt;.. not the remote address of the person using your application. Notice nothing but &lt;code&gt;localhost&lt;/code&gt; requests in your production.log? ...this is the reason.&lt;/p&gt;


	&lt;p&gt;So, what side-effects does this have? Well, aside from every request looking local&amp;#8230; Rails will, by default, output a normal development-mode error message if the request is coming from &lt;code&gt;localhost&lt;/code&gt;.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
    # found in...
    # actionpack/lib/action_controller/rescure.rb

    # Exception handler called when the performance of an action raises an exception.
    def rescue_action(exception)
      log_error(exception) if logger
      erase_results if performed?

      if consider_all_requests_local || local_request?
        rescue_action_locally(exception)
      else
        rescue_action_in_public(exception)
      end
    end
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;It seems that this currently causes the &lt;a href="http://dev.rubyonrails.org/svn/rails/plugins/exception_notification/"&gt;exception notification&lt;/a&gt; plugin, which we often use, to not work. We noticed this in a staging environment for an application that we&amp;#8217;re building for a client about a month ago. After debugging &lt;span class="caps"&gt;SMTP&lt;/span&gt; servers, mongrel configuration&amp;#8230; I was baffled.&lt;/p&gt;


	&lt;h2&gt;Nginx to the &lt;code&gt;rescue&lt;/code&gt;&lt;/h2&gt;


	&lt;p&gt;After some investigation and attempts to find a workaround in Pound, I decided to redeploy my blog with Nginx. This was a pretty painless process and I was able to use &lt;a href="http://docs.planetargon.com/wiki/show/Setup+Nginx"&gt;the example&lt;/a&gt; posted on the &lt;a href="http://docs.planetargon.com/"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; Documentation Project&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;Nginx allows you to do the following to overwrite the headers being passed to Mongrel.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
    proxy_set_header  X-Real-IP  $remote_addr;
    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;&lt;strong&gt;Problem Solved!&lt;/strong&gt;&lt;/p&gt;


	&lt;p&gt;If there is a workaround for this in Pound, I&amp;#8217;d love to be able to relay this information to our customers that haven&amp;#8217;t made the switch yet.&lt;/p&gt;


	&lt;p&gt;Thank you, &lt;a href="http://blog.brightredglow.com"&gt;Brian&lt;/a&gt; and &lt;a href="http://workingwithrails.com/person/7552"&gt;Timothy&lt;/a&gt; for encouraging me to finally switch my blog to Nginx. ;-)&lt;/p&gt;


	&lt;p&gt;If you have questions related to deploying Rails applications, be sure to check out the &lt;a href="http://groups.google.com/group/rubyonrails-deployment/about"&gt;Rails Deployment google group&lt;/a&gt;.&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; For more information about our hosting, visit &lt;a href="http://www.planetargon.com/hosting.html"&gt;http://planetargon.com/hosting.html&lt;/a&gt;.&lt;/p&gt;
</description>
      <pubDate>Thu, 01 Feb 2007 13:48:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:14935b91-ffe5-4379-8ab9-42596c86ee78</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/02/01/goodbye-pound-hello-nginx</link>
      <category>Ruby on Rails</category>
      <category>PLANET ARGON</category>
      <category>hosting</category>
      <category>nginx</category>
      <category>pound</category>
      <category>deployment</category>
    </item>
    <item>
      <title>Let's not forget the little people</title>
      <description>&lt;p&gt;Yesterday, I &lt;a href="http://www.robbyonrails.com/articles/2007/01/23/announcement-new-ruby-on-rails-deployment-group"&gt;announced&lt;/a&gt; the new &lt;a href="http://groups.google.com/group/rubyonrails-deployment/about"&gt;Ruby on Rails Deployment group&lt;/a&gt;, which has attracted &lt;strong&gt;over 200 people&lt;/strong&gt; and boasts &lt;strong&gt;over 50 messages&lt;/strong&gt; in just the first 24 hours of it&amp;#8217;s life.&lt;/p&gt;


	&lt;p&gt;While this is a greater turnout than I expected&amp;#8230; I made a &lt;em&gt;huge&lt;/em&gt; mistake yesterday. I forgot to invite the man behind the cutrain.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
14:25 &amp;lt; zedas&amp;gt; robbyonrails: rubyonrails-deployment and i wasn't invited?
14:26 &amp;lt; zedas&amp;gt; i think i need to revoke some licenses. :-)
...
14:26 &amp;lt; jarkko&amp;gt; sounds robby just lost his mudcrap belt
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I forgot to invite&amp;#8230; Zed Shaw.&lt;/p&gt;


&lt;blockquote&gt;
Zed, 

	&lt;p&gt;I know that I&amp;#8217;ve only met you briefly, but I feel like I&amp;#8217;ve known you for years. With each and every mongrel I install, configure, and start&amp;#8230; you&amp;#8217;re always&amp;#8230; right there&amp;#8230; with me. This love goes deep.&lt;/p&gt;


	&lt;p&gt;Please forgive me for not inviting you to the show. I&amp;#8217;ve asked the person sitting in the first row to move back a few rows to an empty seat&amp;#8230; so you can sit here&amp;#8230; right here&amp;#8230; with me.&lt;/p&gt;


	&lt;p&gt;Please accept this letter and invite as an apology.&lt;/p&gt;


Robby
&lt;/blockquote&gt;

	&lt;p&gt;For everyone else, we have a few seats available near the back of the room, which you can reserve &lt;a href="http://groups.google.com/group/rubyonrails-deployment/about"&gt;here&lt;/a&gt;. ...but before you do, be sure to &lt;a href="http://workingwithrails.com/person/5455-zed-shaw"&gt;recommend his work&lt;/a&gt;. [1]&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; &lt;a href="http://zedshaw.com/blog/2006-12-26.html"&gt;king of the world&lt;/a&gt;&lt;/p&gt;
</description>
      <pubDate>Wed, 24 Jan 2007 14:27:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:fd268f0f-6a22-4356-95d8-e9e12e656047</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/01/24/lets-not-forget-the-little-people</link>
      <category>Ruby on Rails</category>
      <category>mongrel</category>
      <category>deployment</category>
      <category>hosting</category>
      <category>zedshaw</category>
      <category>groups</category>
    </item>
    <item>
      <title>Announcement: New Ruby on Rails Deployment Group</title>
      <description>&lt;p&gt;Our team is working on a new hosting solution&lt;sup&gt;&lt;a href="#fn1"&gt;1&lt;/a&gt;&lt;/sup&gt; for Rails applications. Throughout this process, we&amp;#8217;ve been reviewing all the various methods that our team and customers have been using to deploy and host applications written with Ruby on Rails. Our team has been able to closely watch the technologies change on our servers for almost two full years to accommodate the latest in deployment solutions.&lt;/p&gt;


	&lt;p&gt;Recently, a few deployment savvy customers of ours and us decided that it was time to take some of our experiences and conversations out into the public. We&amp;#8217;d like to invite all of you that are interested in Rails deployment to join the new &lt;a href="http://groups.google.com/group/rubyonrails-deployment/about"&gt;Deploying Rails google group&lt;/a&gt;. Whether you&amp;#8217;re trying to setup a staging server, deploy to a shared solution like we offer at &lt;a href="http://www.planetargon.com/hosting.html"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt;&lt;/a&gt;, managing your own &lt;span class="caps"&gt;VPS&lt;/span&gt;, or configuring a cluster of servers for your big launch, we&amp;#8217;d love to talk with you about this stuff.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;m secretly hoping that all the talented Rails deployment experts, like our friends at  &lt;a href="http://www.railsmachine.com"&gt;Rails Machine&lt;/a&gt; and &lt;a href="http://www.engineyard.com/"&gt;Engine Yard&lt;/a&gt;, will join us in our effort. :-)&lt;/p&gt;


	&lt;p&gt;If you&amp;#8217;re still hosting your Rails application on Apache and &lt;span class="caps"&gt;FCGI&lt;/span&gt; in a shared environment, this list is for you! ;-)&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://groups.google.com/group/rubyonrails-deployment/about"&gt;Join the group today&lt;/a&gt;!&lt;/p&gt;


	&lt;p&gt;&lt;strong&gt;&lt;span class="caps"&gt;UPDATE&lt;/span&gt;&lt;/strong&gt; Zed Shaw &lt;a href="http://www.robbyonrails.com/articles/2007/01/24/lets-not-forget-the-little-people"&gt;has entered&lt;/a&gt; the building&amp;#8230;&lt;/p&gt;


	&lt;p id="fn1"&gt;&lt;sup&gt;1&lt;/sup&gt; Stay tuned in early February&amp;#8230; ;-)&lt;/p&gt;
</description>
      <pubDate>Tue, 23 Jan 2007 14:52:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:1ca310c7-5082-487c-bb18-2eb799d282d2</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2007/01/23/announcement-new-ruby-on-rails-deployment-group</link>
      <category>Business</category>
      <category>Ruby on Rails</category>
      <category>PLANET ARGON</category>
      <category>hosting</category>
      <category>deployment</category>
    </item>
    <item>
      <title>Rails applciation caching with memcache</title>
      <description>&lt;p&gt;Courtenay has posted a step by step tutorial on using memcache within your Rails application. He not only discusses caching&amp;#8230; but also how to &lt;em&gt;&amp;#8220;precache the data so that each page load is blazing fast without sacrificing user experience.&lt;/em&gt;&amp;#8220;&lt;/p&gt;


	&lt;p&gt;Read more about it on the &lt;a href="http://blog.caboo.se/articles/2006/10/14/premcache-caching-and-precaching-with-memcached"&gt;caboo.se blog&lt;/a&gt;.&lt;/p&gt;


&lt;pre&gt;&lt;code&gt;
&amp;lt; court3nay&amp;gt; robbyonrails: hey, i wrote that line just for you
&amp;lt; court3nay&amp;gt; robbyonrails: the one you quoted. i was actually thinking, "hmm, i bet robby will like this quote" 
&lt;/code&gt;&lt;/pre&gt;

	&lt;p&gt;I&amp;#8217;m touched&amp;#8230; and it&amp;#8217;s great to hear that people are thinking more about these problems. :-)&lt;/p&gt;
</description>
      <pubDate>Sat, 14 Oct 2006 18:24:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:33a581ca-49fa-4114-91ac-8051e833b2b4</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/10/14/rails-applciation-caching-with-memcache</link>
      <category>Ruby on Rails</category>
      <category>Ruby</category>
      <category>Programming</category>
      <category>rails</category>
      <category>caching</category>
      <category>memcache</category>
      <category>deployment</category>
    </item>
    <item>
      <title>Rails and Mongrel go to the Pound</title>
      <description>&lt;p&gt;We&amp;#8217;ve been encouraging our &lt;a href="http://www.planetargon.com/rails_hosting.html"&gt;Rails hosting&lt;/a&gt; customers to give Pound and Mongrel a try for deploying their &lt;a href="http://www.rubyonrails.org"&gt;Ruby on Rails&lt;/a&gt; applications. &lt;a href="http://david.planetargon.us"&gt;David Gibbons&lt;/a&gt; has been adding some recipes for doing this on the &lt;a href="http://docs.planetargon.com"&gt;&lt;span class="caps"&gt;PLANET ARGON&lt;/span&gt; Documentation Project&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Check out:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a href="http://docs.planetargon.com/wiki/show/Pound+and+Mongrel"&gt;Pound and Mongrel&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;&lt;a href="http://docs.planetargon.com/wiki/show/Running+with+Mongrel"&gt;Running with Mongrel&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;...and today David posted an article on his blog titled, &lt;a href="http://david.planetargon.us/articles/2006/08/08/why-you-need-multiple-mongrel-instances-with-rails"&gt;Why you need multiple mongrel instances with rails&lt;/a&gt;!&lt;/p&gt;
</description>
      <pubDate>Tue, 08 Aug 2006 19:35:00 -0500</pubDate>
      <guid isPermaLink="false">urn:uuid:17292c36-5206-42d8-93bf-eacc4995533b</guid>
      <author>Robby Russell</author>
      <link>http://www.robbyonrails.com/articles/2006/08/08/rails-and-mongrel-go-to-the-pound</link>
      <category>mongrel</category>
      <category>rails</category>
      <category>pound</category>
      <category>deployment</category>
      <category>hosting</category>
      <category>planetargon</category>
      <category>dgibbons</category>
    </item>
  </channel>
</rss>
