<?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>a work on process &#187; rspec</title>
	<atom:link href="http://jystewart.net/process/tag/rspec/feed/" rel="self" type="application/rss+xml" />
	<link>http://jystewart.net/process</link>
	<description>notes from another web developer</description>
	<lastBuildDate>Tue, 27 Jul 2010 09:53:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Selected (belated, extended) Saturday Links</title>
		<link>http://jystewart.net/process/2009/03/selected-belated-extended-saturday-links/</link>
		<comments>http://jystewart.net/process/2009/03/selected-belated-extended-saturday-links/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 20:40:20 +0000</pubDate>
		<dc:creator>James Stewart</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[acquia]]></category>
		<category><![CDATA[ActiveRecord]]></category>
		<category><![CDATA[activitystreams]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[business]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[clayshirky]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[context]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[dopplr]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[edemocracy]]></category>
		<category><![CDATA[engines]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[fireeagle]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[fridayblog]]></category>
		<category><![CDATA[future]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[guardian]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[ilife]]></category>
		<category><![CDATA[interactiondesign]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[iphoto]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[localgovernment]]></category>
		<category><![CDATA[location]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[mattjones]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[nestedforms]]></category>
		<category><![CDATA[newspaper]]></category>
		<category><![CDATA[newspapers]]></category>
		<category><![CDATA[nigeria]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[ogs]]></category>
		<category><![CDATA[opengovernment]]></category>
		<category><![CDATA[openness]]></category>
		<category><![CDATA[openplatform]]></category>
		<category><![CDATA[panels]]></category>
		<category><![CDATA[passenger]]></category>
		<category><![CDATA[pecl]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[planningalerts]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[podcasts]]></category>
		<category><![CDATA[Rack]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rails2.3]]></category>
		<category><![CDATA[reflection]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[revolution]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[rubyonrails]]></category>
		<category><![CDATA[scaling]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[shoulda]]></category>
		<category><![CDATA[sinatra]]></category>
		<category><![CDATA[socialgraph]]></category>
		<category><![CDATA[socialnetworking]]></category>
		<category><![CDATA[socialweb]]></category>
		<category><![CDATA[solr]]></category>
		<category><![CDATA[sprinkle]]></category>
		<category><![CDATA[stevenberlinjohnson]]></category>
		<category><![CDATA[sxsw]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[toys]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[videogames]]></category>
		<category><![CDATA[vps]]></category>
		<category><![CDATA[walledgarden]]></category>
		<category><![CDATA[wireframes]]></category>

		<guid isPermaLink="false">http://jystewart.net/process/?p=613</guid>
		<description><![CDATA[The past two weeks haven&#8217;t really left time to compile my selected links, though there have been many. A few days at SxSWi (on which more, later) followed by travelling with the family and the inevitable work backlog moved blogging way down the priority list. So here&#8217;s a mammoth selection to get me caught up. <a href="http://jystewart.net/process/2009/03/selected-belated-extended-saturday-links/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>The past two weeks haven&#8217;t really left time to compile my selected links, though there have been many. A few days at SxSWi (on which more, later) followed by travelling with the family and the inevitable work backlog moved blogging way down the priority list. So here&#8217;s a mammoth selection to get me caught up. Particularly interesting has been the discussion around the future of newspapers (represented here by Clay Shirky, Steven Johnson and Russell Davies), which seem to have finally pushed beyond &#8220;how t ind a good business model for papers&#8221; to looking at where the real value for society lies and how we can preserve and extend that in a changing landscape.</p>
<ul class="link-list">
<li>
<h3><a href="http://www.learningjquery.com/2009/03/making-a-jquery-plugin-truly-customizable">Making a jQuery Plugin Truly Customizable » Learning jQuery &#8211; Tips, Techniques, Tutorials</a></h3>
<p>Some nice tips for managing options, and a reminder to find _useful_ customisations not just load with customisation options without much thought about/consultation with other potential users</p>
</li>
<li>
<h3><a href="http://www.slideshare.net/mattb/iphone-coding-for-web-developers">iPhone Coding For Web Developers</a></h3>
<p>Presentation slides from the internet&#039;s Matt Biddulph</p>
</li>
<li>
<h3><a href="http://www.brynary.com/2009/3/5/rack-test-released-a-simple-testing-api-for-rack-based-frameworks-and-apps">Rack::Test released: Simply test any Rack-compatible app — Bryan Helmkamp</a></h3>
<p>There&#039;s a _lot_ to like about increased adoption of rack. &quot;With Rack::Test, we hope to make it easy for frameworks to encourage their users to write tests by making it trivial to provide a testing environment. We’d like to foster compatibility between Ruby web app testing environments (especially important as ideas like multi-framework apps become more prominent). The philosophy is the library should stay small and extendable so frameworks can layer on additional functionality they want to offer without modifying Rack::Test’s core behavior or resorting to monkeypatching.&quot;</p>
</li>
<li>
<h3><a href="http://www.shirky.com/weblog/2009/03/newspapers-and-thinking-the-unthinkable/">Newspapers and Thinking the Unthinkable « Clay Shirky</a></h3>
<p>&quot;That is what real revolutions are like. The old stuff gets broken faster than the new stuff is put in its place. The importance of any given experiment isn’t apparent at the moment it appears; big changes stall, small changes spread. Even the revolutionaries can’t predict what will happen &#8230;. Ancient social bargains, once disrupted, can neither be mended nor quickly replaced, since any such bargain takes decades to solidify.&quot; &#8230; and a a lot more</p>
</li>
<li>
<h3><a href="http://russelldavies.typepad.com/planning/2009/03/newspapers-and-that.html">russell davies: newspapers and all that</a></h3>
<p>&quot;If we are going to create a new news ecosystem involving advertisers (and a lot of people would be grateful for that money) then we&#039;re going to have to do something about that institutional bifurcation between content and commerce.  We&#039;re going to have to design the relationship between the two with the care of a good experience designer.&quot; &#8211; a response to Ben Hammersley asking if anyone talking about the future of newspapers had talked to anyone in advertising</p>
</li>
<li>
<h3><a href="http://laughingmeme.org/2009/03/18/streams-affordances-facebook-and-rounding-errors/#footer">Streams, affordances, Facebook, and rounding errors &#8211; Laughing Meme</a></h3>
<p>&quot;Simon Willison asked this week about best practice for architecting activity streams. And the answer is, “It depends.” Depends on the scope, scale, access patterns, and affordances you’re building — your contract with your users.</p>
<p>Which is a long way of saying think hard about the promises you make to your users, implicitly or explicitly.</p>
<p>And, Facebook, my friend, what the HELL are you thinking? You managed to negotiate the best deal in the business, talk about a racket, and you threw it away for a piece of Twitter’s pain? Are you stupid? Well, best of luck with that.&quot;</p>
</li>
<li>
<h3><a href="http://sxsw.com/interactive/news/videos_and_podcasts">SXSW Interactive Videos and Podcasts | SXSW.com</a></h3>
<p>Most of the sessions were recorded and this is the place to get hold of them.</p>
</li>
<li>
<h3><a href="http://www.guardian.co.uk/technology/2009/mar/19/sxswi-texas-internet-trends-are-location-social-networking">SXSWi: Location-based service is the trend at Austin, Texas |</a></h3>
<p>&quot;Predictably, location-based services were a major feature this year, with launches that included Foursquare, a social, location-based game by the Dodgeball creator, Dennis Crowley, and a new Facebook application for the location management tool Fire Eagle. While early adopters such as the SXSWers have been exploring location-based services for some time, it is inevitable that more consumer and privacy-friendly versions will start to creep into the mainstream.&quot;</p>
</li>
<li>
<h3><a href="http://www.stevenberlinjohnson.com/2009/03/the-following-is-a-speech-i-gave-yesterday-at-the-south-by-southwest-interactive-festival-in-austiniif-you-happened-to-being.html">stevenberlinjohnson.com: Old Growth Media And The Future Of News</a></h3>
<p>&quot;I think it’s much more instructive to anticipate the future of investigative journalism by looking at the past of technology journalism. When ecologists go into the field to research natural ecosystems, they seek out the old-growth forests, the places where nature has had the longest amount of time to evolve and diversify and interconnect. They don’t study the Brazilian rain forest by looking at a field that was clear cut two years ago.&quot; &#8230; and &#8230;&quot; Measured by pure audience interest, newspapers have never been more relevant. If they embrace this role as an authoritative guide to the entire ecosystem of news, if they stop paying for content that the web is already generating on its own, I suspect in the long run they will be as sustainable and as vital as they have ever been. The implied motto of every paper in the country should be: all the news that’s fit to link.&quot;</p>
</li>
<li>
<h3><a href="http://highearthorbit.com/on-running-a-panel/">On running a panel</a></h3>
<p>A mixup over bus times meant I didn&#039;t make it to Andrew&#039;s panel at SxSW, but I heard many good things. It&#039;s really great to see this kind of debriefing-in-public going on. Hopefully it&#039;ll make for a stronger set of talks and panels next year.</p>
</li>
<li>
<h3><a href="http://guardian.apimaps.org/">Guardian API Maps &#8211; Home</a></h3>
<p>&quot;This is a site that lets you search the Guardian&#039;s new API and add location information to articles. All the place data we collect is being made available to anyone who wants it.&quot;</p>
</li>
<li>
<h3><a href="http://www.observer.com/2009/media/foursquare-hot-new-phone-app-dodgeball-steroids">Foursquare, Hot New Phone App, Is Dodgeball on Steroids | The New York Observer</a></h3>
<p>Quite a few people seemed to be playing with Foursquare at SxSW but most of the Brits were excluded as we didn&#039;t want to use that much data and it wasn&#039;t available in the UK iTunes store. One to watch, though.</p>
</li>
<li>
<h3><a href="http://simonwillison.net/2009/Mar/10/openplatform/">A few notes on the Guardian Open Platform</a></h3>
<p>I saw Simon present the Guardian Platform at SxSW and it looks like a great achievement. Waiting to see what developers build on it, and how they roll some of the ideas back in</p>
</li>
<li>
<h3><a href="http://highearthorbit.com/taking-remote-imagery-offline-to-nigeria/">Taking remote imagery offline to Nigeria  ::  High Earth Orbit</a></h3>
<p>Andrew&#039;s notes on trying to source good map data for use in Nigeria. It&#039;s a useful overview of a variety of services and ways to use them, though highlighting the absence of really accessible, high-quality data.</p>
</li>
<li>
<h3><a href="http://schulzeandwebb.com/blog/2009/03/03/the-utility-of-the-unfinished/">Pulse Laser: The Utility of the Unfinished</a></h3>
<p>&quot;One technique that S&amp;W has been using recently to illustrate design work is placing sketches or wireframes in situ. Whilst wireframes themselves are incomplete artefacts, designed to be work in progress, they still suffer for being uniformly incomplete. Wireframes themselves can be almost too beautiful, and this means that it becomes all-too-easy to criticise them as only wireframes, rather than as part of a product that exists in the world. Contextualising the sketches into the photograph places the design into the world. This enables the design to be understood within the world, and also (importantly) to highlight the seams between the unfinished design and the finished world around it&quot;</p>
</li>
<li>
<h3><a href="http://lucidmac.com/products/spike">Spike: a log file viewing &amp; (if we’re being generous) analysis tool for Rails developers.</a></h3>
<p>Looks like a handy addition to the toolkit</p>
</li>
<li>
<h3><a href="http://factoryjoe.com/blog/2009/03/04/generation-open/">Generation Open | FactoryCity</a></h3>
<p>&quot;Sharing and giving away all that you can are the best defenses against fear, obsolescence, growing old, and, even, wrinkles. It isn’t always easy, but it’s how we outlive the shackles of biology and transcend the physicality of gravity.&quot; &#8211; Perhaps an overly optimistic piece, but it connects together a number of current themes and we can hope&#8230;</p>
</li>
<li>
<h3><a href="http://opensoul.org/2009/3/6/testing-facebook-with-cucumber">Testing Facebook with Cucumber | opensoul.org</a></h3>
<p>For those faced with the unpleasant task of writing facebook apps, some people are working on making sure they can be thoroughly tested.</p>
</li>
<li>
<h3><a href="http://scraplab.net/2009/03/04/instant-sinatra-deployment-with-heroku.html">scraplab : instant sinatra deployment with heroku</a></h3>
<p>A lot of people seem to be excited about heroku lately, and it does look like a nice simple way to put up quick ruby apps. Must play soon.</p>
</li>
<li>
<h3><a href="http://buddingrubyist.com/2009/02/14/how-to-speed-up-gem-installs-10x/">How to speed up gem installs 10x « The Budding Rubyist</a></h3>
<p>Handy little tip, particularly for server environments: turn off ri and rdoc generation in your .gemrc file, and speed things up considerably</p>
</li>
<li>
<h3><a href="http://radar.oreilly.com/2009/03/facebook-in-2010-no-longer-a-walled-garden.html">Facebook in 2010: no longer a walled garden &#8211; O&#039;Reilly Radar</a></h3>
<p>A more positive spin on facebook&#039;s changes from David O&#039;Recordon, who suspects they&#039;re going to pull down the walls around their garden and become a proper citizen of the open web.</p>
</li>
<li>
<h3><a href="http://broadstuff.com/archives/1596-Facebook-blinks,-copies-Twitter,-still-gets-it-wrong..html">Facebook blinks, copies Twitter, still gets it wrong.  &#8211; broadstuff</a></h3>
<p>Critical commentary on facebook&#039;s recent changes. I&#039;m not sure I entirely agree with statements like &quot;By 2009 it was clear no one gives a sh*t about the Social Graph&quot; but facebook really do seem to be finding that their approach is overly complex and quickly trying to shift to a more twitter-like &quot;web of flow&quot; (to steal Stowe Boyd&#039;s phrase)</p>
</li>
<li>
<h3><a href="http://acquia.com/blog/acquia-search-goes-public-beta">Acquia Search goes public beta | Acquia</a></h3>
<p>Hosted solr for drupal: &quot;Acquia Search can be installed as a module on any Drupal 6 site, and enhances a site&#039;s search experience with faceted search navigation, content recommendations, and configurable results weighting, all delivered through a redundant hosted service infrastructure.&quot;.</p>
</li>
<li>
<h3><a href="http://pastie.org/405656">Oauth using pecl/OAuth</a></h3>
<p>Looks like a nice simple way to interact with oauth from a PHP app</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jystewart.net/process/2009/03/selected-belated-extended-saturday-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing PHP apps with Ruby tools</title>
		<link>http://jystewart.net/process/2008/11/testing-php-apps-with-ruby-tools/</link>
		<comments>http://jystewart.net/process/2008/11/testing-php-apps-with-ruby-tools/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 13:00:42 +0000</pubDate>
		<dc:creator>James Stewart</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[story runner]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://jystewart.net/process/?p=510</guid>
		<description><![CDATA[As I&#8217;ve mentioned here before, when working on web applications built with PHP, whether custom-rolled or drupal-driven, I often find myself missing various tools from the ruby kit. I&#8217;ve talked before about using capistrano with non-ruby code, but lately it&#8217;s been rspec and its stories that I&#8217;ve been craving.
I&#8217;m aware of PHPSpec and have played <a href="http://jystewart.net/process/2008/11/testing-php-apps-with-ruby-tools/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve mentioned here before, when working on web applications built with PHP, whether custom-rolled or drupal-driven, I often find myself missing various tools from the ruby kit. I&#8217;ve talked before about <a href="http://jystewart.net/process/2008/07/deploying-a-drupal-site-with-capistrano-2/" title="a work on process &raquo; Deploying a Drupal Site with Capistrano 2">using capistrano with non-ruby code</a>, but lately it&#8217;s been rspec and its stories that I&#8217;ve been craving.</p>
<p>I&#8217;m aware of <a href="http://www.phpspec.org/" title="PHPSpec - Behaviour-Driven Development (BDD) for PHP">PHPSpec</a> and have played with it from time to time, but the lack of a compelling way to work with mocks/stubs has slowed my adoption, and last time I checked it didn&#8217;t offer anything for high level <a href="http://en.wikipedia.org/wiki/User_story" title="User story - Wikipedia, the free encyclopedia">user stories</a>. So this week I set out to harness <a href="http://github.com/aslakhellesoy/cucumber/tree/master" title="aslakhellesoy's cucumber at master &mdash; GitHub">cucumber</a> and <a href="http://github.com/brynary/webrat/tree/master" title="brynary's webrat at master &mdash; GitHub">webrat</a> to write some simple stories.</p>
<p>It turns out to be pretty easy. There&#8217;s no nice simple support for test environments, fixtures, mocks or stubs, but if you just want to make sure that a few pages load correctly, and have the right elements, or that logging in works as you expected, then it&#8217;ll do the job.</p>
<p>I&#8217;ve not done any packaging up of the code, mainly because there&#8217;s so little to it. My folder structure is:</p>
<pre>
specs/
  <a href="http://pastie.org/311360" title="#311360 - Pastie">Rakefile</a>
  features/
    <a href="http://pastie.org/311358" title="#311358 - Pastie">admin_articles.feature</a>
    steps/
      <a href="http://pastie.org/311356" title="#311356 - Pastie">admin_steps.rb</a>
</pre>
<p>(click on the links to see sample files)</p>
<p>I simply set up those files, go into the folder and type &#8216;rake features&#8217; to put your site through its paces.</p>
]]></content:encoded>
			<wfw:commentRss>http://jystewart.net/process/2008/11/testing-php-apps-with-ruby-tools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Project Launch: New Greenbelt website</title>
		<link>http://jystewart.net/process/2008/04/new-greenbelt-website/</link>
		<comments>http://jystewart.net/process/2008/04/new-greenbelt-website/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 09:14:18 +0000</pubDate>
		<dc:creator>James Stewart</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[greenbelt]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[paul northup]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[relaunch]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[wilf whitty]]></category>

		<guid isPermaLink="false">http://jystewart.net/process/?p=409</guid>
		<description><![CDATA[One of the numerous projects I&#8217;ve been juggling over the past few months has been a redesign of the Greenbelt Festival website. That redesign went live late last night.
Working from Wilf&#8217;s designs I initially built new HTML and CSS templates and began to establish some rules for how we&#8217;d handle the new image management requirements <a href="http://jystewart.net/process/2008/04/new-greenbelt-website/" class="more-link">More &#62;</a>]]></description>
			<content:encoded><![CDATA[<p><a href='http://www.greenbelt.org.uk'><img src="http://jystewart.net/process/wp-content/uploads/2008/04/greenbelt.png" alt="" title="greenbelt screenshot" width="200" height="151" class="alignleft size-medium wp-image-410" /></a>One of the numerous projects I&#8217;ve been juggling over the past few months has been a redesign of the <a href="http://www.greenbelt.org.uk">Greenbelt Festival</a> website. That redesign went live late last night.</p>
<p>Working from <a href="http://www.ratiotype.com">Wilf</a>&#8217;s designs I initially built new HTML and CSS templates and began to establish some rules for how we&#8217;d handle the new image management requirements for a site that is now very photo-heavy. When it came time to apply the new designs to the CMS, however, it became apparent that there was a much bigger job ahead.</p>
<p>That CMS (a bundle of custom PHP that I had inherited) has grown over time and within some quite onerous server configuration constraints to a point where it was due a significant overhaul. Sticking with PHP was a fixed requirement as we&#8217;re relying on various APIs and a server architecture that wouldn&#8217;t be happy with me shifting to, say, rails, but already having the problem domain mapped out and the opportunity to radically simplify a few things meant I got to enjoy the feeling of stripping out a lot of code without impairing functionality.</p>
<p>One note that Derek Sivers made in his <a href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html" title="7 reasons I switched back to PHP after 2 years on Rails - O&#039;Reilly Ruby">controversial blog entry last year</a> about switching from Rails to PHP was that working with Rails had made him a better PHP developer. I&#8217;ve found a similar effect. I have no intention of leaving the world of Rails (I still prefer it by orders of magnitude), but tackling projects like this in PHP are a reminder that working for a while with really good tools is likely to encourage you to seek out best practice in whatever environment you end up in.</p>
<p>Ruby developers who occasionally work on PHP projects as I do may be interested to note that we are using <a href="http://capify.org/" title="Capistrano:  Home">capistrano</a> for deployment, and I intend to use <a href="http://rspec.info/" title="RSpec-1.1.3: Overview">rspec</a> for some testing. I&#8217;ll try to write that up once it&#8217;s in place.</p>
<p>With a refreshed CMS, new templates, and some standardisation of our many javascript files on top of a <a href="http://jquery.com">jquery</a> foundation, <a href="http://www.linkedin.com/pub/2/a8/317" title="LinkedIn: Paul Northup">Paul</a>, Greenbelt&#8217;s  was able to manage the photos and copy to turn that new look into a vibrant and content-rich new site. You can see <a href="http://www.greenbelt.org.uk/?p=1051" title="Greenbelt - New-look website">a few notes he wrote about the redesign</a> on the site.</p>
<p>There&#8217;s still a fair way to go. I&#8217;ve got a lot of tests to write in order to make it easier for us to make further changes, and various aspects of the site are more than ready for a more fundamental rethink that will let the festival open up its archives better, but all concerned are very pleased to present <a href="http://www.greenbelt.org.uk/">the fruit of our labours</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jystewart.net/process/2008/04/new-greenbelt-website/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
