<?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; John Leach</title>
	<atom:link href="http://blog.brightbox.co.uk/posts/author/john/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>NGINX Passenger 3 Ubuntu packages</title>
		<link>http://blog.brightbox.co.uk/posts/nginx-passenger-3-ubuntu-packages</link>
		<comments>http://blog.brightbox.co.uk/posts/nginx-passenger-3-ubuntu-packages#comments</comments>
		<pubDate>Thu, 05 May 2011 08:52:23 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[phusion]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1577</guid>
		<description><![CDATA[We&#8217;ve updated our NGINX packages to NGINX v1.0.0 and Passenger 3.0.7. They&#8217;re now hosted on Launchpad.net, which makes it dead easy to use in Ubuntu. We&#8217;ve also fixed the dependency problems that occurred in the past, where a newer version of Passenger broke the older NGINX packages. These NGINX packages now strictly depend on the [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve updated our NGINX packages to NGINX v1.0.0 and Passenger 3.0.7. They&#8217;re <a href="https://launchpad.net/~brightbox/+archive/passenger-nginx">now hosted on Launchpad.net</a>, which makes it dead easy to use in Ubuntu.</p>
<p>We&#8217;ve also fixed the dependency problems that occurred in the past, where a newer version of Passenger broke the older NGINX packages. These NGINX packages now strictly depend on the Passenger packages, and we&#8217;ve put them in their own Launchpad archive so they&#8217;re always guaranteed to work (even if they ever lag behind the Apache packages).</p>
<p>You can add the PPA and install NGINX like this:</p>
<pre><code>sudo apt-add-repository ppa:brightbox/passenger-nginx
sudo apt-get update
sudo apt-get install nginx-full
</code></pre>
<p>You&#8217;ll then need to enable the Passenger module, which can be usually done like this:</p>
<pre><code>cat &lt;&lt;EOF &gt; /etc/nginx/conf.d/passenger.conf
passenger_root /usr/lib/phusion-passenger;
EOF</code></pre>
<p>We&#8217;ve also added our other <a href="https://launchpad.net/~brightbox/+archive/passenger">Apache Passenger</a> packages to Launchpad too (with Hardy support), just use:</p>
<pre><code>sudo apt-add-repository ppa:brightbox/passenger</code></pre>
<p>We&#8217;ll keep our <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository">own apt repository</a> in sync with Launchpad for Hardy and Lucid too, in case you prefer that (use the passenger-nginx component for the nginx passenger packages).</p>
<p>Happy Passengering! (I&#8217;m pretty certain that&#8217;s not a real verb. It might be a proper verb. I&#8217;m pretty certain there is no such thing as a proper verb).</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/nginx-passenger-3-ubuntu-packages/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>IPv6 in the Brightbox Cloud</title>
		<link>http://blog.brightbox.co.uk/posts/ipv6-brightbox-cloud</link>
		<comments>http://blog.brightbox.co.uk/posts/ipv6-brightbox-cloud#comments</comments>
		<pubDate>Fri, 25 Mar 2011 12:24:49 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[addresses]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[IaaS]]></category>
		<category><![CDATA[internet]]></category>
		<category><![CDATA[ipv4]]></category>
		<category><![CDATA[ipv6]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1829</guid>
		<description><![CDATA[I don&#8217;t have to tell you why IPv6 is important &#8211; even the mainstream media has finally realised that the pool of IPv4 addresses is exhausted (it&#8217;s not like we needed tarot cards to predict it!). Any modern network must have support for IPv6. We&#8217;ve been concentrating on perfecting IPv4 in Brightbox Cloud as that&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1887" title="ipv6 ping" src="http://blog.brightbox.co.uk/wp-content/uploads/2011/03/bb-ping-cloud-ipv62.png" alt="" width="628" height="128" /></p>
<p>I don&#8217;t have to tell you why IPv6 is important &#8211; even the mainstream media has finally realised that the pool of IPv4 addresses is exhausted (it&#8217;s not like we needed tarot cards to predict it!). Any modern network must have support for IPv6.</p>
<p>We&#8217;ve been concentrating on perfecting IPv4 in <a href="http://beta.brightbox.com/beta">Brightbox Cloud</a> as that&#8217;s the immediate need, but we&#8217;ve considered IPv6 since day one of our network designs (over a year ago now!).  Every cloud server will get IPv6 addresses by default (and AAAA dns records of course), so you&#8217;ll be able to access your servers directly. We already have this working for our own test servers and we&#8217;ll have it in the hands of our customers very soon.</p>
<p>IPv6 will be a &#8220;first class citizen&#8221; in the Brightbox Cloud &#8211; supported throughout all of our services: Our Cloud Servers, Load Balancers, Firewall, Cloud IPs and of course <a href="https://api.gb1.brightbox.com/1.0/">our API</a>. We&#8217;re currently working on the full implementation but I thought it was worthwhile announcing our plans, since this is such an important aspect of our service.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/ipv6-brightbox-cloud/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wanted: Senior Ruby Software Engineer</title>
		<link>http://blog.brightbox.co.uk/posts/wanted-senior-ruby-software-engineer</link>
		<comments>http://blog.brightbox.co.uk/posts/wanted-senior-ruby-software-engineer#comments</comments>
		<pubDate>Fri, 18 Mar 2011 15:16:28 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[brightbox cloud]]></category>
		<category><![CDATA[ruby jobs]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[software engineer]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1849</guid>
		<description><![CDATA[Job description: In the three and a half years since Brightbox started, we’ve built a solid reputation for our “Serious Rails Hosting” platform. We’ve spent the last twelve months building Brightbox Cloud our new cloud Infrastructure-as-a-Service which is already making big waves. We’re now looking for an experienced software engineer to join our small but [...]]]></description>
			<content:encoded><![CDATA[<h3>Job description:</h3>
<p>In the three and a half years since Brightbox started, we’ve built a solid reputation for our “Serious Rails Hosting” platform. We’ve spent the last twelve months building <a href="http://beta.brightbox.com">Brightbox Cloud</a> our new cloud Infrastructure-as-a-Service which is already making big waves. We’re now looking for an experienced software engineer to join our small but highly productive development team. This is an awesome opportunity to use your skills and experience to help shape our future products and direction in this exciting and fast growing industry.</p>
<h4>Main responsibilities:</h4>
<ul>
<li>Lead development of our distributed cloud management and automation systems</li>
<li>Break down complex projects into clear tasks and specs</li>
<li>Proactively find ways of improving our services, systems and code</li>
<li>Efficiently manage your own workload as well as that of others</li>
<li>Extract code to be released as free software projects</li>
</ul>
<h3>The ideal candidate:</h3>
<p>You have an insatiable desire to understand things, to break them apart and to fix them. You are continuously looking for ways to improve things. You are enthusiastic about some technologies and vocalise your reasoned dislike for others. You have strong opinions and stand by them when it really matters, but are willing to compromise when it doesn’t. You are able to communicate your ideas succinctly with eloquence and clarity. You have probably contributed to some free software projects, and perhaps started your own. You don’t take yourself too seriously and are comfortable with others reviewing your work. You love what you do.</p>
<h4>Skills &amp; Experience:</h4>
<ul>
<li>Several years experience of coding in Ruby</li>
<li>Experience with Ruby web frameworks, such as Rails, Sinatra</li>
<li>Experience of testing frameworks, such as rspec</li>
<li>Experience of deployment using tools, such as Capistrano</li>
<li>In-depth knowledge of distributed cloud infrastructure concepts</li>
<li>Experience programming asynchronous systems</li>
<li>Experience consuming and creating APIs</li>
<li>Experience of working in a fast-paced, agile environment</li>
<li>Ability to empathise with users</li>
</ul>
<h3>Our team:</h3>
<p>We’re Ruby developers and system engineers. We’re obsessive about great user experience and clear documentation.  We’re passionate about high availability, performance and consistency, though not all at once. We’ve coded seriously in Ruby, C, Delphi, Ada, C++, Python, Amiga AMOS, PHP, Java, Objective-C, Pascal, Eiffel, Basic, Perl, Informix 4GL, Javascript and Bash. We use Ubuntu, Centos and OS X. We take our work seriously but we have a lot of fun.</p>
<p>Like our systems, our teams are geographically distributed, communicating in real-time throughout the working day using our private Jabber conference or phone calls. We manage our work with Redmine, usually organising chunks of work into weekly sprints. We’re a lean organisation &#8211; you’ll have direct access to leadership as well as other teams. Our development, engineering and operations teams all work closely together which shortens the feedback loop and means we get things done better.</p>
<h3>Location:</h3>
<p>Remote, but ideally working within 2 hours of UTC.</p>
<h3>Salary:</h3>
<p>circa £55k p.a. (depending on experience).</p>
<h3>Closing date:</h3>
<p>Friday 22nd April 2011.</p>
<h3>How to apply:</h3>
<p>Send a hello email and a CV (PDF or plain text) to <a href="mailto:&#x6a;&#x6f;&#x62;&#x73;&#x40;&#x62;&#x72;&#x69;&#x67;&#x68;&#x74;&#x62;&#x6f;&#x78;&#x2e;&#x63;o.uk">&#x6a;&#x6f;&#x62;&#x73;&#x40;&#x62;&#x72;&#x69;&#x67;&#x68;&#x74;&#x62;&#x6f;&#x78;&#x2e;&#x63;o.uk</a>. All correspondence from recruitment agents must be in Esperanto and to our special recruitment email address: <a href="mailto:root@localhost">root@localhost</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/wanted-senior-ruby-software-engineer/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD in the Brightbox Cloud</title>
		<link>http://blog.brightbox.co.uk/posts/freebsd-cloud</link>
		<comments>http://blog.brightbox.co.uk/posts/freebsd-cloud#comments</comments>
		<pubDate>Tue, 23 Nov 2010 10:18:48 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[cloud]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[virtio]]></category>
		<category><![CDATA[virtualisation]]></category>
		<category><![CDATA[virtualised]]></category>
		<category><![CDATA[virtualized]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1475</guid>
		<description><![CDATA[Last week we added a &#8220;compatibility&#8221; mode to our new cloud platform, which allows running operating systems without virtio support.  This opens up our platform beyond Linux, and for starters we&#8217;ve added FreeBSD 8.1 images: $ brightbox-images list img-1okdf img-aoubd id         owner      type      created_on  status  size   name ----------------------------------------------------------------------------------------- img-1okdf  brightbox  official  2010-11-19  public  20480  FreeBSD [...]]]></description>
			<content:encoded><![CDATA[<p>Last week we added a &#8220;compatibility&#8221; mode to <a href="http://beta.brightbox.com">our new cloud platform</a>, which allows running operating systems without <a href="http://wiki.libvirt.org/page/Virtio">virtio support</a>.  This opens up our platform beyond Linux, and for starters we&#8217;ve added FreeBSD 8.1 images:</p>
<pre><code>$ brightbox-images list img-1okdf img-aoubd

id         owner      type      created_on  status  size   name
-----------------------------------------------------------------------------------------
img-1okdf  brightbox  official  2010-11-19  public  20480  FreeBSD 8.1 minimal (i686)
img-aoubd  brightbox  official  2010-11-19  public  20480  FreeBSD 8.1 minimal (x86_64)
-----------------------------------------------------------------------------------------
</code></pre>
<p>As you&#8217;d expect, you can control FreeBSD servers via the API, just like any other Brightbox cloud server &#8211; and that includes snapshotting the disk. If you&#8217;re a FreeBSD nerd and want to have a play, then <a href="http://beta.brightbox.com">sign up to our beta</a>.</p>
<p>Now I&#8217;m off to learn how to use FreeBSD to see what all the fuss is about :)</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/freebsd-cloud/feed</wfw:commentRss>
		<slash:comments>2</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>Free upgrades for everyone!</title>
		<link>http://blog.brightbox.co.uk/posts/free-upgrades-for-everyone</link>
		<comments>http://blog.brightbox.co.uk/posts/free-upgrades-for-everyone#comments</comments>
		<pubDate>Mon, 27 Sep 2010 13:32:36 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[birthday]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[new relic]]></category>
		<category><![CDATA[ram]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1283</guid>
		<description><![CDATA[50% extra RAM Brightbox&#8217;s birthday is a matter of days away and we&#8217;re starting our fourth year by increasing RAM for all Brightboxes by 50%. We&#8217;ll be upgrading existing Brightboxes over the next couple of weeks, though the product names in the control panel will change straight away. MySQL connection quotas doubled Since you&#8217;ll now [...]]]></description>
			<content:encoded><![CDATA[<h4>50% extra RAM</h4>
<p>Brightbox&#8217;s birthday is a matter of days away and we&#8217;re starting our fourth year by <strong>increasing RAM for all Brightboxes by 50%</strong>.  We&#8217;ll be upgrading existing Brightboxes over the next couple of weeks, though the product names in the control panel will change straight away.</p>
<h4>MySQL connection quotas doubled</h4>
<p>Since you&#8217;ll now be able to fit more app processes on your Brightboxes, you&#8217;ll need more MySQL connections, so we&#8217;re <strong>doubling</strong> those for all products too.</p>
<h4>New Relic RPM for all</h4>
<p>And as if this wasn&#8217;t enough, we&#8217;re expanding our New Relic RPM offering to include all Brightbox  sizes. See <a href="http://wiki.brightbox.co.uk/docs:newrelic">our wiki page</a> for more details about getting it set up.</p>
<p>We&#8217;re taking the opportunity to rename our products too, as naming by RAM size starts to get a bit ugly when you move beyond powers of two.  The table below shows how the products are being renamed and what your new RAM size will be. Happy birthday us!</p>
<table class="matrix">
<tbody>
<tr>
<th>Old name</th>
<th>New name</th>
<th>New RAM</th>
<th>MySQL conns</th>
</tr>
<tr>
<td>Brightbox 256</td>
<td>Brightbox Nano</td>
<td>384</td>
<td>10</td>
</tr>
<tr>
<td>Brightbox 512</td>
<td>Brightbox Mini</td>
<td>768</td>
<td>20</td>
</tr>
<tr>
<td>Brightbox 1GB</td>
<td>Brightbox Small</td>
<td>1536</td>
<td>30</td>
</tr>
<tr>
<td>Brightbox 2GB</td>
<td>Brightbox Medium</td>
<td>3072</td>
<td>40</td>
</tr>
<tr>
<td>Brightbox 4GB</td>
<td>Brightbox Large</td>
<td>6144</td>
<td>50</td>
</tr>
</tbody>
</table>
<p>We&#8217;ve got some other big things in the pipeline too, so stay tuned. The next few months are going to be great.<br />
<br />
Update (19 October 2010): We have now completed these upgrades for all customers. The extra MySQL connections are already available to everyone. Customers who have not rebooted their Brightboxes recently will need to do so in order to start using their extra RAM.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/free-upgrades-for-everyone/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>New: Automatically add SSH keys to new Brightboxes</title>
		<link>http://blog.brightbox.co.uk/posts/new-automatically-add-ssh-keys-to-new-brightboxes</link>
		<comments>http://blog.brightbox.co.uk/posts/new-automatically-add-ssh-keys-to-new-brightboxes#comments</comments>
		<pubDate>Thu, 03 Jun 2010 14:52:01 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[brightbox]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[keys]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=1099</guid>
		<description><![CDATA[Getting access to your newly purchased Brightboxes used to require a trip to the control panel to retrieve the &#8216;rails&#8217; user password. If you&#8217;re using config management systems like Chef or Puppet this is likely the only laborious aspects of configuring your box. No longer! Now, whenever a new box is deployed, the SSH keys [...]]]></description>
			<content:encoded><![CDATA[<p>Getting access to your newly purchased Brightboxes used to require a trip to the control panel to retrieve the &#8216;rails&#8217; user password. If you&#8217;re using config management systems like Chef or Puppet this is likely the only laborious aspects of configuring your box. No longer!</p>
<p>Now, whenever a new box is deployed, the SSH keys of all the technical contacts on your Brightbox account are automatically pre-installed for the default &#8216;rails&#8217; user. To add your own SSH key, <a href="https://control.brightbox.co.uk/profile">edit your user profile</a> within the control panel and paste in your SSH public key using the editor at the bottom.</p>
<p><img class="content_image" title="ssh public key" src="http://blog.brightbox.co.uk/wp-content/uploads/2010/06/ssh-public-key.png" alt="" width="632" height="236" /></p>
<p>Remember, this only affects newly provisioned boxes &#8211; as the it&#8217;s done during the box build stage. Removing or adding technical contacts in the control panel at a later date will not automatically change any access control on existing boxes.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/new-automatically-add-ssh-keys-to-new-brightboxes/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>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>Shared MySQL improvements</title>
		<link>http://blog.brightbox.co.uk/posts/shared-mysql-improvements</link>
		<comments>http://blog.brightbox.co.uk/posts/shared-mysql-improvements#comments</comments>
		<pubDate>Wed, 23 Dec 2009 07:49:11 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[cluster]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[improvements]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[shared]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=875</guid>
		<description><![CDATA[Over the last few weeks we&#8217;ve been working on scaling our shared MySQL facilities. Until recently, we&#8217;ve been able to run a single (albeit hefty) shared MySQL cluster but due to growing demand we&#8217;ve needed to scale this up considerably. The main cluster has had some performance problems recently and, while some tuning and vertical [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few weeks we&#8217;ve been working on scaling our shared MySQL facilities. Until recently, we&#8217;ve been able to run a single (albeit hefty) shared MySQL cluster but due to growing demand we&#8217;ve needed to scale this up considerably. The main cluster has had some performance problems recently and, while some tuning and vertical scaling bought us some time (we more than doubled the resources of the main cluster), the real focus has been on horizontal scaling.</p>
<p>We&#8217;ve built a bunch of new master-master replicated pairs and our backend systems now distribute customers between them on sign-up.  We&#8217;ve also been contacting some customers and moving them to new clusters, to relieve the pressure on the main cluster (customers with heavy requirements are still recommended managed dedicated clusters &#8211; these will be available to purchase simply as additional products soon).  We&#8217;re using puppet to automate a lot of the setup of the new clusters and can deploy a new one, with monitoring and backups, very quickly.</p>
<p>This work has almost quadrupled the shared MySQL resources within the space of a couple of weeks, and provides a simple platform to continue scaling indefinitely. The decentralisation also makes some aspects of administration easier, such as arranging downtime for maintenance.</p>
<p>The visible differences are small: rather than everyone connecting to one address, sqlreadwrite.brightbox.net, each account needs to use the address provided in the control panel.  The old sqlreadwrite.brightbox.net has become db01.mysql.vm.brightbox.net (the old name will of course continue to work indefinitely), and the new clusters are at db02.mysql.vm.brightbox.net, db03.mysql.vm.brightbox.net etc. Our wiki documentation has been updated to reflect this &#8211; customers on the old cluster don&#8217;t have to make any changes, it only really affects new customers and customers we&#8217;ve contacted to arrange a move.</p>
<p>We&#8217;ve also been working on improving the slow query logger to provide more useful results. Instead of reporting every slow query ever logged, it produces an intelligent summary of the week&#8217;s queries. This means when you see a slow query in the control panel, it means it&#8217;s shown up repeatedly and very likely needs attention, as opposed to queries that just happened to take longer than usual due to load on the cluster. We&#8217;ll be rolling this work out just after Christmas.</p>
<p>This work represents a big investment in our shared MySQL platform, which we know is invaluable to a lot of our customers, and allows us to keep growing without sacrificing performance.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/shared-mysql-improvements/feed</wfw:commentRss>
		<slash:comments>1</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>NGINX buffer underflow security vulnerability</title>
		<link>http://blog.brightbox.co.uk/posts/nginx-buffer-underflow-security-vulnerability</link>
		<comments>http://blog.brightbox.co.uk/posts/nginx-buffer-underflow-security-vulnerability#comments</comments>
		<pubDate>Tue, 15 Sep 2009 17:11:58 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[packages]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[vulnerability]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=732</guid>
		<description><![CDATA[From the Debian Security team (CVE-2009-2629): nginx &#8230; is vulnerable to a buffer underflow when processing certain HTTP requests. An attacker can use this to execute arbitrary code with the rights of the worker process  or possibly perform denial of service attacks by repeatedly crashing worker processes via a specially crafted URL in an HTTP [...]]]></description>
			<content:encoded><![CDATA[<p>From the <a href="http://www.debian.org/security/2009/dsa-1884">Debian Security team</a> (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-2629">CVE-2009-2629</a>):</p>
<blockquote><p>nginx &#8230; is vulnerable to a buffer underflow when processing certain HTTP requests. An attacker can use this to execute arbitrary code with the rights of the worker process  or possibly perform denial of service attacks by repeatedly crashing worker processes via a specially crafted URL in an HTTP request.</p></blockquote>
<p>New versions of our <a href="http://wiki.brightbox.co.uk/docs:brightboxaptrepository:packages">nginx packages</a> that address this security vulnerability are now available.  nginx 0.6.39 (with the fair balancer module) is available from the Brightbox apt repositories &#8211; running the following command will get you the latest version:</p>
<pre>sudo apt-get update
sudo apt-get install nginx</pre>
<p>Our more experimental nginx-brightbox package has also been upgraded to 0.6.39.  This includes a number of nginx addons, such as the <a href="http://www.grid.net.ru/nginx/upload.en.html">upload module</a>, <a href="http://wiki.nginx.org/NginxHttpGeoIPModule">geoip module</a>, and <a href="http://www.modrails.com/">Phusion Passenger 2.0.5</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/nginx-buffer-underflow-security-vulnerability/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails form helper security vulnerability</title>
		<link>http://blog.brightbox.co.uk/posts/rails-form-helper-security-vulnerability</link>
		<comments>http://blog.brightbox.co.uk/posts/rails-form-helper-security-vulnerability#comments</comments>
		<pubDate>Fri, 04 Sep 2009 10:22:47 +0000</pubDate>
		<dc:creator>John Leach</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[attach]]></category>
		<category><![CDATA[cross site scripting]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[vulnerability]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://blog.brightbox.co.uk/?p=724</guid>
		<description><![CDATA[A vulnerability has been found in the Rails form helpers that allows an attacker to inject arbitrary HTML into pages.  This opens up an unpatched Rails app to potential cross site scripting attacks (XSS), which could result in stolen session cookies and other such scenarios. All versions of Rails above and including version 2.0 are [...]]]></description>
			<content:encoded><![CDATA[<p>A vulnerability has been found in the Rails form helpers that allows an attacker to inject arbitrary HTML into pages.  This opens up an unpatched Rails app to potential <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">cross site scripting attacks</a> (XSS), which could result in stolen session cookies and other such scenarios.</p>
<p>All versions of Rails above and including version 2.0 are affected. There are two new official releases to fix this, 2.3.4 and 2.2.3.  If you&#8217;re still running Rails 2.0 or 2.1 and can&#8217;t upgrade, patches have been provided by the security team but need applying manually.  In this case, we&#8217;d recommend vendoring the rails gems and then applying the patches.</p>
<p><a href="http://groups.google.com/group/rubyonrails-security/msg/7f57cd7794e1d1b4">More details from the security team here.</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.brightbox.co.uk/posts/rails-form-helper-security-vulnerability/feed</wfw:commentRss>
		<slash:comments>2</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>

