<?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>Mundo Ruby &#187; linux</title>
	<atom:link href="http://www.mundoruby.com.ar/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mundoruby.com.ar</link>
	<description>Ruby Artists, Hackers y otras yerbas ...</description>
	<lastBuildDate>Wed, 12 Aug 2009 23:02:13 +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>Regalando cosas por Bluetooth</title>
		<link>http://www.mundoruby.com.ar/2009/08/12/regalando-cosas-por-bluetooth/</link>
		<comments>http://www.mundoruby.com.ar/2009/08/12/regalando-cosas-por-bluetooth/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 23:02:09 +0000</pubDate>
		<dc:creator>FreedomCoder</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[bluetooth]]></category>

		<guid isPermaLink="false">http://www.mundoruby.com.ar/?p=161</guid>
		<description><![CDATA[
El año pasado Movistar había lanzado una campaña muy pedorra en el subte, en donde unos carteles en el piso te invitaban a prender tu Bluetooth y te enviaban un file. Lo que te enviaban era una simple imagen, con tanto texto que en mi celular era casi ilegible y no tenía consigna alguna.
Sin embargo [...]]]></description>
			<content:encoded><![CDATA[<p>
<p>El año pasado Movistar había lanzado una campaña muy pedorra en el subte, en donde unos carteles en el piso te invitaban a prender tu Bluetooth y te enviaban un file. Lo que te enviaban era una simple imagen, con tanto texto que en mi celular era casi ilegible y no tenía consigna alguna.</p>
<p>Sin embargo esto sirvió para que me encaprichara y quisiera armar algo similar para la oficina, orientado a que un cliente que viene a una reunión se pueda llevar un regalo, que en este caso es un juego J2ME.</p>
<p>Hacerlo realmente es una boludez. El real problema, que no voy a tratar acá, es tener una placa Bluetooth soportada por Linux (creo que esta solución aplica Windows, pero no lo probé), lo que puede resultar complicado. Yo en mi anterior laptop fallé en cada intento. Hoy en día en mi MacBook anda todo out-of-the-box por suerte así que pude jugar un poco.</p>
<p>El protocolo que se utiliza para intercambiar cosas es Object Exchange (OBEX) y tenemos una excelente biblioteca llamada <a href="http://dev.zuckschwerdt.org/openobex/">OpenObex</a>. A nosotros nos interesa particularmente ObexFTP que nos da el File Transfer sobre Obex.</p>
<p>El primer problema que tuve es que en Jaunty no está el binding de ruby, por lo que me tuve que bajar el <a href="https://launchpad.net/ubuntu/karmic/+source/obexftp/0.22-1">source y diff</a> de Karmic y crear mis libobexftp-ruby_0.22-1_i386.deb y sus dependencias.</p>
<p>Salvando eso, con los ejemplos del <a href="http://dev.zuckschwerdt.org/openobex/wiki/ObexFtpExampleClientRuby">wiki</a> sale muy fácil. La biblioteca nos permite descubrir devices, abrir channels y enviar archivos en pocas líneas. Acá un en ruby ejemplo :</p>
<div>
<div>
<pre style="font-family:monospace"><span style="color:#008000;font-style:italic">#!/usr/bin/env ruby</span>
 
<span style="color:#CC0066;font-weight:bold">require</span> <span style="color:#996600">'obexftp'</span>
 
<span style="color:#CC0066;font-weight:bold">puts</span> <span style="color:#996600">&quot;Scanning BT...&quot;</span>
intfs = Obexftp.<span style="color:#9900CC">discover</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#6666ff;font-weight:bold">Obexftp::BLUETOOTH</span><span style="color:#006600;font-weight:bold">)</span>
dev = intfs.<span style="color:#9900CC">first</span> <span style="color:#008000;font-style:italic"># Es un array, podríamos iterar sobre todas las encontradas</span>
 
channel = Obexftp.<span style="color:#9900CC">browsebt</span><span style="color:#006600;font-weight:bold">(</span>dev, <span style="color:#6666ff;font-weight:bold">Obexftp::PUSH</span><span style="color:#006600;font-weight:bold">)</span>
 
cli = <span style="color:#6666ff;font-weight:bold">Obexftp::Client</span>.<span style="color:#9900CC">new</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#6666ff;font-weight:bold">Obexftp::BLUETOOTH</span><span style="color:#006600;font-weight:bold">)</span>
<span style="color:#CC0066;font-weight:bold">puts</span> cli.<span style="color:#9900CC">connectpush</span><span style="color:#006600;font-weight:bold">(</span>dev, channel<span style="color:#006600;font-weight:bold">)</span>
<span style="color:#CC0066;font-weight:bold">puts</span> cli.<span style="color:#9900CC">put_file</span><span style="color:#006600;font-weight:bold">(</span><span style="color:#996600">'ver.jpg'</span><span style="color:#006600;font-weight:bold">)</span>
<span style="color:#CC0066;font-weight:bold">puts</span> cli.<span style="color:#9900CC">disconnect</span></pre>
</div>
</div>
<p>Hacer lo mismo en Python, Perl o cualqueir otro <a href="http://dev.zuckschwerdt.org/openobex/wiki/ObexFtpBindings">lenguaje soportado</a> es igual de simple.</p>
<p>Obviamente es muy minimalista: agarra el primer device encontrado, abre un channel para hacer un PUSH (si el device no soporta PUSH retorna -1 según creo), luego abre la conexión y le envía el archivo.</p>
<p>Desde el celular vemos un mensaje de que se está abriendo una conexión y luego el detalle de lo que se quiere enviar, nombre del archivo, tipo de archivo, tamaño, etc. Podemos aceptarlo o rechazarlo. De aceptarlo se descarga pero no se guarda ni se instala, es un paso extra que debemos decidir si lo hacemos o no.</p>
<p>Un problema que encontramos para enviar juegos es que algunos celulares están bloqueados para esa función (para así vendértelos por el portal WAP oficial de tu carrier). Ya lo pudimos probar con varios celulares Nokia, Motorola y Samsung y funciona razonablemente bien.</p>
<p>Sobre este ejemplo nosotros tenés un poco más de trabajo, ya que guardamos los device ID y el contenido enviado, así cuando volvés te damos un contenido diferente <img src="http://www.gazer.com.ar/wp-includes/images/smilies/icon_smile.gif" alt=":)"> . Si además no podés recibir el juego, te pasamos una imágen simpática <img src="http://www.gazer.com.ar/wp-includes/images/smilies/icon_razz.gif" alt=":P"> .</p>
</p>
<p>(Via <a href="http://www.gazer.com.ar">El Futirifoken</a>.) Original Link: <a href="http://www.gazer.com.ar/2009/08/12/regalando-cosas-por-bluetooth/">Regalando cosas por Bluetooth</a> </p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-7949681675937032";
google_ad_slot = "0874687580";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mundoruby.com.ar/2009/08/12/regalando-cosas-por-bluetooth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configurar passenger con nginx</title>
		<link>http://www.mundoruby.com.ar/2009/06/07/configurar-passenger-con-nginx/</link>
		<comments>http://www.mundoruby.com.ar/2009/06/07/configurar-passenger-con-nginx/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 22:04:22 +0000</pubDate>
		<dc:creator>FreedomCoder</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[how-to]]></category>

		<guid isPermaLink="false">http://www.mundoruby.com.ar/?p=98</guid>
		<description><![CDATA[
Instalar Ruby Enterprise Edition


sudo apt-get install build-essential zlib1g-dev libssl-dev libreadline5-dev




wget http://rubyforge.org/frs/download.php/51100/ruby-enterprise-1.8.6-20090201.tar.gz
tar xvfz ruby-enterprise-1.8.6-20090201.tar.gz
rm ruby-enterprise-1.8.6-20090201.tar.gz
cd ruby-enterprise-1.8.6-20090201/
sudo ./installer


Agregar ruby entrerprise al path del sistema


echo &#34;export PATH=/opt/ruby-enterprise-1.8.6-20090201/bin:$PATH&#34; &#62;&#62; ~/.profile &#38;&#38; . ~/.profile


Nginx


sudo /opt/ruby-enterprise-1.8.6-20090201/bin/passenger-install-nginx-module


Elegir la opcion 1. Yes: download, compile and install Nginx for me. (recommended)
Script de inicio Nginx
Agregar el siguiente codigo en


/etc/init.d/nginx
sudo chown root:root /etc/init.d/nginx


Probar una aplicacion rails [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><strong>Instalar Ruby Enterprise Edition</strong></p>
<div class="wp_syntax">
<div class="code">
<pre class="ruby ruby" style="font-family:monospace;">sudo apt<span style="color:#006600; font-weight:bold;">-</span>get install build<span style="color:#006600; font-weight:bold;">-</span>essential zlib1g<span style="color:#006600; font-weight:bold;">-</span>dev libssl<span style="color:#006600; font-weight:bold;">-</span>dev libreadline5<span style="color:#006600; font-weight:bold;">-</span>dev</pre>
</div>
</div>
<div class="wp_syntax">
<div class="code">
<pre class="ruby ruby" style="font-family:monospace;">wget http:<span style="color:#006600; font-weight:bold;">//</span>rubyforge.<span style="color:#9900CC;">org</span><span style="color:#006600; font-weight:bold;">/</span>frs<span style="color:#006600; font-weight:bold;">/</span>download.<span style="color:#9900CC;">php</span><span style="color:#006600; font-weight:bold;">/</span><span style="color:#006666;">51100</span><span style="color:#006600; font-weight:bold;">/</span>ruby<span style="color:#006600; font-weight:bold;">-</span>enterprise<span style="color:#006600; font-weight:bold;">-</span>1.8.6<span style="color:#006600; font-weight:bold;">-</span>20090201.<span style="color:#9900CC;">tar</span>.<span style="color:#9900CC;">gz</span>
tar xvfz ruby<span style="color:#006600; font-weight:bold;">-</span>enterprise<span style="color:#006600; font-weight:bold;">-</span>1.8.6<span style="color:#006600; font-weight:bold;">-</span>20090201.<span style="color:#9900CC;">tar</span>.<span style="color:#9900CC;">gz</span>
rm ruby<span style="color:#006600; font-weight:bold;">-</span>enterprise<span style="color:#006600; font-weight:bold;">-</span>1.8.6<span style="color:#006600; font-weight:bold;">-</span>20090201.<span style="color:#9900CC;">tar</span>.<span style="color:#9900CC;">gz</span>
cd ruby<span style="color:#006600; font-weight:bold;">-</span>enterprise<span style="color:#006600; font-weight:bold;">-</span>1.8.6<span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">20090201</span><span style="color:#006600; font-weight:bold;">/</span>
sudo .<span style="color:#006600; font-weight:bold;">/</span>installer</pre>
</div>
</div>
<p>Agregar ruby entrerprise al path del sistema</p>
<div class="wp_syntax">
<div class="code">
<pre class="ruby ruby" style="font-family:monospace;">echo <span style="color:#996600;">&quot;export PATH=/opt/ruby-enterprise-1.8.6-20090201/bin:$PATH&quot;</span> <span style="color:#006600; font-weight:bold;">&gt;&gt;</span> ~<span style="color:#006600; font-weight:bold;">/</span>.<span style="color:#9900CC;">profile</span> <span style="color:#006600; font-weight:bold;">&amp;&amp;</span> . ~<span style="color:#006600; font-weight:bold;">/</span>.<span style="color:#9900CC;">profile</span></pre>
</div>
</div>
<p><strong>Nginx</strong></p>
<div class="wp_syntax">
<div class="code">
<pre class="ruby ruby" style="font-family:monospace;">sudo <span style="color:#006600; font-weight:bold;">/</span>opt<span style="color:#006600; font-weight:bold;">/</span>ruby<span style="color:#006600; font-weight:bold;">-</span>enterprise<span style="color:#006600; font-weight:bold;">-</span>1.8.6<span style="color:#006600; font-weight:bold;">-</span><span style="color:#006666;">20090201</span><span style="color:#006600; font-weight:bold;">/</span>bin<span style="color:#006600; font-weight:bold;">/</span>passenger<span style="color:#006600; font-weight:bold;">-</span>install<span style="color:#006600; font-weight:bold;">-</span>nginx<span style="color:#006600; font-weight:bold;">-</span><span style="color:#9966CC; font-weight:bold;">module</span></pre>
</div>
</div>
<p><em>Elegir la opcion 1. Yes: download, compile and install Nginx for me. (recommended)</em></p>
<p><strong>Script de inicio Nginx</strong></p>
<p>Agregar el <a href="http://gist.github.com/125465">siguiente codigo</a> en</p>
<div class="wp_syntax">
<div class="code">
<pre class="ruby ruby" style="font-family:monospace;"><span style="color:#006600; font-weight:bold;">/</span>etc<span style="color:#006600; font-weight:bold;">/</span>init.<span style="color:#9900CC;">d</span><span style="color:#006600; font-weight:bold;">/</span>nginx
sudo chown root:root <span style="color:#006600; font-weight:bold;">/</span>etc<span style="color:#006600; font-weight:bold;">/</span>init.<span style="color:#9900CC;">d</span><span style="color:#006600; font-weight:bold;">/</span>nginx</pre>
</div>
</div>
<p><strong>Probar una aplicacion rails en nginx</strong><br />
agregar un virtual host</p>
<div class="wp_syntax">
<div class="code">
<pre class="ruby ruby" style="font-family:monospace;">server <span style="color:#006600; font-weight:bold;">&#123;</span>
    listen <span style="color:#006666;">80</span>;
    <span style="color:#008000; font-style:italic;"># server_name www.mycook.com;</span>
    root <span style="color:#006600; font-weight:bold;">/</span>home<span style="color:#006600; font-weight:bold;">/</span>deploy<span style="color:#006600; font-weight:bold;">/</span>testapp<span style="color:#006600; font-weight:bold;">/</span>public;
    passenger_enabled on;
<span style="color:#006600; font-weight:bold;">&#125;</span></pre>
</div>
</div>
<p>(Via <a href="http://www.chebyte.com.ar">Chebyte&#8217;s Blog</a>.) Original Link: <a href="http://www.chebyte.com.ar/2009/06/07/configurar-passenger-con-nginx/#comments">Configurar passenger con nginx</a></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-7949681675937032";
google_ad_slot = "0874687580";
google_ad_width = 468;
google_ad_height = 60;
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
 </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mundoruby.com.ar/2009/06/07/configurar-passenger-con-nginx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

