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

<channel>
	<title>Brightbox Blog &#187; ruby</title>
	<atom:link href="http://blog.brightbox.co.uk/tag/ruby/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.brightbox.co.uk</link>
	<description></description>
	<lastBuildDate>Fri, 02 Dec 2011 12:56:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>New deployment gem release, better bundler support</title>
		<link>http://blog.brightbox.co.uk/posts/new-deployment-gem-release-better-bundler-support</link>
		<comments>http://blog.brightbox.co.uk/posts/new-deployment-gem-release-better-bundler-support#comments</comments>
		<pubDate>Fri, 02 Dec 2011 12:56:25 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[brightbox]]></category>
		<category><![CDATA[bundle]]></category>
		<category><![CDATA[bundler]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubygems]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=2185</guid>
		<description><![CDATA[We&#8217;ve just released a new version of the Brightbox deployment gem. The gem has supported bundler for a long time, but now calls to rake tasks use bundler too (if the app is bundler enabled of course). This solves the problem some people were having where the right gems weren&#8217;t available during rake execution, or [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve just released a <a href="http://rubygems.org/gems/brightbox">new version</a> of the <a href="http://wiki.brightbox.co.uk/docs:gemv2:start">Brightbox deployment gem</a>. The gem has supported bundler for a long time, but now calls to rake tasks use bundler too (if the app is bundler enabled of course). This solves the problem some people were having where the right gems weren&#8217;t available during rake execution, or rake itself complained about a rake version mismatch.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/new-deployment-gem-release-better-bundler-support/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passenger 3.0.11 Ubuntu Packages</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-3-0-11-ubuntu-packages</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-3-0-11-ubuntu-packages#comments</comments>
		<pubDate>Tue, 29 Nov 2011 19:54:07 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=2179</guid>
		<description><![CDATA[We&#8217;ve built Ubuntu packages for the latest release of Phusion Passenger, 3.0.11. They&#8217;re available now on our apt repository and our Launchpad ppa. Instructions on how to get set up are on our wiki as usual. Updated NGINX Passenger packages will follow shortly (they&#8217;ll be available via a separate ppa)]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve built Ubuntu packages for the <a href="http://blog.phusion.nl/2011/11/28/phusion-passenger-3-0-11-released/">latest release</a> of Phusion Passenger, 3.0.11.  They&#8217;re available now on our apt repository and our Launchpad ppa. Instructions on how to get set up are <a href="http://wiki.brightbox.co.uk/docs:phusion-passenger">on our wiki</a> as usual.</p>
<p>Updated NGINX Passenger packages will follow shortly (they&#8217;ll be available via <a href="http://blog.brightbox.co.uk/posts/nginx-passenger-3-ubuntu-packages">a separate ppa</a>)</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-3-0-11-ubuntu-packages/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Passenger 3.0.8 Ubuntu Packages</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-3-0-8-ubuntu-packages</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-3-0-8-ubuntu-packages#comments</comments>
		<pubDate>Fri, 05 Aug 2011 11:36:32 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1983</guid>
		<description><![CDATA[We&#8217;ve built Ubuntu packages for the latest release of Passenger, 3.0.8. They&#8217;re available now on our apt repository and our Launchpad ppa. Instructions on how to get set up are on our wiki as usual. Updated NGINX Passenger packages will follow shortly (they&#8217;ll be available via a separate ppa)]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve built Ubuntu packages for the <a href="http://blog.phusion.nl/2011/08/03/phusion-passenger-3-0-8-released/">latest release</a> of Passenger, 3.0.8.  They&#8217;re available now on our apt repository and our Launchpad ppa. Instructions on how to get set up are <a href="http://wiki.brightbox.co.uk/docs:phusion-passenger">on our wiki</a> as usual.</p>
<p>Updated NGINX Passenger packages will follow shortly (they&#8217;ll be available via <a href="http://blog.brightbox.co.uk/posts/nginx-passenger-3-ubuntu-packages">a separate ppa</a>)</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-3-0-8-ubuntu-packages/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Support for new Brightbox Cloud API in Fog</title>
		<link>http://blog.brightbox.co.uk/posts/support-for-new-brightbox-cloud-api-in-fog</link>
		<comments>http://blog.brightbox.co.uk/posts/support-for-new-brightbox-cloud-api-in-fog#comments</comments>
		<pubDate>Wed, 17 Nov 2010 17:07:24 +0000</pubDate>
		<dc:creator>Jeremy Jarvis</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[abstraction]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[cloud computing]]></category>
		<category><![CDATA[fog]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1453</guid>
		<description><![CDATA[The latest release of Fog (0.3.19) includes support for the new Brightbox Cloud API. Fog is a Ruby library which provides an &#8220;abstraction layer&#8221; for interacting with multiple cloud computing APIs. Created by Wesley Beary and recently adopted into Engine Yard&#8217;s open source programme, Fog has a lot of momentum and is a great way to get [...]]]></description>
			<content:encoded><![CDATA[<p><img class="right noborder size-full wp-image-1457" title="fog" src="http://blog.brightbox.co.uk/wp-content/uploads/2010/11/fog.png" alt="" width="200" height="154" />The latest release of <a href="https://github.com/geemus/fog">Fog</a> (0.3.19) includes support for the new <a href="http://beta.brightbox.com">Brightbox Cloud</a> API. Fog is a Ruby library which provides an &#8220;abstraction layer&#8221; for interacting with multiple cloud computing APIs.</p>
<p>Created by <a href="http://twitter.com/geemus">Wesley Beary</a> and recently adopted into <a href="http://www.engineyard.com">Engine Yard&#8217;s</a> open source programme, Fog has a lot of momentum and is a great way to get started with provisioning resources across multiple cloud providers.</p>
<p>If you&#8217;ve not yet done so, <a href="http://beta.brightbox.com/beta#signup">request a Brightbox Cloud beta account</a> to get started.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/support-for-new-brightbox-cloud-api-in-fog/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Passenger 3.0.0 packages for Ubuntu Hardy and Lucid</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-3-0-0-packages-for-ubuntu-hardy-and-lucid</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-3-0-0-packages-for-ubuntu-hardy-and-lucid#comments</comments>
		<pubDate>Mon, 15 Nov 2010 09:13:59 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[apt]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1441</guid>
		<description><![CDATA[Phusion Passenger 3.0.0 was released back in October. It&#8217;s up to 55% faster and sports new stability features, which should keep your site up even if a faulty app instance causes problems (such as &#8220;out of memory&#8221; errors). We&#8217;ve now got Ubuntu Hardy and Lucid packages available on our apt repository and we consider it [...]]]></description>
			<content:encoded><![CDATA[<p>Phusion Passenger 3.0.0 was <a href="http://blog.phusion.nl/2010/10/18/phusion-passenger-3-0-0-final-released/">released back in October</a>. It&#8217;s up to 55% faster and sports new stability features, which should keep your site up even if a faulty app instance causes problems (such as &#8220;out of memory&#8221; errors).</p>
<p>We&#8217;ve now got Ubuntu Hardy and Lucid packages available on our apt repository and we consider it ready for production use.  Brightbox customers can upgrade from Passengr 2.x simply by running these commands on their Brightboxes:</p>
<pre><code>sudo apt-get update
sudo apt-get install -qy libapache2-mod-passenger</code></pre>
<p>If you&#8217;ve not got a Brightbox, you&#8217;ll need to add our apt repository key and config first. You can <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">read more about it on our wiki</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-3-0-0-packages-for-ubuntu-hardy-and-lucid/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Passenger 3.0.0 beta3 packages for Ubuntu Lucid and Hardy</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-3-0-0-beta3-packages-for-ubuntu-lucid-and-hardy</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-3-0-0-beta3-packages-for-ubuntu-lucid-and-hardy#comments</comments>
		<pubDate>Tue, 21 Sep 2010 08:52:26 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1243</guid>
		<description><![CDATA[The team at Phusion have been hard at work on Passenger 3 and last week released a beta version for testing. Continuing our work with Passenger 2, we&#8217;ve been working hard on packaging it. We now have Passenger 3.0.0-pre3 packages available for Ubuntu 10.04 (Lucid) and Ubuntu 8.04 (Hardy). As they&#8217;re pre-release versions, we don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.brightbox.co.uk/wp-content/uploads/2010/09/passenger_logo1.png" alt="" title="Passenger Logo" width="125" height="163" class="content_image right size_full" /> The team at <a href="http://phusion.nl/">Phusion</a> have been hard at work on <a href="http://www.modrails.com/">Passenger 3</a> and <a href="http://blog.phusion.nl/2010/09/15/phusion-passenger-3-0-0-public-beta-1-is-out/">last week released a beta version</a> for testing.  Continuing our work with Passenger 2, we&#8217;ve been working hard on packaging it.</p>
<p>We now have Passenger 3.0.0-pre3 packages available for Ubuntu 10.04 (Lucid) and Ubuntu 8.04 (Hardy).  As they&#8217;re pre-release versions, we don&#8217;t recommend them in production just yet and have put them in their own repository to prevent any accidental upgrades.</p>
<p>If you&#8217;re not already a Brightbox customer, then you&#8217;ll need to set up base access to <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">our apt repository</a> first.</p>
<p>Otherwise, just add the new passenger-testing repository (switch &#8220;lucid&#8221; to &#8220;hardy&#8221; if you&#8217;re on Hardy):</p>
<pre><code>sudo sh -c 'echo "deb http://apt.brightbox.net lucid passenger-testing" > /etc/apt/sources.list.d/brightbox-passenger-testing.list'
</code></pre>
<p>Then you can upgrade/install 3.0.0-1bbox1~pre3</p>
<pre><code>apt-get update
apt-get install libapache2-mod-passenger
</code></pre>
<p>Passenger now has a native library, which depends on your version of ruby.  For simplicity, these packages currently require the ruby1.8 packages to be installed. You can, of course, switch to ruby1.9 and passenger will auto-compile the necessary native support for you.  We&#8217;ll be providing packages for 1.9 support soon, so you won&#8217;t need to rely on the auto-compiling.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-3-0-0-beta3-packages-for-ubuntu-lucid-and-hardy/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rails 3 has landed!</title>
		<link>http://blog.brightbox.co.uk/posts/rails-3-has-landed</link>
		<comments>http://blog.brightbox.co.uk/posts/rails-3-has-landed#comments</comments>
		<pubDate>Thu, 09 Sep 2010 12:57:21 +0000</pubDate>
		<dc:creator>Ben Arblaster</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[Action Controller]]></category>
		<category><![CDATA[Action Mailer]]></category>
		<category><![CDATA[Active Record]]></category>
		<category><![CDATA[bundler]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[rails 3]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1179</guid>
		<description><![CDATA[After two years of hard work, the third generation of Rails is ready for the big time! Rails 3 brings about some major changes to make things all together &#8220;better, faster, cleaner, and more beautiful&#8221; and solve some of the common issues seen with Rails 2. Some of the major highlights include Improved router syntax [...]]]></description>
			<content:encoded><![CDATA[<p>After two years of hard work, the third generation of Rails is <a href="http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done">ready for the big time</a>! Rails 3 brings about some major changes to make things all together &#8220;better, faster, cleaner, and more beautiful&#8221; and solve some of the common issues seen with Rails 2. Some of the major highlights include</p>
<p><strong>Improved router syntax for Action Controller</strong></p>
<p>The router syntax in Rails 3 has been completely revamped to build on the work from Rails 2 and provide a more elegant and flexible way to provide completely RESTful access for controllers. To get started see the <a href="http://edgeguides.rubyonrails.org/routing.html">new routing guide</a>.</p>
<p><strong>Brand new Action Mailer</strong></p>
<p>Action Mailer was previously a bit of a hybrid, part controller, part model. Rails 3 sees Action Mailer completely rewritten purely as a controller, it now behaves much more like Action Controller. The <a href="http://edgeguides.rubyonrails.org/action_mailer_basics.html">new Action Mailer guide</a> describes how to get going.</p>
<p><strong>New query engine for Active Record</strong></p>
<p>Active Record has adopted a new <a href="http://github.com/brynary/arel">query engine</a> to make complex queries more consistent and manageable. Execution of queries is now delayed until actually required and not when defined. For an introduction to the new query engine check out the new <a href="http://guides.rubyonrails.org/active_record_querying.html">new Active Record guide</a>.</p>
<p><strong>Bundler</strong></p>
<p>Traditionally, managing the dependencies for your Rails app deployment can be a bit of a nightmare. While Capistrano, Rake and other partial solutions make automating things easier, they&#8217;re often not elegant or simple. <a href="http://gembundler.com/">Bundler</a> provides a complete solution to managing gems, libraries, frameworks and plugins that your app depends on. The latest release of the Brightbox deployment gem offers full support for Bundler.</p>
<p>Other improvements include built in XSS protection, an official plugins API, Agnosticism with plugins, Active Model callbacks &amp; validations, better handling of character encoding and many more. For a more comprehensive list of changes see the <a href="http://edgeguides.rubyonrails.org/3_0_release_notes.html">release notes</a>.</p>
<h4>Rails 3 on your Brightboxes</h4>
<p>
Getting up and running with Rails 3 on your Brightboxes should be as simple as you&#8217;re used to with your existing Rails 2 apps.</p>
<p><span id="more-1179"></span></p>
<p><strong>Prerequisites</strong></p>
<p>Rails 3 requires Ruby 1.8.7 or higher, Ruby 1.8.6 is no longer supported. If you&#8217;re using Hardy based Brightboxes you&#8217;ll need to <a href="http://wiki.brightbox.co.uk/docs:ruby:1.8.7">upgrade the standard Ruby Enterprise Edition package</a>, Lucid based Brightboxes include 1.8.7 by default. Ruby 1.9.2 is also supported, though we don&#8217;t have packages for it just yet.</p>
<p>Full support for Rails 3 deployment was added to the Brightbox deployment gem in version 2.3.7, so if you&#8217;re using an older version you&#8217;ll need to update. Don&#8217;t forget to update the brightbox-server-tools on your boxes too! The gem now has full bundler support for managing gem dependencies so if you&#8217;re using bundler you no longer need to define gems in your deployment recipe. Bundler is now our recommended solution for handling dependencies.</p>
<p>You&#8217;ll also need RubyGems 1.3.7 or newer. New Brightboxes include our 1.3.7 rubygems package for Ubuntu, if you&#8217;re running an older version you can upgrade like so</p>
<pre>sudo apt-get update
sudo apt-get install rubygems</pre>
<p>We&#8217;d also recommend running your app with the latest version of Phusion Passenger, especially if you plan on running Rails 2 and 3 side-by-side.</p>
<p><strong>Installation</strong></p>
<p>Installing Rails 3 is as simple as</p>
<pre>gem install rails --version 3.0.0</pre>
<p><strong>Deployment</strong></p>
<p>You can deploy your Rails 3 apps using the <a href="http://wiki.brightbox.co.uk/docs:gemv2:start">Brightbox gem</a> just like you&#8217;re used to. Make sure you&#8217;re using the latest release of the gem which contains some new features to improve Rails 3 support.</p>
<p><strong>Documentation</strong></p>
<p>For more information on using Rails 3 see the newly updated <a href="http://guides.rubyonrails.org/">official documentation</a>. For help with running Rails 3 on your Brightbox, including information on running Rails 2 &amp; 3 side-by-side see our <a href="http://wiki.brightbox.co.uk/docs:rails3">Rails 3 wiki page</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/rails-3-has-landed/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby Enterprise 1.8.7-2010.02 Packages for Ubuntu Hardy &amp; Lucid</title>
		<link>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-02-packages-for-ubuntu-hardy-lucid</link>
		<comments>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-02-packages-for-ubuntu-hardy-lucid#comments</comments>
		<pubDate>Wed, 16 Jun 2010 16:30:55 +0000</pubDate>
		<dc:creator>Ben Arblaster</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[1.8.7]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[rails 3]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1147</guid>
		<description><![CDATA[We’ve built new 32 &#038; 64bit Ruby Enterprise 1.8.7-2010.02 packages for Ubuntu Hardy and Lucid. The 2010.02 release of Ruby EE includes a number of backported fixes for critical bugs in Ruby 1.8.7p249 and we recommend users currently using our 2010.01 packages upgrade immediately. For further information on using these packages see the release announcement for our [...]]]></description>
			<content:encoded><![CDATA[<p>We’ve built new 32 &#038; 64bit <a href="http://blog.phusion.nl/2010/06/07/ruby-enterprise-edition-1-8-7-2010-02-released/">Ruby Enterprise</a> 1.8.7-2010.02 packages for Ubuntu Hardy and Lucid. The 2010.02 release of Ruby EE includes a number of backported fixes for critical bugs in Ruby 1.8.7p249 and we recommend users currently using our 2010.01 packages upgrade immediately.</p>
<p>For further information on using these packages see the release announcement for our <a href="http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-01-packages-for-ubuntu-hardy-lucid">Ruby EE 2010.01</a> packages.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-02-packages-for-ubuntu-hardy-lucid/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu 10.04 LTS &#8220;Lucid&#8221; now available</title>
		<link>http://blog.brightbox.co.uk/posts/ubuntu-10-04-lts-lucid-now-available</link>
		<comments>http://blog.brightbox.co.uk/posts/ubuntu-10-04-lts-lucid-now-available#comments</comments>
		<pubDate>Tue, 08 Jun 2010 14:07:00 +0000</pubDate>
		<dc:creator>Jeremy Jarvis</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[distro]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[ubuntu 10.04]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1121</guid>
		<description><![CDATA[Available from today, you can now choose either Ubuntu Hardy or Lucid as the base OS when building new Brightboxes. Ubuntu Lucid is the latest Long Term Support (LTS) version of Ubuntu with security fixes provided until April 2015. It brings a whole bunch of upgrades such as Ruby 1.8.7, Monit 5, Apache 2.2.14 and [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1125" title="b9658977fd362bd082cd2581" src="http://blog.brightbox.co.uk/wp-content/uploads/2010/06/b9658977fd362bd082cd25811.png" alt="" width="507" height="139" /></p>
<p>Available from today, you can now choose either Ubuntu Hardy or Lucid as the base OS when building new Brightboxes.</p>
<p>Ubuntu Lucid is the latest Long Term Support (LTS) version of Ubuntu with security fixes provided until April 2015. It brings a whole bunch of upgrades such as Ruby 1.8.7, Monit 5, Apache 2.2.14 and new packages like CouchDB, Sphinx, Chef, RabbitMQ, MongoDB, ejabberd and many more.</p>
<p>We&#8217;ve treated it to the usual Brightbox Ruby deployment tune-up, including our <a href="http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-01-packages-for-ubuntu-hardy-lucid">Ruby Enterprise Edition 1.8.7-2010.01 packages</a>. Updated Phusion Passenger packages are now available on our newly Lucid-enabled <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">apt repository</a>.</p>
<p>When buying a new Brightbox, you&#8217;ll see a combo box that you can use to select Lucid (Hardy is still currently the default). Upgrading from Hardy to Lucid isn&#8217;t really viable due to the way Hardy boxes handle kernels, so you&#8217;ll either need to request a re-image (which involves wiping your box, so make backups!) or buy a new box and move your apps to it.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/ubuntu-10-04-lts-lucid-now-available/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby Enterprise 1.8.7-2010.01 Packages for Ubuntu Hardy &amp; Lucid</title>
		<link>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-01-packages-for-ubuntu-hardy-lucid</link>
		<comments>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-01-packages-for-ubuntu-hardy-lucid#comments</comments>
		<pubDate>Mon, 17 May 2010 09:00:00 +0000</pubDate>
		<dc:creator>Ben Arblaster</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[1.8.7]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[rails 3]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1057</guid>
		<description><![CDATA[We’ve built  new 32bit and 64bit Ruby Enterprise 1.8.7-2010.01 packages for Ubuntu Hardy and Lucid. The new packages are now the default on new Lucid beta boxes. For Hardy, as before these packages are quite a major change from the default Hardy Ruby interpreter,which is 1.8.6, so we recommend you test thoroughly before putting it into production. [...]]]></description>
			<content:encoded><![CDATA[<p>We’ve built  new 32bit and 64bit <a href="http://blog.phusion.nl/2009/10/26/ruby-enterprise-edition-1-8-7-2009-10-released/">Ruby Enterprise</a> 1.8.7-2010.01 packages for Ubuntu Hardy and Lucid. The new packages are now the default on new Lucid beta boxes. For Hardy, as before these packages are quite a major change from the default Hardy Ruby interpreter,which is 1.8.6, so we recommend you test thoroughly before putting it into production.</p>
<p>As with our other Ruby EE packages, they upgrade (i.e replace) the standard 1.8 Ruby installation. This means all your gems stay the same, and everything on your system immediately starts using them (Phusion’s own Ubuntu packages do not work like this).</p>
<p>These packages are also the best way to get Ruby 1.8.7 on Hardy, which you&#8217;ll need if you&#8217;re playing with Rails 3.</p>
<p>If you’re on a Hardy based Brightbox, just create or edit <code>/etc/apt/sources.list.d/brightbox-rubyee.list</code> to contain the <code>rubyee-testing</code> component like so:</p>
<pre><code>deb http://apt.brightbox.net/ hardy rubyee-testing</code></pre>
<p>If you&#8217;re on one of our Lucid beta boxes provisioned before today, simply create <code>/etc/apt/sources.list.d/brightbox-rubyee.list</code> and add the <code>rubyee</code> component:</p>
<pre><code>deb http://apt.brightbox.net/ lucid rubyee</code></pre>
<p>Finally, update and upgrade libruby1.8:</p>
<pre><code>sudo apt-get update
sudo apt-get install libruby1.8 irb1.8 libopenssl-ruby1.8 libreadline-ruby1.8 rdoc1.8 ruby1.8
</code></pre>
<p>If you’re not on a Brightbox, see the <a href="http://wiki.brightbox.co.uk/docs:ruby-enterprise">instructions on our wiki first</a>. The wiki also documents how to revert back to the old packages.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2010-01-packages-for-ubuntu-hardy-lucid/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Load Balancing with Stomp and ActiveMessaging</title>
		<link>http://blog.brightbox.co.uk/posts/load-balancing-with-stomp-and-activemessaging</link>
		<comments>http://blog.brightbox.co.uk/posts/load-balancing-with-stomp-and-activemessaging#comments</comments>
		<pubDate>Wed, 14 Apr 2010 10:44:43 +0000</pubDate>
		<dc:creator>Neil Wilson</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[activemessaging]]></category>
		<category><![CDATA[activemq]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[stomp]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1024</guid>
		<description><![CDATA[Inevitably with modern distributed software architecture you&#8217;re going to end up talking to a message queue at some point. We&#8217;ve been using ActiveMQ as the message broker, STOMP as the message protocol of choice and the ActiveMessaging gem so that we can talk to the message broker from Rails. ActiveMessaging is a great piece of [...]]]></description>
			<content:encoded><![CDATA[<p>Inevitably with modern distributed software architecture you&#8217;re going to end up talking to a message queue at some point. We&#8217;ve been using <a href="http://activemq.apache.org/">ActiveMQ</a> as the message broker, <a href="http://stomp.codehaus.org/">STOMP</a> as the message protocol of choice and the <a href="http://code.google.com/p/activemessaging/wiki/ActiveMessaging">ActiveMessaging</a> gem so that we can talk to the message broker from Rails.</p>
<p>ActiveMessaging is a great piece of code, but at first glance it appears to have a couple of wrinkles</p>
<ul>
<li>The standard configuration doesn&#8217;t support load balancing (so that you can talk to another broker if your normal one isn&#8217;t responding).</li>
<li>The queues and topics you want to speak to are defined at class level &#8211; which is a problem if you want the queues to be dynamically defined based upon data values.</li>
</ul>
<p>But thanks to Ruby, YAML and a bit of lateral thinking you can get around these issues.</p>
<p>ActiveMessaging uses the <a href="http://gitorious.org/stomp">Stomp Gem</a> under the hood, and that can do load balancing by itself. So all you have to do is get ActiveMessaging to pass the relevant incantations down to the Stomp Gem &#8211; intact. And you do that with a bit of fancy YAML. The trick is to add your host configurations to the login configuration entry in hash format like this:</p>
<p><code></p>
<pre> production:
    adapter: stomp
    login:
      :randomize: true
      :hosts:
      - :login: myloginid1
        :passcode: mypassword1
        :host: broker-host-1.somedomain.co.uk
      - :login: myloginid2
        :passcode: mypassword2
        :host: broker-host-2.somedomain.co.uk</pre>
<p></code></p>
<p>The <a href="http://gitorious.org/stomp/mainline/blobs/master/lib/stomp/connection.rb">Stomp Connection class</a> checks login to see if it is a hash and if it is uses that in preference to anything else. You can setup anything Stomp understands within that Hash. Check the class code for details.</p>
<p>The beauty of this approach is that it is entirely in the configuration. Your Rails code doesn&#8217;t need to know about it. The reconnection happens automatically in the background.</p>
<p>I&#8217;ve used an observer class within Rails to handle the message sending. It watches a model and sends messages when stuff is created and updated &#8211; nicely separating the concerns. But I wanted to talk to different queues depending upon what was in the model. So the standard <code>ActiveMessaging::MessageSender</code> approach didn&#8217;t seem appropriate.</p>
<p>After a bit of digging around it turns out that you can get hold of the broker connection directly rather than going via the Gateway.</p>
<p><code>
<pre>client = ActiveMessaging::Gateway.connection</pre>
<p></code></p>
<p>Then you can send to any queue you like, not just the ones defined up front in <code>messaging.rb</code>: </p>
<p><code>
<pre>client.send("/queue/#{some_variable}", body, headers)</pre>
<p></code></p>
<p>This is a lower level connection and you lose the filter chains and some error checking. However if you need it, it&#8217;s there.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/load-balancing-with-stomp-and-activemessaging/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Timezones on your Brightbox</title>
		<link>http://blog.brightbox.co.uk/posts/timezones-on-your-brightbox</link>
		<comments>http://blog.brightbox.co.uk/posts/timezones-on-your-brightbox#comments</comments>
		<pubDate>Tue, 06 Apr 2010 16:37:27 +0000</pubDate>
		<dc:creator>james</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[brightbox]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[modrails]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=998</guid>
		<description><![CDATA[You may have thought the time is wrong on your server. Well, it isn&#8217;t really, it is just that we prefer to set the default time on Brightboxes to Coordinated Universal Time (UTC). This is generally considered to be best practice where ever a server is geographically located, however, it may  cause a problem if [...]]]></description>
			<content:encoded><![CDATA[<p>You may have thought the time is wrong on your server. Well, it isn&#8217;t  really, it is just that we prefer to set the default time on Brightboxes  to Coordinated Universal Time (UTC).</p>
<p>This is generally considered to be best practice where ever a server is geographically located, however, it may  cause a problem if you are hosting a  geographically specific web application.</p>
<p>If your web application requires a different time-zone such as CET, BST or PST, or Daylight Saving Time is giving you a headache,  take a look at our <a title="Brigthbox timezone wiki page" href="http://wiki.brightbox.co.uk/docs:time_on_your_brightbox" target="_self">Wiki page</a> for a timely introduction to the subject of time-zones on Brightboxes.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/timezones-on-your-brightbox/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passenger 2.2.11 packages for Ubuntu 8.04 Hardy</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-2-2-11-packages-for-ubuntu-8-04-hardy</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-2-2-11-packages-for-ubuntu-8-04-hardy#comments</comments>
		<pubDate>Fri, 05 Mar 2010 16:02:24 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[mod_rails]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=985</guid>
		<description><![CDATA[The last Passenger release, 2.2.10, has a bug that causes Apache to freeze when used under moderate load (Phusion say high load but we&#8217;ve seen it on quite moderate conditions).  We recommend that anyone using Passenger 2.2.10 upgrade to 2.2.11 asap.  Ubuntu Hardy packages are now available in our repository.]]></description>
			<content:encoded><![CDATA[<p>The last Passenger release, <a href="http://blog.brightbox.co.uk/posts/passenger-2-2-10-packages-for-ubuntu-8-04-hardy">2.2.10</a>, has a bug that causes Apache to freeze when used under moderate load (Phusion say high load but we&#8217;ve seen it on quite moderate conditions).  We recommend that anyone using Passenger 2.2.10 upgrade to <a href="http://blog.phusion.nl/2010/03/05/phusion-passenger-2-2-11-released/">2.2.11</a> asap.  Ubuntu Hardy packages are now <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">available in our repository</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-2-2-11-packages-for-ubuntu-8-04-hardy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passenger 2.2.10 packages for Ubuntu 8.04 Hardy</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-2-2-10-packages-for-ubuntu-8-04-hardy</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-2-2-10-packages-for-ubuntu-8-04-hardy#comments</comments>
		<pubDate>Fri, 26 Feb 2010 11:51:32 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[librack]]></category>
		<category><![CDATA[lts]]></category>
		<category><![CDATA[modrails]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=983</guid>
		<description><![CDATA[Phusion released Passenger 2.2.10 this week, fixing some bundler compatibility bugs and a file descriptor bug that could lead to &#8220;mysterious crashes&#8221;. We&#8217;ve built our Ubuntu Hardy packages for i386 and AMD64 architectures which are now available from the Brightbox apt repository.  We&#8217;ve also upgraded our librack-ruby packages to 1.1.0.]]></description>
			<content:encoded><![CDATA[<p>Phusion released Passenger 2.2.10 this week, fixing some bundler compatibility bugs and a file descriptor bug that could lead to &#8220;mysterious crashes&#8221;.</p>
<p>We&#8217;ve built our <a href="http://wiki.brightbox.co.uk/docs:phusion-passenger">Ubuntu Hardy packages</a> for i386 and AMD64 architectures which are now available from the <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">Brightbox apt repository</a>.  We&#8217;ve also upgraded our librack-ruby packages to 1.1.0.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-2-2-10-packages-for-ubuntu-8-04-hardy/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Full Text Indexing in Ruby with Xapian Fu</title>
		<link>http://blog.brightbox.co.uk/posts/full-text-indexing-in-ruby-with-xapian-fu</link>
		<comments>http://blog.brightbox.co.uk/posts/full-text-indexing-in-ruby-with-xapian-fu#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:17:18 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[ferret]]></category>
		<category><![CDATA[indexing]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[xapian]]></category>
		<category><![CDATA[xapian fu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=947</guid>
		<description><![CDATA[I&#8217;ve just properly announced my Ruby full text indexing library, Xapian Fu, on my personal blog.  It&#8217;s a Ruby interface to Xapian, an open source search engine Library.  Xapian Fu basically gives you a Hash interface to Xapian &#8211; so you get a persistent Hash with full text indexing built in. For example: require 'xapian-fu' include [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just properly announced my Ruby full text indexing library, Xapian Fu, <a href="http://johnleach.co.uk/words/archives/2010/01/31/445/xapian-fu-full-text-indexing-in-ruby">on my personal blog</a>.  It&#8217;s a Ruby interface to <a href="http://en.wikipedia.org/wiki/Xapian">Xapian</a>, an open source search engine Library.  Xapian Fu basically gives you a Hash interface to Xapian &#8211; so you get a persistent Hash with full text indexing built in.</p>
<p>For example:</p>
<pre>  require 'xapian-fu'
  include XapianFu
  db = XapianDb.new(:dir =&gt; 'example.db', :create =&gt; true,
                    :store =&gt; [:title, :year])
  db &lt;&lt; { :title =&gt; 'Brokeback Mountain', :year =&gt; 2005 }
  db &lt;&lt; { :title =&gt; 'Cold Mountain', :year =&gt; 2004 }
  db &lt;&lt; { :title =&gt; 'Yes Man', :year =&gt; 2008 }
  db.flush
  db.search("mountain").each do |match|
    puts match.values[:title]
  end</pre>
<p>The <a href="http://johnleach.co.uk/words/archives/2010/01/31/445/xapian-fu-full-text-indexing-in-ruby">full announcement is here</a>, <a href="http://github.com/johnl/xapian-fu">github project</a> here and <a href="http://rdoc.info/projects/johnl/xapian-fu">rdoc here</a>.  Hope you find it useful!</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/full-text-indexing-in-ruby-with-xapian-fu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brightbox Gem v2.3.6 released</title>
		<link>http://blog.brightbox.co.uk/posts/brightbox-gem-v2-3-6-released</link>
		<comments>http://blog.brightbox.co.uk/posts/brightbox-gem-v2-3-6-released#comments</comments>
		<pubDate>Wed, 27 Jan 2010 08:41:21 +0000</pubDate>
		<dc:creator>Caius Durling</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[brightbox]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[recipes]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=921</guid>
		<description><![CDATA[Today I’m pleased to announce a new revision of the Brightbox Deployment Gem, version 2.3.6. This release fixes some of the issues reported to us by our users, along with a few extra features. The documentation on the wiki has been updated with the new fixes and features. If you have any tips or find [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright right size-full wp-image-70" title="Brightbox gem" src="http://blog.brightbox.co.uk/wp-content/uploads/2008/05/brightbox_gem.png" alt="" width="221" height="105" /></p>
<p>Today I’m pleased to announce a new revision of the Brightbox Deployment Gem, version 2.3.6. This release fixes some of the issues reported to us by our users, along with a few extra features.</p>
<p>The documentation <a href="http://wiki.brightbox.co.uk/docs:thebrightboxgemv2">on the wiki</a> has been updated with the new fixes and features. If you have any tips or find any errors just let us know.</p>
<p><span style="color: #888888;">NEW FEATURES</span></p>
<h3 id="apt_package_dependencies">Apt Package Dependencies</h3>
<p>Just as you can currently define gems your application relies on and have them automatically installed onto your servers, you can now do the same with apt packages. Define them in your <code>deploy.rb</code> and they’ll be installed <em>before</em> installing your required rubygems, which means you can use it to install apt packages that gems depend on. As an example, the nokogiri gem depends on a couple of apt packages.</p>
<pre><code>depend :remote, :apt, "libxml2-dev"
depend :remote, :apt, "libxslt1-dev"
depend :remote, :gem, "nokogiri", "&gt;= 0"
</code></pre>
<h3 id="intermediate_ssl_certificates">Intermediate SSL Certificates</h3>
<p>Support for Intermediate SSL Certificates in Apache has been added, meaning you no longer need to manually edit the Apache config files directly. Just add one line to your <code>deploy.rb</code> and the gem now takes care of updating the Apache config for you. An example SSL configuration:</p>
<pre><code>set :ssl_certificate, "my_cert.pem"
set :ssl_key, "my_cert.key"
set :ssl_intermediate, "intermediate.crt"
</code></pre>
<p>See the wiki page for <a href="http://wiki.brightbox.co.uk/docs:gemv2:ssl#intermediate_certificate">Adding SSL Support to Apache</a> for more information.</p>
<h3 id="deploylocalrb">Deploy.local.rb</h3>
<p>A common issue we’ve seen with is setting the deploy password. If you put it in <code>deploy.rb</code>, then it inevitably ends up in your source control repository, which is a bad idea. A workaround we’ve suggested in the past is to have a <code>deploy.local.rb</code> file, which isn’t tracked by source control, and load that from within your <code>deploy.rb</code> file. This allows you to have the password (or any other sensitive settings) defined, but kept outside your source control.</p>
<p>As part of this release, the gem now has official support for a <code>deploy.local.rb</code> file. If it exists, the gem will load it in for you.</p>
<p>For more information see the <a href="http://wiki.brightbox.co.uk/docs:gemv2:advancedgemsettings#deploy.local.rb">Advanced Gem Settings</a> page on the wiki.</p>
<h3 id="disable_regenerating_webserver_config">Disable (re)generating webserver config</h3>
<p>If you’ve made manual changes to your webserver (apache or nginx) configuration, then you don’t want an accidental <code>deploy:setup</code> to overwrite your configs. Up until now you just had to avoid running the command, but now there’s a setting to disable it for you.</p>
<pre><code>set :generate_webserver_config, false
</code></pre>
<p><span style="color: #888888;">FIXES AND ENHANCEMENTS</span></p>
<ul>
<li><a href="http://wiki.brightbox.co.uk/docs:gemv2:staticcache">Max Age</a> setting now accepts a number as well as a string</li>
<li>deploy:initial reloads Apache so the new config is loaded</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/brightbox-gem-v2-3-6-released/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passenger 2.2.9 packages for Ubuntu 8.04 Hardy</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-2-2-9-packages-for-ubuntu-8-04-hardy</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-2-2-9-packages-for-ubuntu-8-04-hardy#comments</comments>
		<pubDate>Fri, 08 Jan 2010 12:24:16 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[mod_rack]]></category>
		<category><![CDATA[mod_rails]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=893</guid>
		<description><![CDATA[The Phusion team released Passenger 2.2.9 today, which adds support for Rails 3, the GEM bundler, and fixes a couple of bugs.  As usual Brightbox are providing Ubuntu Hardy packages for i386 and AMD64 architectures, available now from the Brightbox apt repository. This package won&#8217;t actually support Rails 3 just yet though as we&#8217;ve yet to [...]]]></description>
			<content:encoded><![CDATA[<p>The Phusion team released <a href="http://blog.phusion.nl/2010/01/08/phusion-passenger-2-2-9-released/">Passenger 2.2.9</a> today, which adds support for Rails 3, the GEM bundler, and fixes a couple of bugs.  As usual <a href="http://wiki.brightbox.co.uk/docs:phusion-passenger">Brightbox are providing Ubuntu Hardy packages</a> for i386 and AMD64 architectures, available now from the <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">Brightbox apt repository</a>.</p>
<p>This package won&#8217;t actually support Rails 3 just yet though as we&#8217;ve yet to package and test the librack 1.1.0, which Rails 3 depends on.  We&#8217;re working on it now and once we&#8217;re happy with it we&#8217;ll add new packages to our repository as usual.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-2-2-9-packages-for-ubuntu-8-04-hardy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brightbox sponsors NWRUG, 21st January, Manchester</title>
		<link>http://blog.brightbox.co.uk/posts/brightbox-sponsors-nwrug-21st-january-manchester</link>
		<comments>http://blog.brightbox.co.uk/posts/brightbox-sponsors-nwrug-21st-january-manchester#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:29:01 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[manchester]]></category>
		<category><![CDATA[nwrug]]></category>
		<category><![CDATA[pizza]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sponsorship]]></category>
		<category><![CDATA[talk]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[user group]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=890</guid>
		<description><![CDATA[I&#8217;m speaking at this month&#8217;s North West Ruby Group meeting about some of the tools available that can be used to solve common Ruby and Rails deployment and development problems. &#8220;UNIX: Rediscovering the wheel&#8221;. Brightbox is also sponsoring the meeting so there will be free pizza afterwards (free as in pizza, not as in speech). [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m speaking at this month&#8217;s <a href="http://nwrug.org/events/january10/">North West Ruby Group meeting</a> about some of the tools available that can be used to solve common Ruby and Rails deployment and development problems. &#8220;UNIX: Rediscovering the wheel&#8221;.</p>
<p>Brightbox is also sponsoring the meeting so there will be free pizza afterwards (free as in pizza, not as in speech).</p>
<p>More details on the <a href="http://nwrug.org/events/january10/">NWRUG blog page</a>.</p>
<p>Hope to see you there!</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/brightbox-sponsors-nwrug-21st-january-manchester/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache x-sendfile module for Ubuntu Hardy</title>
		<link>http://blog.brightbox.co.uk/posts/apache-x-sendfile-module-for-ubuntu-hardy</link>
		<comments>http://blog.brightbox.co.uk/posts/apache-x-sendfile-module-for-ubuntu-hardy#comments</comments>
		<pubDate>Tue, 22 Dec 2009 17:37:21 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[file serving]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[package]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sendfile]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[x-sendfile]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=882</guid>
		<description><![CDATA[We&#8217;ve just added Caspar Clemens Mierau&#8216;s package for the Apache x-sendfile module to our Ubuntu Hardy package repositories, so now it&#8217;s trivially easy for Brightbox customers to start using it. We&#8217;ve also built an AMD64 version too.  Just install the package, enable it and reload Apache: sudo apt-get update sudo apt-get install libapache2-mod-xsendfile sudo a2enmod xsendfile sudo [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve just added <a href="https://launchpad.net/~damokles">Caspar Clemens Mierau</a>&#8216;s package for the Apache <a href="http://tn123.ath.cx/mod_xsendfile/">x-sendfile module</a> to our <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">Ubuntu Hardy package repositories</a>, so now it&#8217;s trivially easy for Brightbox customers to <a href="http://www.therailsway.com/2009/2/22/file-downloads-done-right">start using it</a>. We&#8217;ve also built an AMD64 version too.  Just install the package, enable it and reload Apache:</p>
<pre><code>sudo apt-get update
sudo apt-get install libapache2-mod-xsendfile
sudo a2enmod xsendfile
sudo invoke-rc.d apache reload</code></pre>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/apache-x-sendfile-module-for-ubuntu-hardy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passenger 2.2.7 packages for Ubuntu</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-2-2-7-packages-for-ubuntu</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-2-2-7-packages-for-ubuntu#comments</comments>
		<pubDate>Tue, 24 Nov 2009 08:18:05 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cow]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=839</guid>
		<description><![CDATA[Passenger 2.2.6 (quickly followed by 2.2.7) was released last week and we now have i386 and AMD64 Ubuntu Hardy packages available in our repository. As usual, details on installing the packages from our repository are available on our wiki. If you&#8217;re using Passenger and it&#8217;s making you happy, please do consider supporting its development by [...]]]></description>
			<content:encoded><![CDATA[<p>Passenger 2.2.6 (quickly followed by 2.2.7) was <a href="http://blog.phusion.nl/2009/11/18/phusion-passenger-2-2-6-released/">released last week</a> and we now have i386 and AMD64 Ubuntu Hardy packages available in our repository.</p>
<p>As usual, details on installing the packages from our repository are <a href="http://wiki.brightbox.co.uk/docs:phusion-passenger">available on our wiki</a>.</p>
<p>If you&#8217;re using Passenger and it&#8217;s making you happy, please do consider supporting its development by <a href="http://www.modrails.com/enterprise.html">donating money in the form of an &#8220;Enterprise License&#8221;</a> direct from Phusion, the company behind it.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-2-2-7-packages-for-ubuntu/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Expiring an entire page cache tree atomically</title>
		<link>http://blog.brightbox.co.uk/posts/expiring-an-entire-page-cache-tree-atomically</link>
		<comments>http://blog.brightbox.co.uk/posts/expiring-an-entire-page-cache-tree-atomically#comments</comments>
		<pubDate>Mon, 16 Nov 2009 16:35:13 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[atomic]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[expire]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[page cache]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=815</guid>
		<description><![CDATA[As you&#8217;ll all know, Rails has page caching baked right in &#8211; the first time an action is hit, it writes a html file of the result to the filesystem. Subsequent hits are served direct from the html file at high speed by the web server without ever involving your Rails app. Expiring the cache [...]]]></description>
			<content:encoded><![CDATA[<p>As you&#8217;ll all know, <a href="http://guides.rubyonrails.org/caching_with_rails.html#page-caching">Rails has page caching baked right in</a> &#8211; the first time an action is hit, it writes a html file of the result to the filesystem. Subsequent hits are served direct from the html file at high speed by the web server without ever involving your Rails app.</p>
<p>Expiring the cache is just a case of deleting the html file. But what if you want to expire an entire tree of cache files? Say you change something in a header or footer, so every single page needs expiring at once.</p>
<p>The usual way to do this is to just <a href="http://ruby-doc.org/core/classes/FileUtils.html#M004337">delete</a> the entire page cache tree, with <code>FileUtils.rm_rf</code>.  This works pretty well, but with a big tree you&#8217;ll get strange behaviour under high load due to concurrent access.  Whilst your <code>rm_rf</code> process is deleting the tree, file by file, your webserver will still be looking in there for page cache files and Rails will still be trying to write them.<br />
<span id="more-815"></span></p>
<p>This is easily solvable.  On a POSIX compliant filesystem, like EXT3, the rename operation is atomic &#8211; it either happens or it doesn&#8217;t, there is no in-between state where it is half renamed or anything.  So, before running the <code>rm_rf</code>, you <a href="http://ruby-doc.org/core/classes/FileUtils.html#M004330">rename</a> your highest-level cache directory to something temporary.  This means the cache expiry is instantaneous, even if you have 100 meg of page cache, and you won&#8217;t get Rails writing new page cache files into it whilst you delete it.</p>
<p>It&#8217;s a good idea to use a robust temporary filename format so two processes don&#8217;t end up renaming a cache directory to the same thing at the same time, especially if your page cache is on a shared filesystem.</p>
<p>An example snippet of code follows. It assumes you want to expire pages from the controller named <code>entries</code>.</p>
<pre><code>require 'socket'
tmp_cache_dir = [Socket.gethostname, Process.pid, Time.now.to_i, rand(0xffff)].to_s
page_cache_tree = File.join(ApplicationController.page_cache_directory, 'entries')
FileUtils.mv(page_cache_tree, page_cache_tree + tmp_cache_dir)
FileUtils.rm_rf(page_cache_tree + '-' + tmp_cache_dir)</code></pre>
<p>This renames <code>RAILS_ROOT/public/entries</code> to something like <code>RAILS_ROOT/public/entries-hostname22351125837834752773</code> (which should be sufficiently unique across a number of nodes in a cluster as to avoid collisions) and then deletes it.</p>
<p>If you want to expire the entire page cache, you&#8217;ll need to change the default from <code>RAILS_ROOT/public</code> as you can&#8217;t rename and delete that (it has images and javascripts etc. too!).  Change it to something like <code>RAILS_ROOT/public/page_cache</code>. You&#8217;ll need to update your web server config to consider this new path too.</p>
<p>Remember that rename is only atomic within the same filesystem, so if you symlink your page cache directory from your RAILS_ROOT onto a shared filesystem, then you need to do all your renames and deletes within this.</p>
<p>Also, this has the side effect of working around a bug with our shared filesystem, <a href="http://gluster.com">GlusterFS</a>, which got upset with <a href="http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=112">multiple concurrent directory tree deletes</a> (this is now fixed though).</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/expiring-an-entire-page-cache-tree-atomically/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby Enterprise 1.8.7-2009.10 Packages for Ubuntu Hardy</title>
		<link>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2009-10-packages-for-ubuntu-hardy</link>
		<comments>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2009-10-packages-for-ubuntu-hardy#comments</comments>
		<pubDate>Mon, 09 Nov 2009 16:48:49 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[1.8.7]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[enterprise]]></category>
		<category><![CDATA[hardy]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=808</guid>
		<description><![CDATA[We&#8217;ve built 32bit and 64bit Ubuntu Hardy packages for Ruby Enterprise 1.8.7-2009.10.  These packages are still in beta, and this is quite a major change from the default Hardy Ruby interpreter,which is 1.8.6, so we recommend you test thoroughly before putting it into production.  We&#8217;ve been using them for a couple of days with no [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve built 32bit and 64bit Ubuntu Hardy packages for <a href="http://blog.phusion.nl/2009/10/26/ruby-enterprise-edition-1-8-7-2009-10-released/">Ruby Enterprise</a> 1.8.7-2009.10.  These packages are still in beta, and this is quite a major change from the default Hardy Ruby interpreter,which is 1.8.6, so we recommend you test thoroughly before putting it into production.  We&#8217;ve been using them for a couple of days with no problems though.</p>
<p>As with our other Ruby EE packages, they upgrade (i.e replace) the standard 1.8 Ruby installation. This means all your gems stay the same, and everything on your system immediately starts using them (Phusion&#8217;s own Ubuntu packages do not work like this).  We&#8217;ve tested it with the usual Railsy native gems, RMagick, Mongrel, fasthread etc. and have had no problems.</p>
<p>If you&#8217;re on a Brightbox, just edit <code>/etc/apt/sources.list.d/brightbox-rubyee.list</code> and change the <code>rubyee</code> component to <code>rubyee-testing</code>:</p>
<pre><code>
deb http://apt.brightbox.net/ hardy rubyee-testing
</code></pre>
<p>Then update and upgrade:</p>
<pre><code>
sudo apt-get update
sudo apt-get install libruby1.8
</code></pre>
<p>If you&#8217;re not on a Brightbox, see the <a href="http://wiki.brightbox.co.uk/docs:ruby-enterprise">instructions on our wiki first</a>.  The wiki also documents how to revert back to the old packages.</p>
<p>As said above, we now have 64bit packages available too (which was recently made easier by some Debian package dependency updates, also included in our repository).</p>
<p>Please let us know how they worked out for you <a href="http://forum.brightbox.co.uk/forums/passenger/topics/ruby-enterprise-1-8-7-2009-10-packages-for-ubuntu-hardy">on our forum</a>. Thanks!</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/ruby-enterprise-1-8-7-2009-10-packages-for-ubuntu-hardy/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Senior Rails Developer &#8211; Join the Brightbox team!</title>
		<link>http://blog.brightbox.co.uk/posts/senior-rails-developer-join-the-brightbox-team</link>
		<comments>http://blog.brightbox.co.uk/posts/senior-rails-developer-join-the-brightbox-team#comments</comments>
		<pubDate>Mon, 24 Aug 2009 10:34:58 +0000</pubDate>
		<dc:creator>Louisa Parry</dc:creator>
				<category><![CDATA[jobs]]></category>
		<category><![CDATA[careers]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[leeds]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=707</guid>
		<description><![CDATA[We&#8217;re currently looking for an experienced and motivated Senior Rails Developer/Project Manager to join our development team here at Brightbox. You&#8217;ll work closely both with our Development and Technical Teams to develop our customer control panel and other backend systems. We&#8217;re looking for someone who, in addition to being a great coder, will be an [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re currently looking for an experienced and motivated Senior Rails Developer/Project Manager to join our development team here at Brightbox.</p>
<p>You&#8217;ll work closely both with our Development and Technical Teams to develop our customer control panel and other backend systems.  We&#8217;re looking for someone who, in addition to being a great coder, will be an integral part of the team and an organised and enthusiastic project manager.</p>
<p>The role is full-time and you can work from home, from our office in Leeds, or a bit of both (the rest of us do a bit of both).</p>
<p>Send a hello, a CV and salary expectations to jobs at the Brightbox UK domain. CVs should be in an open format, preferably PDF or plain text. Closing date is Friday 11th September 2009.</p>
<p>As always, recruitment agents should e-mail our special recruitment company email address: root@localhost<br />
<span id="more-707"></span></p>
<p><strong>Job Description</strong></p>
<ul>
<li>Work under the Technical Director and with our other developers to:</li>
<ul>
<li>Maintain and extend our &#8220;cloud&#8221; management systems</li>
<li>Maintain and extend our billing system</li>
<li>Build the front end for our next generation of deployment systems</li>
<li>Help with application consultancy (advising customers how to design and scale their apps)</li>
<li>Work on side-projects that help the community and promote Brightbox (such as isitruby19.com)</li>
<li>Extract code to be shared with the community as open source/free software</li>
<li>Invent and develop new ideas for services and products</li>
</ul>
<li>Project manage several concurrent projects</li>
<li>Work from home or our office in Leeds</li>
</ul>
<p><strong>Qualifications</strong></p>
<ul>
<li>Great Ruby on Rails coding skills</li>
<li>A track record of implementing live RoR sites</li>
<li>Experience of test driven development using RSpec</li>
<li>Experience of deploying Rails using tools such as Capistrano</li>
<li>Experience of project management desirable</li>
<li>Proactive developer able to work independently as well as part of the team</li>
<li>Suited to working in an agile, flexible environment</li>
<li>Good written and verbal communication skills</li>
<li>Living within 2 hours of the UTC time zone</li>
</ul>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/senior-rails-developer-join-the-brightbox-team/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Passenger 2.2.4 packages for Ubuntu</title>
		<link>http://blog.brightbox.co.uk/posts/passenger-224-packages-for-ubuntu</link>
		<comments>http://blog.brightbox.co.uk/posts/passenger-224-packages-for-ubuntu#comments</comments>
		<pubDate>Mon, 29 Jun 2009 13:22:55 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[cow]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[modrails]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=609</guid>
		<description><![CDATA[Passenger 2.2.4 was released last week and we now have Ubuntu Hardy packages available in our repository. Passenger 2.2.4 actually is just a small bug fix release for a memory leak in 2.2.3, but obviously brings all the benefits of 2.2.3 too.  A huge number of bugs have been fixed, particularly the &#8220;Broken Pipe&#8221; errors [...]]]></description>
			<content:encoded><![CDATA[<p>Passenger 2.2.4 was <a href="http://blog.phusion.nl/2009/06/21/phusion-passenger-224-released/">released last week</a> and we now have Ubuntu Hardy packages available in our repository.</p>
<p>Passenger 2.2.4 actually is just a small bug fix release for a memory leak in 2.2.3, but obviously brings all <a href="http://blog.phusion.nl/2009/06/17/phusion-passenger-223-released-bug-fix-edition/">the benefits of 2.2.3</a> too.  A huge number of bugs have been fixed, particularly the &#8220;Broken Pipe&#8221; errors some sites under heavy loads were experiencing.</p>
<p>As usual, details on installing the packages from our repository are <a href="http://wiki.brightbox.co.uk/docs:phusion-passenger">available on our wiki</a>.</p>
<p>If you&#8217;re using Passenger and it&#8217;s making you happy, please do consider supporting its development by <a href="http://www.modrails.com/enterprise.html">donating money in the form of an &#8220;Enterprise License&#8221;</a> direct from Phusion, the company behind it.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/passenger-224-packages-for-ubuntu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby BigDecimal denial of service</title>
		<link>http://blog.brightbox.co.uk/posts/ruby-bigdecimal-denial-of-service</link>
		<comments>http://blog.brightbox.co.uk/posts/ruby-bigdecimal-denial-of-service#comments</comments>
		<pubDate>Wed, 10 Jun 2009 10:50:39 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[activerecord]]></category>
		<category><![CDATA[bigdecimal]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[vulnerabilities]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=590</guid>
		<description><![CDATA[From ruby-lang.org: A denial of service (DoS) vulnerability was found on the BigDecimal standard library of Ruby. Conversion from BigDecimal objects into Float numbers had a problem which enables attackers to effectively cause segmentation faults. ActiveRecord relies on this method, so most Rails applications are affected by this. Though this is not a Rails-specific issue. [...]]]></description>
			<content:encoded><![CDATA[<p>From <a href="http://www.ruby-lang.org/en/news/2009/06/09/dos-vulnerability-in-bigdecimal/">ruby-lang.org</a>:</p>
<blockquote><p>A denial of service (DoS) vulnerability was found on the BigDecimal standard library of Ruby.  Conversion from BigDecimal objects into Float numbers had a problem which enables attackers to effectively cause segmentation faults.</p>
<p>ActiveRecord relies on this method, so most Rails applications are affected by this.  Though this is not a Rails-specific issue.</p></blockquote>
<p>We&#8217;re currently  building new Ruby packages for Brightbox customers with the relevant patches to fix this vulnerability. We&#8217;ll keep this post updated with the latest news.</p>
<p>UPDATE, 15:46 BST: New Ruby EE packages are now available in our<a href="http://wiki.brightbox.co.uk/docs:ruby-enterprise"> Ruby Enterprise Ubuntu repository</a>. We&#8217;re working on updates for the standard Ubuntu version of Ruby.</p>
<p>You can confirm that the update fixes the bug with the following command:</p>
<pre>ruby -e 'require "bigdecimal";BigDecimal("E99999999").to_s("F");puts "OK"'</pre>
<p>If your version of Ruby is vulnerable, you&#8217;ll get a &#8220;Segmentation fault&#8221; error message, otherwise it prints &#8220;OK&#8221;.</p>
<p>UPDATE: Official Ubuntu packages to fix this vulnerability are now available.  The Hardy package is libruby1.8 version 1.8.6.111-2ubuntu1.3 and the Dapper package is libruby1.8 version 1.8.4-1ubuntu1.7.  The packages will be available for install after a normal apt-get update.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/ruby-bigdecimal-denial-of-service/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

