<?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; rails</title>
	<atom:link href="http://blog.moove-it.com/tag/rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.moove-it.com</link>
	<description>be free to express yourself...</description>
	<lastBuildDate>Thu, 26 Jan 2012 19:30:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Second RubyConf in Uruguay &#8211; 11th and 12th November</title>
		<link>http://blog.moove-it.com/second-rubyconf-in-uruguay-11th-12th-november/</link>
		<comments>http://blog.moove-it.com/second-rubyconf-in-uruguay-11th-12th-november/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 01:19:45 +0000</pubDate>
		<dc:creator>Gabriela Isnardi</dc:creator>
				<category><![CDATA[moove-it]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[workshops]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rubyconf]]></category>
		<category><![CDATA[uruguay]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=900</guid>
		<description><![CDATA[We are sponsoring one of the greatest technology events here in Uruguay. The Second RubyConf taking place within less than two weeks, the 11th and 12th November 2011, where many IT experts from all over the world get together in order to be immersed in this dynamic world and and up to date get with [...]]]></description>
			<content:encoded><![CDATA[<p>We are sponsoring one of the greatest technology events here in Uruguay. The Second RubyConf taking place within less than two weeks, the 11th and 12th November 2011, where many IT experts from all over the world get together in order to be immersed in this dynamic world and and up to date get with the latest trends of Ruby and Agile methodologies.</p>
<p><a title="RubyConf Uruguay" href="http://rubyconfuruguay.org/" target="_blank">RubyConf Uruguay 2011</a></p>
<p>We are hungry for knowledge and refreshment, and we all want to be on the same train.</p>
<p>Please welcome all the new members to this awesome community. And help spreading the news, but even more important, do not miss the opportunity to meet the experts, discuss the future of RoR, and be Rail!</p>
<p><a href="http://blog.moove-it.com/wp-content/uploads/2011/11/newspaper-advertising-final-01-1024x710.jpg" rel="lightbox[900]" title="newspaper-advertising-final-01"><img class="alignleft size-large wp-image-901" title="newspaper-advertising-final-01" src="http://blog.moove-it.com/wp-content/uploads/2011/11/newspaper-advertising-final-01-1024x710.jpg" alt="" width="717" height="497" /></a></p>
<p>&nbsp;</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/second-rubyconf-in-uruguay-11th-12th-november/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>If you are going to San Francisco…Be sure to wear Moove-IT shirt…</title>
		<link>http://blog.moove-it.com/if-you-are-going-to-san-francisco%e2%80%a6be-sure-to-wear-moove-it-shirt%e2%80%a6/</link>
		<comments>http://blog.moove-it.com/if-you-are-going-to-san-francisco%e2%80%a6be-sure-to-wear-moove-it-shirt%e2%80%a6/#comments</comments>
		<pubDate>Wed, 31 Aug 2011 19:58:32 +0000</pubDate>
		<dc:creator>Gabriela Isnardi</dc:creator>
				<category><![CDATA[moove-it]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[inigral]]></category>
		<category><![CDATA[outsourcing]]></category>
		<category><![CDATA[palo alto]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[sillicon valley]]></category>
		<category><![CDATA[south america]]></category>
		<category><![CDATA[staton]]></category>
		<category><![CDATA[uruguay]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=793</guid>
		<description><![CDATA[We have been to the top 10 places to visit in the US. From a business perspective, Silicon Valley is the place to go. We share the same passion as the area of the world’s largest technology corporations and high-tech firms: Great Ruby on Rails design &#38; development work. Outsourcing has never been so much [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">We have been to the top 10 places to visit in the US. From a business perspective, Silicon Valley is the place to go. We share the same passion as the area of the world’s largest technology corporations and high-tech firms: Great Ruby on Rails design &amp; development work. Outsourcing has never been so much fun here in Uruguay. And now our <em>Schools</em> <em>friends</em> are wearing Moove-IT shirts, so we are virtually present—though also planning to re- meet in the flesh soon&#8230;</p>
<div id="attachment_815" class="wp-caption aligncenter" style="width: 665px"><a href="http://blog.moove-it.com/wp-content/uploads/2011/08/front11.jpg" rel="lightbox[793]" title="Back Camera"><img class="size-large wp-image-815 " title="Back Camera" src="http://blog.moove-it.com/wp-content/uploads/2011/08/front11-1024x764.jpg" alt="" width="655" height="489" /></a><p class="wp-caption-text">Thanks to Howard Kao, Lane Lillquist, Michael Staton, Nick Punt, and Daniel Jabbour from Inigral!</p></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="attachment_816" class="wp-caption aligncenter" style="width: 665px"><a href="http://blog.moove-it.com/wp-content/uploads/2011/08/back1.jpg" rel="lightbox[793]" title="Back Camera"><img class="size-large wp-image-816 " title="Back Camera" src="http://blog.moove-it.com/wp-content/uploads/2011/08/back1-1024x764.jpg" alt="" width="655" height="489" /></a><p class="wp-caption-text">From South America with love, working offshore</p></div>
<p>&nbsp;</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/if-you-are-going-to-san-francisco%e2%80%a6be-sure-to-wear-moove-it-shirt%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Four members of Moove-iT took part in the Rally on Rails and made @buscandotanatos</title>
		<link>http://blog.moove-it.com/rally-on-rails-four-members-of-moove-it-made-buscando-a-tanatos/</link>
		<comments>http://blog.moove-it.com/rally-on-rails-four-members-of-moove-it-made-buscando-a-tanatos/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 16:12:38 +0000</pubDate>
		<dc:creator>Martin Cabrera</dc:creator>
				<category><![CDATA[competitions]]></category>
		<category><![CDATA[moove-it]]></category>
		<category><![CDATA[buscando a tanatos]]></category>
		<category><![CDATA[competition]]></category>
		<category><![CDATA[gonzalo arreche]]></category>
		<category><![CDATA[ivan etchart]]></category>
		<category><![CDATA[juan pablo blanco]]></category>
		<category><![CDATA[pablo ifran]]></category>
		<category><![CDATA[railis]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rally]]></category>
		<category><![CDATA[rallyonrails]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[sotiria]]></category>
		<category><![CDATA[tanatos]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=764</guid>
		<description><![CDATA[Last weekend four members of moove-it took part in the rally on rails (www.rallyonrails.com). Pablo Ifran Gonzalo Arreche Juan Pablo Blanco Ivan Etchart Rally on Rails is a competition to make a Web app from scratch in 48 hours ! Obviously this project/game/etc had to be made in rails ! Our team created www.buscandoatanatos.com a game about [...]]]></description>
			<content:encoded><![CDATA[<p>Last weekend four members of moove-it took part in the rally on rails (<a href="http://www.rallyonrails.com" target="_blank">www.rallyonrails.com</a>).</p>
<ul>
<li><a href="http://www.moove-it.com/employees/pablo-ifran" target="_blank">Pablo Ifran</a></li>
<li><a href="http://www.moove-it.com/employees/gonzalo-arreche" target="_blank">Gonzalo Arreche</a></li>
<li><a href="http://www.moove-it.com/employees/gonzalo-arreche" target="_blank">Juan Pablo Blanco</a></li>
<li><a href="http://www.moove-it.com/employees/ivan-etchart" target="_blank">Ivan Etchart</a></li>
</ul>
<p>Rally on Rails is a competition to make a Web app from scratch in 48 hours ! Obviously this project/game/etc had to be made in rails !</p>
<p>Our team created <a href="http://www.buscandoatanatos.com" target="_blank">www.buscandoatanatos.com</a> a game about the search for &#8220;Tánatos&#8221; (the leader of Sotirias &#8230; a secret organization). Based on <a href="http://maps.google.com/help/maps/streetview/" target="_blank">Google street view</a> , rails, and a lot of gems.</p>
<table>
<tbody>
<tr>
<td><a href="http://www.buscandoatanatos.com"><img class="alignleft size-full wp-image-773" title="tanatos" src="http://blog.moove-it.com/wp-content/uploads/2011/08/tanatos.png" alt="" width="445" height="509" /></a></td>
</tr>
</tbody>
</table>
<p>Here go some pictures of this weekend &#8230;</p>
<table>
<tbody>
<tr>
<td><img class="alignleft size-medium wp-image-765" title="DSC_0189" src="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0189-300x200.jpg" alt="" width="300" height="200" /></td>
<td><img class="alignleft size-medium wp-image-766" title="DSC_0186" src="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0186-300x200.jpg" alt="" width="300" height="200" /></td>
</tr>
<tr>
<td><img class="alignleft size-medium wp-image-772" title="DSC_0182" src="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0182-300x200.jpg" alt="" width="300" height="200" /></td>
<td><img class="alignleft size-medium wp-image-767" title="DSC_0181" src="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0181-300x200.jpg" alt="" width="300" height="200" /></td>
</tr>
<tr>
<td><a href="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0047.jpg" target="_blank" rel="lightbox[764]" title="DSC_0047"><img class="alignleft size-medium wp-image-770" title="DSC_0047" src="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0047-e1313420351925-200x300.jpg" alt="" width="200" height="300" /></a></td>
<td><a href="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0183.jpg" target="_blank" rel="lightbox[764]" title="DSC_0183"><img class="alignleft size-medium wp-image-768" title="DSC_0183" src="http://blog.moove-it.com/wp-content/uploads/2011/08/DSC_0183-300x200.jpg" alt="" width="300" height="200" /></a></td>
</tr>
</tbody>
</table>
<p>Cast your vote from 18 to 20 of August &#8230; <a href="http://www.rallyonrails.com" target="_blank">www.rallyonrails.com</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/rally-on-rails-four-members-of-moove-it-made-buscando-a-tanatos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby + Rails + Agile &#8211; sharing presentations</title>
		<link>http://blog.moove-it.com/ruby-rails-agile-sharing-presentations/</link>
		<comments>http://blog.moove-it.com/ruby-rails-agile-sharing-presentations/#comments</comments>
		<pubDate>Sun, 10 Jul 2011 04:10:42 +0000</pubDate>
		<dc:creator>Martin Cabrera</dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[moove-it]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[workshops]]></category>
		<category><![CDATA[ariel ludueña]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[gabriel chertok]]></category>
		<category><![CDATA[gianfranco zas]]></category>
		<category><![CDATA[martin cabrera]]></category>
		<category><![CDATA[ort]]></category>
		<category><![CDATA[pablo ifran]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=677</guid>
		<description><![CDATA[The last Wednesday we made a workshop in the ORT University. Pablo Ifran, Gianfranco Zas, Ariel Ludueña and I We share the presentations to everybody All_in_One_Agile_Development (in spanish) Ruby_and_Rails (in spanish)]]></description>
			<content:encoded><![CDATA[<p>The last Wednesday we made a workshop in the ORT University.<br />
Pablo Ifran, Gianfranco Zas, Ariel Ludueña and I</p>
<p>We share the presentations to everybody</p>
<p><a href="http://blog.moove-it.com/wp-content/uploads/2011/07/All_in_One_Agile_Development.pdf" target="_blank">All_in_One_Agile_Development</a> (in spanish)</p>
<p><a href="http://blog.moove-it.com/wp-content/uploads/2011/07/Ruby_and_Rails.pdf" target="_blank">Ruby_and_Rails</a> (in spanish)</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/ruby-rails-agile-sharing-presentations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>From  Silicon Valley to Moove-IT</title>
		<link>http://blog.moove-it.com/from-silicon-valley-to-moove-it/</link>
		<comments>http://blog.moove-it.com/from-silicon-valley-to-moove-it/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 15:50:27 +0000</pubDate>
		<dc:creator>Gabriela Isnardi</dc:creator>
				<category><![CDATA[moove-it]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[partner]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[outsourcing]]></category>
		<category><![CDATA[palo alto]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[sillicon valley]]></category>
		<category><![CDATA[south america]]></category>
		<category><![CDATA[uruguay]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=581</guid>
		<description><![CDATA[We are doing a good job, that’s right, but Michael Staton and Howard Kao from Inigral did not exactly decide to move to Uruguay and work from here now on, they just paid us a one week visit, and worked with us like any other member of the Moove-iT team. The Schools project is exciting [...]]]></description>
			<content:encoded><![CDATA[<p>We are doing a good job, that’s right, but Michael Staton and Howard Kao from Inigral did not exactly decide to move to Uruguay and work from here now on, they just paid us a one week visit, and worked with us like any other member of the Moove-iT team. The <a href="http://www.inigral.com/" target="_blank">Schools</a> project is exciting itself, but having Howard and Michael here made us feel it even closer, and the boundaries between Inigral and Moove-iT were sort of a blur, for good.</p>
<p>Correct me if I am wrong, but I am really positive we have made them feel at home.</p>
<table>
<tbody>
<tr>
<td><a href="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0209.thumb_.jpg" rel="lightbox[581]" title="michael, gaby, pablo and howard"><img class="alignleft size-medium wp-image-582" title="michael, gaby, pablo and howard" src="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0209.thumb_-300x200.jpg" alt="" width="300" height="200" /></a></td>
<td><a href="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0227.thumb_.jpg" rel="lightbox[581]" title="michael, howard and damian drinking "><img class="alignleft size-medium wp-image-583" title="michael, howard and damian drinking " src="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0227.thumb_-300x200.jpg" alt="" width="300" height="200" /></a></td>
</tr>
<tr>
<td><a href="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0232.thumb_.jpg" rel="lightbox[581]" title="Ariel, Damian, martin, ale and conrado"><img class="alignleft size-medium wp-image-584" title="Ariel, Damian, martin, ale and conrado" src="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0232.thumb_-300x200.jpg" alt="" width="300" height="200" /></a></td>
<td><a href="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0217.thumb_.jpg" rel="lightbox[581]" title="parrillada !!"><img class="alignleft size-medium wp-image-585" title="parrillada !!" src="http://blog.moove-it.com/wp-content/uploads/2011/02/DSC_0217.thumb_-300x200.jpg" alt="" width="300" height="200" /></a></td>
</tr>
</tbody>
</table>
<p>We worked for a week straight, but we also had time to have fun.<br />
No doubts about it, having visitors from around the globe is always refreshing and truly motivating…</p>
<p>Let me tell you why.</p>
<p>We conduct daily meeting with clients from different countries. Most of the times we use skype, and we are about 4 or 5 people in the same room, talking in English, though our primary language is Spanish. On the other end, there is a person whose native language is generally English, but who is normally thousands of miles away, many Fahrenheits apart and only a few hours ahead or behind us. We rarely use a camera, so we do not even know what the room he or she is in looks like.</p>
<p>I believe that the third dimension is definitely more important than we might think. And being in the same room with someone whose voice is extremely familiar to us, and has been part of our work lives for over an year, but whose looks, posture or gestures we used to have little or no idea about is just fantastic. We shared this sort of energy and connection you could only generate when meeting in person.</p>
<p>The truth is we all love to put a name to a face.</p>
<p>And this time we had two new faces to look at, to talk to and to laugh with. In the flesh we met Michael and Howard.</p>
<p>THANK YOU!</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/from-silicon-valley-to-moove-it/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sass why is useful</title>
		<link>http://blog.moove-it.com/sass-why-is-useful/</link>
		<comments>http://blog.moove-it.com/sass-why-is-useful/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 18:52:04 +0000</pubDate>
		<dc:creator>Pablo Ifran</dc:creator>
				<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[sass]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[web sites]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[styles]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=545</guid>
		<description><![CDATA[Sass is used for generating css files based on his own syntax, it&#8217;s very useful because allows you to avoid repeating code across the different scss files using import (allows you to import code from other scss file), or mixins(scss functions). Also, allows you to write varibles, for using in different scss, this makes easier [...]]]></description>
			<content:encoded><![CDATA[<p>Sass is used for generating css files based on his own syntax, it&#8217;s very useful because allows you to avoid repeating code across the different scss files using import (allows you to import code from other scss file), or mixins(scss functions). Also, allows you to write varibles, for using in different scss, this makes easier to do different templates based on colors or images for example.</p>
<p>_sprites.scss</p>
<pre>
@mixin sprite_for($image_class, $x, $y, $image: "/images/sprite_image.png") {
&nbsp;&nbsp;.sprite_image.#{$image_class} {
&nbsp;&nbsp;&nbsp;&nbsp;background: transparent url($image) no-repeat scroll $x $y;
&nbsp;&nbsp;&nbsp;&nbsp;height:16px;
&nbsp;&nbsp;&nbsp;&nbsp;width:16px;
&nbsp;&nbsp;}
}
_images.scss</pre>
<pre>$my_sprite_image_path: "/images/my_sprite_image_path.png";
</pre>
<p>default.scss</p>
<pre>
@import "sprites", "images";

@include sprite_for("my_image", 0, 0, $my_sprite_image_path);
</pre>
<p>That generates</p>
<p>default.css</p>
<pre>
&nbsp;&nbsp;.sprite_image.my_image {
&nbsp;&nbsp;&nbsp;&nbsp;background: transparent url(/images/my_sprite_image_path.png) no-repeat scroll 0 0;
&nbsp;&nbsp;&nbsp;&nbsp;height:16px;
&nbsp;&nbsp;&nbsp;&nbsp;width:16px;
&nbsp;&nbsp;}
</pre>
<p>So, this is best sorted using this method, because you have the image path in a single file and you use it in other files only by importing the file with the images path, it&#8217;s also simpler to remove an image because you only need to find the references to that variable and delete them.</p>
<p>The sass framework also allows you to use the DRY principle because you can write nested selector, I&#8217;ll show you with an example:</p>
<p>default.scss</p>
<pre>
.some_class {
&nbsp;&nbsp;width: 100px;
&nbsp;&nbsp;.some_other_class {
&nbsp;&nbsp;&nbsp;&nbsp;display: block;
&nbsp;&nbsp;}
}
</pre>
<p>default.css</p>
<pre>
.some_class {width:100px;}
.some_class .some_other_class {display:block;}
</pre>
<p>Doesn&#8217;t affect the performance because it generates a css file at development time.</p>
<p>It also allows you to benefit from some of the advantages of css 3 right now.</p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/sass-why-is-useful/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Juggernaut: Chat on Rails</title>
		<link>http://blog.moove-it.com/juggernaut-chat-on-rails/</link>
		<comments>http://blog.moove-it.com/juggernaut-chat-on-rails/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 14:01:52 +0000</pubDate>
		<dc:creator>ivan.etchart</dc:creator>
				<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[web 2.0]]></category>
		<category><![CDATA[web sites]]></category>
		<category><![CDATA[channel]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[chat on rails]]></category>
		<category><![CDATA[juggernaut]]></category>
		<category><![CDATA[private]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=466</guid>
		<description><![CDATA[To implement chat on Rails we need the Juggernaut gem. The newest version of Juggernaut is build upon nodeJS. 1. Install Juggernaut: First, install nodejs (http://nodejs.org), redis (http:/code.google.com/p/redis/) and Juggernaut gem (gem install juggernaut). Then download server git clone &#8230; 2. Integrate with Rails to implement chat! After Juggernaut gem is installed, add it to [...]]]></description>
			<content:encoded><![CDATA[<div lang="x-western">
<div>
<div id="_mcePaste">To implement chat on Rails we need the Juggernaut gem. The newest version of Juggernaut is build upon nodeJS.</div>
<div id="_mcePaste"><strong>1. Install Juggernaut:</strong></div>
<div id="_mcePaste">First, install nodejs (http://nodejs.org), redis (http:/code.google.com/p/redis/) and Juggernaut gem (gem install juggernaut).</div>
<div id="_mcePaste">Then download server git clone &#8230;</div>
<div id="_mcePaste"><strong>2. Integrate with Rails to implement chat!</strong></div>
<div id="_mcePaste">After Juggernaut gem is installed, add it to environment.rb:</div>
<div id="_mcePaste">
<pre>config.gem "juggernaut"</pre>
</div>
<div id="_mcePaste">Suppose you have a system with user authentication, the idea is to generate an environment where you&#8217;re able to chat with other users and see to what extent features can be added in order to create an awesome chat!</div>
<div id="_mcePaste"><em>Note: Providing a step by step guide to create a working chat isn&#8217;t the idea of this tutorial. It&#8217;s to show different possibilites to develop on</em></div>
<div><em> Juggernaut.</em></div>
<div><em><br />
</em></div>
<div id="_mcePaste"><strong>Connecting to Juggernaut from Rails</strong></div>
<div><strong><br />
</strong></div>
<div id="_mcePaste">It&#8217;s necessary to add the file WebSocketMain.swf to the public folder. This hasn&#8217;t to be exactly this way, you can change its location, but if you do, then you&#8217;ll have to change the WEB_SOCKET_SWF_LOCATION, due to an issue with Firefox (&#8230; for further information visit juggernaut git page).</div>
<div id="_mcePaste">Juggernaut serves every file necessary for running by default, so you can leave them on the server where Jaggernaut is installed and configure everything in your client (mainly due to Firefox) in order to avoid adding extra files to your project.</div>
<div id="_mcePaste">Add to your view this line:</div>
<div id="_mcePaste">
<pre>&lt;script src="http://localhost:8080/application.js" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;</pre>
</div>
<div id="_mcePaste"><em>Note : you can add this file in another way or eventually add it to your project if you want.</em></div>
<div id="_mcePaste"><em>Inside another script tag:</em></div>
<div><em><br />
</em></div>
<div id="_mcePaste">
<pre>var jugger = new Juggernaut;</pre>
</div>
<div id="_mcePaste"><strong>** Connection events provided by Juggernaut</strong></div>
<div id="_mcePaste">Juggernaut provides you with three different events : Connect, Disconnect o Reconnect.</div>
<div>
<pre>jugger.on("connect - disconnect - reconnect", callback)</pre>
</div>
<div id="_mcePaste">You can use this events to implement whatever function you want to execute, i.e. alerting when a client has connected:</div>
<pre>jug.on("connect", function() {alert("I'm connected!!");});</pre>
<div id="_mcePaste">At this point you have the connection of your client ready, you can test it, you have to start Juggernaut. * First run redis :</div>
<div id="_mcePaste">
<pre>./redis-server redis.conf</pre>
<p>(whereever you have installed it) *</p>
</div>
<div id="_mcePaste">Then go to the folder where you&#8217;ve downloaded the server to and run juggernaut:</div>
<div id="_mcePaste">
<pre>node server.js</pre>
</div>
<div id="_mcePaste">
<strong>Let&#8217;s chat!</strong></div>
<div id="_mcePaste">Now that we have everything going, would be a good time to start chatting.</div>
<div id="_mcePaste">First you need to subscribe to a channe. Inside the channel you&#8217;ll be able to connect and user messages scope is restricted to channel.</div>
<div id="_mcePaste">Then :</div>
<div id="_mcePaste">
<pre> jug.subscribe("name_or_channel_id", function(data) { .. here you'll handle all messages coming from channel ... })</pre>
</div>
<div id="_mcePaste">Clarifying a bit&#8230; with this function we subscribe to the channel and can pass a function as a parameter to handle data coming from it, i.e. any user&#8217;s messages, let&#8217;s give an example:</div>
<div id="_mcePaste">First you need to have a div tag with an id (id_div), what you want is to append a list element containing message content to the div element everytime someone sends a message.</div>
<div id="_mcePaste">
<pre>jug.subscribe("name_or_channel_id", function(data){
var li = $("&lt;li /&gt;");
li.text(data);
$("#id_div").append(li);
});</pre>
</div>
<div id="_mcePaste">You can have a div or textearea element, adding text to a textarea element is relatively simpler, it&#8217;s enough to do</p>
<pre>textarea.value += (data + "\n");</pre>
<p>but you&#8217;ll lose customizing power. li elements can be enriched with style, making the chat more attractive.</p>
</div>
<div id="_mcePaste">You&#8217;ve received data and added to a div element, but you&#8217;re still unable to send data. Let&#8217;s setup a form:</div>
<div id="_mcePaste">
<pre>&lt;% form_remote_tag(:url =&gt; path_to_send_message_method, :success =&gt; "$('#msg_body').value=''" do &gt;
&lt;= text_field_tag 'msg_body', '', :size =&gt; '50' &gt;
&lt;= submit_tag 'Send Message' &gt;
&lt;% end %&gt;</pre>
</div>
<div id="_mcePaste">And the method :</div>
<div id="_mcePaste">
<pre>def send_message
Juggernaut.publish("name_or_channel_id", parse_chat_message(params[:msg_body], current_user))
end</pre>
</div>
<div id="_mcePaste">parse_chat_message? &#8230; Yes, before publishing data, you can process it and why not modify it a bit.</div>
<div id="_mcePaste">
<pre>def parse_chat_message(msg, user)
return "#{user.login} says: #{msg}"
end</pre>
</div>
<div id="_mcePaste">We are sending information to Juggernaut with this format : &#8216;usuario says: something&#8217;</div>
<div id="_mcePaste">Done!, you have your server up and running, and know how to send and receive data, there&#8217;s nothing else to try.</div>
<div id="_mcePaste">
<strong>Extras:</strong></div>
<div id="_mcePaste"><em>Private chat case :*</em></div>
<div><em><br />
</em></div>
<div id="_mcePaste">You can&#8217;t call a chat a chat if you can&#8217;t have a private conversation with someone. A good way of implementing this, is subscribing your users to a particular chatroom identified by user&#8217;s id. Simple add another subscribe:</div>
<div id="_mcePaste">
<pre> jug.subscribe("name_or_channel_id", function(data){ .. handle private message .. }</pre>
</div>
<div id="_mcePaste">The receiving user must be able to subscribe to your chat and send messages to you.</div>
<div id="_mcePaste">To achive that, you should write a function that when you click on the user you want to send a private message to, subscribes to its chatroom and allows you to send messages to the user. This can be implemented in many different ways! You&#8217;ll have to simply make your choice according to your needs!</div>
</div>
<div>
<pre><script src="&lt;a href="><!--mce:0--></script></pre>
</div>
</div>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/juggernaut-chat-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails security</title>
		<link>http://blog.moove-it.com/rails-security/</link>
		<comments>http://blog.moove-it.com/rails-security/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 11:30:53 +0000</pubDate>
		<dc:creator>Pablo Ifran</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[production]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://blog.moove-it.com/?p=378</guid>
		<description><![CDATA[When you are working with svn (pulling your project from the svn to the web server) and you want to deploy a system into production with apache (mod_rails), you must filter the svn folders (to prevent that other users view your svn files). To do that task, you must add the following lines to the [...]]]></description>
			<content:encoded><![CDATA[<p>When you are working with svn (pulling your project from the svn to the web server) and you want to deploy a system into production with apache (mod_rails), you must filter the svn folders (to prevent that other users view your svn files).</p>
<p>To do that task, you must add the following lines to the apache configuration.</p>
<p><code><br />
&lt;DirectoryMatch "^/.*/\.svn/"&gt;<br />
&nbsp;&nbsp;ErrorDocument 403 /404.html<br />
&nbsp;&nbsp;Order allow,deny<br />
&nbsp;&nbsp;Deny from all<br />
&nbsp;&nbsp;Satisfy All<br />
&lt;/DirectoryMatch&gt;<br />
</code></p>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/rails-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<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>
<!-- PHP 5.x -->]]></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>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 [...]]]></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>
<!-- PHP 5.x -->]]></content:encoded>
			<wfw:commentRss>http://blog.moove-it.com/rails-iphone-applications-simple-mix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

