<?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>Ruby breakfast</title>
	<atom:link href="http://emilientaque.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://emilientaque.fr</link>
	<description>Technical tricks from a freelance Ruby &#38; Rails developper living in Nantes, France.</description>
	<lastBuildDate>Thu, 28 Jan 2010 09:32:29 +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>How to disable apache2 from running on startup</title>
		<link>http://emilientaque.fr/2010/01/how-to-disable-apache2-from-running-on-startup/</link>
		<comments>http://emilientaque.fr/2010/01/how-to-disable-apache2-from-running-on-startup/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 09:10:04 +0000</pubDate>
		<dc:creator>Emilien Taque</dc:creator>
				<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://emilientaque.fr/?p=69</guid>
		<description><![CDATA[I was trying to remove the following warning from passenger-memory-stats, I had to install apache2 but without running it :
*** WARNING: The Apache executable cannot be found.
Please set the APXS2 environment variable to your 'apxs2' executable's filename,
or set the HTTPD environment variable to your 'httpd' or 'apache2' executable's filename.
Solution (found here) :
]]></description>
			<content:encoded><![CDATA[<p>I was trying to remove the following warning from passenger-memory-stats, I had to install apache2 but without running it :</p>
<pre>*** WARNING: The Apache executable cannot be found.
Please set the APXS2 environment variable to your 'apxs2' executable's filename,
or set the HTTPD environment variable to your 'httpd' or 'apache2' executable's filename.</pre>
<p>Solution (<a href="http://ubuntuforums.org/showthread.php?t=550454">found here</a>) :</p>
<script src="http://gist.github.com/288569.js"></script>
]]></content:encoded>
			<wfw:commentRss>http://emilientaque.fr/2010/01/how-to-disable-apache2-from-running-on-startup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tiny trick : lazy i18n-aware title helper</title>
		<link>http://emilientaque.fr/2010/01/tiny-trick-lazy-i18n-aware-title-helper/</link>
		<comments>http://emilientaque.fr/2010/01/tiny-trick-lazy-i18n-aware-title-helper/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 16:55:30 +0000</pubDate>
		<dc:creator>Emilien Taque</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>

		<guid isPermaLink="false">http://emilientaque.fr/?p=60</guid>
		<description><![CDATA[You&#8217;re probably already using a title helper, storing your page title into an instance variable in order to output it in the layout.
I&#8217;m using the following trick to use by default the &#8220;.title&#8221; i18n key of the current page, that&#8217;s useful only for static-title pages.
No more &#60;% title(&#8220;.title&#8221;) %&#62;, let&#8217;s simply &#60;% title %&#62; it [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;re probably already using a <em>title</em> helper, storing your page title into an instance variable in order to output it in the layout.</p>
<p>I&#8217;m using the following trick to use by default the &#8220;.title&#8221; i18n key of the current page, that&#8217;s useful only for static-title pages.</p>
<script src="http://gist.github.com/281079.js"></script>
<p>No more <em>&lt;% title(&#8220;.title&#8221;) %&gt;</em>, let&#8217;s simply <em>&lt;% title %&gt;</em> it !</p>
]]></content:encoded>
			<wfw:commentRss>http://emilientaque.fr/2010/01/tiny-trick-lazy-i18n-aware-title-helper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dealing with permalinks in Rails</title>
		<link>http://emilientaque.fr/2010/01/dealing-with-permalinks-in-rails/</link>
		<comments>http://emilientaque.fr/2010/01/dealing-with-permalinks-in-rails/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 00:29:25 +0000</pubDate>
		<dc:creator>Emilien Taque</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>

		<guid isPermaLink="false">http://emilientaque.fr/?p=47</guid>
		<description><![CDATA[When you want to improve your SEO karma, you have to play with your urls. You can use norman/friendly_id, but you can also do it yourself, it&#8217;s quite simple: just rewrite to_param method.
We can go further by creating a column for the permalink and using a hook to fill it:
On the controller side, it remains [...]]]></description>
			<content:encoded><![CDATA[<p>When you want to improve your SEO karma, you have to play with your urls. You can use <a href="http://github.com/norman/friendly_id" target="_blank">norman/friendly_id</a>, but you can also do it yourself, it&#8217;s quite simple: just rewrite to_param method.</p>
<script src="http://gist.github.com/279682.js"></script>
<p>We can go further by creating a column for the permalink and using a hook to fill it:</p>
<script src="http://gist.github.com/279684.js"></script>
<p>On the controller side, it remains the same thanks to this Ruby behaviour:</p>
<script src="http://gist.github.com/279687.js"></script>
<p>More interesting,  we can avoid duplicate content by redirecting urls with a bad permalink:</p>
<script src="http://gist.github.com/279697.js"></script>
<h3><span style="color: #ff0000;">Update</span></h3>
<p>Thanks to <a href="http://henrik.nyh.se/2009/09/canonizing-pseudo-slugs-in-rails" target="_blank">Henryk Nye</a>, I&#8217;ve improved my :redirect_if_moved method (maybe should I rename it :redirect_if_better).</p>
<script src="http://gist.github.com/281033.js"></script>
<p>Direct quote:</p>
<blockquote><p>Using <code>:overwrite_params</code> will ensure any additional parameters are unchanged.</p></blockquote>
<p>Have SEO fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://emilientaque.fr/2010/01/dealing-with-permalinks-in-rails/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Moroccan flavour</title>
		<link>http://emilientaque.fr/2010/01/moroccan-flavour/</link>
		<comments>http://emilientaque.fr/2010/01/moroccan-flavour/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 12:24:20 +0000</pubDate>
		<dc:creator>Emilien Taque</dc:creator>
				<category><![CDATA[Photo]]></category>

		<guid isPermaLink="false">http://emilientaque.fr/?p=39</guid>
		<description><![CDATA[An illustrated extraction of my holidays in Morocco. See all pictures on my Flickr gallery.





]]></description>
			<content:encoded><![CDATA[<p>An illustrated extraction of my holidays in Morocco. <a href="http://www.flickr.com/photos/etaque/sets/72157622997261523/">See all pictures on my Flickr gallery.</a></p>
<p><a href="http://www.flickr.com/photos/etaque/4228269502/"><img class="alignnone" src="http://farm3.static.flickr.com/2753/4228269502_a613ec7477.jpg" alt="" width="500" height="375" /></a></p>
<p><a href="http://www.flickr.com/photos/etaque/4228269502/"></a><a href="http://www.flickr.com/photos/etaque/4227500069/"><img class="alignnone" src="http://farm3.static.flickr.com/2800/4227500069_8f5f7d3f8d.jpg" alt="" width="500" height="375" /></a></p>
<p><a href="http://www.flickr.com/photos/etaque/4228271096/"><img class="alignnone" src="http://farm3.static.flickr.com/2794/4228271096_8250a8c829.jpg" alt="" width="500" height="375" /></a></p>
<p><a href="http://www.flickr.com/photos/etaque/4228273978/"><img class="alignnone" src="http://farm3.static.flickr.com/2670/4228273978_cfc24fe3d7.jpg" alt="" width="500" height="375" /></a></p>
<p><a href="http://www.flickr.com/photos/etaque/4227503353/"><img class="alignnone" src="http://farm3.static.flickr.com/2695/4227503353_5220778d7b.jpg" alt="" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://emilientaque.fr/2010/01/moroccan-flavour/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby app servers : what&#8217;s hot ?</title>
		<link>http://emilientaque.fr/2009/12/ruby-app-servers-whats-hot/</link>
		<comments>http://emilientaque.fr/2009/12/ruby-app-servers-whats-hot/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 21:45:41 +0000</pubDate>
		<dc:creator>Emilien Taque</dc:creator>
				<category><![CDATA[Rack]]></category>
		<category><![CDATA[Servers]]></category>

		<guid isPermaLink="false">http://emilientaque.fr/?p=23</guid>
		<description><![CDATA[So you&#8217;ve got a fresh new Rails app to deploy and you&#8217;re wondering which Ruby app server to use.
The old school way : a bunch of single process workers monitored (by Monit or God) and reverse proxied by (usually) Nginx. A little old-fashioned because it needs a serious monitoring configuration in order to deal with [...]]]></description>
			<content:encoded><![CDATA[<p>So you&#8217;ve got a fresh new Rails app to deploy and you&#8217;re wondering which Ruby app server to use.</p>
<p><strong>The old school way</strong> : a bunch of single process workers monitored (by <a href="http://mmonit.com/monit/">Monit</a> or <a href="http://god.rubyforge.org/">God</a>) and reverse proxied by (usually) <a href="http://wiki.nginx.org/Main">Nginx</a>. A little old-fashioned because it needs a serious monitoring configuration in order to deal with memory bloats, long actions, deployments, load balancing&#8230;</p>
<p><strong>The simple way</strong> : <a href="http://www.modrails.com/">Phusion Passenger</a> (aka mod_rails). If you&#8217;re sticked with PHP apps on your server, or basically if you prefer Apache, this is the best solution : like adding &#8220;PassengerEnabled On&#8221; into your virtual host declaration. It works out of the box without having to deal with worker pools.</p>
<p><strong>My</strong> <strong>personal preference</strong> goes to the Nginx version of Passenger. Nginx is a memory-saving, stable and fast web server. The install is dead simple if you let Passenger compile itself a fresh new Nginx instance. You got the best of both worlds : performance (Nginx) and simplicity (Passenger).</p>
<p>I&#8217;m looking forward to Passenger 3, teased by some of <a href="http://twitter.com/ninh">Ninh Bui&#8217;s tweets</a> : awesomeness and performances&#8230; Can&#8217;t wait!</p>
<p><strong>An alternative</strong>, fresh but unproven server : <a href="http://webroar.in/">WebROaR</a> is an all-in-one web+app server introduced as the most performant solution by the authors (&#8220;<a href="http://webroar.in/blog/2009/11/25/comparison-of-rails-deployment-stacks-2">5 to 55% faster than other deployment stacks</a>&#8220;). I feel a mistrust from the Rails community, maybe because it was released in the middle nowhere, but you should have a look at it.</p>
<p><a href="http://unicorn.bogomips.org/">Unicorn</a> is a fast server for Rack-based applications, based on Mongrel and strongly inspired by the Unix <a href="http://unicorn.bogomips.org/PHILOSOPHY.html">philosophy</a> : do one thing but do it well. It needs to rely on a buffered reverse proxy (Nginx) to deal with slow requests. Used by the Github folks <a href="http://github.com/blog/517-unicorn">as described here</a>.</p>
<p>JRuby highlights enterprise perspectives : you can now deploy your Rails app on JEE app servers such as Glassfish.</p>
<p>In short, for general purposes my preference goes to Passenger for Nginx. Easy install, small footprint, fair performance : don&#8217;t need more. I would consider using Unicorn for high performance context.</p>
]]></content:encoded>
			<wfw:commentRss>http://emilientaque.fr/2009/12/ruby-app-servers-whats-hot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>404 to the rescue</title>
		<link>http://emilientaque.fr/2009/12/404-to-the-rescue/</link>
		<comments>http://emilientaque.fr/2009/12/404-to-the-rescue/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 13:19:58 +0000</pubDate>
		<dc:creator>Emilien Taque</dc:creator>
				<category><![CDATA[RubyOnRails]]></category>

		<guid isPermaLink="false">http://emilientaque.fr/?p=9</guid>
		<description><![CDATA[There are the &#8220;not found&#8221; related exceptions rescued by 404 in my rails apps:

(The Peugeot 404 by Pleuntje)
]]></description>
			<content:encoded><![CDATA[<p>There are the &#8220;not found&#8221; related exceptions rescued by 404 in my rails apps:</p>
<script src="http://gist.github.com/254897.js"></script><noscript><code class="gist"><pre><br />
rescue_from ActionController::RoutingError,<br />
ActionController::UnknownAction,<br />
ActiveRecord::RecordNotFound,<br />
ActionView::MissingTemplate,<br />
ActionController::MethodNotAllowed,<br />
WillPaginate::InvalidPage, :with =&gt; :route_not_found</p>
<p>protected</p>
<p># 404<br />
def route_not_found<br />
render :template =&gt; &#8216;welcome/404&#8242;, :status =&gt; :not_found<br />
end<br />
</pre></code></noscript>
<p><a href="http://www.flickr.com/photos/pleuntje/210792583/in/pool-peugeot404"><img class="alignnone" title="Peugeot 404 detail" src="http://farm1.static.flickr.com/64/210792583_b070f5b074.jpg" alt="" width="500" height="347" /></a></p>
<p style="text-align: center;">(The <a href="http://en.wikipedia.org/wiki/Peugeot_404" target="_blank">Peugeot 404</a> by <a href="http://www.flickr.com/photos/pleuntje/210792583/in/pool-peugeot404" target="_blank">Pleuntje</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://emilientaque.fr/2009/12/404-to-the-rescue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello world, this is a ruby devlog birth!</title>
		<link>http://emilientaque.fr/2009/12/hello-world-this-is-a-ruby-devlog-birth/</link>
		<comments>http://emilientaque.fr/2009/12/hello-world-this-is-a-ruby-devlog-birth/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 07:49:38 +0000</pubDate>
		<dc:creator>Emilien Taque</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emilientaque.fr/wordpress/?p=1</guid>
		<description><![CDATA[Hello, Ruby developpers and curious people! I&#8217;m a former Java and PHP developper, now happy to work with Ruby and agile methods.
This place will host some of my Ruby &#38; Rails related tricks and thoughts. Welcome onboard.
I&#8217;m french but I&#8217;ll write in english in order to improve my technical writing skills. The following picture was [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, Ruby developpers and curious people! I&#8217;m a former Java and PHP developper, now happy to work with Ruby and agile methods.</p>
<p>This place will host some of my Ruby &amp; Rails related tricks and thoughts. Welcome onboard.</p>
<p>I&#8217;m french but I&#8217;ll write in english in order to improve my technical writing skills. The following picture was shot from my flat in Rezé, south of Nantes, west of France.</p>
<p><a href="http://www.flickr.com/photos/etaque/3989650992/"><img class="alignnone" title="Sunset in Rezé, France" src="http://farm3.static.flickr.com/2509/3989650992_884f13606a.jpg" alt="" width="500" height="375" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://emilientaque.fr/2009/12/hello-world-this-is-a-ruby-devlog-birth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

