<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>robot plays guitar</title>
	<atom:link href="http://robotplaysguitar.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://robotplaysguitar.com</link>
	<description>Sometimes you eat the bear, sometimes the bear eats you</description>
	<lastBuildDate>Fri, 30 Oct 2009 10:49:53 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='robotplaysguitar.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/d7a9467e8f98eb61d632be51bc69af06?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>robot plays guitar</title>
		<link>http://robotplaysguitar.com</link>
	</image>
			<item>
		<title>Remove an ip banned by denyhosts</title>
		<link>http://robotplaysguitar.com/2009/10/30/remove-an-ip-banned-by-denyhosts/</link>
		<comments>http://robotplaysguitar.com/2009/10/30/remove-an-ip-banned-by-denyhosts/#comments</comments>
		<pubDate>Fri, 30 Oct 2009 10:47:12 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux & OpenSource]]></category>
		<category><![CDATA[denyhosts]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.com/?p=401</guid>
		<description><![CDATA[Denyhosts is a great tool to secure ssh accesses. Accidentally, from time to time an IP address from a valid user is banned (guys, use public key ssh authentication!). Removing an IP address from denyhosts ban lists is painful. You have to edit six files. So this small script comes to rescue and eliminates the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=401&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a title="Denyhosts site" href="http://denyhosts.sourceforge.net/">Denyhosts</a> is a great tool to secure ssh accesses. Accidentally, from time to time an IP address from a valid user is banned (guys, use public key ssh authentication!). Removing an IP address from denyhosts ban lists is painful. You have to edit six files. So this small script comes to rescue and eliminates the pain. Let me introduce you to unban-ip</p>
<pre class="brush: ruby;">

#!/usr/bin/env ruby

base_path=&quot;/var/lib/denyhosts&quot;
hosts_deny=&quot;/etc/hosts.deny&quot;
denyhosts_files=%w(hosts hosts-restricted hosts-root hosts-valid users-hosts)

files=denyhosts_files.map{|file| &quot;#{base_path}/#{file}&quot;}.push hosts_deny
denyhosts_stop=&quot;/etc/init.d/denyhosts stop&quot;
denyhosts_start=&quot;/etc/init.d/denyhosts start&quot;

if ARGV.length!= 1
 puts &quot;Wrong number of arguments&quot;
 puts &quot;Usage: denyhosts-remove ip&quot;
else

 `#{denyhosts_stop}`
 ip=ARGV[0]
 files.each do |file|
 text=File.read(file)
 if file == hosts_deny
 buffer=text.gsub(/sshd: #{ip}\n/,&quot;&quot;)
 else
 buffer=text.gsub(/#{ip}:(.*)\n/,&quot;&quot;)
 end
 File.open(file,&quot;w&quot;) {|fw| fw.write buffer }
 end
 `#{denyhosts_start}`
end

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/401/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/401/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=401&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/10/30/remove-an-ip-banned-by-denyhosts/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>
	</item>
		<item>
		<title>Too many things to do, just a little time</title>
		<link>http://robotplaysguitar.com/2009/08/20/too-many-things-to-do-just-a-little-time/</link>
		<comments>http://robotplaysguitar.com/2009/08/20/too-many-things-to-do-just-a-little-time/#comments</comments>
		<pubDate>Thu, 20 Aug 2009 12:02:41 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Cultura]]></category>
		<category><![CDATA[Reflexiones]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[beer]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[dancing]]></category>
		<category><![CDATA[djing]]></category>
		<category><![CDATA[electronic]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[guitar]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[podcasting]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rock]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[system administrator]]></category>
		<category><![CDATA[thoughts]]></category>
		<category><![CDATA[working]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.com/?p=399</guid>
		<description><![CDATA[Today I just started to thing on how many things I&#8217;d like to do, and the small I am able to accomplish. I made a list of all the small projects, things and hobbies I start during a year, for living, having fun, having the feel of creating something, etc. This list follows like this:
First [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=399&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Today I just started to thing on how many things I&#8217;d like to do, and the small I am able to accomplish. I made a list of all the small projects, things and hobbies I start during a year, for living, having fun, having the feel of creating something, etc. This list follows like this:</p>
<p>First of it is working, you spend lots of time on working, it&#8217;s necessary and fortunately for me is quite fun working on <a title="Aspgems Website" href="http://www.aspgems.com" target="_self">ASPgems</a>, also it&#8217;s great to do some freelance job from time to time, you get extra money, your CV grows too. As I am a big proponent  of Free Software I feel like I don&#8217;t return very much to the comunity, some small how-to on this blog from time to time, a small help on mailing lists or irc, but I&#8217;d like to start some small open source project, I&#8217;ve already started an <a title="Eclipse Wizard" href="http://robotplaysguitar.com/eclipse-wizard/" target="_self">Eclipse Plugin</a> some years ago as part of my job for Google&#8217;s Summer of Code, but still I have a couple of good ideas that I&#8217;d like to start to implement. Also I spent time reading blogs and staying on touch with the latest things on the internet related of my job and also in the business. I feel like my ruby skills are not good enough, so I&#8217;d like to start learning more ruby and for sure learning rails as well. Finally I wrote articles for spanish linux magazine <a title="Todo Linux" href="http://www.iberprensa.com/todolinux/todolinux.htm" target="_self">Todo Linux</a> which is time consuming too (it remembers me to the university years, doing first all the process while taking notes of it and then writing a document with the process).</p>
<p>The second thing I really enjoy doing is <a title="Robot Plays Guitar myspace" href="http://myspace.com/therobotplaysguitar">djing</a>, I love to play music for people even if I am not paid. Also I&#8217;d like to improve my dj skills and trying to became a <a title="Scratch The Documentary" href="http://video.google.com/videoplay?docid=-7085594575841814301&amp;ei=rDeNSv2cEsGz-AbNm7HjDA&amp;q=scratch+documentary&amp;hl=es">real dj</a>, ok maybe not that much real but still try to do it better than now. All of this goes quite tied with another thing that I really love and also is time consuming: music research not only because I need to be always on the new things also because I love music in almost every style and I am always eager to discover new bands. That leads me to another related issue which is attending to music concerts, I do it as much as my time, money and the other stuff  I do allow me to. Very close with djing is podcasting, from time to time I try to make some dj session and upload it to the internet. The latest thing related to music (which as all my friends know is my other big passion besides internet/technology/sysadmin job), I been playing guitar for most than ten years and still I am not a good perfomer but still I feel the need to learn a little bit more, even if it&#8217;s playing covers, and even more: I love playing with <a title="REason" href="http://www.propellerheads.se/reason/" target="_self">synthesizers</a> in my computer (perfect for me since is the sum of my biggest passions). Some years ago even I started a band called <a title="Lando Calrissian" href="http://www.youtube.com/watch?v=og9tIQtmxko&amp;feature=related" target="_self">Calrissians</a> that of course did not have any kind of success. I would like to spent more time on this. Definetly I&#8217;d like to start a band with some friends, even we&#8217;ve been in some talks to start that in september.</p>
<p>I try to blog here of music and tech things from time to time (hence the title of the blog), but as you know updates are not quite frequent.</p>
<p>Also the third leg of this table is called social life, seeing friends, going out, having a beer or two, preparing a nice dinner for a couple of friend. Sometimes some party, sometimes too much ;) Also this is quite close with djing, and going to concerts.</p>
<p>Finally there are other small hobbies I have: I bought a digital camera some months ago (<a title="Canon Powershot G10" href="http://www.dpreview.com/reviews/canong10/">Canon Powershot G10</a> if you are interested on this stuff), so I am trying to learn a<a title="Ther Robot Plays Guitar Flickr" href="http://www.flickr.com/photos/the_robot/"> little bit about photography</a>, digital manipulation of pictures and so on. I love reading novels and technical books too and watching a film from time to time, specially if they are related to music (not necessarily musicals). Also I&#8217;m quite interested in learning and expermienting with cooking, learning german, receiving lessons on wine taste and also receiving lessons on <a title="Swing Jitterbug " href="http://www.youtube.com/watch?v=uNc74lyfYHM&amp;feature=related">swing dance</a>.</p>
<p>So&#8230; is it possible to do all of this? How?  I&#8217;m feeling sad and stressed of wanting to do so many many many things and not being able to do them. I don&#8217;t really want to miss anything in this life.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/399/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/399/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/399/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=399&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/08/20/too-many-things-to-do-just-a-little-time/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>
	</item>
		<item>
		<title>Generar un certificado ssl auto-firmado para usarlo con subversion</title>
		<link>http://robotplaysguitar.com/2009/06/19/generar-un-certificado-ssl/</link>
		<comments>http://robotplaysguitar.com/2009/06/19/generar-un-certificado-ssl/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 20:46:31 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux & OpenSource]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[certificates]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[subversion]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.com/?p=383</guid>
		<description><![CDATA[Todo el mundo sabe que subversion ya no mola, pero todavía se sigue utilizando en muchos proyectos y en muchas empresas. Al recibir el testigo de sysadmin en ASPgems comprobé que cada vez que hacía un checkout del repositorio con un usuario unix nuevo subversion me mostraba un mensaje parecido a este:


 - The certificate [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=383&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Todo el mundo sabe que subversion ya no mola, pero todavía se sigue utilizando en muchos proyectos y en muchas empresas. Al recibir el testigo de sysadmin en ASPgems comprobé que cada vez que hacía un checkout del repositorio con un usuario unix nuevo subversion me mostraba un mensaje parecido a este:</p>
<pre class="brush: css;">

 - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually!
 - The certificate hostname does not match.
Certificate information:
 - Hostname: ASPgems
 - Valid: from May  3 03:47:58 2008 GMT until May  3 03:47:58 2009 GMT
 - Issuer: IT, Satimis, HK
 - Fingerprint: 0c:3a:2f:08:a6:15:ff:24:28:6b:fb:52:7f:5d:6a:28:20:e9:c9:6e (R)eject, accept (t)emporarily or accept (p)ermanently?
</pre>
<p>Total que al hacer el primer despliegue de la aplicación, en el deploy se quedaba parado esperando a que respondieramos a la última pregunta.</p>
<p>En mis máquinas tengo un usuario de shell para cada aplicación, así que este problema me sucedía con bastante frecuencia. Mi primera opción para solventarlo era hacerse un shellscript un poco cutre que lanzado desde root hacía un checkout a un directorio vacío al usuario de la aplicación. Así, semiautomáticamente resolvía el problema.</p>
<p>Por supuesto esta no era la mejor solución, era la solución del lado oscuro: rápida y facil. Hoy con un poco de tiempo me he puesto a investigar la solución correcta, que es conseguir que el subversión de cada máquina acepte el certificado.</p>
<p>Para ello he tenido que realizar distintas tareas, aqui os lo dejo:</p>
<p>Lo primero es  volver a generar el certificado en el servidor que tiene apache y dav_svn (el servidor de subversión).  Los pasos (como root) son:</p>
<p>Creamos  un directorio ssl en la el directorio de configuración de apache:</p>
<pre class="brush: css;">

mkdir -p /etc/apache2/ssl
</pre>
<p>Accdemos al directorio y generamos una clave privada RSA:</p>
<pre class="brush: css;">
cd /etc/apache2/ssl
openssl genrsa -des3 -out server.key 1024
</pre>
<p>En algún momento nos pedirá una passphrase que debemos rellenar y  guardar.</p>
<p>Creamos una petición de firma CSR (Certificate Signing Request) :</p>
<pre class="brush: css;">

openssl req -new -key server.key -out server.csr
</pre>
<p>Tendremos que asignar ciertos valores, <strong>es muy importante asignar en el valor CN (Common Name) el nombre del dominio del virtualhost de apache que va usarse como servidor de subversion</strong>. Un ejemplo podria ser:</p>
<pre class="brush: css;">

Country Name (2 letter code) [GB]&lt; State or Province Name (full name) [Berkshire]: Madrid
Locality Name (eg, city) [Newbury]: Madrid
Organization Name (eg, company) [My Company Ltd]: ASPgems
Organizational Unit Name (eg, section) []:Systems
Common Name (eg, your name or your server's hostname) []: svn.wadus.com
Email Address []&lt;/span&gt;: wadus at aspgems.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
</pre>
<p>A continuación procedemos a eliminar la passphrase de la clave generada, si no hacemos esto cada vez que reiniciemos apache nos pedirá la passphrase, algo que es bastante incomodo.</p>
<pre class="brush: css;">
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key
</pre>
<p>Nos pedirá la passphrase que hemos guardado cuidadosamente antes.</p>
<p>Para finalizar generamos el certificado:</p>
<pre class="brush: css;">

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
</pre>
<p>Una vez tengamos el certificado (es el fichero server.crt), tenemos que editar nuestro virtualhost de apache indicandole los paths tanto al certificado como a la clave. <strong>Es muy importante que nos aseguremos de que la directiva ServerName del virtualhost de apache tiene el mismo dominio introducido en la sección CN (Common Name) cuando hemos generado la petición de firma.</strong></p>
<p>Hay que añadir el siguiente código al fichero de configuración del virtualhost:</p>
<pre class="brush: css;">

SSLEngine on
SSLCertificateFile /etc/apache2/ssl/server.crt
SSLCertificateKeyFile /etc/apache2/ssl/server.key
SetEnvIf User-Agent &quot;.*MSIE.*&quot; nokeepalive ssl-unclean-shutdown
CustomLog logs/ssl_request_log \
 &quot;%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \&quot;%r\&quot; %b&quot;
</pre>
<p>Y reiniciamos apache:</p>
<pre class="brush: css;">

sudo /etc/init.d/apache2 restart
</pre>
<p>Una vez tengamos esto el certificado estará configurado en el apache correctamente. Pasamos a configurar las máquinas para que acepten como válido el certificado. Esta parte se realiza en las máquinas en las que queremos automatizar el paso del checkout de subversion. Llamemolas <em>clientes.</em></p>
<p>Lo primero que tenemos que hacer es copiar el certificado a los clientes y ponerlo en algun sitio en la máquina, concretamente debian y ubuntu tienen un directorio específico para almacenar certificados en <em>/etc/ssl/certs.</em></p>
<p>En la máquina que aloja el subversion, ejecutamos:</p>
<pre class="brush: css;">

scp /etc/apache2/ssl/server.crt cliente.wadus.com:
</pre>
<p>En la maquina cliente ejecutamos:</p>
<pre class="brush: css;">

sudo mv server.crt /etc/ssl/certs/svn.pem
</pre>
<p>Y ahora editamos el fichero <em>/etc/subversion/servers</em> añadiendo al final la siguiente linea que nos permite indicarle al cliente de subversion que de como válido el certificado:</p>
<pre class="brush: css;">

ssl-authority-files = /etc/ssl/certs/svn.pem
</pre>
<p>Con esto ya hemos acabado y hemos conseguido que nuestros clientes de subversion acepten el certificado como válido.</p>
<p>Para más información sobre como generar certificados consultad <a title="Generate ssl certificates for apache" href="http://www.akadia.com/services/ssh_test_certificate.html">este enlace</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/383/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/383/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/383/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=383&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/06/19/generar-un-certificado-ssl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>
	</item>
		<item>
		<title>Happy songs for people who like sad songs</title>
		<link>http://robotplaysguitar.com/2009/05/11/happy-songs-for-people-who-like-sad-songs/</link>
		<comments>http://robotplaysguitar.com/2009/05/11/happy-songs-for-people-who-like-sad-songs/#comments</comments>
		<pubDate>Mon, 11 May 2009 13:19:41 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Música]]></category>
		<category><![CDATA[folk]]></category>
		<category><![CDATA[happy people]]></category>
		<category><![CDATA[happy songs]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[pop]]></category>
		<category><![CDATA[rock]]></category>
		<category><![CDATA[sad songs]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.com/?p=377</guid>
		<description><![CDATA[
La semana pasada se me ocurrió esta hacer la lista de reproducción que da nombre al post, intenté no ser excesivamente obvio en la selección de canciones pero buscar musica agradable y buen rollera. Como salió bastante bien la cosa, os aqui el fichero con las canciones.
Descargar Happy songs for people that like sad songs
 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=377&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://ffffound.com/image/cf9aa13c51940132e5cf0599c79ebe465788e31f"><img class="aligncenter" title="Smiley Phones" src="http://www.debutart.com/media/6675/large/debutart_tim-ellis_7510.jpg" alt="" width="388" height="560" /></a></p>
<p>La semana pasada se me ocurrió esta hacer la lista de reproducción que da nombre al post, intenté no ser excesivamente obvio en la selección de canciones pero buscar musica agradable y buen rollera. Como salió bastante bien la cosa, os aqui el fichero con las canciones.</p>
<p>Descargar <a title="Happy songs for people that like sad songs" href="http://dl.getdropbox.com/u/265209/Happy%20songs%20for%20people%20that%20like%20sad%20songs.zip">Happy songs for people that like sad songs</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/377/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=377&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/05/11/happy-songs-for-people-who-like-sad-songs/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>

		<media:content url="http://www.debutart.com/media/6675/large/debutart_tim-ellis_7510.jpg" medium="image">
			<media:title type="html">Smiley Phones</media:title>
		</media:content>
	</item>
		<item>
		<title>Este fin de semana se celebra la EuRuKo en Barcelona</title>
		<link>http://robotplaysguitar.com/2009/05/06/este-fin-de-semana-se-celebra-la-euruko-en-barcelona/</link>
		<comments>http://robotplaysguitar.com/2009/05/06/este-fin-de-semana-se-celebra-la-euruko-en-barcelona/#comments</comments>
		<pubDate>Wed, 06 May 2009 11:04:54 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux & OpenSource]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.com/?p=368</guid>
		<description><![CDATA[ruby, euruko, conference, rails,developers<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=368&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:center;"><a href="http://euruko2009.org/"><img class="aligncenter" style="border:0 none;" title="Euruko 2009 logo" src="http://app.euruko2009.org/images/cover.png?1235393512" alt="Euruko 2009 " width="411" height="98" /></a></p>
<p>Este fin de semana se celebra  la <a title="Euruko 2009" href="http://euruko2009.org/">European Ruby Conference 2009</a> en el <a title="Citilab en Cornellá" href="http://www.citilab.eu/visita/index.html">Citilab</a> de Cornellá. Se presentarán distintas charlas relacionadas con el lenguaje: <a title="Creative image Manipulation with Ruby" href="http://app.euruko2009.org/talks/10-who-needs-photoshop-creative-image-manipulation-and-processing-using-ruby-to-do-image-recognition-movie-decomposition-and-more">manipulación de imágenes</a>, <a title="Chef, management systems in ruby" href="http://app.euruko2009.org/talks/12-chef-the-new-ruby-system-management-tool">automatización de sistemas</a>, <a title="Software Craftmanship" href="http://app.euruko2009.org/talks/13-software-craftmanship">metodologías de desarrollo</a> o <a title="Programming videogames in ruby" href="http://app.euruko2009.org/talks/9-fun-with-ruby-and-without-r-s-program-your-own-games-with-gosu">juegos en ruby</a>. Además contará con la presencia del creador de Ruby <a title="matz" href="http://en.wikipedia.org/wiki/Yukihiro_Matsumoto">Yukihiro Matsumoto</a>. Así como de miembros de la comunidad internacional y gran parte de la comunidad Ruby (y en muchos casos Rails) española.</p>
<p>EuRuKo es un evento organizado por el <a title="Spanish Ruby User Group" href="http://www.srug.org/">Grupo de Usuarios de Ruby en España</a> a un precio muy asequible. Desgraciadamente las 250 plazas ya han sido vendidas.</p>
<p>Podeis seguir la conferencia en el <a title="Euruko Twitter " href="http://twitter.com/euruko">twitter de EuRuKo</a>, aqui podeis ver el <a title="Calendario de charlas de la euruko 2009" href="http://app.euruko2009.org/talks">calendario de </a><a title="ASPgems website" href="http://aspgems.com">charlas.</a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com"></a></p>
<p><a title="ASPgems website" href="http://aspgems.com">ASPgems</a> ha tenido el detalle de invitar a unos cuantos compañeros de trabajo a asistir a la conferencia, por allí estaremos: <a title="Blog de Dani Mata" href="http://danimataonrails.blogspot.com/">Dani Mata</a>, <a title="Blog de Diego Rodriguez" href="http://diec123.blogspot.com/">Diego Rodriguez</a>, Rafael García, <a title="Site de Manu Campos" href="http://invisibles.cc/">Manu Campos</a>, Enrique Perez, <a title="Blog de Javi Ramirez" href="http://formatinternet.wordpress.com">Javi Ramirez</a>, <a title="Site de Xavier Noria" href="http://hashref.com">Xavi Noria </a>y un servidor.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/368/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=368&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/05/06/este-fin-de-semana-se-celebra-la-euruko-en-barcelona/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>

		<media:content url="http://app.euruko2009.org/images/cover.png?1235393512" medium="image">
			<media:title type="html">Euruko 2009 logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Volver atras una migración automáticamente con capistrano</title>
		<link>http://robotplaysguitar.com/2009/05/05/volver-atras-una-migracion-automaticamente-con-capistrano/</link>
		<comments>http://robotplaysguitar.com/2009/05/05/volver-atras-una-migracion-automaticamente-con-capistrano/#comments</comments>
		<pubDate>Tue, 05 May 2009 11:37:29 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux & OpenSource]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.com/?p=351</guid>
		<description><![CDATA[capistrano, deployment, migrations, rollback, automation, sysadmin<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=351&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hace un par de semanas <a title="Site de Xavi Noria" href="http://hashref.com">Xavi</a> me pidió la funcionalidad que da título a este post en el deploy de uno de nuestros proyectos, me pareció extraño no encontrarlo por defecto en el código de <a title="Capistrano website" href="http://capify.org">capistrano</a>, pero así es. Hurgando un poco en <a title="Capistrano Google List" href="http://groups.google.com/group/capistrano">la lista</a> <a title="Roll back a migration capistrano" href="http://groups.google.com/group/capistrano/browse_thread/thread/713de7a4ae0399d0/90ecbb3481ec4b4a?lnk=gst&amp;q=roll+back+a+migration#90ecbb3481ec4b4a">encontré el siguiente fragmento de código</a> que realiza lo requerido:</p>
<pre class="brush: ruby;">

before &quot;deploy:rollback:revision&quot;, &quot;deploy:rollback_database&quot;

  desc &quot;Rolls back database to migration level of the previously deployed release&quot;
  task :rollback_database, :roles =&gt; :db, :only =&gt; { :primary =&gt; true } do
    if releases.length &lt; 2
      abort &quot;could not rollback the code because there is no prior release&quot;
    else
      rake = fetch(:rake, &quot;rake&quot;)
      rails_env = fetch(:rails_env, &quot;production&quot;)
      migrate_env = fetch(:migrate_env, &quot;&quot;)
      migrate_target = fetch(:migrate_target, :latest)
      run &quot;cd #{current_path}; #{rake} RAILS_ENV=#{rails_env} #{migrate_env} db:migrate VERSION=`cd #{File.join(previous_release, 'db', 'migrate')} &amp;&amp; ls -1 [0-9]*_*.rb | tail -1 | sed -e s/_.*$//`&quot;
    end
  end
</pre>
<p>Voy a comentar un poquito como funciona la cosa:</p>
<p>La primera línea añade un &#8216;hook&#8217; a la tarea rollback:revision, es necesario ejecutar la tarea antes de volver a la versión anterior de código por la manera que utilizamos para calcular las migraciones hacia atrás que tenemos que volver, pensad que en un sólo commit se pueden incluir varias migracione.</p>
<p>A continuación comprobamos que haya al menos una versión anterior del código a la que volver, y las siguientes lineas sirven para establecer las variables de entorno y rutas necesarias para ejecutar este &#8216;rollback&#8217;.</p>
<p>Lo importante viene en el comando que se ejecuta, como veis es la tarea de rake que lanza la migración. Voy a comentar los puntos dificiles de la linea:</p>
<p>Por un lado tenemos db:migrate VERSION=XX. <a title="Rails Guides: running migrations" href="guides.rubyonrails.org/migrations.html#running-migrations">Según las guías de rails esta tarea ejecuta todas las migraciones hacia arriba o hacia abajo <strong>hasta</strong> llegar a la versión dada, esta es la razón por la que hay que ejecutar esta tarea antes de hacer rollback del código. Por otro lado calculamos el número de versión a la que hay que bajar con el &#8216;path&#8217; de la release anterior variable de entorno de capistrano previous_release. Apañando el  numero de &#8216;release&#8217; con un estupendo hack de shell:</p>
<p><code> ls -1 [0-9]*_*.rb | tail -1 | sed -e s/_.*$// </code></p>
<p><a title="roll back a migration with capistrano" href="http://gist.github.com/102770">Aqui</a> dejo el código en github.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/351/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=351&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/05/05/volver-atras-una-migracion-automaticamente-con-capistrano/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>
	</item>
		<item>
		<title>Discos del 2008</title>
		<link>http://robotplaysguitar.com/2009/03/24/discos-del-2008/</link>
		<comments>http://robotplaysguitar.com/2009/03/24/discos-del-2008/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 23:03:40 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Música]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.wordpress.com/?p=306</guid>
		<description><![CDATA[Si, lo sé. Este post llega tarde, muuuuy tarde. Llevo 3 meses para redactar un maldito post con una lista de 12 discos, que prácticamente tenía ya seleccionados. Que mala es la procrastinación, que malo es internet, que malo es el FOSDEM, que malo es el twitter, que malo es viajar, que malo es que [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=306&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Si, lo sé. Este post llega tarde, muuuuy tarde. Llevo 3 meses para redactar un maldito post con una lista de 12 discos, que prácticamente tenía ya seleccionados. Que mala es la procrastinación, que malo es internet, que malo es el FOSDEM, que malo es el twitter, que malo es viajar, que malo es que te deje tu novia, podría seguir poniendo excusas ad-eternam, pero en el fondo no la hay. Así que alla vamos, la lista funciona como siempre, un disco por mes, sin orden, y no tienen por que haber salido el año pasado:</p>
<h2>The Assemble Head in Sunburst Sound &#8211; Ekranoplan.</h2>
<div class="wp-caption aligncenter" style="width: 260px"><img title="asemblehead" src="http://www.roughtrade.com/site/product_images/282585L.jpg" alt="The Assemble Head in Sunburst sound - Ekranoplan" width="250" height="250" /><p class="wp-caption-text">The Assemble Head in Sunburst sound - Ekranoplan</p></div>
<h2>Songs: Ohia. Axxxes &amp; Ace</h2>
<div class="wp-caption aligncenter" style="width: 260px"><img title="songs ohia: " src="http://upload.wikimedia.org/wikipedia/en/6/6e/Songs_Ohia_-_1999-03-15_-_Axxess_&amp;_Ace.jpg" alt="Songs Ohia: Axxxes &amp; Ace" width="250" height="250" /><p class="wp-caption-text">Songs Ohia: Axxxes &amp; Ace</p></div>
<h2>Metallica &#8211; Death Magnetic</h2>
<div class="wp-caption aligncenter" style="width: 280px"><img title="Death Magnetic" src="http://ecx.images-amazon.com/images/I/619VGtLZxRL._SL500_AA240_.jpg" alt="Metallica - Death Magnetic" width="270" height="270" /><p class="wp-caption-text">Metallica - Death Magnetic</p></div>
<h2>Black Mountain &#8211; In the Future</h2>
<div class="wp-caption aligncenter" style="width: 310px"><img title="Black Mountain" src="http://ecx.images-amazon.com/images/I/51WHPscS0XL._SS500_.jpg" alt="Black Mountain - In The Future" width="300" height="300" /><p class="wp-caption-text">Black Mountain - In The Future</p></div>
<h2>Band of Horses &#8211; Everything All the Time</h2>
<div class="wp-caption aligncenter" style="width: 310px"><img title="Band of Horses" src="http://ecx.images-amazon.com/images/I/61SZ0obsKCL._SS500_.jpg" alt="Band of Horses - Everything All The Time" width="300" height="300" /><p class="wp-caption-text">Band of Horses - Everything All The Time</p></div>
<h2>Death Cab For Cutie &#8211; Narrow Stairs</h2>
<div class="wp-caption aligncenter" style="width: 250px"><img title="narrow stairs" src="http://ecx.images-amazon.com/images/I/51P2hLkYKzL._SS400_.jpg" alt="Death Cab for Cutie - Narrow Stairs" width="240" height="240" /><p class="wp-caption-text">Death Cab for Cutie - Narrow Stairs</p></div>
<h2>Baby Woodrose &#8211; Chasing Rainbows</h2>
<div class="wp-caption aligncenter" style="width: 310px"><img title="Chasing Rainbows" src="http://ecx.images-amazon.com/images/I/518qoO60jcL._SS500_.jpg" alt="Baby Woodrose - Chasing Rainbows" width="300" height="300" /><p class="wp-caption-text">Baby Woodrose - Chasing Rainbows</p></div>
<h2>Dirtbombs &#8211; We Have you surrounded</h2>
<div class="wp-caption aligncenter" style="width: 310px"><img title="surrounded" src="http://ecx.images-amazon.com/images/I/613ULzC9RPL._SS500_.jpg" alt="Dirtbombs - We Have you surrounded  " width="300" height="300" /><p class="wp-caption-text">Dirtbombs - We Have you surrounded</p></div>
<h2>Portishead &#8211; Third</h2>
<div class="wp-caption aligncenter" style="width: 250px"><img title="third" src="http://ecx.images-amazon.com/images/I/31KVNP43AfL._SL500_AA240_.jpg" alt="Portishead - Third  " width="240" height="240" /><p class="wp-caption-text">Portishead - Third  </p></div>
<h2>Six Organs of Admittance &#8211; The Sun Awakens</h2>
<div class="wp-caption aligncenter" style="width: 250px"><img title="sixorgans" src="http://ecx.images-amazon.com/images/I/41SeLqpiflL._SL500_AA240_.jpg" alt="Six Organs of Admittance - The Sun Awakens  " width="240" height="240" /><p class="wp-caption-text">Six Organs of Admittance - The Sun Awakens  </p></div>
<h2>Woven Hand &#8211; Ten Stones</h2>
<div class="wp-caption aligncenter" style="width: 250px"><img title="Woven Hand - Ten Stones " src="http://ecx.images-amazon.com/images/I/51b2OKa84%2BL._SL500_AA240_.jpg" alt="Woven Hand - Ten Stones " width="240" height="240" /><p class="wp-caption-text">Woven Hand - Ten Stones </p></div>
<h2>Bonnie Prince Billy &#8211; Lie Down in the Light</h2>
<div class="wp-caption aligncenter" style="width: 250px"><img title="Bonnie Prince Billy - Lie Down in the Light  " src="http://ecx.images-amazon.com/images/I/51rZa4tjBFL._SL500_AA240_.jpg" alt="Bonnie Prince Billy - Lie Down in the Light  " width="240" height="240" /><p class="wp-caption-text">Bonnie Prince Billy - Lie Down in the Light  </p></div>
<p>Ahora decidamos la mejor portada de las 12&#8230; Yo me quedo con la de Portishead.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/306/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/306/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/306/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=306&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/03/24/discos-del-2008/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>

		<media:content url="http://www.roughtrade.com/site/product_images/282585L.jpg" medium="image">
			<media:title type="html">asemblehead</media:title>
		</media:content>

		<media:content url="http://upload.wikimedia.org/wikipedia/en/6/6e/Songs_Ohia_-_1999-03-15_-_Axxess_&#38;_Ace.jpg" medium="image">
			<media:title type="html">songs ohia: </media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/619VGtLZxRL._SL500_AA240_.jpg" medium="image">
			<media:title type="html">Death Magnetic</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/51WHPscS0XL._SS500_.jpg" medium="image">
			<media:title type="html">Black Mountain</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/61SZ0obsKCL._SS500_.jpg" medium="image">
			<media:title type="html">Band of Horses</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/51P2hLkYKzL._SS400_.jpg" medium="image">
			<media:title type="html">narrow stairs</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/518qoO60jcL._SS500_.jpg" medium="image">
			<media:title type="html">Chasing Rainbows</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/613ULzC9RPL._SS500_.jpg" medium="image">
			<media:title type="html">surrounded</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/31KVNP43AfL._SL500_AA240_.jpg" medium="image">
			<media:title type="html">third</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/41SeLqpiflL._SL500_AA240_.jpg" medium="image">
			<media:title type="html">sixorgans</media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/51b2OKa84%2BL._SL500_AA240_.jpg" medium="image">
			<media:title type="html">Woven Hand - Ten Stones </media:title>
		</media:content>

		<media:content url="http://ecx.images-amazon.com/images/I/51rZa4tjBFL._SL500_AA240_.jpg" medium="image">
			<media:title type="html">Bonnie Prince Billy - Lie Down in the Light  </media:title>
		</media:content>
	</item>
		<item>
		<title>Script que lanza múltiples conexiones ssh en pestañas de Terminal de Mac OS X</title>
		<link>http://robotplaysguitar.com/2009/03/23/script-que-lanza-multiples-conexiones-ssh-en-pestanas-de-terminal-de-mac-os-x/</link>
		<comments>http://robotplaysguitar.com/2009/03/23/script-que-lanza-multiples-conexiones-ssh-en-pestanas-de-terminal-de-mac-os-x/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 14:05:51 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[admin]]></category>
		<category><![CDATA[applescript]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tabs]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[tricks]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.wordpress.com/?p=322</guid>
		<description><![CDATA[Cuando empiezas a tener muchas máquinas (por supuesto con la infraestructura estandarizada) se hace necesario poder operar en muchas a la vez, asi como tener un acceso rápido a las mismas.
Para poder ejecutar el mismo comando en muchas máquinas tenemos herramientas como el shell de capistrano o dsh. Pero ¿qué pasa si queremos acceder a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=322&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Cuando empiezas a tener muchas máquinas (por supuesto con la infraestructura estandarizada) se hace necesario poder operar en muchas a la vez, asi como tener un acceso rápido a las mismas.</p>
<p>Para poder ejecutar el mismo comando en muchas máquinas tenemos herramientas como el <a title="Capistrano Shell" href="http://weblog.jamisbuck.org/2006/9/21/introducing-the-capistrano-shell">shell de capistrano</a> o <a title="Distributed Shell " href="http://www.netfort.gr.jp/~dancer/software/dsh.html.en">dsh</a>. Pero ¿qué pasa si queremos acceder a 9 máquinas de una manera rápida y eficiente? En Linux podemos usar <a title="Ssh Menu website" href="http://www.mclean.net.nz/ruby/sshmenu/">ssh menu</a>, pero en Mac ¿que  hacemos?. Tenemos <a title="Remote Connections Manager" href="http://www.lightnetcom.eu/products/remote-connections-manager.html">Remote Connections Manager</a> o <a title="Telnet Launcher" href="http://www.pidog.com/telnetlauncher/">Telnet Launcher</a> que aparte de ser shareware no nos dan la velocidad que buscamos, prefiero lanzar nueve pestañas de Terminal a mano y teclear 9 veces &#8217;ssh maquina1, ssh maquina2&#8242; que hacer lo mismo con el ratón.</p>
<p>Afortunadamente Apple ha desarrollado un lenguaje de scripting para sus aplicaciones, y en la última versión de su sistema operativo (por fin!) el Terminal soporta el uso de pestañas. Asi que se me ocurrió la idea: programo un Applescript que me cree una pestaña con un ssh a cada servidor de una lista dada. Desgraciadamente el lenguaje Applescript es de todo menos intuitivo y sencilo, como bola extra el soporte de <em>scripting</em> para Terminal esta muy limitado. A pesar de todos estos inconvenientes he conseguido implementar mi idea inicial.</p>
<p>Lo primero que tenemos que hacer es <a title="Autenticación con clave pública (ingles)" href="http://www.howtoforge.com/set-up-ssh-with-public-key-authentication-debian-etch">configurar la autenticación con clave pública (inglés)</a> en todos los servidores donde nos vayamos a logar, asi evitamos poner la contraseña repetidas veces, ya que con la nueva versión del Terminal la <em>passphrase</em> que asegura la clave pública se guarda como variable de entorno entre los distintos terminales y solo es necesario escribirla la primera vez.</p>
<p>Lo siguiente es abrir el editor de scripts que esta localizado en  <em>/Applications/AppleScript/Editor de Scripts</em> y pegar el código que os dejo a continuación y guardarlo en un fichero, por ejemplo en <em>/Applications</em></p>
<pre class="brush: ruby;">

set servers to {&quot;web1&quot;, &quot;web2&quot;, &quot;web3&quot;, &quot;web4&quot;, &quot;web5&quot;, &quot;web6&quot;, &quot;web7&quot;, &quot;web8&quot;, &quot;batch1&quot;}
set domain to &quot;wadus.com&quot;

tell application &quot;Terminal&quot;
 activate
 do script &quot;clear&quot;

 repeat with server in servers
 tell application &quot;System Events&quot; to tell process &quot;Terminal&quot; to ¬
 keystroke &quot;t&quot; using command down
 set cmd to &quot;ssh &quot; &amp; server &amp; &quot;.&quot; &amp; domain
 delay 0.5
 do script cmd in window 1
 end repeat
end tell
</pre>
<p>Si combinamos este script con <a title="Quicksilver web site" href="http://docs.blacktree.com/quicksilver/what_is_quicksilver">Quicksilver</a> podemos tener una ventana de terminal con un tab accediendo a cada máquina en cuestion de un par de comandos.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/322/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=322&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/03/23/script-que-lanza-multiples-conexiones-ssh-en-pestanas-de-terminal-de-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>
	</item>
		<item>
		<title>Atmósfera Abrupta</title>
		<link>http://robotplaysguitar.com/2009/03/20/atmosfera-abrupta/</link>
		<comments>http://robotplaysguitar.com/2009/03/20/atmosfera-abrupta/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 12:46:22 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Música]]></category>
		<category><![CDATA[comprar]]></category>
		<category><![CDATA[discos]]></category>
		<category><![CDATA[experimental]]></category>
		<category><![CDATA[indie]]></category>
		<category><![CDATA[metal]]></category>
		<category><![CDATA[rock]]></category>
		<category><![CDATA[vinilo]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.wordpress.com/?p=319</guid>
		<description><![CDATA[Hola, los chicos de atmósfera abrupta me han liado para que os spamee un poco hablando de su estupenda página.
Esta gente vende vinilos y sólo vinilos a muy buen precio, tienen una selección variada y de calidad, si vives en Madrid te los acercan a donde te venga bien (y así te tomas un cafecillo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=319&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hola, los chicos de <a title="Website de Atmósfera Abrupta" href="http://www.atmosferabrupta.com" target="_self">atmósfera abrupta</a> me han liado para que os spamee un poco hablando de su estupenda <a title="Website de Atmósfera Abrupta" href="http://www.atmosferabrupta.com" target="_self">página</a>.</p>
<p>Esta gente vende vinilos y sólo vinilos a muy buen precio, tienen una selección variada y de calidad, si vives en Madrid te los acercan a donde te venga bien (y así te tomas un cafecillo con ellos) y además aceptan peticiones!!!</p>
<div id="attachment_320" class="wp-caption aligncenter" style="width: 280px"><img class="size-full wp-image-320" title="Vinyl kills" src="http://robotplaysguitar.files.wordpress.com/2009/03/vinyl_killsjpg.jpeg?w=270&#038;h=284" alt="Vinyl kills the mp3 Industry" width="270" height="284" /><p class="wp-caption-text">Vinyl kills the mp3 Industry</p></div>
<p>En fin, que estoy encantado con estos <em>vinyl dealers, </em>asi que ya sabeis:<em><br />
</em></p>
<p><em>Comprad malditos comprad!</em></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/319/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/319/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/319/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=319&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/03/20/atmosfera-abrupta/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>

		<media:content url="http://robotplaysguitar.files.wordpress.com/2009/03/vinyl_killsjpg.jpeg" medium="image">
			<media:title type="html">Vinyl kills</media:title>
		</media:content>
	</item>
		<item>
		<title>Canción del mes</title>
		<link>http://robotplaysguitar.com/2009/03/20/cancion-del-mes/</link>
		<comments>http://robotplaysguitar.com/2009/03/20/cancion-del-mes/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 09:51:20 +0000</pubDate>
		<dc:creator>Jacobo García López de Araujo</dc:creator>
				<category><![CDATA[Música]]></category>
		<category><![CDATA[folk]]></category>
		<category><![CDATA[magnolia electric co]]></category>
		<category><![CDATA[song: ohia]]></category>
		<category><![CDATA[temazo]]></category>

		<guid isPermaLink="false">http://robotplaysguitar.wordpress.com/?p=310</guid>
		<description><![CDATA[De lejos.

Songs Ohia: I&#8217;ve Been Riding with the Ghost.
Gracias a los dos entes musicales que me la descubrieron :)
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=310&subd=robotplaysguitar&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>De lejos.</p>
<p><span style='text-align:left;display:block;'><p><object type='application/x-shockwave-flash' data='http://robotplaysguitar.com/wp-content/plugins/audio-player/player.swf' width='290' height='24' id='audioplayer1'><param name='movie' value='http://robotplaysguitar.com/wp-content/plugins/audio-player/player.swf' /><param name='FlashVars' value='&amp;bg=0xf8f8f8&amp;leftbg=0xeeeeee&amp;lefticon=0x666666&amp;rightbg=0xcccccc&amp;rightbghover=0x999999&amp;righticon=0x666666&amp;righticonhover=0xffffff&amp;text=0x666666&amp;slider=0x666666&amp;track=0xFFFFFF&amp;border=0x666666&amp;loader=0x9FFFB8&amp;soundFile=http%3A%2F%2Fdl.getdropbox.com%2Fu%2F265209%2F02%2520I%2527ve%2520Been%2520Riding%2520With%2520The%2520Ghost.mp3' /><param name='quality' value='high' /><param name='menu' value='false' /><param name='bgcolor' value='#FFFFFF' /></object></p></span></p>
<p>Songs Ohia: I&#8217;ve Been Riding with the Ghost.</p>
<p>Gracias a los dos entes musicales que me la descubrieron :)</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robotplaysguitar.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robotplaysguitar.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robotplaysguitar.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robotplaysguitar.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robotplaysguitar.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robotplaysguitar.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robotplaysguitar.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robotplaysguitar.wordpress.com/310/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robotplaysguitar.wordpress.com/310/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robotplaysguitar.wordpress.com/310/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=robotplaysguitar.com&blog=23742&post=310&subd=robotplaysguitar&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://robotplaysguitar.com/2009/03/20/cancion-del-mes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://dl.getdropbox.com/u/265209/02%20I%27ve%20Been%20Riding%20With%20The%20Ghost.mp3" length="5046949" type="audio/mpeg" />
	
		<media:content url="http://1.gravatar.com/avatar/30bfc28a8d7ff0745bd96497b9932a07?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">robotplaysguitar</media:title>
		</media:content>

		<media:content url="http://dl.getdropbox.com/u/265209/02%20I%27ve%20Been%20Riding%20With%20The%20Ghost.mp3" medium="audio">
			<media:player url="http://robotplaysguitar.com/wp-content/plugins/audio-player/player.swf?soundFile=http://dl.getdropbox.com/u/265209/02%20I%27ve%20Been%20Riding%20With%20The%20Ghost.mp3" />
		</media:content>
	</item>
	</channel>
</rss>