<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.johnandcailin.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>john quinn&#039;s blog</title>
 <link>http://www.johnandcailin.com/view/blog/john/%2A</link>
 <description>john&#039;s blog entries</description>
 <language>en</language>
<item>
 <title>Saying Yes to NoSQL; Going Steady with Cassandra</title>
 <link>http://www.johnandcailin.com/blog/john/saying-yes-nosql-going-steady-cassandra</link>
 <description>&lt;p&gt;The last six months have been exciting for Digg&#039;s engineering team. We&#039;re working on a soup-to-nuts rewrite. Not only are we rewriting all our application code, but we&#039;re also rolling out a new client and server architecture. And if that doesn&#039;t sound like a big enough challenge, we&#039;re replacing most of our infrastructure components and moving away from LAMP.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/saying-yes-nosql-going-steady-cassandra&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/saying-yes-nosql-going-steady-cassandra#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/cassandra">cassandra</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/non-relational">non-relational</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/nosql">nosql</category>
 <pubDate>Wed, 10 Mar 2010 12:12:30 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">2431 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>san francisco nosql meetup</title>
 <link>http://www.johnandcailin.com/blog/john/san-francisco-nosql-meetup</link>
 <description>last week, i had the good fortune to attend the san francisco &lt;a href=&quot;http://nosql.eventbrite.com/&quot;&gt;nosql meetup&lt;/a&gt; organized by johan oskarsson.

&lt;p&gt;the meetup discussed the limitations of traditional relational database technology at scale and the open-source alternatives currently available with similar functionality to amazon&#039;s &lt;a href=&quot;http://s3.amazonaws.com/AllThingsDistributed/sosp/amazon-dynamo-sosp2007.pdf&quot;&gt;dynamo&lt;/a&gt; google&#039;s &lt;a href=&quot;http://labs.google.com/papers/bigtable-osdi06.pdf&quot;&gt;bigtable&lt;/a&gt;. 

&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/san-francisco-nosql-meetup&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/san-francisco-nosql-meetup#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/cassandra">cassandra</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/couchdb">couchdb</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/databases">databases</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/distributed">distributed</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/dynomite">dynomite</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/hbase">hbase</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/hypertable">hypertable</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/non-relational">non-relational</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/open-source">open source</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/voldemort">voldemort</category>
 <pubDate>Mon, 15 Jun 2009 09:16:52 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">1824 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>smartly purge your old backup files on linux</title>
 <link>http://www.johnandcailin.com/blog/john/smartly-purge-your-old-backup-files-linux</link>
 <description>&lt;p&gt;if you backup your *nix box, eventually you&#039;ll get into the business of purging your old backup files to preserve disk space. a reasonable way to do this is to use the &lt;code&gt;find&lt;/code&gt; command to identify old backups and delete them. you should, however, consider doing something a little smarter than this.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/smartly-purge-your-old-backup-files-linux&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/smartly-purge-your-old-backup-files-linux#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/backup">backup</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/linux">linux</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/python">python</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Mon, 23 Feb 2009 21:08:13 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">1471 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>creating an agile engineering work space at digg</title>
 <link>http://www.johnandcailin.com/blog/john/creating-agile-engineering-work-space-digg</link>
 <description>&lt;p class=&quot;clear-block&quot;&gt;

&lt;a href=&quot;http://www.johnandcailin.com/blog/john/creating-agile-engineering-work-space-digg&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/core.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 8px;&quot;&gt;&lt;/a&gt;

digg has been growing like crazy, creating space problems for our development department, resulting not only in excessive density, but in our team being spread across several floors. these space issues have caused significant challenges for our &lt;a href=&quot;http://www.johnandcailin.com/blog/john/laying-agile-groundwork-digg&quot;&gt;emerging agile development environment&lt;/a&gt;, stifling informal communication and making it difficult to organize teams into cohesive groups.
&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/creating-agile-engineering-work-space-digg&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/creating-agile-engineering-work-space-digg#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/agile">agile</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/digg">digg</category>
 <pubDate>Tue, 06 Jan 2009 21:22:11 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">1373 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>amazon release their elastic block store, ebs</title>
 <link>http://www.johnandcailin.com/blog/john/amazon-release-their-elastic-block-store%2C-ebs</link>
 <description>&lt;p&gt;&lt;a href=&quot;amazon-release-their-elastic-block-store%2C-ebs&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/drupalBodyBuilder.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 0px 10px&quot;&gt;&lt;/a&gt;
a while ago i posted some &lt;a href=&quot;http://www.johnandcailin.com/blog/john/lamp-performance-elastic-compute-cloud%3A-benchmarking-drupal-amazon-ec2&quot;&gt;performance benchmarks&lt;/a&gt; for drupal running on a variety of servers in amazon&#039;s &lt;a href=&quot;http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud&quot;&gt;elastic compute cloud&lt;/a&gt;.

&lt;p&gt;amazon have just released ebs, the final piece of technology that makes their ec2 platform really viable for running lamp stacks stuck as drupal.

&lt;p&gt;ebs, the &quot;elastic block store&quot;, provides sophisticated storage for your database instance, with features including:

&lt;ul&gt;
&lt;li&gt;high io throughput
&lt;li&gt;data replication
&lt;li&gt;large storage capacity
&lt;li&gt;hot backups using snapshots
&lt;li&gt;instance type portability e.g. quickly swapping your database hardware for a bigger machine.
&lt;/ul&gt;

&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/amazon-release-their-elastic-block-store%2C-ebs&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/amazon-release-their-elastic-block-store%2C-ebs#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/ec2">ec2</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/jmeter">jmeter</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/lamp">lamp</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/xen">xen</category>
 <pubDate>Tue, 26 Aug 2008 06:42:33 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">982 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>laying the agile groundwork at digg</title>
 <link>http://www.johnandcailin.com/blog/john/laying-agile-groundwork-digg</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/laying-agile-groundwork-digg&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/multimeter.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 10px 10px&quot;&gt;&lt;/a&gt;
&lt;p&gt;i&#039;m currently working on re-engineering many of the development processes at digg. we&#039;re adopting a number of practices from the agile world that complement the type of development that we do. these practices include: build automation, automated deployment, daily scrums, short releasable time-boxed iterations, simple design, refactoring, and just-in-time specification.

&lt;p&gt;we&#039;ve decided to be agile about our adoption of our new agile processes, introducing them incrementally, measuring the results along the way and iterating as necessary.

&lt;p&gt;as we worked through the cascading dependencies of our adoption path, it quickly became clear that automated testing had to be a cornerstone practice if we were going to make a success of the others.
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/laying-agile-groundwork-digg&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/laying-agile-groundwork-digg#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/agile">agile</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/agilo">agilo</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/automated-testing">automated testing</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/digg">digg</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/php">php</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/phpundercontrol">phpundercontrol</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/phpunit">phpunit</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scrum">scrum</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/selenium">selenium</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/svn">svn</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/trac">trac</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/twist">twist</category>
 <pubDate>Tue, 22 Jul 2008 20:51:03 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">835 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>a new jmeter book from packt</title>
 <link>http://www.johnandcailin.com/blog/john/new-jmeter-book-packt</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/new-jmeter-book-packt&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/ApacheJMeter.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 10px 10px&quot;&gt;&lt;/a&gt;
&lt;p&gt;recently i posted a couple of introductory articles on &lt;a href=&quot;http://en.wikipedia.org/wiki/JMeter&quot;&gt;jmeter&lt;/a&gt;, a great apache open-source tool that allows you to measure the performance and scalability of a wide variety of services, especially web-applications.

&lt;p&gt;i wrote these articles because although the &lt;a href=&quot;http://jakarta.apache.org/jmeter/usermanual/index.html&quot;&gt;online documentation&lt;/a&gt; provides reasonable reference material, it doesn&#039;t serve well as a jmeter introduction or tutorial.

&lt;p&gt;things have changed a bit since then. the uk-based publishing house &lt;a href=&quot;https://www.packtpub.com/&quot;&gt;packt publishing&lt;/a&gt; were kind enough to send me a copy of emily halili&#039;s newly published book on jmeter, which is as far as i can tell, is the first book dedicated to the subject.
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/new-jmeter-book-packt&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/new-jmeter-book-packt#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/jmeter">jmeter</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <enclosure url="http://www.johnandcailin.com/files/ApacheJMeterChapter6.pdf" length="957655" type="application/pdf" />
 <pubDate>Wed, 09 Jul 2008 14:26:40 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">827 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>digg made me an iPerson</title>
 <link>http://www.johnandcailin.com/blog/john/digg-made-me-iperson</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/digg-made-me-iperson&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/iperson.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 0px 10px&quot;&gt;&lt;/a&gt;
&lt;p&gt;i started working at digg.com a few months ago. on my first day i was handed a brand new &lt;a href=&quot;http://www.apple.com/macbookpro/&quot;&gt;macbook pro&lt;/a&gt;. a reasonable person would have been delighted, but i was filled with dread. i had started a new high-pressure job, and the only tool at my disposal was a &lt;i&gt;mac&lt;/i&gt;. not only that, i shuddered at the very thought of becoming an iPerson.

&lt;p&gt;my most recent experience with apple had been extended subjection to a dog-slow powerpc running mac os 7. after which,  i have always assumed macs to be fisher-price type devices, designed for those too misguided or incompetent to operate even a second-rate device like a wintel box.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/digg-made-me-iperson&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/digg-made-me-iperson#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/digg">digg</category>
 <pubDate>Thu, 12 Jun 2008 19:49:17 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">733 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>lamp on amazon ec2 shaping up nicely</title>
 <link>http://www.johnandcailin.com/blog/john/lamp-amazon-ec2-shaping-nicely</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/lamp-amazon-ec2-shaping-nicely&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/drupalBodyBuilder.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 0px 10px&quot;&gt;&lt;/a&gt;
recently i posted some &lt;a href=&quot;http://www.johnandcailin.com/blog/john/lamp-performance-elastic-compute-cloud%3A-benchmarking-drupal-amazon-ec2&quot;&gt;encouraging performance benchmarks&lt;/a&gt; for drupal running on a variety of servers in amazon&#039;s &lt;a href=&quot;http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud&quot;&gt;elastic compute cloud&lt;/a&gt;. while the performance was encouraging, the suitability of this environment for running lamp stacks was not. ec2 had some fundamental issues including a lack of static ip addresses and no viable persistent storage mechanism.

&lt;p&gt;amazon are quickly rectifying these problems, and recently announced &lt;a href=&quot;http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1346&quot;&gt;elasic ip addresses&lt;/a&gt;; a &quot;static&quot; ip address that you own and can dynamically point at any of your instances. 

&lt;p&gt;today amazon indicated that persistent storage will soon be available.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/lamp-amazon-ec2-shaping-nicely&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/lamp-amazon-ec2-shaping-nicely#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/ec2">ec2</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/jmeter">jmeter</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/lamp">lamp</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/xen">xen</category>
 <pubDate>Mon, 14 Apr 2008 21:02:46 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">459 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>zicasso launches drupal-powered web2.0 travel site</title>
 <link>http://www.johnandcailin.com/blog/john/zicasso-launches-drupal-powered-web20-travel-site</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/zicasso-launches-drupal-powered-web2.0-travel-site&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/zicasso.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px;&quot;&gt;&lt;/a&gt;

&lt;p&gt;three weeks ago, &lt;a href=&quot;http://www.zicasso.com&quot;&gt;zicasso.com&lt;/a&gt; launched a &lt;a href=&quot;http://www.drupal.org&quot;&gt;drupal-powered&lt;/a&gt; free personalized online travel service that aims to connect travelers to a global network of quality, pre-screened travel companies. unlike many internet travel sites which provide cheap fares or packages, zicasso is targeted for busy, discerning travelers who want to plan and book complex trips (the ones with multiple destination stops or activities).

&lt;p&gt;zicasso was favorably reviewed in popular web publications including; &lt;a href=&quot;http://www.pcmag.com/article2/0,2817,2279924,00.asp&quot;&gt;pc magazine&lt;/a&gt;, &lt;a href=&quot;http://www.techcrunch.com/2008/03/07/zicasso-have-someone-else-plan-that-perfect-trip/&quot;&gt;techcrunch&lt;/a&gt;, &lt;a href=&quot;http://arstechnica.com/news.ars/post/20080309-travel-2-0-hands-on-with-zicasso-a-great-first-attempt.html&quot;&gt;ars technica&lt;/a&gt; and the &lt;a href=&quot;http://philadelphia.bizjournals.com/sanjose/stories/2008/03/10/story8.html&quot;&gt;san jose business journal&lt;/a&gt;.

&lt;p&gt;zicasso chose to build their application using the open-source cms system, drupal to leverage the wide array of web2.0 functionality provided by the open source community.

&lt;p&gt;the application was rapidly constructed by a small development team led by &lt;a href=&quot;/cailin&quot;&gt;cailin nelson&lt;/a&gt; and &lt;a href=&quot;http://www.jennyandlih.com&quot;&gt;jenny dickinson&lt;/a&gt;.  the team took advantage of &quot;core&quot; drupal modules including cck, panels, views, imagecache, workflow and actions.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/zicasso-launches-drupal-powered-web20-travel-site&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/zicasso-launches-drupal-powered-web20-travel-site#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/web-2.0">web-2.0</category>
 <pubDate>Sun, 30 Mar 2008 21:07:15 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">439 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>backing up your xen domains</title>
 <link>http://www.johnandcailin.com/blog/john/backing-your-xen-domains</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/backing-your-xen-domains&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/xenBackupSimle.smallish.gif&quot; class=&quot;blog right&quot; style=&quot;padding: 10px;&quot;&gt;&lt;/a&gt;

backups are boring, but we all know how important they are. backups can also be quite powerful when working with xen virtualization, since xen allows for convenient back-up and restore of entire systems. 
&lt;p&gt;i&#039;ve recently been working on a flexible, general-purpose script enabling incremental backups of complete xen guests, optimized for secure, distributed environments; &lt;code&gt;xenBackup&lt;/code&gt;. if you&#039;re working with xen, you might find it useful.

&lt;p&gt;the &lt;code&gt;xenBackup&lt;/code&gt; script leverages  open-source components like ssh, rsync, and rdiff-backup to create a simple, efficient and functional solution.

&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/backing-your-xen-domains&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/backing-your-xen-domains#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/etch">etch</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/xen">xen</category>
 <enclosure url="http://www.johnandcailin.com/files/xenBackup_wilb.txt" length="9323" type="text/plain" />
 <pubDate>Sun, 10 Feb 2008 20:58:40 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">358 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>lamp performance on the elastic compute cloud: benchmarking drupal on amazon ec2</title>
 <link>http://www.johnandcailin.com/blog/john/lamp-performance-elastic-compute-cloud%3A-benchmarking-drupal-amazon-ec2</link>
 <description>&lt;div style=&quot;float: left; margin: 10px 10px 0px 0px;&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
digg_topic = &#039;linux_unix&#039;;
digg_url = &#039;http://www.johnandcailin.com/blog/john/lamp-performance-elastic-compute-cloud%3A-benchmarking-drupal-amazon-ec2&#039;;
&lt;/script&gt;
&lt;script src=&quot;http://digg.com/tools/diggthis.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;/div&gt;

&lt;a href=&quot;http://www.johnandcailin.com/blog/john/lamp-performance-elastic-compute-cloud%3A-benchmarking-drupal-amazon-ec2&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/drupalBodyBuilder.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 0px 10px&quot;&gt;&lt;/a&gt;
amazon&#039;s &lt;a href=&quot;http://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud&quot;&gt;elastic compute cloud&lt;/a&gt;, &quot;ec2&quot;, provides a flexible and scalable hosting option for applications. while ec2 is not inherently suited for running application stacks with relational databases such as &lt;a href=&quot;http://en.wikipedia.org/wiki/LAMP_(software_bundle)&quot;&gt;lamp&lt;/a&gt;, it does provide many advantages over traditional hosting solutions.

&lt;p&gt;in this article we get a sense of lamp performance on ec2 by running a series of benchmarks on the drupal cms system. these benchmarks establish read throughput numbers for logged-in and logged-out users, for each of amazon&#039;s hardware classes.

&lt;p&gt;we also look at &lt;a href=&quot;http://en.wikipedia.org/wiki/PHP_accelerator&quot;&gt;op-code caching&lt;/a&gt;, and gauge it&#039;s performance benefit in cpu-bound lamp deployments.
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/lamp-performance-elastic-compute-cloud%3A-benchmarking-drupal-amazon-ec2&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/lamp-performance-elastic-compute-cloud%3A-benchmarking-drupal-amazon-ec2#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/ec2">ec2</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/jmeter">jmeter</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/lamp">lamp</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/xen">xen</category>
 <pubDate>Mon, 28 Jan 2008 05:54:48 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">328 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>load test your drupal application scalability with apache jmeter: part two</title>
 <link>http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter%3A-part-two</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter%3A-part-two&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/drupalBodyBuilder.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 0px 10px&quot;&gt;&lt;/a&gt;

i recently posted an introductory article on &lt;a href=&quot;http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter&quot;&gt;using jmeter to load test your drupal application&lt;/a&gt;. if you&#039;ve read this article and are curious about how to build a more sophisticated test that mimics realistic load on your site, read on.

&lt;p&gt;the previous article showed you how to set up jmeter and create a basic test. to produce a more realistic test you should simulate &quot;real world&quot; use of your site. this typically involves simulating logged-in and logged-out users browsing and creating content. jmeter has some great functionality to help you do this.

&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter%3A-part-two&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter%3A-part-two#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/jmeter">jmeter</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Fri, 18 Jan 2008 20:31:12 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">306 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>load test your drupal application scalability with apache jmeter</title>
 <link>http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/drupalBodyBuilder.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 0px 10px&quot;&gt;&lt;/a&gt;
there are many things that you can do to improve your drupal application&#039;s scalability, some of which we discussed in the recent &lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;scaling drupal - an open-source infrastructure for high-traffic drupal sites&lt;/a&gt; article.

&lt;p&gt;when making scalability modifications to your system, it&#039;s important to quantify their effect, since some changes may have no effect or even decrease your scalability. the value of advertised scalability techniques often depends greatly on your particular application and network infrastructure, sometimes creating additional complexity with little benefit.

&lt;p&gt;&lt;a href=&quot;http://jakarta.apache.org/jmeter/&quot;&gt;apache jmeter&lt;/a&gt; is a great tool to simulate load on your system and measure performance under that load. in this article, i demonstrate how to setup a testing environment, create a simple test and evaluate the results.
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/load-test-your-drupal-application-scalability-apache-jmeter#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/jmeter">jmeter</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Sun, 13 Jan 2008 21:48:06 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">294 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>how to setup real-time email-notification for critical syslog events</title>
 <link>http://www.johnandcailin.com/blog/john/how-setup-real-time-email-notification-critical-syslog-events</link>
 <description>a few weeks ago, i wrote a &lt;a href=&quot;http://www.johnandcailin.com/blog/john/setting-syslog-distributed-application-logging&quot;&gt;short article&lt;/a&gt; about the advantages of using &lt;a href=&quot;http://en.wikipedia.org/wiki/Syslog&quot;&gt;syslog&lt;/a&gt; for all your logging needs. syslog is the standard logging solution for *nix platforms and integrates into virtually all application servers, network devices, and programming languages.

&lt;p&gt;it is often important for system administrators to get real time notification of critical events. unfortunately, it isn&#039;t immediately obvious how to do this in the syslog framework. in this article i show you step-by-step how to do this.
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/how-setup-real-time-email-notification-critical-syslog-events&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/how-setup-real-time-email-notification-critical-syslog-events#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/linux">linux</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/syslog">syslog</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Thu, 20 Dec 2007 07:11:10 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">262 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>supercharge your css code with m4</title>
 <link>http://www.johnandcailin.com/blog/john/supercharge-your-css-code-m4</link>
 <description>css has vastly improved the quality of html markup on the web. however, given its complexity, it has some astounding deficiencies.

&lt;p&gt;one of the biggest problems is the lack of constants. how many times have you wanted to code something like this? &lt;code&gt;light_grey = #CCC&lt;/code&gt;. instead you are forced to repeat &lt;code&gt;#CCC&lt;/code&gt; in your css. this quickly creates difficult-to-maintain and difficult-to-read code.

&lt;p&gt;an elegant solution to the problem is to use a general purpose &lt;a href=&quot;http://en.wikipedia.org/wiki/Preprocessor&quot;&gt;preprocessor&lt;/a&gt; like &lt;a href=&quot;http://en.wikipedia.org/wiki/M4_%28language%29&quot;&gt;m4&lt;/a&gt;. m4 gives you a full range of preprocessing capability, from simple constants to sophisticated macros.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/supercharge-your-css-code-m4&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/supercharge-your-css-code-m4#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/css">css</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/html">html</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/m4">m4</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Wed, 19 Dec 2007 12:28:32 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">247 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>using a guardian to ensure your lamp site is always up</title>
 <link>http://www.johnandcailin.com/blog/john/using-guardian-ensure-your-lamp-site-always</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/using-guardian-ensure-your-lamp-site-always&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/drupalGuardian.smallish.jpg&quot; class=&quot;blog right&quot;&gt;&lt;/a&gt;

to guarantee maximum uptime for your site, it&#039;s a good idea to periodically check the health of your system and restart failing components. you can use a simple program to do this automatically. i like to call this type of program, a &quot;guardian&quot;.

&lt;p&gt;clearly guardians shouldn&#039;t be used as a crutch for a badly configured system. used appropriately, however,  they can decrease downtime due to unexpected events or administrator-error.

&lt;p&gt;in this article, i describe how to implement, install and configure a guardian using a lightweight bash script. i go on to describe how to watch over your lamp install using this guardian. please note that all code and configurations have been tested on debian etch but should be useful for other *nix flavors with subtle modifications.
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/using-guardian-ensure-your-lamp-site-always&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/using-guardian-ensure-your-lamp-site-always#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/linux">linux</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mysql">mysql</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Tue, 18 Dec 2007 11:02:55 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">242 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>never lose your data again: backup remotely using rsync ssh and rdiff-backup</title>
 <link>http://www.johnandcailin.com/blog/john/never-lose-your-data-again%3A-backup-remotely-using-rsync-ssh-and-rdiff-backup</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/dont-loose-your-data-again:-backup-remotely-using-rsync-ssh-and-rdiff-backup&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/sign.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;
if you&#039;ve ever lost precious data after a hard drive failure, you&#039;ve probably learned your lesson and are now automatically backing up your system.

&lt;p&gt;your treasured pictures, videos and documents may still be at risk. your computer could be stolen, destroyed by flood or fire or chopped into small pieces by a jealous ex-lover. 

&lt;p&gt;using a remote backup service is a good way to mitigate against this type of problem. for around $10 a month, you can find companies willing to store 10Gb of data for you. your data is usually accessible using a variety of methods, including &lt;code&gt;rsync&lt;/code&gt;, &lt;code&gt;vpn&lt;/code&gt; and &lt;code&gt;ftp&lt;/code&gt;. to see some of these services, type &lt;a href=&quot;http://www.google.com/search?q=remote+backup+rsync+service&quot;&gt;remote backup rsync service&lt;/a&gt; into google.

&lt;p&gt;in this article, i discuss using open source software to take advantage of these services in an efficient and secure manner, allowing the backup of large directories over a dsl-speed line while you sleep.
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/never-lose-your-data-again%3A-backup-remotely-using-rsync-ssh-and-rdiff-backup&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/never-lose-your-data-again%3A-backup-remotely-using-rsync-ssh-and-rdiff-backup#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/backup">backup</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/rdiff-backup">rdiff-backup</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/remote">remote</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/rsync">rsync</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Wed, 05 Dec 2007 22:01:44 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">156 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>i am not a yogi. really.</title>
 <link>http://www.johnandcailin.com/blog/john/i-am-not-yogi-really</link>
 <description>&lt;a href=&quot;http://www.johnandcailin.com/blog/john/i-am-not-yogi.-really.&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/ohm.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 3px&quot;&gt;&lt;/a&gt;

two years ago my neck was in such bad shape that i thought i might have to quit surfing. after much nagging and cajoling my girlfriend, cailin, persuaded me to try yoga. i didn&#039;t want to go. what good was it going to do me to sit cross legged in a hot room with a bunch of girls in tie-dye leggings discussing herbal teas?

&lt;p&gt;despite my reservations the two of us headed off to &lt;a href=&quot;http://www.lauracampyoga.com/home.html&quot;&gt;laura camp&#039;s&lt;/a&gt; class (cailin&#039;s longtime friend) at &lt;a href=&quot;http://www.monkeyyoga.com/classes.html&quot;&gt;monkey yoga&lt;/a&gt; in the east bay. 30 minutes into the class my concerns were not of the herbal-tea variety, but more of a &quot;how do i get the hell out of here, this is kicking my ass&quot; variety.

&lt;br class=&quot;clear&quot;&gt;
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/i-am-not-yogi-really&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/i-am-not-yogi-really#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/san-francisco">san francisco</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/yoga">yoga</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/yogi">yogi</category>
 <pubDate>Fri, 30 Nov 2007 19:16:29 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">154 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>the fantastic four - drupals unofficial core</title>
 <link>http://www.johnandcailin.com/blog/john/fantastic-four-drupals-unofficial-core</link>
 <description>&lt;div style=&quot;float: left; margin: 10px 10px 0px 0px;&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
digg_topic = &#039;linux_unix&#039;;
digg_url = &#039;http://www.johnandcailin.com/blog/john/fantastic-four-drupals-unofficial-core&#039;;
&lt;/script&gt;
&lt;script src=&quot;http://digg.com/tools/diggthis.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;/div&gt;

&lt;a href=&quot;http://www.johnandcailin.com/blog/john/fantastic-four-drupals-unofficial-core&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/fantastic4_2.smallish.gif&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;
&lt;p&gt;using the term &quot;content management system&quot; to describe &lt;a href=&quot;http://www.drupal.org&quot;&gt;the drupal cms&lt;/a&gt; understates it&#039;s full potential. i prefer to consider drupal a web-application development-system, particularly suitable for content-heavy projects.

&lt;h2&gt;what are the fantastic four?&lt;/h2&gt;
&lt;p&gt;drupal&#039;s application development potential is provided in large-part by a set of &quot;core&quot; modules that dovetail to provide an application platform that other modules and applications build on. these modules have become a de-facto standard: drupal&#039;s fantastic four. our superheros are cck, views, panels and cck field types and widgets. if you are considering using drupal to build a website of any sophistication, you can&#039;t overlook these.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/fantastic-four-drupals-unofficial-core&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/fantastic-four-drupals-unofficial-core#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/cck">cck</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/imagecache">imagecache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/module">module</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/panels">panels</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/panels2">panels2</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/views">views</category>
 <pubDate>Wed, 28 Nov 2007 17:01:25 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">135 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>scaling drupal step four - database segmentation using mysql proxy</title>
 <link>http://www.johnandcailin.com/blog/john/scaling-drupal-step-four-database-segmentation-using-mysql-proxy</link>
 <description>&lt;p&gt;&lt;a href=&quot;/blog/john/scaling-drupal-step-four-database-segmentation-using-mysql-proxy&quot;&gt;&lt;img src=&quot;/files/images/advancedClusteredWithFiltering.blog.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;if you&#039;ve setup a clustered drupal deployment (see &lt;a href=&quot;/blog/john/scaling-drupal-step-three-using-heartbeat-implement-redundant-load-balancer&quot;&gt;scaling drupal step three - using heartbeat to implement a redundant load balancer&lt;/a&gt;), a good next-step, is to scale your database tier.

&lt;p&gt;in this article i discuss scaling the database tier up and out. i compare database optimization and different database clustering techniques. i go on to explore the idea of database segmentation as a possibility for moderate drupal scaling. as usual, my examples are for apache2, mysql5 and drupal5 on debian etch. see the &lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;scalability overview&lt;/a&gt; for related articles.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-step-four-database-segmentation-using-mysql-proxy&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/scaling-drupal-step-four-database-segmentation-using-mysql-proxy#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy">mod_proxy</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy_balancer">mod_proxy_balancer</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mysql">mysql</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mysql-proxy">mysql-proxy</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/sqlrelay">sqlrelay</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Wed, 14 Nov 2007 18:30:33 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">122 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>scaling drupal step one B - nfs vs rsync</title>
 <link>http://www.johnandcailin.com/blog/john/scaling-drupal-step-one-b-nfs-vs-rsync</link>
 <description>&lt;p&gt;&lt;a href=&quot;/blog/john/scaling-drupal-step-one-dedicated-data-server&quot;&gt;&lt;img src=&quot;/files/images/basicClusteredWithRsync.blog.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;i got some good feedback on my &lt;a href=&quot;/blog/john/scaling-drupal-step-one-dedicated-data-server&quot;&gt;dedicated data server&lt;/a&gt; step towards scaling. kris buytaert in his &lt;a href=&quot;http://krisbuytaert.be/blog/?q=node/504&quot;&gt;everything is a freaking dns problem blog&lt;/a&gt; points out that nfs creates an unnecessary choke point. he may very well have a point.

&lt;p&gt;having said that, i have run the suggested configuration in a multi-web-server, high-traffic production setting for 6 months without a glitch, and feedback on his blog gives example of other large sites doing the same thing. for even larger configurations, or if you just prefer, you might consider another method of synchronizing files between your web servers.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-step-one-b-nfs-vs-rsync&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/scaling-drupal-step-one-b-nfs-vs-rsync#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/nfs">nfs</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/rsync">rsync</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Sun, 11 Nov 2007 06:02:59 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">125 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>beef up your drupal security with apache mod_rewrite and SSH</title>
 <link>http://www.johnandcailin.com/blog/john/beef-your-drupal-security-apache-modrewrite-and-ssh</link>
 <description>if you felt a waft of cold air when you read the recent &lt;a href=&quot;http://drupal.org/node/184316&quot;&gt;highly critical drupal security announcement&lt;/a&gt; on arbirary code execution using &lt;code&gt;install.php&lt;/code&gt;, you were right. your bum was hanging squarely out of the window, and you should probably consider beefing up your security.

&lt;p&gt;drupal&#039;s default exposure of files like &lt;code&gt;install.php&lt;/code&gt; and &lt;code&gt;cron.php&lt;/code&gt; present inherent security risks, for both denial-of-service and intrusion. combine this with critical administrative functionality available to the world, protected only by user defined passwords, broadcast over the internet in clear-text, and you&#039;ve got potential for some real problems.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/beef-your-drupal-security-apache-modrewrite-and-ssh&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/beef-your-drupal-security-apache-modrewrite-and-ssh#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_rewrite">mod_rewrite</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/proxy">proxy</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/security">security</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/socks">socks</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/ssh">ssh</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Sat, 10 Nov 2007 06:22:29 -0800</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">123 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>bustin surfboards - are carbon fiber boards all they are cracked up to be?</title>
 <link>http://www.johnandcailin.com/blog/john/bustin-surfboards-are-carbon-fiber-boards-all-they-are-cracked-be%3F</link>
 <description>&lt;p&gt;&lt;a href=&quot;/blog/john/bustin-surfboards-are-carbon-fiber-boards-all-they-are-cracked-be%3F&quot;&gt;&lt;img src=&quot;http://www.johnandcailin.com/files/images/noriegaSign.blog.jpg&quot; class=&quot;right blog&quot; style=&quot;margin-bottom: 20px&quot;&gt;&lt;/a&gt;a few weeks at ocean beach in san francisco, i had 20 minutes to kill before heading out for a surf session. i wandered into &lt;a href=&quot;http://www.wisesurfboards.com/&quot;&gt;wise surfboards&lt;/a&gt; to check out what was new in surf gear.

&lt;p&gt;my eyes immediately fell on the new &lt;a href=&quot;http://www.avisosurf.com/&quot;&gt;aviso carbon boards&lt;/a&gt;. you&#039;d be forgiven for thinking; &lt;i&gt;if batman surfed, this is what he would ride.&lt;/i&gt; mat black, light, strong, but flexible. how could anyone resist? easy. the price. they&#039;re priced at roughly 2x what you&#039;d pay for a regular board. 
&lt;br class=&quot;clear&quot;&gt;
&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/bustin-surfboards-are-carbon-fiber-boards-all-they-are-cracked-be%3F&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/bustin-surfboards-are-carbon-fiber-boards-all-they-are-cracked-be%3F#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/aviso">aviso</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/carbon">carbon</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/surf">surf</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/surfboard">surfboard</category>
 <pubDate>Thu, 01 Nov 2007 19:09:09 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">87 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>scaling drupal - an open-source infrastructure for high-traffic drupal sites</title>
 <link>http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites</link>
 <description>&lt;div style=&quot;float: left; margin: 10px 10px 0px 0px;&quot;&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
digg_topic = &#039;linux_unix&#039;;
digg_url = &#039;http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&#039;;
&lt;/script&gt;
&lt;script src=&quot;http://digg.com/tools/diggthis.js&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
&lt;/div&gt;

&lt;a href=&quot;/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;&lt;img src=&quot;/files/images/drupalBodyBuilder.smallish.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px 10px 0px 10px&quot;&gt;&lt;/a&gt;the authors of drupal have paid considerable attention to performance and scalability. consequently even a default install running on modest hardware can easily handle the demands of a small website. my four year old pc in my garage running a full lamp install, will happily serve up 50,000 page views in a day, providing solid end-user performance without breaking a sweat.&lt;br&gt;&lt;br&gt;

&lt;h2&gt;when the times comes for scalability. moving of of the garage&lt;/h2&gt;
if you are lucky, eventually the time comes when you need to service more users than your system can handle. your initial steps should clearly focus on getting the most out of the built-in drupal optimization functionality, considering drupal performance modules, optimizing your php (including considering op-code caching) and working on database performance. John VanDyk and Matt Westgate have an excellent chapter on this subject in their new book, &lt;a href=&quot;http://www.drupalbook.com/&quot;&gt;&quot;pro drupal development&quot;&lt;/a&gt;

&lt;p&gt;once these steps are exhausted, inevitability you&#039;ll start looking at your hardware and network deployment.&lt;br class=&quot;clear&quot;&gt;&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy">mod_proxy</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy_balancer">mod_proxy_balancer</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mysql">mysql</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Sun, 28 Oct 2007 20:47:40 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">113 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>scaling drupal step three - using heartbeat to implement a redundant load balancer</title>
 <link>http://www.johnandcailin.com/blog/john/scaling-drupal-step-three-using-heartbeat-implement-redundant-load-balancer</link>
 <description>&lt;p&gt;&lt;a href=&quot;/blog/john/scaling-drupal-step-three-using-heartbeat-implement-redundant-load-balancer&quot;&gt;&lt;img src=&quot;/files/images/advancedClustered.blog.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;if you&#039;ve setup a clustered drupal deployment (see &lt;a href=&quot;/blog/john/scaling-drupal-step-two-sticky-load-balancing-apache-mod_proxy&quot;&gt;scaling drupal step two - sticky load balancing with apache mod_proxy&lt;/a&gt;), a good next-step, is to cluster your load balancer.

&lt;p&gt;one way to do this is to use heartbeat to provide instant failover to a redundant load balancer should your primary fail. while the method suggested below doesn&#039;t increase the loadbalancer scalability, which shouldn&#039;t be an issue for a reasonably sized deployment, it does increase your the redundancy. as usual, my examples are for apache2, mysql5 and drupal5 on debian etch. see the &lt;a href=&quot;/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;scalability overview&lt;/a&gt; for related articles.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-step-three-using-heartbeat-implement-redundant-load-balancer&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/scaling-drupal-step-three-using-heartbeat-implement-redundant-load-balancer#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy">mod_proxy</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy_balancer">mod_proxy_balancer</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Sun, 21 Oct 2007 14:07:19 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">101 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>scaling drupal step two - sticky load balancing with apache mod_proxy</title>
 <link>http://www.johnandcailin.com/blog/john/scaling-drupal-step-two-sticky-load-balancing-apache-modproxy</link>
 <description>&lt;p&gt;&lt;a href=&quot;/blog/john/scaling-drupal-step-two-sticky-load-balancing-apache-mod_proxy&quot;&gt;&lt;img src=&quot;/files/images/basicClustered.blog.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;if you&#039;ve setup your drupal deployment with a separate database and web (drupal) server (see &lt;a href=&quot;/blog/john/scaling-drupal-step-one-dedicated-data-server&quot;&gt;scaling drupal step one - a dedicated data server&lt;/a&gt;), a good next step, is to cluster your web servers. drupal generates a considerable load on the web server and can quickly become resource constrained there. having multiple web servers also increases the the redundancy of your deployment. as usual, my examples are for apache2, mysql5 and drupal5 on debian etch. see the &lt;a href=&quot;/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;scalability overview&lt;/a&gt; for related articles.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-step-two-sticky-load-balancing-apache-modproxy&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/scaling-drupal-step-two-sticky-load-balancing-apache-modproxy#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy">mod_proxy</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mod_proxy_balancer">mod_proxy_balancer</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Sun, 21 Oct 2007 13:55:33 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">90 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>creating a xen bridging interface</title>
 <link>http://www.johnandcailin.com/blog/john/creating-xen-bridging-interface</link>
 <description>in my previous blog, i go over a &lt;a href=&quot;/blog/john/setting-xen-your-debian-etch-box&quot;&gt;simple how-to for setting up xen on etch&lt;/a&gt;. in this configuration the xen guests are only visible to the xen-host, and any services on the xen-hosts must be accessed via port forwarding, tunneling etc.

&lt;p&gt;for some applications, a bridging configuration works better. you can set this up as follows:&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/creating-xen-bridging-interface&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/creating-xen-bridging-interface#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/etch">etch</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/xen">xen</category>
 <pubDate>Sat, 13 Oct 2007 10:56:47 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">83 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>scaling drupal step one - a dedicated data server</title>
 <link>http://www.johnandcailin.com/blog/john/scaling-drupal-step-one-dedicated-data-server</link>
 <description>&lt;p&gt;&lt;a href=&quot;/blog/john/scaling-drupal-step-one-dedicated-data-server&quot;&gt;&lt;img src=&quot;/files/images/dedicatedDataServer.blog.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;if you&#039;ve already installed drupal on a single node (see &lt;a href=&quot;/blog/john/easy-peasy-lemon-squeezy-drupal-installation-linux&quot;&gt;easy-peasy-lemon-squeezy drupal installation on linux&lt;/a&gt;), a good first step to scaling a drupal install is to create a dedicated data server. by &lt;i&gt;dedicated data server&lt;/i&gt; i mean a server that hosts both the database and a fileshare for node attachments etc. this splits the database server load from the web server, and lays the groundwork for a clustered web server deployment. here&#039;s how you can do it. as usual, my examples are for apache2, mysql5 and drupal5 on debian etch. see the &lt;a href=&quot;/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;scalability overview&lt;/a&gt; for related articles.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/scaling-drupal-step-one-dedicated-data-server&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/scaling-drupal-step-one-dedicated-data-server#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mysql">mysql</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/scalability">scalability</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Sat, 13 Oct 2007 08:26:29 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">85 at http://www.johnandcailin.com</guid>
</item>
<item>
 <title>easy-peasy-lemon-squeezy drupal installation on linux</title>
 <link>http://www.johnandcailin.com/blog/john/easy-peasy-lemon-squeezy-drupal-installation-linux</link>
 <description>&lt;p&gt;&lt;a href=&quot;/blog/john/scaling-drupal-step-one-dedicated-data-server&quot;&gt;&lt;img src=&quot;/files/images/basic.jpg&quot; class=&quot;blog right&quot; style=&quot;padding: 10px&quot;&gt;&lt;/a&gt;installing drupal is pretty easy, but it&#039;s even easier if you have a step by step guide. i&#039;ve written one that will produce a basic working configuration with drupal5 on debian etch with php5, mysql5 and apache2. it might be a help on other configurations too. see the &lt;a href=&quot;/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites&quot;&gt;scalability overview&lt;/a&gt; for related articles.&lt;p&gt;&lt;a href=&quot;http://www.johnandcailin.com/blog/john/easy-peasy-lemon-squeezy-drupal-installation-linux&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.johnandcailin.com/blog/john/easy-peasy-lemon-squeezy-drupal-installation-linux#comments</comments>
 <category domain="http://www.johnandcailin.com/category/blog-tags/apache">apache</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/debian">debian</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/drupal">drupal</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/etch">etch</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/mysql">mysql</category>
 <category domain="http://www.johnandcailin.com/category/blog-tags/tech">tech</category>
 <pubDate>Fri, 12 Oct 2007 19:23:17 -0700</pubDate>
 <dc:creator>john</dc:creator>
 <guid isPermaLink="false">82 at http://www.johnandcailin.com</guid>
</item>
</channel>
</rss>
