<?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>Our Geek Space &#187; ruby on rails</title>
	<atom:link href="http://blog.moove-it.com/category/ruby_on_rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.moove-it.com</link>
	<description>be free to express yourself...</description>
	<lastBuildDate>Fri, 23 Jul 2010 15:35:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>blahsports &amp; marketing campaign of Maradona</title>
		<link>http://blog.moove-it.com/blahsports-marketing-campaign-of-maradona/</link>
		<comments>http://blog.moove-it.com/blahsports-marketing-campaign-of-maradona/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 20:07:27 +0000</pubDate>
		<dc:creator>Martin Cabrera</dc:creator>
				<category><![CDATA[moove-it]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[soccer]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[blahsports]]></category>
		<category><![CDATA[crowller]]></category>
		<category><![CDATA[maradona]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[marketing campaign]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=322</guid>
		<description><![CDATA[Currently we are the developing team of blahsports. Since January 2010 we have been developing several new functionalities and administrating the whole Site.
Blahsports &#8211; www.blahsports.com
Blahsports is a social content website. As a user, you participate in  determining all site&#8217;s content by providing, selecting, sharing, and  discussing articles, pictures and videos that you like [...]]]></description>
			<content:encoded><![CDATA[<p>Currently we are the developing team of blahsports. Since January 2010 we have been developing several new functionalities and administrating the whole Site.</p>
<p><strong>Blahsports</strong> &#8211; <a title="blahsports" href="http://www.blahsports.com" target="_blank">www.blahsports.com</a></p>
<p>Blahsports is a social content website. As a user, you participate in  determining all site&#8217;s content by providing, selecting, sharing, and  discussing articles, pictures and videos that you like and feel that  would be interesting to other people.</p>
<p>see the site &#8230;</p>
<table border="0">
<tbody>
<tr>
<td><a title="Blahsports site" href="http://www.blahsports.com" target="_blank"><img class="alignleft size-full wp-image-330" title="blahsports_site" src="http://blog.moove-it.com/wp-content/uploads/2010/06/blahsports_site.png" alt="blahsports_site" width="657" height="449" /></a></td>
</tr>
</tbody>
</table>
<p><span style="text-decoration: underline;"><em>Blah and technology</em></span></p>
<p>This project is based on PHP, codeigniter (<a title="CodeIgniter" href="http://codeigniter.com/" target="_blank">www.codeigniter.com</a>), Python and MYSQL.<br />
It uses RSS and Web crowller application developed in Python to share all the sports content of a hundred sites.<br />
We create a tag module which searches and identifies the language, sports and a set of tags for each content. For instance, if the content is &#8220;Forlan plays very well against Mexico&#8221; then the module will find out that the text is about Soccer, Forlan, Mexico and that the main language is English.</p>
<p><em><span style="text-decoration: underline;">blah and a marketing campaign</span><br />
</em></p>
<p>We are making a marketing campaign to <span id="result_box"><span>acquire and activate users.  We have a Maradona t-shirt as a prize for the winner among </span></span><span id="result_box"><span style="background-color: #e6ecf9; color: #000000;"> </span></span>all the registered users &#8230; see the site &#8230; <a href="http://maradona.blahsports.com" target="_blank">http://maradona.blahsports.com</a></p>
<p><span id="result_box"><span>This application was developed based on rails.</span></span></p>
<p><a title="maradona marketing campaign" href="http://maradona.blahsports.com" target="_blank"><img class="alignleft size-full wp-image-323" title="promo_maradona" src="http://blog.moove-it.com/wp-content/uploads/2010/06/promo_maradona.png" alt="promo_maradona" width="641" height="420" /></a></p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=blahsports+%26+marketing+campaign+of+Maradona+http://p36fy.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=blahsports+%26+marketing+campaign+of+Maradona+http://p36fy.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/blahsports-marketing-campaign-of-maradona/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Game for the &#8220;Plan Ceibal&#8221; // Children managing a neighborhood</title>
		<link>http://blog.moove-it.com/game-plan-ceibal-to-management-a-neighborhood/</link>
		<comments>http://blog.moove-it.com/game-plan-ceibal-to-management-a-neighborhood/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 17:43:01 +0000</pubDate>
		<dc:creator>Martin Cabrera</dc:creator>
				<category><![CDATA[ceibal]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[moove-it]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[social network]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[abrojo]]></category>
		<category><![CDATA[imm]]></category>
		<category><![CDATA[olpc]]></category>
		<category><![CDATA[plan ceibal]]></category>
		<category><![CDATA[xo]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=279</guid>
		<description><![CDATA[









We showed the first prototype of the game developed for the &#8220;Plan Ceibal&#8221; (www.ceibal.org.uy). The game is web based and specially designed for children using a XO computer.
Plan Ceibal
The One Laptop Per Child Association, Inc. (OLPC) is a U.S. non-profit organization set up to oversee the creation of an affordable educational device for use in the developing world. [...]]]></description>
			<content:encoded><![CDATA[<table border="0">
<tbody>
<tr>
<td><a href="http://blog.moove-it.com/wp-content/uploads/2010/03/ceibal.jpg"><img class="alignleft size-full wp-image-353" title="ceibal" src="http://blog.moove-it.com/wp-content/uploads/2010/03/ceibal.jpg" alt="ceibal" width="274" height="100" /></a></td>
<td></td>
<td><img class="alignleft size-medium wp-image-296" title="screenshot of the game" src="http://blog.moove-it.com/wp-content/uploads/2010/03/layout-05-300x225.jpg" alt="screenshot of the game" width="300" height="225" /></td>
<td></td>
</tr>
</tbody>
</table>
<p>We showed the first prototype of the game developed for the &#8220;Plan Ceibal&#8221; (<a href="http://www.ceibal.org.uy">www.ceibal.org.uy</a>). The game is web based and specially designed for children using a XO computer.</p>
<p><strong><span style="text-decoration: underline;">Plan Ceibal</span></strong></p>
<p>The One Laptop Per Child Association, Inc. (OLPC) is a <a title="United States" href="http://en.wikipedia.org/wiki/United_States">U.S.</a> <a title="Non-profit organization" href="http://en.wikipedia.org/wiki/Non-profit_organization">non-profit organization</a> set up to oversee the creation of an affordable educational device for use in the <a title="Developing country" href="http://en.wikipedia.org/wiki/Developing_country">developing world</a>. Its mission is &#8220;to create educational opportunities for the world&#8217;s poorest children by providing each child with a rugged, low-cost, low-power, connected laptop with content and software designed for collaborative, joyful, self-empowered learning.&#8221;</p>
<p>“Uruguay is the first country in accept the challenge”</p>
<p><a href="http://blogs.worldbank.org/edutech/videos/uruguays-plan-ceibal-the-worlds-most-ambitious-roll-out-of-educational-technologies"><span style="font-weight: normal;">Worldbank.org &#8211; Uruguay&#8217;s Plan Ceibal: The world&#8217;s most ambitious roll-out of educational technologies?</span></a></p>
<p><span style="text-decoration: underline;"><strong>The Game</strong></span></p>
<p>Moove-IT and El Abrojo (a Uruguayan Social Organization who works with poor children) are working in the development of an online game for the XO computers.</p>
<p>This game is financed by the IMM (Government of Montevideo) and his main objective is promote good habits between children. This tool is an online game in which the children works with themes relative to the daily environment care. Each child works in groups with their classmates and also with other schools in any location of the country.</p>
<p>They will be able to: build houses, create commercial areas, create rural areas, maintain clean the neighborhood, and manage parks, among others things.</p>
<p>The points are generated by answering simple questions and doing simple tests. The tests and the answers are validated by the collective. This means that players themselves determine whether an answer is correct or not.</p>
<p>Here you have an initial slide of the game with some screenshots. (The slide is in Spanish)</p>
<div id="__ss_3445932" style="width: 425px;"><strong><a title="Presentación Juego para el plan ceibal" href="http://www.slideshare.net/martincabrera/presentacin-juego-para-el-plan-ceibal">Presentación Juego para el plan ceibal</a></strong><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentacinlunes15-100316100524-phpapp02&amp;stripped_title=presentacin-juego-para-el-plan-ceibal" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=presentacinlunes15-100316100524-phpapp02&amp;stripped_title=presentacin-juego-para-el-plan-ceibal" allowscriptaccess="always" allowfullscreen="true"></embed></object></div>
<p>We will put this Game on production in April 20, 2010</p>
<table border="0">
<tbody></tbody>
</table>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Game+for+the+%22Plan+Ceibal%27%27+%2F%2F+Children+managing+a+neighborhood+http://sfyqi.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=Game+for+the+%22Plan+Ceibal%27%27+%2F%2F+Children+managing+a+neighborhood+http://sfyqi.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/game-plan-ceibal-to-management-a-neighborhood/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails &amp; iPhone Applications: Simple Mix</title>
		<link>http://blog.moove-it.com/rails-iphone-applications-simple-mix/</link>
		<comments>http://blog.moove-it.com/rails-iphone-applications-simple-mix/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 19:01:30 +0000</pubDate>
		<dc:creator>Augusto Guido</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[iphone development]]></category>
		<category><![CDATA[ObjectiveResource]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=234</guid>
		<description><![CDATA[As Rails developers we are all in love with keeping things simple. As Einstein said: &#8220;Make everything as simple as possible, but not simpler&#8221;. You may not agree with the theory of relativity, but you should really agree on this one.

A couple of months ago I started my final major project: an iPhone based application. [...]]]></description>
			<content:encoded><![CDATA[<p>As Rails developers we are all in love with keeping things simple. As Einstein said: &#8220;Make everything as simple as possible, but not simpler&#8221;. You may not agree with the theory of relativity, but you should really agree on this one.<br />
<br/><br />
A couple of months ago I started my final major project: an iPhone based application. It&#8217;s been a really great journey so far and I&#8217;ve learned so many amazing things about iPhone development. I found it very similar in some ways with Rails, being the biggest one the way they both keep things as simple as they should be. Well they both use the MVC architecture, but right now I&#8217;m talking beyond that stuff. It&#8217;s more about an ideology on how to build stuff, web and mobile applications in this case.<br/><br />
As an idea here at moove-it we thought of having an iPhone application for our <a href="http://blog.moove-it.com/software-is-not-everything-in-life-championships-in-faltaunocom-copa-cuti/">faltauno.com</a> project, kinda like facebook does. So the research began on how this could be done, the first (and probably definitely) answer appeared quickly. The guys at <a href="http://iphoneonrails.com/">iphoneonrails.com</a> have developed ObjectiveResource.<br/><br />
&#8220;ObjectiveResource is an Objective-C port of Ruby on Rails&#8217; ActiveResource. It provides a way to serialize objects to and from Rails&#8217; standard RESTful web-services (via XML or JSON) and handles much of the complexity involved with invoking web-services of any language from the iPhone.&#8221;. What&#8217;s not to love in that sentence? I won&#8217;t get into it since I haven&#8217;t used that much, and who could explain better than <a href="http://iphoneonrails.com/getting-started">themselves</a>?. In case you are thinking it will be too complex to get started, you can download the whole package with an example application that does all the basic stuff you are probably thinking on trying to do right now.<br/><br />
The example is a typical Rails application that can be handled using an iPhone application, which is also inside the example, you should of course have installed XCode. You then start the rails app and the iPhone simulator running the other one, and something kind of magic starts happening. What amaze me the most is the simplicity of the code you&#8217;ll need to write (of course <img src='http://blog.moove-it.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ). Really try it out it&#8217;s worth it.<br />
<br/><br />
Don&#8217;t forget to tell us about your experience!</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Rails+%26+iPhone+Applications%3A+Simple+Mix+http://9e9f5.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=Rails+%26+iPhone+Applications%3A+Simple+Mix+http://9e9f5.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/rails-iphone-applications-simple-mix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>software is not everything in life &#8211; championships in faltauno.com &#8220;Copa CUTI&#8221;</title>
		<link>http://blog.moove-it.com/software-is-not-everything-in-life-championships-in-faltaunocom-copa-cuti/</link>
		<comments>http://blog.moove-it.com/software-is-not-everything-in-life-championships-in-faltaunocom-copa-cuti/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 17:41:55 +0000</pubDate>
		<dc:creator>Martin Cabrera</dc:creator>
				<category><![CDATA[faltauno.com]]></category>
		<category><![CDATA[moove-it]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[social network]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[championships]]></category>
		<category><![CDATA[CUTI]]></category>
		<category><![CDATA[futbol]]></category>
		<category><![CDATA[soccer]]></category>
		<category><![CDATA[sports]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=215</guid>
		<description><![CDATA[
Hello everyone &#8230; in moove-iT we develop and management faltauno.com.
It is a social network specializes in organizing matches, managing a team and administer and manage a championship.
On August 1 begins the first championship was organized by faltauno.com &#8220;Copa CUTI&#8221; (www.cuti.org.uy).
This championship brings together all the software companies of uruguay.
We invite everyone to visit and see [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.moove-it.com/wp-content/uploads/2009/07/logo.png"><img src="http://blog.moove-it.com/wp-content/uploads/2009/07/logo.png" alt="logo" title="logo" width="251" height="67" class="alignnone size-full wp-image-216" /></a></p>
<p>Hello everyone &#8230; in moove-iT we develop and management <a href="http://www.faltauno.com">faltauno.com</a>.<br />
It is a social network specializes in organizing matches, managing a team and administer and manage a championship.</p>
<p>On August 1 begins the first championship was organized by faltauno.com &#8220;Copa CUTI&#8221; (<a href="http://www.cuti.org.uy">www.cuti.org.uy</a>).<br />
This championship brings together all the software companies of uruguay.</p>
<p>We invite everyone to visit and see what are the best !</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=software+is+not+everything+in+life+--+championships+in+faltauno.com+%22Copa+CUTI%27%27+http://ozfee.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=software+is+not+everything+in+life+--+championships+in+faltauno.com+%22Copa+CUTI%27%27+http://ozfee.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/software-is-not-everything-in-life-championships-in-faltaunocom-copa-cuti/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ruby Benchmarks</title>
		<link>http://blog.moove-it.com/206/</link>
		<comments>http://blog.moove-it.com/206/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 21:46:59 +0000</pubDate>
		<dc:creator>Gian Zas</dc:creator>
				<category><![CDATA[moove-it]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ruby performance benchmarks]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=206</guid>
		<description><![CDATA[One of the most popular rants against ruby are based on its not so good performance.
Actually has been made improvements on this topic, specially in the new Ruby implementation (Ruby 1.9) based on the YARV virtual machine.
JRuby (Ruby over JVM implementation) has been focused in its performance from its lastest releases. Here at moove-it we [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most popular rants against <span style="color: #333399;"><strong>ruby</strong></span> are based on its not so good <span style="color: #333399;"><strong>performance.</strong></span></p>
<p>Actually has been made improvements on this topic, specially in the new Ruby implementation (<strong><span style="color: #333399;">Ruby 1.9</span></strong>) based on the <strong><span style="color: #333399;">YARV </span></strong>virtual machine.</p>
<p><strong><span style="color: #333399;">JRuby</span></strong> (Ruby over <span style="color: #333399;"><strong>JVM </strong></span>implementation) has been focused in its performance from its lastest releases. Here at moove-it we are exploring the posibility of use <span style="color: #333399;"><strong>Rails </strong></span>over JRuby in some <strong><span style="color: #333399;">JEE </span></strong>application servers, so we need some facts about JRuby performance (and other topics like gems compatibility, etc)</p>
<p>The Ruby community has put a set of benchmarks at ruby1.9 trunk: <a title="http://svn.ruby-lang.org/repos/ruby/trunk/benchmark/" href="http://svn.ruby-lang.org/repos/ruby/trunk/benchmark/"><span style="color: #333399;">http://svn.ruby-lang.org/repos/ruby/trunk/benchmark/</span></a></p>
<p>So, we test with these benchmarks and here are the results!.</p>
<p>The code that run the benchmarks is like that:</p>
<pre>block_to_benchmark = lambda { load BENCHMARKS_DIR + '/' + filename}
Benchmark.measure &amp;block_to_benchmark</pre>
<p>(yes, we are using the benchmark module bundled with the ruby standard lib)</p>
<table style="border-collapse: collapse; height: 1054px;" border="0" cellspacing="0" cellpadding="0" width="666">
<col style="width: 143pt;" width="190"></col>
<col style="width: 60pt;" span="4" width="80"></col>
<col style="width: 68pt;" width="90"></col>
<tbody>
<tr style="height: 12.75pt;" height="17">
<td class="xl25" style="height: 12.75pt; width: 100pt;" width="120" height="17">
<p style="text-align: left;"><strong>Benchmark<br />
</strong></td>
<td class="xl25" style="width: 60pt;" width="80">
<p style="text-align: right;"><strong> Ruby1.8</strong></p>
</td>
<td class="xl25" style="width: 60pt;" width="80">
<p style="text-align: right;"><strong> Ruby1.9<br />
</strong></td>
<td class="xl25" style="width: 60pt;" width="80">
<p style="text-align: right;"><strong> JRuby1.3.0<br />
</strong></td>
<td class="xl25" style="width: 80pt;" width="100">
<p style="text-align: right;"><strong> Ruby1.8 /</strong></p>
<p style="text-align: right;"><strong> Ruby1.9</strong></p>
</td>
<td class="xl25" style="width: 80pt;" width="100">
<p style="text-align: right;"><strong> Ruby1.8 / </strong></p>
<p style="text-align: right;"><strong> JRuby1.3.0</strong></p>
</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="height: 12.75pt;" height="17">bm_app_fib.rb</td>
<td class="xl27" style="border-left: medium none;" align="right">9.02</td>
<td class="xl27" style="border-left: medium none;" align="right">4.00</td>
<td class="xl27" style="border-left: medium none;" align="right">3.83</td>
<td class="xl27" style="border-left: medium none;" align="right">2.25</td>
<td class="xl27" style="border-left: medium none;" align="right">2.36</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_app_mandelbrot.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.36</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.81</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.49</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.14</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.26</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_app_pentomino.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">144.24</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">91.97</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">105.64</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.57</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.37</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_app_raise.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.94</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.98</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.63</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.01</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.27</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_app_strconcat.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.94</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.63</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.30</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.81</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.27</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_app_tak.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">12.27</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.66</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.06</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.17</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.02</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_app_tarai.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">9.81</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.83</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.27</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.03</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.00</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_app_uri.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.59</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.77</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.69</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.75</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.79</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_io_file_create.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.17</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.12</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.70</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.30</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.07</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_io_file_read.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.27</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.61</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.64</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.71</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.54</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_io_file_write.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.77</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">10.98</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.31</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-6.22</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.64</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_loop_for.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.97</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.81</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.50</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-2.63</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-2.53</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_loop_generator.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">149.64</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.00</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">10.95</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">49.88</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">13.66</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_loop_times.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.88</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.88</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.95</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.41</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.63</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_loop_whileloop.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">11.23</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.67</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">9.42</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.06</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.19</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_loop_whileloop2.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.33</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.72</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.89</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.24</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.23</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_array.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">8.41</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.33</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">16.17</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.15</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.92</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_binary_trees.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.50</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.14</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.84</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.10</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.58</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_concatenate.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.49</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.95</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.03</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.27</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.22</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_exception.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.62</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">10.42</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.63</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.37</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.90</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_fasta.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">13.59</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">11.77</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">16.03</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.16</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.18</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_lists.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.27</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.38</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.48</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.65</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.53</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_mandelbrot.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">44.55</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">32.49</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">49.28</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.37</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.11</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_matrix.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.69</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.13</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.84</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.26</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.46</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_meteor_contest.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">52.55</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">25.17</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">22.02</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.09</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.39</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_nbody.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">35.80</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">26.61</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">16.78</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.35</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.13</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_nested_loop.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.09</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.88</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">8.64</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.13</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.42</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_nsieve.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">26.89</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">13.11</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">24.69</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.05</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.09</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_nsieve_bits.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">62.50</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">46.05</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">42.55</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.36</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.47</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_object.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">11.56</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">11.52</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.11</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.00</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.72</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_partial_sums.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">80.13</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">228.91</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">31.22</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-2.86</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.57</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_pidigits.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">10.33</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">10.44</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.03</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.01</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.47</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_random.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.59</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">12.88</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.86</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-2.80</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.47</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_sieve.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.84</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.34</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">0.63</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.45</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.35</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_so_spectralnorm.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">41.86</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">92.88</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">20.03</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-2.22</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.09</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_block.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">26.22</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">13.44</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">27.44</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.95</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.05</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_const.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">19.02</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.27</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">17.64</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.03</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.08</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_ensure.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">20.06</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.11</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">16.19</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.93</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.24</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_ivar.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">17.95</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">9.50</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">18.78</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.89</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.05</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_ivar_set.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">19.22</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">9.83</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">21.67</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.96</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.13</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_length.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">22.95</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.44</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">18.16</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.09</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.26</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_neq.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">20.81</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.58</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">14.98</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.16</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.39</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_not.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">14.91</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.58</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">12.64</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.67</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.18</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_rescue.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">15.72</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.64</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">21.38</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.39</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.36</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_simplereturn.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">23.84</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">9.66</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">16.05</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.47</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.49</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm1_swap.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">50.25</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.73</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">24.38</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">8.76</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.06</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_array.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">10.72</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">19.27</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.42</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.80</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.98</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_case.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.06</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.66</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.00</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.06</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.27</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_eval.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">32.20</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">200.98</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">69.41</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-6.24</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-2.16</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_method.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">15.45</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">9.45</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">11.36</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.63</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.36</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_mutex.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.47</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.34</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.30</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.16</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.33</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_poly_method.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">20.61</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">12.16</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">21.05</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.70</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-1.02</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_poly_method_ov.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.00</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.66</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.53</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.02</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.10</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_proc.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">12.00</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.86</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.75</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.11</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.78</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_regexp.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.89</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">19.25</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.63</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-3.27</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.05</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_send.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.05</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.11</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.38</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.39</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.15</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_super.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.75</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.17</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">4.44</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.81</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.30</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_unif1.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.20</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.99</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.61</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">2.62</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.44</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm2_zsuper.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">6.87</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">3.48</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">5.49</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.97</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.25</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td class="xl26" style="border-top: medium none; height: 12.75pt;" height="17">bm_vm3_thread_create_join.rb</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">1.95</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">7.70</td>
<td class="xl27" style="border-top: medium none; border-left: medium none;" align="right">19.13</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-3.94</td>
<td class="xl27" style="color: maroon; font-weight: 700;" align="right">-9.79</td>
</tr>
<tr style="height: 12.75pt;" height="17">
<td style="height: 12.75pt;" height="17">bm_vm3_gc.rb</td>
<td class="xl24" align="right">292.30</td>
<td class="xl24" align="right">266.14</td>
<td class="xl24" align="right">0.36</td>
<td class="xl24" align="right">1.10</td>
<td class="xl24" align="right">814.20</td>
</tr>
</tbody>
</table>
<p>.</p>
<p>A looser conclusion may be that <span style="color: #333399;"><strong>Ruby 1.9</strong></span> is <span style="color: #333399;"><strong>95%</strong></span> faster than Ruby1.8, and <span style="color: #333399;"><strong>JRuby 1.3.0</strong></span> is <strong><span style="color: #333399;">10% </span></strong>faster than 1.8, in general the new implementations are faster than Ruby1.8,  especially 1.9 (twice as faster).</p>
<p>The benchmarks were under <strong><span style="color: #333399;">WindowsXP  SP3</span></strong>, <span style="color: #333399;"><strong>4GB RAM</strong></span>, and a Intel <span style="color: #333399;"><strong>Core 2 duo 2.0GHz.</strong></span> Happy hacking!</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Ruby+Benchmarks+http://i9esa.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=Ruby+Benchmarks+http://i9esa.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/206/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using Facebooker to make a Rails site with Facebook Connect (Part 3)</title>
		<link>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-3/</link>
		<comments>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-3/#comments</comments>
		<pubDate>Mon, 25 May 2009 17:41:29 +0000</pubDate>
		<dc:creator>Augusto Guido</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebooker]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[publish feed]]></category>
		<category><![CDATA[publish stories]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=185</guid>
		<description><![CDATA[Welcome to part 3 of the facebooker trilogy
I&#8217;m kind of tyred of writing the same title over and over again and changing just the last number, problem is there are so many things we can do with this stuff we could write tons of this. I could put in the title what we will talk [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to part 3 of the facebooker trilogy</p>
<p>I&#8217;m kind of tyred of writing the same title over and over again and changing just the last number, problem is there are so many things we can do with this stuff we could write tons of this. I could put in the title what we will talk about specifically in this post, but the idea is to follow this post/tutorials in order. This will probably be the last part of this set of posts, the following ones will refer in it&#8217;s specifically to what will be done.</p>
<p>So far we explained how to configure facebooker, sign up, invite friends and bit of the theory. So today we&#8217;ll publish something in the users dashboard, so him and all his friends can see it his wall. So go to<br />
<a href="http://developers.facebook.com/tools.php">developers.facebook.com/tools.php</a> and select &#8220;Feed Template Console&#8221;, select the application you want and click next.</p>
<p>Give me a minute to explain you what we are doing.</p>
<p>We are going to register our feeds in facebook, and then we are going to call them by a number they will give us.<br />
You can do this using facebooker, or you can register them in the link I gave you above. I think that using the facebook tools is way easier and also facebooker may be a bit out of date regarding this area due to all the legal and business changes in facebook. Also not event facebook has yet clear what they want: &#8220;At this time, the policy on automatically publishing one line stories has not been finalized&#8221;.</p>
<p>Anyway, complete the step guide for feeds in facebook and keep the number of the template you created. BTW while completing it you will find this kind of stuff &#8220;{*actor*}&#8221; without quotes. These are tokens that allow to put variable stuff (like names, links, etc.), you can read about them while creating the templates since they are well explained over there.</p>
<p>Now, you have the story. You need the users approval to publish it, so what facebook does is shows the story to the user and gives him otions to skip or publish. If we are in luck the users hits &#8220;publish&#8221;.</p>
<p>So we now obviously want to show it to the user so he can choose. Here&#8217;s the code</p>
<pre>
FB.ensureInit(function() {
var body_general = "Join them in my facebook connect site"
var template_data =
{
"actor":  "&lt;%= @_logged_user.name %&gt;",
"friends":"&lt;%= @event.users.collect{|u| u.name_or_alias}.join(', ') %&gt;",
"event":  "&lt;%= @event.description %&gt;",
"place":  "&lt;%= @event.place %&gt;",
"time" :  "&lt;%= @event.start.strftime('%m/%d/%Y %I:%M %p') %&gt;"
};
var user_message_prompt = "&lt;%= @match.comment %&gt;";
FB.Connect.showFeedDialog('the_number_of_your_template', template_data, [], body_general, null, FB.RequireConnect.require, FB.RequireConnect.promptConnect, user_message_prompt);
});
</pre>
<p>In the template data you have to complete the tokens you created when publishing your story. You can everything pretty well explained in this couple of links:</p>
<p><a href="http://wiki.developers.facebook.com/index.php/Publishing_Feed_Stories_to_Facebook">http://wiki.developers.facebook.com/index.php/JS_API_M_FB.Connect.ShowFeedDialog</a><br />
<a href="http://wiki.developers.facebook.com/index.php/Feed.publishUserAction">http://wiki.developers.facebook.com/index.php/Feed.publishUserAction</a><br />
<a href="http://wiki.developers.facebook.com/index.php/Publishing_Feed_Stories_to_Facebook">http://wiki.developers.facebook.com/index.php/Publishing_Feed_Stories_to_Facebook</a></p>
<p>Pay attention to the <em>&#8220;FB.ensureInit(function(){&#8221;</em>, I don&#8217;t know why I couldn&#8217;t find anywhere in facebook that mention this should be there. If you don&#8217;t add this nothing will happen, maybe it&#8217;s obvios for some people, but it wasn&#8217;t for me. I&#8217;m sory I can&#8217;t remember where I find this, but you can read <a href="http://wiki.developers.facebook.com/index.php/JS_API_M_FB.EnsureInit">here</a> what it does.</p>
<p>Well, that&#8217;s kind of the big picture of what you have to do to publish stories, remember this isn&#8217;t supposed to be a complete tutorial of everything you can do, just a guide based on my personal experience to get started.</p>
<p>Your facebook connect site should be quite complete now that you can signup, invite your friends and write stuff that will appear directly in facebook. Not to mention if you have used all the other resources facebook give us and facebooker facilitate us.</p>
<p>Thanks for reading!</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Using+Facebooker+to+make+a+Rails+site+with+Facebook+Connect+%28Part+3%29+http://zpdzt.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=Using+Facebooker+to+make+a+Rails+site+with+Facebook+Connect+%28Part+3%29+http://zpdzt.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Using Facebooker to make a Rails site with Facebook Connect (Part 2)</title>
		<link>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-2/</link>
		<comments>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-2/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 16:49:44 +0000</pubDate>
		<dc:creator>Augusto Guido</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebooker]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[invite friends facebooker]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[XFBML]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=182</guid>
		<description><![CDATA[Hey, thanks for coming back for part 2. I know it took some time to start writing this second part, it&#8217;s just that facebook keeps getting better and keeps taking my time away (don&#8217;t tell Conrado).
If I remember correctly in Part 1 we ended up with facebooker installed, configured and running. We even added the [...]]]></description>
			<content:encoded><![CDATA[<p>Hey, thanks for coming back for part 2. I know it took some time to start writing this second part, it&#8217;s just that facebook keeps getting better and keeps taking my time away (don&#8217;t tell Conrado).</p>
<p>If I remember correctly in Part 1 we ended up with facebooker installed, configured and running. We even added the facebook connect button and explained how to use some of the great facebooker helpers. As promised in my last post we are going to explain a bit how the magic happens with XFBML, invite friends and publish feed items.</p>
<p><strong>XFBML</strong></p>
<p>Facebook uses XFBML as a way for you to incorporate <a title="FBML" href="http://wiki.developers.facebook.com/index.php/FBML">FBML</a> (Facebook Markup Language, an extension to HTML) into an HTML page on a <a title="Facebook Connect" href="http://wiki.developers.facebook.com/index.php/Facebook_Connect">Facebook Connect</a> site or an iframe application. <a href="http://wiki.developers.facebook.com/index.php/XFBML" target="_self">read more here</a>.</p>
<p>This is a typical XFBML tag, it brings up the profile picture of the user with the uid=&#8221;12345&#8243;.</p>
<pre>
&lt;fb:profile-pic uid="12345" facebook-logo="true" linked="false" width="300" height="400"&gt;&lt;/fb:profile-pic&gt;
</pre>
<p>
What&#8217;s happening here? Facebook is turning this into a typicall HTML &lt;img&gt; tag. They do this using a Javascript cross-domain communications library. You can read more <a href="http://wiki.developers.facebook.com/index.php/Cross-domain_communication_channel" target="_blank">here</a> if you are interested. This is all done for you when using Facebooker.</p>
<p>Boring right? Let&#8217;s invite some friends to our connect site to keep things more interesting.</p>
<p><strong>Inviting Friends</strong></p>
<p>If you went through the facebooker helpers you are probably thinking about using <em>fb_multi_friend_selector</em> to select friends. Well you are right! We&#8217;ll be using that helper, but we will need it inside another helper that is<em> fb_request_form</em>. There&#8217;s also another helper that could help us that is <em>fb_multi_friend_request,</em> which is basically the first two together, but we are going to use the first option. Here&#8217;s the resulting code:</p>
<pre>
&lt;% fb_serverfbml do %&gt;
&lt;script type="text/fbml"&gt;
&lt;fb:fbml&gt;
&lt;% content_for("invite_user") do %&gt;
&lt;%= "Check out my brand new FB Connect site.  Lots of good stuff in there! #{fb_req_choice('Check it out!', login_users_url)}" %&gt;
&lt;% end %&gt;
&lt;% fb_request_form("GetUnbored","invite_user", login_users_url) do %&gt;
&lt;%= fb_multi_friend_selector("Invite your friends to check out this site", :showborder =&gt; true,
:exclude_ids =&gt; facebook_session.user.friends_with_this_app.map(&amp;:id).join(","), :condensed =&gt; false) %&gt;
&lt;% end %&gt;
&lt;/fb:fbml&gt;
&lt;/script&gt;
&lt;% end %&gt;
</pre>
<p>
I don&#8217;t want to explain something that&#8217;s already out there in many places, I will just describe a bit what&#8217;s going on. We put things inside a<em> fb_serverfbml</em>, because we are in a facebook connect site and need users interaction with facebook directly (that is when selecting their friends). The content_for(&#8221;invite_user&#8221;) is the content that will be show in the <em>fb_request_form</em>. The <em>fb_request_form</em> is a facebook form used when we need to submit information to facebook.</p>
<p>And the <em>fb_multi_friend_selector</em> is the nice facebook like friend selector. You can choose <em>condensed =&gt; true</em> to show an ugly smaller one. The <em>exclude_ids =&gt; facebook_session.user.friends_with_this_app.map(&amp;:id).join(&#8221;,&#8221;)</em> is pretty great, it makes the friend selector not to show the friends who are already using our facebook connect site.</p>
<p>Anyway, you can get much more things done, <a href="http://facebooker.rubyforge.org/classes/Facebooker/Rails/Helpers.html" target="_blank">here are some</a> of the facebooker helpers to do anything you like with them <img src='http://blog.moove-it.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> . And of course the <a href="http://wiki.developers.facebook.com/">facebook developers wiki</a> is a great place for starting and becoming a guru. I will add in other post the publishing feeds part.</p>
<p>Enjoy!</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Using+Facebooker+to+make+a+Rails+site+with+Facebook+Connect+%28Part+2%29+http://a3ht3.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=Using+Facebooker+to+make+a+Rails+site+with+Facebook+Connect+%28Part+2%29+http://a3ht3.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trick to improve performance in rails, less requests with static resources</title>
		<link>http://blog.moove-it.com/improving-performance-with-a-few-requests-in-rails/</link>
		<comments>http://blog.moove-it.com/improving-performance-with-a-few-requests-in-rails/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 15:30:38 +0000</pubDate>
		<dc:creator>Pablo Ifran</dc:creator>
				<category><![CDATA[performance]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=161</guid>
		<description><![CDATA[Reducing the number of request made to the server improves the performance of a web application in about 80%.
There are many techniques that allow us to reduce the amount of requests that are made on a page, among them are: the sprites, put the stylesheets on top of the page, javascripts compress, among others.
But what&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Reducing the number of request made to the server improves the performance of a web application in about <strong>80%</strong>.</p>
<p>There are many techniques that allow us to reduce the amount of requests that are made on a page, among them are: the sprites, put the stylesheets on top of the page, javascripts compress, among others.</p>
<p><em>But what&#8217;s offered by Rails to improve the performance of our web application?</em></p>
<p>It offers a great plugin called bundle_fu (http://code.google.com/p/bundle-fu/)<br />
It allows us with a single request obtain all the javascripts and with another request all the stylesheets  (it also offers the possibility of compress javascripts).<br />
Using this plugin is really easy but it&#8217;s very powerfull</p>
<pre>&lt;% bundle do -%&gt;
  &lt;%= javascript_include_tag :default -%&gt;
  &lt;%= javascript_include_tag "javascript1" -%&gt;
  &lt;%= javascript_include_tag "javascript2" -%&gt;
  &lt;%= javascript_include_tag "javascript3" -%&gt;
  &lt;%= stylesheet_link_tag "style1" -%&gt;
  &lt;%= stylesheet_link_tag "style2" -%&gt;
  &lt;%= stylesheet_link_tag "style3" -%&gt;
  ...
&lt;% end %&gt;</pre>
<p>All these javascripts and stylesheets are converted in only two files when the request is processed.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Trick+to+improve+performance+in+rails%2C+less+requests+with+static+resources+http://knyds.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=Trick+to+improve+performance+in+rails%2C+less+requests+with+static+resources+http://knyds.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/improving-performance-with-a-few-requests-in-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>moove-iT@locosxrails</title>
		<link>http://blog.moove-it.com/moove-it-in-locosxrails/</link>
		<comments>http://blog.moove-it.com/moove-it-in-locosxrails/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 17:42:47 +0000</pubDate>
		<dc:creator>Martin Cabrera</dc:creator>
				<category><![CDATA[moove-it]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[David Heinemeier Hansson]]></category>
		<category><![CDATA[locosxrails]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ror]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=145</guid>
		<description><![CDATA[
Locos x Rails is the first conference in the Southern Cone dedicated to the ground-breaking Ruby on Rails framework. Locos por Rails Conference 2009 will be held on April 3rd and 4th in Buenos Aires, Argentina. South America&#8217;s most popular travel destination is the perfect backdrop for two days of local and international presentations, networking, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="logo locosxrails"><img class="alignnone" title="logo locos x rails" src="http://locosxrails.com/images/content/logo.jpg" alt="" width="243" height="54" /></a></p>
<p><a href="http://locosxrails.com" target="_blank">Locos x Rails</a> is the first conference in the Southern Cone dedicated to the ground-breaking Ruby on Rails framework. Locos por Rails Conference 2009 will be held on April 3rd and 4th in Buenos Aires, Argentina. South America&#8217;s most popular travel destination is the perfect backdrop for two days of local and international presentations, networking, and fun.</p>
<p>Part of the moove-iT development team attended to this event. Bellow you will find some nice pictures!</p>
<p>See more photos on <a href="http://www.facebook.com/home.php?#/group.php?gid=68746111562" target="_blank">facebook group</a> and keep the thread news at <a href="http://twitter.com/locosxrails" target="_blank">locosxrails twitter</a>.</p>

<a href='http://blog.moove-it.com/moove-it-in-locosxrails/snc00072_chica/' title='Sr. Martin Cabrera'><img width="150" height="150" src="http://blog.moove-it.com/wp-content/uploads/2009/04/snc00072_chica-150x150.jpg" class="attachment-thumbnail" alt="" title="Sr. Martin Cabrera" /></a>
<a href='http://blog.moove-it.com/moove-it-in-locosxrails/snc00078_chica/' title='Pastorino y Costa'><img width="150" height="150" src="http://blog.moove-it.com/wp-content/uploads/2009/04/snc00078_chica-150x150.jpg" class="attachment-thumbnail" alt="" title="Pastorino y Costa" /></a>
<a href='http://blog.moove-it.com/moove-it-in-locosxrails/snc00081_chica/' title='Event Picture'><img width="150" height="150" src="http://blog.moove-it.com/wp-content/uploads/2009/04/snc00081_chica-150x150.jpg" class="attachment-thumbnail" alt="" title="Event Picture" /></a>
<a href='http://blog.moove-it.com/moove-it-in-locosxrails/dhh/' title='dhh'><img width="150" height="150" src="http://blog.moove-it.com/wp-content/uploads/2009/04/dhh-150x150.jpg" class="attachment-thumbnail" alt="" title="dhh" /></a>
<a href='http://blog.moove-it.com/moove-it-in-locosxrails/snc00073_chico/' title='Pablo Ifran'><img width="150" height="150" src="http://blog.moove-it.com/wp-content/uploads/2009/04/snc00073_chico-150x150.jpg" class="attachment-thumbnail" alt="" title="Pablo Ifran" /></a>
<a href='http://blog.moove-it.com/moove-it-in-locosxrails/snc00071_chico/' title='Augusto Guido'><img width="150" height="150" src="http://blog.moove-it.com/wp-content/uploads/2009/04/snc00071_chico-150x150.jpg" class="attachment-thumbnail" alt="" title="Augusto Guido" /></a>

<p align="left"><a class="tt" href="http://twitter.com/home/?status=moove-iT%40locosxrails+http://9td7q.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=moove-iT%40locosxrails+http://9td7q.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/moove-it-in-locosxrails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using Facebooker to make a Rails site with Facebook Connect (Part 1)</title>
		<link>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-1/</link>
		<comments>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-1/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 22:02:07 +0000</pubDate>
		<dc:creator>Augusto Guido</dc:creator>
				<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[facebook connect]]></category>
		<category><![CDATA[facebooker]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=139</guid>
		<description><![CDATA[I think that from the title you can pretty much guess what this post will be about, specially if you are familiar with these magic words: Rails, Facebooker, Facebook Connect. Ok they are not that magic, but you can do lots of fun stuff with them. In case you don&#8217;t live in the facebook planet [...]]]></description>
			<content:encoded><![CDATA[<p>I think that from the title you can pretty much guess what this post will be about, specially if you are familiar with these magic words: Rails, Facebooker, Facebook Connect. Ok they are not that magic, but you can do lots of fun stuff with them. In case you don&#8217;t live in the facebook planet I will briefly explain them, since there is a lot of info out there about them I wont get into detail. I won&#8217;t explain Rails for obvios reaons.</p>
<p><strong>Facebook Connect</strong></p>
<p>It&#8217;s something (who knows what and who cares anyway?) from Facebook that allows you to use your facebook login to login into other web sites.</p>
<p><strong>Facebooker</strong></p>
<p>It&#8217;s a gem for Ruby, and also a plugin for Rails that converts the results from the facebook API into ruby objects so you can interact with the API using just ruby.</p>
<p><strong>Let the magic begin&#8230;</strong></p>
<p>We want to have a site that handles users like we would normally do, except we won&#8217;t handle nor model them. We will get them from facebook. The first thing we want to do is join the developers group in facebook, go to <a href="http://www.facebook.com/developers/" target="_blank">http://www.facebook.com/developers/</a> and create a new application. You will then have to configure some couple of things, the main one is &#8220;Connect URL&#8221; in which you should put the url of your site like: &#8220;http://my_new_fb_app.com/&#8221;. Do not forgett the last slash, it won&#8217;t work if it&#8217;s not there (and you can spend hours trying to figure out what&#8217;s wrong). You have many other setting but we won&#8217;t get to them here.</p>
<p>As an advice, you may want to create two apps so that you can have one for development and one for production. the development one for example can point to http://localhost:3000/</p>
<p>Other thing you may see is that facebook gives you some strange numbers after you create your app, now is when we start with <a href="http://facebooker.rubyforge.org/" target="_blank">facebooker</a>. Follow <a href="http://apps.facebook.com/facebooker_tutorial/" target="_blank">this tutorial</a> until point 5, we won&#8217;t care too much for the other stuff, but you can read it. I want you to know how to install facebooker (and to actually do it),  and then generate and complete the facebooker.yml file.</p>
<p><strong>Now what?</strong></p>
<p>After you have that completed the first thing we wan&#8217;t is to show this little pretty blue button  <img class="size-full wp-image-140" title="facebook connect" src="http://blog.moove-it.com/wp-content/uploads/2009/04/connect_light_large_short.gif" alt="facebook connect" width="78" height="18" />. This is the login button, and when you click it a pop up from facebook asking your password and email should appear. So, let&#8217;s make that happen.</p>
<p>Add this to your application controller</p>
<pre>
before_filter :set_facebook_session
helper_method :facebook_session
</pre>
<p>Add the followng lines to one of your views (typically a login page)</p>
<pre>
&lt;%= fb_connect_javascript_tag %&gt;
&lt;%= init_fb_connect "XFBML"%&gt;
&lt;%= fb_login_and_redirect(facebook_login_users_path) %&gt;</pre>
<p>Now you should be seeing the button after you refresh. The <em>facebook_login_users_path</em> is the url you want to redirect your users after they login. As usual in Rails <em>facebook_login</em> is the action and <em>users</em> the controller.</p>
<p>After the user logges in you will have a <em>facebook_session</em> variable abailable to do almost whatever you want. For example you can:</p>
<p><em>facebook_session.user</em>, this will return you the facebook user and all of it&#8217;s methods. Everything you can do with it it&#8217;s here <a href="http://facebooker.rubyforge.org/classes/Facebooker/User.html" target="_blank">http://facebooker.rubyforge.org/classes/Facebooker/User.html</a>. The typicall things you may want are <em>facebook_session.user.first_name, facebook_session.user.last_name, facebook_session.user.first_name.id</em> (this will return an id facebook provides. You can access with it the user any other time).</p>
<p>Other interesting thins you can do is <em>facebook_session.friends</em> to get all the user friends or  <em>facebook_session.user.friends_with_this_app</em> will return all the users that use this application and are already your friends in facebook.</p>
<p>Well, that&#8217;s it for now. In part 2 we will discuss a bit about XFBML (facebook markup language) and show you how to invite friends to your app, show stories in their dashboard, etc. Also a little example of using javascript to call the Facebook API.</p>
<p align="left"><a class="tt" href="http://twitter.com/home/?status=Using+Facebooker+to+make+a+Rails+site+with+Facebook+Connect+%28Part+1%29+http://h46ar.th8.us" title="Post to Twitter"><img class="nothumb" src="http://blog.moove-it.com/wp-content/plugins/tweet-this/icons/tt-twitter.png" alt="[Post to Twitter]" border="0" /></a> <a class="tt" href="http://twitter.com/home/?status=Using+Facebooker+to+make+a+Rails+site+with+Facebook+Connect+%28Part+1%29+http://h46ar.th8.us" title="Post to Twitter">Tweet This Post</a>&nbsp; </p>]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/using-facebooker-to-make-a-rails-site-with-facebook-connect-part-1/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>
