<?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>Monochrome</title>
	<atom:link href="http://blog.monochrome.co.uk/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.monochrome.co.uk</link>
	<description></description>
	<lastBuildDate>Tue, 20 Jul 2010 09:37:49 +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>Getting RPM working with Rails 3.0</title>
		<link>http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0-2/</link>
		<comments>http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0-2/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 09:37:49 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0-2/</guid>
		<description><![CDATA[
Note:  This has only been tested to work with Heroku, my hosting service of choice.  It&#39;s not been tested anywhere else.  Regardless, you should still test everything yourself.

RPM is a fantastic tool for seeing how your Rails application performs in production, and to be honest, having run some production apps without it, you are completely blind if [...]]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>
<div style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse;"><b>Note:  This has only been tested to work with <a href="http://heroku.com/" target="_blank" style="color: rgb(42, 93, 176);">Heroku</a>, my hosting service of choice.  It&#39;s not been tested anywhere else.  Regardless, you should still test everything yourself.</b>
<p />
<div><a href="http://www.newrelic.com/" target="_blank" style="color: rgb(42, 93, 176);">RPM</a> is a fantastic tool for seeing how your Rails application performs in production, and to be honest, having run some production apps without it, you are completely blind if it&#39;s not set up.
<p />
<div>However, the arrival of Rails 3.0 has brought some far reaching changes to the way the framework works, rendering the RPM gem useless with Rails 3.0.  However, NewRelic have a newly released version (<a href="http://rubygems.org/gems/newrelic_rpm/versions/2.13.0.beta5" target="_blank" style="color: rgb(42, 93, 176);">2.13.0.beta5</a>) which works with Rails 3, and I have running in a couple of production environments.</div>
<p />
<div>So how do you get it up and running?</div>
<p />
<div>Well Rails 3 means bundler, so first step is to include the following in your Gemfile:</div>
<p />
<div>
<div class="data syntax type-ruby">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<pre class="line_numbers"><span rel="#L1" id="LID1">1</span> </pre>
</td>
<td width="100%">
<div class="highlight">
<pre />
<div class="line" id="LC1"><span class="n">gem</span> <span class="s1">&#39;newrelic_rpm&#39;</span><span class="p">,</span> <span class="s1">&#39;2.13.0.beta5&#39;</span><span class="p">,</span> <span class="ss">:require</span> <span class="o">=&gt;</span> <span class="kp">false</span></div>
</pre>
</div>
</td>
</tr>
</table></div>
</div>
<p />
<div>One this is done, create config/initializers/newrelic.rb and simply include:</div>
<p />
<div>
<div class="data syntax type-ruby">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<pre class="line_numbers"><span rel="#L1" id="LID1">1</span> </pre>
</td>
<td width="100%">
<div class="highlight">
<pre />
<div class="line" id="LC1"><span class="nb">require</span> <span class="s1">&#39;newrelic_rpm&#39;</span></div>
</pre>
</div>
</td>
</tr>
</table></div>
</div>
<p />
<div>Deploy the code when you&#39;re ready, and then flip on the New Relic add-on at Heroku.  Hopefully, your apps still running, but now with added RPM goodness.</div>
</div>
</div>
<p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://blog.theskunkworx.com/getting-rpm-working-with-rails-30-0">theskunkworx&#8217;s posterous</a>  </p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting RPM working with Rails 3.0</title>
		<link>http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0/</link>
		<comments>http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 09:28:36 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0/</guid>
		<description><![CDATA[Note:  This has only been tested to work with Heroku, my hosting service of choice.  It&#39;s not been tested anywhere else.  Regardless, you should still test everything yourself.

RPM is a fantastic tool for seeing how your Rails application performs in production, and to be honest, having run some production apps without it, you are completely [...]]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'><b>Note:  This has only been tested to work with <a href="http://heroku.com/">Heroku</a>, my hosting service of choice.  It&#39;s not been tested anywhere else.  Regardless, you should still test everything yourself.</b>
<p />
<div><a href="http://www.newrelic.com/">RPM</a> is a fantastic tool for seeing how your Rails application performs in production, and to be honest, having run some production apps without it, you are completely blind if it&#39;s not set up.
<p />
<div>However, the arrival of Rails 3.0 has brought some far reaching changes to the way the framework works, rendering the RPM gem useless with Rails 3.0.  However, NewRelic have a newly released version (<a href="http://rubygems.org/gems/newrelic_rpm/versions/2.13.0.beta5">2.13.0.beta5</a>) which works with Rails 3, and I have running in a couple of production environments.</div>
<p />
<div>So how do you get it up and running?</div>
<p />
<div>Well Rails 3 means bundler, so first step is to include the following in your Gemfile:</div>
<p />
<div>
<div class="data syntax type-ruby">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<pre class="line_numbers"><span rel="#L1" id="LID1">1</span> </pre>
</td>
<td width="100%">
<div class="highlight">
<pre />
<div class="line" id="LC1"><span class="n">gem</span> <span class="s1">&#39;newrelic_rpm&#39;</span><span class="p">,</span> <span class="s1">&#39;2.13.0.beta5&#39;</span><span class="p">,</span> <span class="ss">:require</span> <span class="o">=&gt;</span> <span class="kp">false</span></div>
</pre>
</div>
</td>
</tr>
</table></div>
</div>
<p />
<div>One this is done, create config/initializers/newrelic.rb and simply include:</div>
<p />
<div>
<div class="data syntax type-ruby">
<table cellspacing="0" cellpadding="0">
<tr>
<td>
<pre class="line_numbers"><span rel="#L1" id="LID1">1</span> </pre>
</td>
<td width="100%">
<div class="highlight">
<pre />
<div class="line" id="LC1"><span class="nb">require</span> <span class="s1">&#39;newrelic_rpm&#39;</span></div>
</pre>
</div>
</td>
</tr>
</table></div>
</div>
<p />
<div> Deploy the code when you&#39;re ready, and then flip on the New Relic add-on at Heroku.  Hopefully, your apps still running, but now with added RPM goodness.</div>
</div>
<p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://neilmiddleton.com/getting-rpm-working-with-rails-30">:neil_middleton</a>  </p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/07/getting-rpm-working-with-rails-3-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Contact&#8230;.contact</title>
		<link>http://blog.monochrome.co.uk/2010/07/contact-contact/</link>
		<comments>http://blog.monochrome.co.uk/2010/07/contact-contact/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 13:27:51 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/07/contact-contact/</guid>
		<description><![CDATA[
  Posted via email   from :neil_middleton  

]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>
<p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://neilmiddleton.com/contactcontact">:neil_middleton</a>  </p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/07/contact-contact/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forget Mobile, the web is where it&#8217;s at</title>
		<link>http://blog.monochrome.co.uk/2010/05/forget-mobile-the-web-is-where-its-at/</link>
		<comments>http://blog.monochrome.co.uk/2010/05/forget-mobile-the-web-is-where-its-at/#comments</comments>
		<pubDate>Wed, 05 May 2010 15:11:36 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/05/forget-mobile-the-web-is-where-its-at/</guid>
		<description><![CDATA[Over the last few months, it would appear that global internet thermonuclear war has set in.
This, for the most part has been surrounding the mobile platforms out there.  Apple&#8217;s i(Phone/Pad/Pod Touch) has been battling Google&#8217;s Android, Apple has been battling with Adobe over Flash, and then there&#8217;s the patent wars between Apple, Google, HTC and [...]]]></description>
			<content:encoded><![CDATA[<div class="posterous_autopost">Over the last few months, it would appear that global internet thermonuclear war has set in.</p>
<div>This, for the most part has been surrounding the mobile platforms out there.  Apple&#8217;s i(Phone/Pad/Pod Touch) has been battling Google&#8217;s Android, Apple has been battling with Adobe <a href="http://news.cnet.com/8301-30685_3-20003006-264.html?tag=mncol;txt">over Flash</a>, and then there&#8217;s the patent wars between<a href="http://news.cnet.com/8301-13860_3-20003602-56.html"> Apple, Google, HTC and Microsoft.</a></div>
<div>It&#8217;s a pretty big fight.</div>
<div>So, what do developers do?  From a skills point of view we want to be aligned with the most popular platform that will give us the most marketability &#8211; yet from a business point of view we want our applications to work on as many platforms as possible to maximise the &#8216;attack surface&#8217; in the various markets out there and gain the most revenue.</div>
<div>Then there&#8217;s the different markets &#8211; Apple have their <a href="http://news.cnet.com/8301-13579_3-10315328-37.html">draconian approval process</a>, but provide the class leading App Store, whereas Google is all about free-love and sell it how you want.</div>
<div>Then there&#8217;s the platforms.  Objective-C, Java, Regular C, Flash etc etc etc etc.  The list goes on.</div>
<div>So what are we developers to do &#8211; how are we supposed to navigate through this minefield of options?  Well, it&#8217;s pretty simple actually:</div>
<div>Ignore it.</div>
<div>Every mobile phone manufacturer is striving to produce a browser on their phone that can view the whole web in a similar way to a desktop computer, and all are striving to support the latest and greatest.  Therefore, surely the easiest way for us web developers to bring an application to a phone is to simply look at it through a browser?</div>
<div>Picture this, you have an application out there in the wild, you want it to work on the iPhone, so use Safari &#8211; job done.  It&#8217;ll also work on Android with no changes, and is also not dependant on Apple&#8217;s approval or anything else, you can do it how you want. Additionally, with libraries like <a href="http://www.jqtouch.com/">JQTouch</a> you can access phone hardware should you want to.</div>
<div>But OK, this isn&#8217;t ideal for all situations.  You won&#8217;t have offline access as such, you won&#8217;t be able to build games, you won&#8217;t get amazing performance &#8211; but for the most part, that&#8217;s not a big trade off for most business focused applications.</div>
<div>So, in short, why are we worrying about learning all these different tools to make our applications available on different mobile platforms, when we are already expert in the single tool that will make our app truly cross platform &#8211; the good old world wide web&#8230;</div>
<p style="font-size: 10px;"><a href="http://posterous.com">Posted via email</a> from <a href="http://neilmiddleton.com/forget-mobile-the-web-is-where-its-at">:neil_middleton</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/05/forget-mobile-the-web-is-where-its-at/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jo&#8217;s Cervical Cancer Trust get a new website!</title>
		<link>http://blog.monochrome.co.uk/2010/05/jos-trust-get-a-new-website/</link>
		<comments>http://blog.monochrome.co.uk/2010/05/jos-trust-get-a-new-website/#comments</comments>
		<pubDate>Tue, 04 May 2010 14:17:15 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/?p=1334</guid>
		<description><![CDATA[Jo&#8217;s Cervical Cancer Trust approached us to refresh their old ColdFusion based website that we had developed for them a few years ago.  After a clean sheet approach to the site, we decided to create a new Ruby on Rails based site for them using a new up-to-date design, with a much more sound [...]]]></description>
			<content:encoded><![CDATA[<p>Jo&#8217;s Cervical Cancer Trust approached us to refresh their old ColdFusion based website that we had developed for them a few years ago.  After a clean sheet approach to the site, we decided to create a new Ruby on Rails based site for them using a new up-to-date design, with a much more sound underpinning for future development moving forward.</p>
<p><a href="http://www.jostrust.org.uk/">Now the site&#8217;s live</a> we&#8217;re seeing some good feedback and Jo&#8217;s Trust is more than happy with what Monochrome were able to do.</p>
<p>Robert Music, director of Jo’s Cervical Cancer Trust said, <em>”We are delighted with the new website and have received only positive feedback from our users.  We are grateful to Monochrome for going over and above the original remit to ensure our new site is modern, fresh, visually appealing and easy to navigate. Thank you”</em></p>
<p style="text-align: center;"><em><img class="aligncenter size-full wp-image-1338" title="Jo's Trust" src="http://blog.monochrome.co.uk/wp-content/uploads/2010/05/Screen-shot-2010-05-05-at-10.01.49.jpg" alt="" width="400" height="358" /><br />
</em></p>
<p><em> </em> <em><span style="font-style: normal;"><em>“Working with the team at Jo’s Trust was a pleasure.  Keen to deliver a website our client would be proud of for the long-term future of the charity, we initially focused on the conceptualisation phase to leverage the branding wherever possible.  I’m sure we’ve created a foundation for further expansion as we look at new and exciting ways to engage with the audience” </em>Adrian Munn – Monochrome Sales &amp; Marketing Director</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/05/jos-trust-get-a-new-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding a LIKE criteria to a Rails Conditions block</title>
		<link>http://blog.monochrome.co.uk/2010/04/adding-a-like-criteria-to-a-rails-conditions-block/</link>
		<comments>http://blog.monochrome.co.uk/2010/04/adding-a-like-criteria-to-a-rails-conditions-block/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 13:15:34 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/04/adding-a-like-criteria-to-a-rails-conditions-block/</guid>
		<description><![CDATA[Earlier I had a interesting problem setting conditions on a query using Rails and ActiveRecord.

Consider the following code which is to be thrown at an AR find:

I needed to add another condition which is a LIKE criteria on a &#8216;profile&#8217; attribute. How could I do this, as obviously a LIKE is usually done via an [...]]]></description>
			<content:encoded><![CDATA[<div class="posterous_autopost">Earlier I had a interesting problem setting conditions on a query using Rails and ActiveRecord.</div>
<div class="posterous_autopost">
<div>Consider the following code which is to be thrown at an AR find:</div>
<p><script src="http://gist.github.com/382116.js?file=gistfile1.rb"></script></p>
<div>I needed to add another condition which is a LIKE criteria on a &#8216;profile&#8217; attribute. How could I do this, as obviously a LIKE is usually done via an array, not a hash key?</div>
<div>Well, as usual, it&#8217;s actually pretty simple through the use of anonymous scopes.  You can pass around these scopes as first class objects using &#8217;scoped&#8217; (a named scoped provided to you for free) as a way to build hairy queries on the fly.</div>
<div><script src="http://gist.github.com/382118.js?file=gistfile1.rb"></script></p>
<div>So, to solve my original problem, I simply need to do this:</div>
<div><script src="http://gist.github.com/382119.js?file=gistfile1.rb"></script></p>
<div>Job Done.</div>
<p style="font-size: 10px;"><a href="http://posterous.com">Posted via email</a> from <a href="http://neilmiddleton.com/adding-a-like-criteria-to-a-rails-conditions">:neil_middleton</a></p>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/04/adding-a-like-criteria-to-a-rails-conditions-block/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full Text Search in Rails with Thinking Sphinx</title>
		<link>http://blog.monochrome.co.uk/2010/04/full-text-search-in-rails-with-thinking-sphinx/</link>
		<comments>http://blog.monochrome.co.uk/2010/04/full-text-search-in-rails-with-thinking-sphinx/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 13:47:23 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/04/full-text-search-in-rails-with-thinking-sphinx/</guid>
		<description><![CDATA[
These days there&#8217;s a common requirement to be searching data in a way that&#8217;s not just a simple find query. People want to search against text, and do weird and wonderful things like fuzzy searching.  As I&#8217;ve been blogging about Rails a fair amount recently in a &#8220;Look Ma! I just figured this out!&#8221; way, [...]]]></description>
			<content:encoded><![CDATA[<div class="posterous_autopost">
<p>These days there&#8217;s a common requirement to be searching data in a way that&#8217;s not just a simple find query. People want to search against text, and do weird and wonderful things like fuzzy searching.  As I&#8217;ve been blogging about Rails a fair amount recently in a &#8220;Look Ma! I just figured this out!&#8221; way, I thought I would talk about how this could be done.  The requirement I have is to search property in a model that consists of text and  search it in as flexible way as possible (a LIKE just won&#8217;t suffice here)</p>
<div>First up, I&#8217;m talking about using MySQL, so this probably won&#8217;t apply to PostgreSQL or anything else.  Secondly, I&#8217;m also running this on Ubuntu Hardy in production and developing it on OS X 10.6.3.  If you&#8217;re using Windows or similar to try and implement this, good luck.  You&#8217;re on your own.</div>
<div>First up, I&#8217;m looking at using <a href="http://sphinxsearch.com/">Sphinx</a>, the full-text search engine.  The reason for this is that seems to be the most widely used and has a couple of nice gems out there for dealing with it in the shape of <a href="http://freelancing-god.github.com/ts/en/">ThinkingSphinx</a> and <a href="http://blog.evanweaver.com/files/doc/fauna/ultrasphinx/files/README.html">UltraSphinx</a>.  For this project I&#8217;m using ThinkingSphinx due to the <a href="http://reinh.com/blog/2008/07/14/a-thinking-mans-sphinx.html">reasons laid out by Rein Henrichs</a> from <a href="http://hashrocket.com/">HashRocket</a> back in 2008.</div>
<div>Once you&#8217;ve installed <a href="http://freelancing-god.github.com/ts/en/installing_sphinx.html">Sphinx</a> and <a href="http://freelancing-god.github.com/ts/en/installing_thinking_sphinx.html">ThinkingSphinx</a> int your application, you need to think about what you want to search.  In my case I only have one thing to worry about so I just need to define that in my model (the property I want to search is called &#8216;goals&#8217;):</div>
<p><script src="http://gist.github.com/380729.js?file=gistfile1.rb"></script></p>
<div>Simple.  Next up, I need to tell Sphinx to index the data I have in my database with a simple rake call, and then I need to fire up the sphinx process:</div>
<div>
<script src="http://gist.github.com/380730.js?file=gistfile1.txt"></script></p>
<div>(Note that you can ignore the error about skipping the model &#8211; it&#8217;s a Sphinx thing.</div>
<div>Next, is where you need to&#8230;.do nothing &#8211; you&#8217;re done.  You can now search your model with a string and get results back&#8230;</div>
<div>
<script src="http://gist.github.com/380733.js?file=gistfile1.rb"></script>
</div>
<div>Now, obviously this is a very very high level overview on how to get started, so your best bet is to check up <a href="http://freelancing-god.github.com/ts/en/">on the documentation</a>, there&#8217;s loads more info there.</div>
<p style="font-size: 10px;"><a href="http://posterous.com">Posted via email</a> from <a href="http://neilmiddleton.com/full-text-search-in-rails-with-thinking-sphin">:neil_middleton</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/04/full-text-search-in-rails-with-thinking-sphinx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails 3 &#8211; error_messages and error_messages_for</title>
		<link>http://blog.monochrome.co.uk/2010/04/rails-3-error_messages-and-error_messages_for/</link>
		<comments>http://blog.monochrome.co.uk/2010/04/rails-3-error_messages-and-error_messages_for/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:57:21 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/04/rails-3-error_messages-and-error_messages_for/</guid>
		<description><![CDATA[
One small gotcha that&#39;s worth noting about the Rails 3 release is one of the many deprecations that are in the release:

In the olden days you&#39;d show user&#39;s error messages with:

&#60;%= form.error_messages %&#62;

Nowadays though, in Rails 3, this is deprecated and has been moved out to a plugin.  The more observant of you will have [...]]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'><img src="http://posterous.com/getfile/files.posterous.com/neilmiddleton/UdghSVdwMXJkV5d5htXyEov8JZ1rYN2v3AA6SK1qiEkj3QUg5hMPoieaxMKI/error_messages.jpg" width="200" height="243"/>
<p>One small gotcha that&#39;s worth noting about the Rails 3 release is one of the many deprecations that are in the release:</p>
<p />
<div>In the olden days you&#39;d show user&#39;s error messages with:</div>
<p />
<div>&lt;%= form.error_messages %&gt;</div>
<p />
<div>Nowadays though, in Rails 3, this is deprecated and has been moved out to a plugin.  The more observant of you will have spotted the following in your console:</div>
<p />
<div>DEPRECATION WARNING: form.error_messages was removed from Rails and is now available as a plugin. Please install it with `rails plugin install git://<a href="http://github.com/rails/dynamic_form.git`">github.com/rails/dynamic_form.git`</a>.</div>
<p />
<div>So, do what it says&#8230;</div>
<p />
<div>Lo and behold, your error messages appear again&#8230;</div>
<p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://neilmiddleton.com/rails-3-errormessages-and-errormessagesfor">:neil_middleton</a>  </p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/04/rails-3-error_messages-and-error_messages_for/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails 3 &#8211; the new sexy</title>
		<link>http://blog.monochrome.co.uk/2010/04/rails-3-the-new-sexy/</link>
		<comments>http://blog.monochrome.co.uk/2010/04/rails-3-the-new-sexy/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 16:02:44 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/04/rails-3-the-new-sexy/</guid>
		<description><![CDATA[At the moment, Rails 3, the new version of the Ruby on Rails framework is nearing the end of it&#39;s beta process before a release into the wild.  And being open source, it&#39;s a tool that everyone has a say in, and that everyone can affect in some way or another.

Whilst it might not really [...]]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>At the moment, Rails 3, the new version of the <a href="http://www.rubyonrails.org/">Ruby on Rails</a> framework is nearing the end of it&#39;s beta process before a release into the wild.  And being open source, it&#39;s a tool that everyone has a say in, and that everyone can affect in some way or another.
<p />
<div>Whilst it might not really mean anything to a regular web user, this has a big affect for us developers.  Rails 3 means that we can now build better applications faster, and the resulting applications are faster, and more reliable. In addition to this, there&#39;s a fairly smooth upgrade path from Rails 2.</div>
<p />
<div>If you&#39;ve not checked out Rails before, do so, it will open your eyes somewhat to what is possible with good tools, and if you&#39;re using Rails already, get up to speed with the new features.  <a href="http://www.railsdispatch.com">Rails Dispatch</a> is an excellent place to start.</div>
<p style="font-size: 10px;">  <a href="http://posterous.com">Posted via email</a>   from <a href="http://neilmiddleton.com/rails-3-the-new-sexy">:neil_middleton</a>  </p>
</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/04/rails-3-the-new-sexy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t be dependant</title>
		<link>http://blog.monochrome.co.uk/2010/04/dont-be-dependant/</link>
		<comments>http://blog.monochrome.co.uk/2010/04/dont-be-dependant/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 16:30:26 +0000</pubDate>
		<dc:creator>Neil Middleton</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.monochrome.co.uk/2010/04/dont-be-dependant/</guid>
		<description><![CDATA[
Over the last couple of weeks it would appear that people are finally starting to realise that being dependant on another business is a bad idea.
For instance, last week Apple decided that it would cut off anyone not building iPhone applications using it&#8217;s own tools, cutting out Flash, Silverlight and a whole load of other [...]]]></description>
			<content:encoded><![CDATA[<div class="posterous_autopost">
<div>Over the last couple of weeks it would appear that people are finally starting to realise that being dependant on another business is a bad idea.</div>
<div>For instance, last week <a href="http://www.apple.com">Apple</a> decided that it would cut off anyone not building iPhone applications using it&#8217;s own tools, cutting out Flash, Silverlight and a whole load of other people.  The Flash community immediately stands up and proclaims how that&#8217;s bad and that Apple &#8216;aren&#8217;t allowed&#8217; to block them out.  Problem is, they are. Apple can do what the hell they like with the iPhone platform.  They can block everyone out if they want, or insist that all developers paint themselves bright pink &#8211; it&#8217;s up to them, it&#8217;s their product, it&#8217;s their success.</div>
<div>Another thing that happened in the last week is <a href="http://twitter.com">Twitter</a> acquired <a href="http://www.atebits.com/tweetie-iphone/">Tweetie</a>, the iPhone based twitter client, with the aim of making this the official mobile client for Twitter on the iPhone.  All the other twitter client authors out there immediately stood up and proclaimed how having an anointed client would put their own client out of business.  Well, funnily enough Twitter are perfectly entitled to do this, it&#8217;s their product, it&#8217;s their success.</div>
<div>Overall, these simple moves have proved a simple point.  Basing your business plan on anything that is dependant on another company completely is a really bad idea.  If you&#8217;re in a position where you can be put out of business by another business making a single simple decision &#8211; you&#8217;re doing something wrong.</div>
<div>For instance, imagine that you&#8217;re a company who makes a little helper app for Windows.  You see great success, and you&#8217;re dependant on the Windows product.  However, Redmond wake up and see you&#8217;re selling loads of licenses, they realise that you&#8217;ve got something that is in great demand &#8211; so they build it into Windows itself as a native feature in order to reap the benefits.</div>
<div><strong><span style="font-size: large;">WHAM!</span></strong></div>
<div>You now have no business, no customers, and no future.  You&#8217;ve been screwed in one easy move by another company and there&#8217;s nothing you can do about it.</div>
<div>So.  Do your own thing.  Make you own way.  Do it the way you want to do it, and how you want to do it.  And if you have to be dependant, make sure you&#8217;ve got a good Plan B.</div>
<p style="font-size: 10px;"><a href="http://posterous.com">Posted via email</a> from <a href="http://neilmiddleton.com/dont-be-dependant">:neil_middleton</a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.monochrome.co.uk/2010/04/dont-be-dependant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
