<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2spanishfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Userlinux.net</title><link>http://www.userlinux.net/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/userlinux" /><description>Blog sobre sistemas operativos, Linux, Wireless, BSD, Open Source, Software Libre, Mac OS X, Apple... y otras tech</description><language>es-ES</language><image><link>http://www.userlinux.net/themes/lab2/images/feed.png</link><url>http://www.userlinux.net/themes/lab2/images/feed.png</url><title>Feed Userlinux</title></image><managingEditor>r0sk@userlinux.net (Oscar M. Lage r0sk)</managingEditor><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/userlinux" /><feedburner:info uri="userlinux" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fuserlinux" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/userlinux" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fuserlinux" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fuserlinux" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fuserlinux" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fuserlinux" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=es&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fuserlinux" src="http://eur.i1.yimg.com/eur.yimg.com/i/es/my/addto1.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.feedness.com/alta/http://feeds.feedburner.com/userlinux" src="http://www.feedness.com/ayuda/wp-content/square_b_sh_feed.gif">Subscribe with Feedness</feedburner:feedFlare><item><title>Jugar al Diablo 3 en Linux (Ubuntu 12.04)</title><link>http://feedproxy.google.com/~r/userlinux/~3/2uoQIKuC5g0/jugar-al-diablo-3-en-linux-ubuntu-12-04.html</link><category>juegos</category><category>ubuntu</category><category>diablo3</category><category>playonlinux</category><pubDate>Tue, 29 May 2012 13:31:30 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/jugar-al-diablo-3-en-linux-ubuntu-12-04.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	De todos es sabido que el pasado 15 de Mayo estaba marcado en el calendario como d&iacute;a importante por el lanzamiento del <a href="http://eu.battle.net/d3/es/">Diablo 3</a>. Las especificaciones de hardware son las que son, pero las de software no dicen toda la verdad... Jugar al Diablo 3 en Linux tambi&eacute;n se puede.</p>
<p>
	Y tenemos que agradec&eacute;rselo a <a href="http://www.playonlinux.com/es/">PlayOnLinux</a>, una herramienta basada en <a href="http://www.winehq.org/">Wine</a> capaz de ejecutar el cliente de dicho juego de forma sencillamente genial. Los pasos para la instalaci&oacute;n del juego, si contamos con un poco de paciencia por las descargas, son bastante sencillos:<br /><br /></p>
<ol>
	<li>
		Instalar <em>PlayOnLinux</em>, bien a trav&eacute;s del centro de software de tu distribuci&oacute;n (<em>Centro de software de Ubuntu</em> en este caso) o bien a trav&eacute;s de linea de comandos: <em>apt-get install playonlinux</em></li>
	<li>
		Configurar <em>PlayOnLinux</em> siguiendo el asistente. No hay nada extravagante en este paso, aceptar y poco m&aacute;s.</li>
	<li>
		Ahora, desde cualquier navegador web, nos logueamos con nuestra cuenta en <a href="http://eu.battle.net/d3/es/">Battle.net</a> y canjeamos nuestro cup&oacute;n por el cliente del juego. Si no tienes cup&oacute;n de canje el cliente del juego no estar&aacute; habilitado, as&iacute; que corre a ped&iacute;rselo a un amigo que se haya comprado el juego, que tendr&aacute;s unos d&iacute;as de diversi&oacute;n gratuita. Tienes dos opciones m&aacute;s: que ese amigo mol&oacute;n te deje su cuenta en la que el cliente ya estar&aacute; habilitado para descarga, o comprar el juego en digital, accesible tambi&eacute;n desde tu cuenta de Battle.net.</li>
	<li>
		Una vez tengas el cliente descargado (<em>Diablo-III-Setup-esES.exe</em>) abrimos <em>PlayOnLinux</em>, pulsamos en el bot&oacute;n &quot;<em>Instalar</em>&quot; y luego en la categor&iacute;a &quot;<em>Juegos</em>&quot;. Entre todos los juegos disponibles buscamos el &quot;<em>Diablo III</em>&quot; y pulsamos de nuevo en &quot;<em>Instalar</em>&quot;. Nos pedir&aacute; la ruta del instalador que previamente nos hemos descargado (o en su defecto, la ruta de los CD&#39;s de instalaci&oacute;n).</li>
	<li>
		Finalizamos la instalaci&oacute;n y lanzamos el cliente. Ya s&oacute;lo queda esperar a que acabe la descarga final (sobre 7Gb, aunque a partir de los 2.2Gb ya es jugable) para poder disfrutar de este fant&aacute;stico t&iacute;tulo.</li>
</ol>
<p>
	Como v&eacute;is el procedimiento es trivial, <em>PlayOnLinux</em>, descarga de cliente y ejecuci&oacute;n del mismo dentro del entorno. Gracias a <em>Wine</em> y a este tipo de software cada d&iacute;a es menos doloroso jugar a las &uacute;ltimas novedades en nuestro sabor favorito de ping&uuml;ino. Y, lo mejor, sin depender en absoluto de <em>Microsoft</em>.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=2uoQIKuC5g0:q1S5D6gqjtw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=2uoQIKuC5g0:q1S5D6gqjtw:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=2uoQIKuC5g0:q1S5D6gqjtw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=2uoQIKuC5g0:q1S5D6gqjtw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=2uoQIKuC5g0:q1S5D6gqjtw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=2uoQIKuC5g0:q1S5D6gqjtw:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/2uoQIKuC5g0" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	De todos es sabido que el pasado 15 de Mayo estaba marcado en el calendario como d&amp;iacute;a importante por el lanzamiento del &lt;a href="http://eu.battle.net/d3/es/"&gt;Diablo 3&lt;/a&gt;. Las especificaciones de hardware son las que son, pero las de software no dicen toda la verdad... Jugar al Diablo 3 en Linux tambi&amp;eacute;n se puede.&lt;/p&gt;
&lt;p&gt;
	Y tenemos que agradec&amp;eacute;rselo a &lt;a href="http://www.playonlinux.com/es/"&gt;PlayOnLinux&lt;/a&gt;, una herramienta basada en &lt;a href="http://www.winehq.org/"&gt;Wine&lt;/a&gt; capaz de ejecutar el cliente de dicho juego de forma sencillamente genial. Los pasos para la instalaci&amp;oacute;n del juego, si contamos con un poco de paciencia por las descargas, son bastante sencillos:</description><feedburner:origLink>http://www.userlinux.net/jugar-al-diablo-3-en-linux-ubuntu-12-04.html</feedburner:origLink></item><item><title>4 años</title><link>http://feedproxy.google.com/~r/userlinux/~3/Z22NPh_VooI/4-anos.html</link><category>personal</category><category>twitt</category><pubDate>Thu, 17 May 2012 00:48:04 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/4-anos.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Y todav&iacute;a puedo sentir <a href="http://www.userlinux.net/1322_hoy_mi_boda.html">los nervios</a>, aunque hoy nos reimos con la nostalgia de los grandes momentos que hemos dejado atr&aacute;s e ilusi&oacute;n por los que han de llegar.&nbsp;Sauda&ccedil;&otilde;es do Porto!.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=Z22NPh_VooI:qSnXarQhyEA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=Z22NPh_VooI:qSnXarQhyEA:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=Z22NPh_VooI:qSnXarQhyEA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=Z22NPh_VooI:qSnXarQhyEA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=Z22NPh_VooI:qSnXarQhyEA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=Z22NPh_VooI:qSnXarQhyEA:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/Z22NPh_VooI" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Y todav&amp;iacute;a puedo sentir &lt;a href="http://www.userlinux.net/1322_hoy_mi_boda.html"&gt;los nervios&lt;/a&gt;, aunque hoy nos reimos con la nostalgia de los grandes momentos que hemos dejado atr&amp;aacute;s e ilusi&amp;oacute;n por los que han de llegar.&amp;nbsp;Sauda&amp;ccedil;&amp;otilde;es do Porto!.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/4-anos.html</feedburner:origLink></item><item><title>Django-TinyMCE + Django-Filebrowser</title><link>http://feedproxy.google.com/~r/userlinux/~3/G05gu73NhMY/django-tinymce-django-filebrowser.html</link><category>django</category><category>tinymce</category><category>filebrowser</category><pubDate>Mon, 07 May 2012 12:53:10 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/django-tinymce-django-filebrowser.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Me v&aacute;is a permitir una peque&ntilde;a nota mental porque siempre me hago un l&iacute;o. A la hora de usar un editor <em>WYSIWYG</em> en <a href="http://www.djangoproject.org">Django</a> normalmente las preguntas suelen ser las mismas de siempre:</p>
<ol>
	<li>
		&iquest;TinyMCE &oacute; CKEditor?.</li>
	<li>
		&iquest;Django Filebrowser con Grappelli o sin Grappelli?</li>
	<li>
		&iquest;Funcionar&aacute; en Django 1.4?</li>
	<li>
		&iquest;Vienen integrados con uploaders de im&aacute;genes?.</li>
	<li>
		&iquest;Funciona autom&aacute;gicamente con el admin de Django?.</li>
	<li>
		&iexcl;Truenos!, no me funciona a la primera, &iquest;por qu&eacute;?.</li>
</ol>
<p>
	Las respuestas son sencillas una vez se ha probado... y como es la segunda vez que tropiezo con la misma piedra casi prefiero dejarlo documentado para torpes como yo.<br /><br /></p>
<p>
	<strong>&iquest;TinyMCE &oacute; CKEditor?</strong></p>
<p>
	Yo actualmente estoy usando TinyMCE con el paquete <a href="https://github.com/aljosa/django-tinymce">django-tinymce</a>&nbsp;(<em>django-tinymce==1.5.1b2</em>) porque funciona bien en conjunci&oacute;n con <a href="https://github.com/wardi/django-filebrowser-no-grappelli">django-filebrowser-no-grappelli</a>&nbsp;(<em>django-filebrowser-no-grappelli==3.0</em>) y es muy sencillo de utilizar (<a href="http://code.djangoproject.com/wiki/AddWYSIWYGEditor#Withnewforms-admin">link</a>, <a href="http://code.djangoproject.com/wiki/AddWYSIWYGEditor">link</a>).</p>
<p>
	<strong>&iquest;Django Filebrowser con Grappelli o sin Grappelli?</strong></p>
<p>
	Queda respondida con la anterior, en principio utilizo la versi&oacute;n &quot;no-grappelli&quot; porque quiero tener las dependencias m&iacute;nimas para que los proyectos funcionen de forma aut&oacute;noma. Todav&iacute;a no he probado <a href="https://github.com/sehmaschine/django-grappelli">Grappelli</a> en profundidad, estoy convencido que el d&iacute;a que lo haga me gustar&aacute;, pero mientras tanto me voy apa&ntilde;ando (algo he leido sobre incompatibiliades de esta modificaci&oacute;n con Django 1.4).</p>
<p>
	<strong>&iquest;Funcionar&aacute; en Django 1.4?</strong></p>
<p>
	Puedo asegurar que django-tinymce + django-filebrowser-no-grappelli es <em>fully functional </em>en Django 1.4. Upload con uploadify y select combinado con tinymce incluidos. El mayor problema que nos podremos encontrar es la ubicaci&oacute;n de los .js.</p>
<p>
	<strong>&iquest;Vienen integrados con uploaders de im&aacute;genes?</strong></p>
<p>
	Si, <em>django-filebrowser-no-grappelli</em> viene con un upload gen&eacute;rico (en caso de no tener Flash) y <a href="http://www.uploadify.com/">Uploadify</a>&nbsp;en caso de disponer del plugin de Adobe. Por si a alguien le interesa, tambi&eacute;n hay un paquete llamado <a href="https://github.com/alexvasi/django-filebrowser-no-grappelli-and-uploadify">django-filebrowser-no-grappelli-and-uploadify</a>&nbsp;(un fork del anterior sin Uploadify para los que odian Flash).</p>
<p>
	<strong>&iquest;Funciona autom&aacute;gicamente con el admin de Django?</strong></p>
<p>
	Si, sin duda. Siguiendo las instrucciones indicadas, <em>django-tinymce</em> es capaz de renderizar todos los campos de tipo <em>TextField()</em> con su WYSIWYG correspondiente para que puedas hacer de la edici&oacute;n de texto una tarea m&aacute;s sencilla.</p>
<p>
	<strong>&iexcl;Truenos!, no me funciona a la primera, &iquest;por qu&eacute;?</strong></p>
<p>
	Depende, yo las dos veces que <em>tropec&eacute; </em>fueron b&aacute;sicamente por lo mismo: los archivos javascript no estaban colocados en la ubicaci&oacute;n correcta. Me hab&iacute;a hecho un l&iacute;o entre <em>/media/</em> y <em>/admin/media/</em> y no se hab&iacute;an cargado varios archivos necesarios para el correcto funcionamiento. Los .js estaban situados correctamente pero llaman a otros .js que estaban hu&eacute;rfanos. &iexcl;Usa un Firebug o similar!.</p>
<p>
	<strong>No te creo</strong></p>
<p>
	Tampoco lo pretend&iacute;a, lo &uacute;nico que puedo hacer es presentar un pantallazo justificando toda esta parrafada que acabo de escribir:</p>
<p style="text-align: center; ">
	<img alt="" src="http://www.userlinux.net/uploads/media/images/django-tinymce-django-filebrowser.jpg" style="width: 550px; height: 433px; " /></p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=G05gu73NhMY:FWzCQt8DB1Y:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=G05gu73NhMY:FWzCQt8DB1Y:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=G05gu73NhMY:FWzCQt8DB1Y:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=G05gu73NhMY:FWzCQt8DB1Y:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=G05gu73NhMY:FWzCQt8DB1Y:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=G05gu73NhMY:FWzCQt8DB1Y:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/G05gu73NhMY" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Me v&amp;aacute;is a permitir una peque&amp;ntilde;a nota mental porque siempre me hago un l&amp;iacute;o. A la hora de usar un editor &lt;em&gt;WYSIWYG&lt;/em&gt; en &lt;a href="http://www.djangoproject.org"&gt;Django&lt;/a&gt; normalmente las preguntas suelen ser las mismas de siempre:&lt;/p&gt;
&lt;ol&gt;
	&lt;li&gt;
		&amp;iquest;TinyMCE &amp;oacute; CKEditor?.&lt;/li&gt;
	&lt;li&gt;
		&amp;iquest;Django Filebrowser con Grappelli o sin Grappelli?&lt;/li&gt;
	&lt;li&gt;
		&amp;iquest;Funcionar&amp;aacute; en Django 1.4?&lt;/li&gt;
	&lt;li&gt;
		&amp;iquest;Vienen integrados con uploaders de im&amp;aacute;genes?.&lt;/li&gt;
	&lt;li&gt;
		&amp;iquest;Funciona autom&amp;aacute;gicamente con el admin de Django?.&lt;/li&gt;
	&lt;li&gt;
		&amp;iexcl;Truenos!, no me funciona a la primera, &amp;iquest;por qu&amp;eacute;?.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;
	Las respuestas son sencillas una vez se ha probado... y como es la segunda vez que tropiezo con la misma piedra casi prefiero dejarlo documentado para torpes como yo.</description><feedburner:origLink>http://www.userlinux.net/django-tinymce-django-filebrowser.html</feedburner:origLink></item><item><title>Nginx: 502 Bad Gateway</title><link>http://feedproxy.google.com/~r/userlinux/~3/40d848-9AhU/nginx-502-bad-gateway.html</link><category>php</category><category>captcha</category><category>nginx</category><pubDate>Sun, 29 Apr 2012 02:59:11 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/nginx-502-bad-gateway.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	He tenido que lidiar con un escenario bastante interesante como sysadmin, al menos me ha tenido entretenido durante alg&uacute;n tiempo, cosa que &uacute;ltimamente estaba echando de menos. Empezando por la moraleja tengo que decir que debemos tener cuidado con los datos de sesi&oacute;n cuando utilizamos Nginx como proxy transparente hacia Apache.</p>
<p>
	En este caso concreto se trata de un simple <em>captcha</em>. Nginx escuchando en el 80 actuando como proxy transparente a un Apache en el 8080 con mod_php entre otras cosas. El c&oacute;digo php que inserta valores en sesi&oacute;n es el siguiente:</p>
<pre>
// Preguntas y respuestas para Captcha
$preguntas = array (&quot;&iquest;Qu&eacute; idioma se usa en Espa&ntilde;a?&quot;, &quot;&iquest;Otra?&quot;);
$respuestas = array (0 =&gt; array(&quot;espa&ntilde;ol&quot;), 1=&gt;array(&quot;respuesta&quot;));
$ci-&gt;session-&gt;set_userdata(array(&#39;captcha_pregunta&#39;=&gt;$preguntas[0]));
$ci-&gt;session-&gt;set_userdata(array(&#39;captcha_respuestas&#39;=&gt;$respuestas[0]));
return $preguntas[$num];
</pre>
<p>
	Bien, pues cuando el array de respuestas tiene un caracter raro (&ntilde;, tildes...), Nginx nos ofrece un <em>502 Bad Gateway</em>. Es curioso porque no pasa lo mismo con el array de preguntas, s&oacute;lo con el de respuestas. Cambiando, por ejemplo &quot;espa&ntilde;ol&quot; por &quot;castellano&quot; todo parece funcionar de forma adecuada.</p>
<p>
	No tengo ni idea del motivo por el que sucede &eacute;sto, y s&eacute; que cambiar la respuesta no es la mejor de las soluciones pero cuando el tiempo aprieta... es lo que hay. Cualquier comentario al respecto ser&aacute; bienvenido.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=40d848-9AhU:fOrPMHoVNSk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=40d848-9AhU:fOrPMHoVNSk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=40d848-9AhU:fOrPMHoVNSk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=40d848-9AhU:fOrPMHoVNSk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=40d848-9AhU:fOrPMHoVNSk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=40d848-9AhU:fOrPMHoVNSk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/40d848-9AhU" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	He tenido que lidiar con un escenario bastante interesante como sysadmin, al menos me ha tenido entretenido durante alg&amp;uacute;n tiempo, cosa que &amp;uacute;ltimamente estaba echando de menos. Empezando por la moraleja tengo que decir que debemos tener cuidado con los datos de sesi&amp;oacute;n cuando utilizamos Nginx como proxy transparente hacia Apache.&lt;/p&gt;
&lt;p&gt;
	En este caso concreto se trata de un simple &lt;em&gt;captcha&lt;/em&gt;. Nginx escuchando en el 80 actuando como proxy transparente a un Apache en el 8080 con mod_php entre otras cosas. El c&amp;oacute;digo php que inserta valores en sesi&amp;oacute;n es el siguiente:&lt;/p&gt;
&lt;pre&gt;
// Preguntas y respuestas para Captcha
$preguntas = array (&amp;quot;&amp;iquest;Qu&amp;eacute; idioma se usa en Espa&amp;ntilde;a?&amp;quot;, &amp;quot;&amp;iquest;Otra?&amp;quot;);
$respuestas = array (0 =&amp;gt; array(&amp;quot;espa&amp;ntilde;ol&amp;quot;), 1=&amp;gt;array(&amp;quot;respuesta&amp;quot;));
$ci-&amp;gt;session-&amp;gt;set_userdata(array(&amp;#39;captcha_pregunta&amp;#39;=&amp;gt;$preguntas[0]));
$ci-&amp;gt;session-&amp;gt;set_userdata(array(&amp;#39;captcha_respuestas&amp;#39;=&amp;gt;$respuestas[0]));
return $preguntas[$num];
&lt;/pre&gt;
&lt;p&gt;
	Bien, pues cuando el array de respuestas tiene un caracter raro (&amp;ntilde;, tildes...), Nginx nos ofrece un &lt;em&gt;502 Bad Gateway&lt;/em&gt;. Es curioso porque no pasa lo mismo con el array de preguntas, s&amp;oacute;lo con el de respuestas. Cambiando, por ejemplo &amp;quot;espa&amp;ntilde;ol&amp;quot; por &amp;quot;castellano&amp;quot; todo parece funcionar de forma adecuada.&lt;/p&gt;
&lt;p&gt;
	No tengo ni idea del motivo por el que sucede &amp;eacute;sto, y s&amp;eacute; que cambiar la respuesta no es la mejor de las soluciones pero cuando el tiempo aprieta... es lo que hay. Cualquier comentario al respecto ser&amp;aacute; bienvenido.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/nginx-502-bad-gateway.html</feedburner:origLink></item><item><title>Django: Cambiando de DB Engine</title><link>http://feedproxy.google.com/~r/userlinux/~3/RuriIol_UeI/django-cambiando-de-db-engine.html</link><category>django</category><category>fixtures</category><category>loaddata</category><category>dumpdata</category><pubDate>Sat, 28 Apr 2012 09:42:31 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/django-cambiando-de-db-engine.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Normalmente las especificaciones de un entorno de desarrollo y las de un entorno en producci&oacute;n suelen ser bastante diferentes. Quiz&aacute;s en el primero buscas la comodidad mientras que cuando se hace el <em>deploy</em> a producci&oacute;n priman otras cosas. Este suele ser el caso del motor de base de datos cuando trabajas con <a href="http://djangoproject.org">Django</a>.</p>
<p>
	Durante el proceso de desarrollo es muy c&oacute;modo utilizar <em>sqlite </em>porque no requiere de ning&uacute;n servidor adicional y est&aacute; soportado de base en Django (<em>builtin</em>). Es posible que una vez acabado el desarrollo queramos cambiar a otro <em>SGBD</em> &quot;de verdad&quot; como pueden ser <em>MySQL</em> o <em>PostgreSQL</em>.</p>
<p>
	Lo que podr&iacute;a suponer un quebradero de cabeza en otras arquitecturas, en nuestro caso utilizando <em>dumpdata</em> y <em>loaddata</em>, se reduce a las siguientes tres lineas:</p>
<pre>
$ python manage.py dumpdata --indent=4 --format=json &gt; fixtures.json
$ scp fixtures.json user@remote:/path/project/
(remote)$ python manage.py loaddata fixtures.json
</pre>
<p>
	En la primera usamos <a href="https://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-appname-appname-appname-model">dumpdata</a>&nbsp;para hacer un dumpeado de todos los datos de la aplicaci&oacute;n (sqlite) en formato json, posteriormente pasamos ese archivo al entorno de producci&oacute;n (en este caso pongamos de ejemplo a otro servidor) y all&iacute; finalmente (con el conector apuntando al nuevo gestor) ejecutamos el <a href="https://docs.djangoproject.com/en/dev/ref/django-admin/#loaddata-fixture-fixture">loaddata</a> para insertar los datos.</p>
<p>
	Et voil&agrave;!</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=RuriIol_UeI:o1gqixEvn5U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=RuriIol_UeI:o1gqixEvn5U:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=RuriIol_UeI:o1gqixEvn5U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=RuriIol_UeI:o1gqixEvn5U:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=RuriIol_UeI:o1gqixEvn5U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=RuriIol_UeI:o1gqixEvn5U:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/RuriIol_UeI" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Normalmente las especificaciones de un entorno de desarrollo y las de un entorno en producci&amp;oacute;n suelen ser bastante diferentes. Quiz&amp;aacute;s en el primero buscas la comodidad mientras que cuando se hace el &lt;em&gt;deploy&lt;/em&gt; a producci&amp;oacute;n priman otras cosas. Este suele ser el caso del motor de base de datos cuando trabajas con &lt;a href="http://djangoproject.org"&gt;Django&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
	Durante el proceso de desarrollo es muy c&amp;oacute;modo utilizar &lt;em&gt;sqlite &lt;/em&gt;porque no requiere de ning&amp;uacute;n servidor adicional y est&amp;aacute; soportado de base en Django (&lt;em&gt;builtin&lt;/em&gt;). Es posible que una vez acabado el desarrollo queramos cambiar a otro &lt;em&gt;SGBD&lt;/em&gt; &amp;quot;de verdad&amp;quot; como pueden ser &lt;em&gt;MySQL&lt;/em&gt; o &lt;em&gt;PostgreSQL&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;
	Lo que podr&amp;iacute;a suponer un quebradero de cabeza en otras arquitecturas, en nuestro caso utilizando &lt;em&gt;dumpdata&lt;/em&gt; y &lt;em&gt;loaddata&lt;/em&gt;, se reduce a las siguientes tres lineas:&lt;/p&gt;
&lt;pre&gt;
$ python manage.py dumpdata --indent=4 --format=json &amp;gt; fixtures.json
$ scp fixtures.json user@remote:/path/project/
(remote)$ python manage.py loaddata fixtures.json
&lt;/pre&gt;
&lt;p&gt;
	En la primera usamos &lt;a href="https://docs.djangoproject.com/en/dev/ref/django-admin/#dumpdata-appname-appname-appname-model"&gt;dumpdata&lt;/a&gt;&amp;nbsp;para hacer un dumpeado de todos los datos de la aplicaci&amp;oacute;n (sqlite) en formato json, posteriormente pasamos ese archivo al entorno de producci&amp;oacute;n (en este caso pongamos de ejemplo a otro servidor) y all&amp;iacute; finalmente (con el conector apuntando al nuevo gestor) ejecutamos el &lt;a href="https://docs.djangoproject.com/en/dev/ref/django-admin/#loaddata-fixture-fixture"&gt;loaddata&lt;/a&gt; para insertar los datos.&lt;/p&gt;
&lt;p&gt;
	Et voil&amp;agrave;!&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/django-cambiando-de-db-engine.html</feedburner:origLink></item><item><title>#GraciasPep</title><link>http://feedproxy.google.com/~r/userlinux/~3/ZqTmA2tj2tM/graciaspep.html</link><category>futbol</category><category>fcbarcelona</category><category>guardiola</category><pubDate>Fri, 27 Apr 2012 10:31:33 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/graciaspep.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	La rueda de prensa de hoy en la Ciudad Condal para dar a conocer la marcha de <strong>Don Josep Guardiola i Sala</strong> me ha recordado al archi famoso discurso de <strong>Steve Jobs</strong> en Stanford (2005):</p>
<p>
	&quot;<em>Ten&eacute;is que encontrar lo que am&aacute;is. Y eso es tan v&aacute;lido para el trabajo como para el amor. El trabajo llenar&aacute; gran parte de vuestras vidas y la &uacute;nica manera de sentirse realmente satisfecho es hacer aquello que cre&eacute;is que es un gran trabajo. Y la &uacute;nica forma de hacer un gran trabajo es amar lo que se hace. Si todav&iacute;a no lo hab&eacute;is encontrado, seguid buscando.</em></p>
<p>
	<em>No os deteng&aacute;is. Al igual que con los asuntos del coraz&oacute;n, sabr&eacute;is cuando lo hab&eacute;is encontrado. Y al igual que cualquier relaci&oacute;n importante, mejora con el paso de los a&ntilde;os. As&iacute; que seguid buscando. Y no os par&eacute;is.</em></p>
<p>
	<em>Seguid hambrientos. Seguid alocados.</em>&quot;</p>
<p>
	Gracias por haber reinventado el deporte rey en pleno siglo XXI. Y sobre todo gracias por hacer de esas reuniones familiares cada 3 d&iacute;as para ver Liga, Copa y Champions durante 4 a&ntilde;os un huerto de risas, t&iacute;tulos y disfrute, ha sido todo un honor poder formar parte desde este otro lado.</p>
<p>
	Los que hemos tenido el privilegio de ver a tu Barcelona nos encargaremos de que tu leyenda no se apague nunca.&nbsp;Que te vaya bonito Pep.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=ZqTmA2tj2tM:Ne-xydM8xSc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ZqTmA2tj2tM:Ne-xydM8xSc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ZqTmA2tj2tM:Ne-xydM8xSc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=ZqTmA2tj2tM:Ne-xydM8xSc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ZqTmA2tj2tM:Ne-xydM8xSc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=ZqTmA2tj2tM:Ne-xydM8xSc:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/ZqTmA2tj2tM" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	La rueda de prensa de hoy en la Ciudad Condal para dar a conocer la marcha de &lt;strong&gt;Don Josep Guardiola i Sala&lt;/strong&gt; me ha recordado al archi famoso discurso de &lt;strong&gt;Steve Jobs&lt;/strong&gt; en Stanford (2005):&lt;/p&gt;
&lt;p&gt;
	&amp;quot;&lt;em&gt;Ten&amp;eacute;is que encontrar lo que am&amp;aacute;is. Y eso es tan v&amp;aacute;lido para el trabajo como para el amor. El trabajo llenar&amp;aacute; gran parte de vuestras vidas y la &amp;uacute;nica manera de sentirse realmente satisfecho es hacer aquello que cre&amp;eacute;is que es un gran trabajo. Y la &amp;uacute;nica forma de hacer un gran trabajo es amar lo que se hace. Si todav&amp;iacute;a no lo hab&amp;eacute;is encontrado, seguid buscando.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;em&gt;No os deteng&amp;aacute;is. Al igual que con los asuntos del coraz&amp;oacute;n, sabr&amp;eacute;is cuando lo hab&amp;eacute;is encontrado. Y al igual que cualquier relaci&amp;oacute;n importante, mejora con el paso de los a&amp;ntilde;os. As&amp;iacute; que seguid buscando. Y no os par&amp;eacute;is.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
	&lt;em&gt;Seguid hambrientos. Seguid alocados.&lt;/em&gt;&amp;quot;&lt;/p&gt;
&lt;p&gt;
	Gracias por haber reinventado el deporte rey en pleno siglo XXI. Y sobre todo gracias por hacer de esas reuniones familiares cada 3 d&amp;iacute;as para ver Liga, Copa y Champions durante 4 a&amp;ntilde;os un huerto de risas, t&amp;iacute;tulos y disfrute, ha sido todo un honor poder formar parte desde este otro lado.&lt;/p&gt;
&lt;p&gt;
	Los que hemos tenido el privilegio de ver a tu Barcelona nos encargaremos de que tu leyenda no se apague nunca.&amp;nbsp;Que te vaya bonito Pep.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/graciaspep.html</feedburner:origLink></item><item><title>Reseteando terminal en GNU Screen</title><link>http://feedproxy.google.com/~r/userlinux/~3/41XaasoAlrg/reseteando-terminal-en-gnu-screen.html</link><category>terminal</category><category>screen</category><pubDate>Tue, 24 Apr 2012 00:59:22 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/reseteando-terminal-en-gnu-screen.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Hay veces - pocas - en las que <a href="http://en.gentoo-wiki.com/wiki/Screen">GNU Screen</a> se comporta de forma extra&ntilde;a cuando est&aacute;s trabajando con <em>windows</em>, redimensiones y tama&ntilde;os distintos. Buscando por internet me ha costado encontrar el <em>shortcut</em> del reseteo de un terminal screen, as&iacute; que aqu&iacute; queda:</p>
<ul>
	<li>
		Ctrl-a + Z</li>
</ul>
<p>
	Suponiendo que la &quot;<em>a</em>&quot; sea la tecla que activa la secuencia de escape de comandos. N&oacute;tese que la <em>Z</em> es may&uacute;scula. Con esta combinaci&oacute;n de teclas volveremos a tener screen como si lo acab&aacute;ramos de lanzar. Micropost del d&iacute;a patrocinado por <em>Agua Mineral Natural D&iacute;a</em>.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=41XaasoAlrg:3zZZGJIreE8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=41XaasoAlrg:3zZZGJIreE8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=41XaasoAlrg:3zZZGJIreE8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=41XaasoAlrg:3zZZGJIreE8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=41XaasoAlrg:3zZZGJIreE8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=41XaasoAlrg:3zZZGJIreE8:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/41XaasoAlrg" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Hay veces - pocas - en las que &lt;a href="http://en.gentoo-wiki.com/wiki/Screen"&gt;GNU Screen&lt;/a&gt; se comporta de forma extra&amp;ntilde;a cuando est&amp;aacute;s trabajando con &lt;em&gt;windows&lt;/em&gt;, redimensiones y tama&amp;ntilde;os distintos. Buscando por internet me ha costado encontrar el &lt;em&gt;shortcut&lt;/em&gt; del reseteo de un terminal screen, as&amp;iacute; que aqu&amp;iacute; queda:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Ctrl-a + Z&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	Suponiendo que la &amp;quot;&lt;em&gt;a&lt;/em&gt;&amp;quot; sea la tecla que activa la secuencia de escape de comandos. N&amp;oacute;tese que la &lt;em&gt;Z&lt;/em&gt; es may&amp;uacute;scula. Con esta combinaci&amp;oacute;n de teclas volveremos a tener screen como si lo acab&amp;aacute;ramos de lanzar. Micropost del d&amp;iacute;a patrocinado por &lt;em&gt;Agua Mineral Natural D&amp;iacute;a&lt;/em&gt;.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/reseteando-terminal-en-gnu-screen.html</feedburner:origLink></item><item><title>Mirror con wget</title><link>http://feedproxy.google.com/~r/userlinux/~3/vQZRmYGZdo0/mirror-con-wget.html</link><category>wget</category><pubDate>Wed, 28 Mar 2012 09:52:55 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/mirror-con-wget.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Una r&aacute;pida... ten&iacute;a urgencia de hacer una especie de mirror, backup o como queramos llamarlo de una p&aacute;gina web en local, en est&aacute;tico; convertir el contenido din&aacute;mico en <em>.html</em> con sus correspondientes <em>.css</em> y <em>.js</em>. Obviamente se me vinieron a la mente varios aspectos que no funcionar&iacute;an, im&aacute;genes en css, enlaces absolutos... Y despu&eacute;s de un par de pruebas, la soluci&oacute;n:</p>
<pre>
$ wget -mcpk http://pagina-a-cachear.com/</pre>
<p>
	Mejor que m&aacute;gico. Estaba claro que usar&iacute;a <em>wget</em>, pero no sab&iacute;a que era tan rico en opciones, conoc&iacute;a <em>-m</em> (<em>--mirror</em>, recursividad infinita y muchas otras opciones), y <em>-c</em> (<em>--continue</em>, contin&uacute;a desde el &uacute;ltimo archivo bajado en caso de corte). Pero <em>-p</em> (<em>--page-requisites</em>, para descargar todo tipo de recursos, css, im&aacute;genes y dem&aacute;s para que se vea localmente) y <em>-k</em> (<em>--convert-links</em>, convierte los enlaces a accesibles de forma local) me han facilitado un mundo el trabajo.</p>
<p>
	Ahora es cuando toca gritar tres hurras por <em>wget</em> y alabar - <em>una vez m&aacute;s</em> - el <em>open source</em> y todas las posibilidades que nos ofrece.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=vQZRmYGZdo0:_bJcH1gEJnE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=vQZRmYGZdo0:_bJcH1gEJnE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=vQZRmYGZdo0:_bJcH1gEJnE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=vQZRmYGZdo0:_bJcH1gEJnE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=vQZRmYGZdo0:_bJcH1gEJnE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=vQZRmYGZdo0:_bJcH1gEJnE:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/vQZRmYGZdo0" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Una r&amp;aacute;pida... ten&amp;iacute;a urgencia de hacer una especie de mirror, backup o como queramos llamarlo de una p&amp;aacute;gina web en local, en est&amp;aacute;tico; convertir el contenido din&amp;aacute;mico en &lt;em&gt;.html&lt;/em&gt; con sus correspondientes &lt;em&gt;.css&lt;/em&gt; y &lt;em&gt;.js&lt;/em&gt;. Obviamente se me vinieron a la mente varios aspectos que no funcionar&amp;iacute;an, im&amp;aacute;genes en css, enlaces absolutos... Y despu&amp;eacute;s de un par de pruebas, la soluci&amp;oacute;n:&lt;/p&gt;
&lt;pre&gt;
$ wget -mcpk http://pagina-a-cachear.com/&lt;/pre&gt;
&lt;p&gt;
	Mejor que m&amp;aacute;gico. Estaba claro que usar&amp;iacute;a &lt;em&gt;wget&lt;/em&gt;, pero no sab&amp;iacute;a que era tan rico en opciones, conoc&amp;iacute;a &lt;em&gt;-m&lt;/em&gt; (&lt;em&gt;--mirror&lt;/em&gt;, recursividad infinita y muchas otras opciones), y &lt;em&gt;-c&lt;/em&gt; (&lt;em&gt;--continue&lt;/em&gt;, contin&amp;uacute;a desde el &amp;uacute;ltimo archivo bajado en caso de corte). Pero &lt;em&gt;-p&lt;/em&gt; (&lt;em&gt;--page-requisites&lt;/em&gt;, para descargar todo tipo de recursos, css, im&amp;aacute;genes y dem&amp;aacute;s para que se vea localmente) y &lt;em&gt;-k&lt;/em&gt; (&lt;em&gt;--convert-links&lt;/em&gt;, convierte los enlaces a accesibles de forma local) me han facilitado un mundo el trabajo.&lt;/p&gt;
&lt;p&gt;
	Ahora es cuando toca gritar tres hurras por &lt;em&gt;wget&lt;/em&gt; y alabar - &lt;em&gt;una vez m&amp;aacute;s&lt;/em&gt; - el &lt;em&gt;open source&lt;/em&gt; y todas las posibilidades que nos ofrece.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/mirror-con-wget.html</feedburner:origLink></item><item><title>Screencast: Hello World en Flask en menos de 3 minutos</title><link>http://feedproxy.google.com/~r/userlinux/~3/1aPT-4rmS0U/screencast-hello-world-en-flask-en-menos-de-3-minutos.html</link><category>python</category><category>flask</category><pubDate>Thu, 22 Mar 2012 15:09:00 PDT</pubDate><guid isPermaLink="false">http://www.userlinux.net/screencast-hello-world-en-flask-en-menos-de-3-minutos.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Siempre me ha apetecido hacer un screencast pero nunca me he atrevido as&iacute; que en alg&uacute;n momento hab&iacute;a que romper ese miedo esc&eacute;nico. Y me he decidido con una <em>micro</em> grabaci&oacute;n de la instalaci&oacute;n de <a href="http://flask.pocoo.org">Flask</a> con <a href="http://pypi.python.org/pypi/pip">pip</a> dentro de un entorno virtual (<a href="http://www.virtualenv.org/en/latest/index.html">virtualenv</a>).</p>
<p>
	Y como&nbsp;<em>bonus</em> veremos el medi&aacute;tico <em>HelloWorld</em> en poco m&aacute;s de 5 lineas de c&oacute;digo con el servidor <em>builtin </em>que nos ofrece el fant&aacute;stico framework... Espero que les guste.<br /><br /></p>
<p style="text-align: center; ">
	<iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/7bYvJvF-6X0" width="420"></iframe></p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=1aPT-4rmS0U:kbnI6kckJbE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=1aPT-4rmS0U:kbnI6kckJbE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=1aPT-4rmS0U:kbnI6kckJbE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=1aPT-4rmS0U:kbnI6kckJbE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=1aPT-4rmS0U:kbnI6kckJbE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=1aPT-4rmS0U:kbnI6kckJbE:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/1aPT-4rmS0U" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Siempre me ha apetecido hacer un screencast pero nunca me he atrevido as&amp;iacute; que en alg&amp;uacute;n momento hab&amp;iacute;a que romper ese miedo esc&amp;eacute;nico. Y me he decidido con una &lt;em&gt;micro&lt;/em&gt; grabaci&amp;oacute;n de la instalaci&amp;oacute;n de &lt;a href="http://flask.pocoo.org"&gt;Flask&lt;/a&gt; con &lt;a href="http://pypi.python.org/pypi/pip"&gt;pip&lt;/a&gt; dentro de un entorno virtual (&lt;a href="http://www.virtualenv.org/en/latest/index.html"&gt;virtualenv&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;
	Y como&amp;nbsp;&lt;em&gt;bonus&lt;/em&gt; veremos el medi&amp;aacute;tico &lt;em&gt;HelloWorld&lt;/em&gt; en poco m&amp;aacute;s de 5 lineas de c&amp;oacute;digo con el servidor &lt;em&gt;builtin &lt;/em&gt;que nos ofrece el fant&amp;aacute;stico framework... Espero que les guste.</description><feedburner:origLink>http://www.userlinux.net/screencast-hello-world-en-flask-en-menos-de-3-minutos.html</feedburner:origLink></item><item><title>Configurar APN en Android</title><link>http://feedproxy.google.com/~r/userlinux/~3/qMr3gjz4l-g/configurar-apn-en-android.html</link><category>movil</category><category>teléfonos</category><category>android</category><category>apn</category><pubDate>Thu, 08 Mar 2012 04:08:49 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/configurar-apn-en-android.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Si te ha pasado como a mi, tienes un tel&eacute;fono libre y te cambias de compa&ntilde;&iacute;a, tendr&aacute;s que pasar por la configuraci&oacute;n del 3G de forma manual (siempre y cuando poseas tarifa de datos). Realmente es muy sencillo configurar cualquier tel&eacute;fono Android con los nuevos valores, pero hay una peque&ntilde;a inconveniencia que me gustar&iacute;a comentar.</p>
<p>
	Los pasos para configurar el APN (que as&iacute; les llaman a los puntos de acceso <strong>A</strong>ccess <strong>P</strong>oint <strong>N</strong>ame) son simples:</p>
<ul>
	<li>
		Men&uacute; -&gt; Ajustes -&gt; Conexiones inal&aacute;mbricas</li>
	<li>
		Redes M&oacute;viles -&gt; APN</li>
	<li>
		Men&uacute; -&gt; APN Nuevo</li>
	<li>
		Agregamos los datos, normalmente el nombre que queremos para esa conexi&oacute;n (por si tenemos varias, a nuestra elecci&oacute;n), APN, usuario y contrase&ntilde;a. Dejo <a href="http://wiki.bandaancha.st/APN_de_las_operadoras_para_configurar_el_m%C3%B3dem_de_Internet_m%C3%B3vil_3G">un enlace</a> tambi&eacute;n donde est&aacute;n documentados los datos de las operadoras nacionales.</li>
	<li>
		Guardamos los valores introducidos y seleccionamos la nueva conexi&oacute;n.<br /><br /></li>
</ul>
<p>
	Sencillo &iquest;verdad?, el principal problema que he encontrado a la hora de completar con &eacute;xito esta configuraci&oacute;n tiene que ver, no s&eacute; muy bien si con el terminal en cuesti&oacute;n, con el teclado que tengamos instalado, o directamente con el API de Android.</p>
<p>
	Se trata del maldito <strong>espacio en blanco</strong> que acostumbra a poner el m&oacute;vil entre palabra y palabra, de forma que a la hora de introducir el APN, en vez de &quot;<em>internet.mundo-r.com</em>&quot; (por ejemplo) hab&iacute;a configurado el campo como &quot;<em>internet.mundo-r.com </em>&quot; (n&oacute;tese el espacio final).</p>
<p>
	A muchos os parecer&aacute; tonto, pero si estas lineas sirven para solucionar el mismo problema a alguien m&aacute;s me dar&eacute; con un canto en los dientes. Y ahora a disfrutar de la nueva conexi&oacute;n de datos.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=qMr3gjz4l-g:NoVnnWN9Kns:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=qMr3gjz4l-g:NoVnnWN9Kns:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=qMr3gjz4l-g:NoVnnWN9Kns:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=qMr3gjz4l-g:NoVnnWN9Kns:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=qMr3gjz4l-g:NoVnnWN9Kns:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=qMr3gjz4l-g:NoVnnWN9Kns:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/qMr3gjz4l-g" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Si te ha pasado como a mi, tienes un tel&amp;eacute;fono libre y te cambias de compa&amp;ntilde;&amp;iacute;a, tendr&amp;aacute;s que pasar por la configuraci&amp;oacute;n del 3G de forma manual (siempre y cuando poseas tarifa de datos). Realmente es muy sencillo configurar cualquier tel&amp;eacute;fono Android con los nuevos valores, pero hay una peque&amp;ntilde;a inconveniencia que me gustar&amp;iacute;a comentar.&lt;/p&gt;
&lt;p&gt;
	Los pasos para configurar el APN (que as&amp;iacute; les llaman a los puntos de acceso &lt;strong&gt;A&lt;/strong&gt;ccess &lt;strong&gt;P&lt;/strong&gt;oint &lt;strong&gt;N&lt;/strong&gt;ame) son simples:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		Men&amp;uacute; -&amp;gt; Ajustes -&amp;gt; Conexiones inal&amp;aacute;mbricas&lt;/li&gt;
	&lt;li&gt;
		Redes M&amp;oacute;viles -&amp;gt; APN&lt;/li&gt;
	&lt;li&gt;
		Men&amp;uacute; -&amp;gt; APN Nuevo&lt;/li&gt;
	&lt;li&gt;
		Agregamos los datos, normalmente el nombre que queremos para esa conexi&amp;oacute;n (por si tenemos varias, a nuestra elecci&amp;oacute;n), APN, usuario y contrase&amp;ntilde;a. Dejo &lt;a href="http://wiki.bandaancha.st/APN_de_las_operadoras_para_configurar_el_m%C3%B3dem_de_Internet_m%C3%B3vil_3G"&gt;un enlace&lt;/a&gt; tambi&amp;eacute;n donde est&amp;aacute;n documentados los datos de las operadoras nacionales.&lt;/li&gt;
	&lt;li&gt;
		Guardamos los valores introducidos y seleccionamos la nueva conexi&amp;oacute;n.</description><feedburner:origLink>http://www.userlinux.net/configurar-apn-en-android.html</feedburner:origLink></item><item><title>Virus en Windows que oculta ficheros</title><link>http://feedproxy.google.com/~r/userlinux/~3/rW1ullm5whA/virus-en-windows-que-oculta-ficheros.html</link><category>antivirus</category><category>windows</category><pubDate>Tue, 06 Mar 2012 06:12:28 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/virus-en-windows-que-oculta-ficheros.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Vale, si, esta p&aacute;gina se llama <a href="http://userlinux.net">Userlinux</a>, pero hac&iacute;a tanto tiempo que no tocaba una terminal de <em>MSDOS</em>&nbsp;- para algo m&aacute;s que un <em>ipconfig</em>&nbsp;- que ten&iacute;a que documentarlo. El t&iacute;pico ordenador con Windows al que le entra virus y/o troyanos hasta aburrir, despu&eacute;s de la ayuda de varios <em>workmates</em> conseguimos limpiarlo pero hab&iacute;an desaparecido todos los archivos del usuario activo.</p>
<p>
	Realmente no hab&iacute;an desaparecido, estaban ocultos, as&iacute; que hab&iacute;a que hacer <em>algo</em> para que volvieran a ser visibles:</p>
<pre>
C:/Documents and Settings/Usuario&gt; attrib -h /S /D *
</pre>
<p>
	&iexcl;Zasca!, problema resuelto. Realmente no tengo ni idea de qu&eacute; virus es el causante de semejante chapuza, ni si el ordenador est&aacute; limpio de verdad, pero, entre <em>ls</em> fallidos y otros comandos inexistentes en <em>DOS</em>, me doy cuenta de todo el tiempo que llevo invertido en otros Sistemas Operativos <em>de verdad</em>&nbsp;y lo feliz que soy sin limpiar <em>ventanas</em>.</p>
<p>
	Por otra parte, he de reconocer que me ha molado el truquillo del <em>attrib</em>.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=rW1ullm5whA:I9UKpDc-xyk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=rW1ullm5whA:I9UKpDc-xyk:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=rW1ullm5whA:I9UKpDc-xyk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=rW1ullm5whA:I9UKpDc-xyk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=rW1ullm5whA:I9UKpDc-xyk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=rW1ullm5whA:I9UKpDc-xyk:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/rW1ullm5whA" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Vale, si, esta p&amp;aacute;gina se llama &lt;a href="http://userlinux.net"&gt;Userlinux&lt;/a&gt;, pero hac&amp;iacute;a tanto tiempo que no tocaba una terminal de &lt;em&gt;MSDOS&lt;/em&gt;&amp;nbsp;- para algo m&amp;aacute;s que un &lt;em&gt;ipconfig&lt;/em&gt;&amp;nbsp;- que ten&amp;iacute;a que documentarlo. El t&amp;iacute;pico ordenador con Windows al que le entra virus y/o troyanos hasta aburrir, despu&amp;eacute;s de la ayuda de varios &lt;em&gt;workmates&lt;/em&gt; conseguimos limpiarlo pero hab&amp;iacute;an desaparecido todos los archivos del usuario activo.&lt;/p&gt;
&lt;p&gt;
	Realmente no hab&amp;iacute;an desaparecido, estaban ocultos, as&amp;iacute; que hab&amp;iacute;a que hacer &lt;em&gt;algo&lt;/em&gt; para que volvieran a ser visibles:&lt;/p&gt;
&lt;pre&gt;
C:/Documents and Settings/Usuario&amp;gt; attrib -h /S /D *
&lt;/pre&gt;
&lt;p&gt;
	&amp;iexcl;Zasca!, problema resuelto. Realmente no tengo ni idea de qu&amp;eacute; virus es el causante de semejante chapuza, ni si el ordenador est&amp;aacute; limpio de verdad, pero, entre &lt;em&gt;ls&lt;/em&gt; fallidos y otros comandos inexistentes en &lt;em&gt;DOS&lt;/em&gt;, me doy cuenta de todo el tiempo que llevo invertido en otros Sistemas Operativos &lt;em&gt;de verdad&lt;/em&gt;&amp;nbsp;y lo feliz que soy sin limpiar &lt;em&gt;ventanas&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;
	Por otra parte, he de reconocer que me ha molado el truquillo del &lt;em&gt;attrib&lt;/em&gt;.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/virus-en-windows-que-oculta-ficheros.html</feedburner:origLink></item><item><title>Libros, febrero 2012</title><link>http://feedproxy.google.com/~r/userlinux/~3/RV40B1Oql2U/libros-febrero-2012.html</link><category>libros</category><pubDate>Thu, 01 Mar 2012 23:18:21 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/libros-febrero-2012.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Segundo mes y objetivo cumplido, aunque los &uacute;ltimos 29 d&iacute;as no me he exigido demasiado y han sido dos libros cortos y muy f&aacute;ciles de leer, poco a poco iremos a m&aacute;s.</p>
<table style="width: 100%; border: 1px solid #dedede">
	<tbody>
		<tr>
			<td>
				<img alt="" src="http://www.userlinux.net/uploads/media/images/libros/en-el-principio-era-la-linea-de-comandos.jpg" style="width: 33px; height: 48px; " /></td>
			<td style="width: 548px; ">
				Neal Stephenson<br />
				<em>En el principio... fue la l&iacute;nea de comandos</em></td>
		</tr>
	</tbody>
</table>
<p>
	&nbsp;</p>
<table style="width: 100%; border: 1px solid #dedede">
	<tbody>
		<tr>
			<td>
				<img alt="" src="http://www.userlinux.net/uploads/media/images/libros/sin-noticias-de-gurb.jpg" style="width: 33px; height: 48px; " /></td>
			<td style="width: 548px; ">
				Eduardo Mendoza<br />
				<em>Sin noticias de Gurb</em></td>
		</tr>
	</tbody>
</table>
<p>
	&nbsp;</p>
<p>
	Ten&iacute;a muchas ganas de leer &quot;<em>En el principio... fue la l&iacute;nea de comandos</em>&quot; y despu&eacute;s de muchas analog&iacute;as y comparaciones me quedo - sobre todo - con p&aacute;rrafo final. Sublime.</p>
<p>
	El segundo libro fue una recomendaci&oacute;n de <a href="http://twitter.com/MarcosBL">Marcos</a>. Se puede resumir como una hilarante comedia subrealista de un extraterrestre que se camufla entre los humanos intentando encontrar a otro de su especie que se ha perdido por Barcelona. Carcajadas aseguradas.</p>
<p>
	Ya tengo m&aacute;s o menos en mente lo que intentar&eacute; en marzo, a ver si el tiempo y las ganas me siguen respetando.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=RV40B1Oql2U:y1HJS6ZUmuE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=RV40B1Oql2U:y1HJS6ZUmuE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=RV40B1Oql2U:y1HJS6ZUmuE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=RV40B1Oql2U:y1HJS6ZUmuE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=RV40B1Oql2U:y1HJS6ZUmuE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=RV40B1Oql2U:y1HJS6ZUmuE:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/RV40B1Oql2U" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Segundo mes y objetivo cumplido, aunque los &amp;uacute;ltimos 29 d&amp;iacute;as no me he exigido demasiado y han sido dos libros cortos y muy f&amp;aacute;ciles de leer, poco a poco iremos a m&amp;aacute;s.&lt;/p&gt;
&lt;table style="width: 100%; border: 1px solid #dedede"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
				&lt;img alt="" src="http://www.userlinux.net/uploads/media/images/libros/en-el-principio-era-la-linea-de-comandos.jpg" style="width: 33px; height: 48px; " /&gt;&lt;/td&gt;
			&lt;td style="width: 548px; "&gt;
				Neal Stephenson&lt;br /&gt;
				&lt;em&gt;En el principio... fue la l&amp;iacute;nea de comandos&lt;/em&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 100%; border: 1px solid #dedede"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td&gt;
				&lt;img alt="" src="http://www.userlinux.net/uploads/media/images/libros/sin-noticias-de-gurb.jpg" style="width: 33px; height: 48px; " /&gt;&lt;/td&gt;
			&lt;td style="width: 548px; "&gt;
				Eduardo Mendoza&lt;br /&gt;
				&lt;em&gt;Sin noticias de Gurb&lt;/em&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	Ten&amp;iacute;a muchas ganas de leer &amp;quot;&lt;em&gt;En el principio... fue la l&amp;iacute;nea de comandos&lt;/em&gt;&amp;quot; y despu&amp;eacute;s de muchas analog&amp;iacute;as y comparaciones me quedo - sobre todo - con p&amp;aacute;rrafo final. Sublime.&lt;/p&gt;
&lt;p&gt;
	El segundo libro fue una recomendaci&amp;oacute;n de &lt;a href="http://twitter.com/MarcosBL"&gt;Marcos&lt;/a&gt;. Se puede resumir como una hilarante comedia subrealista de un extraterrestre que se camufla entre los humanos intentando encontrar a otro de su especie que se ha perdido por Barcelona. Carcajadas aseguradas.&lt;/p&gt;
&lt;p&gt;
	Ya tengo m&amp;aacute;s o menos en mente lo que intentar&amp;eacute; en marzo, a ver si el tiempo y las ganas me siguen respetando.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/libros-febrero-2012.html</feedburner:origLink></item><item><title>Desarrollo web con Python: Flask</title><link>http://feedproxy.google.com/~r/userlinux/~3/3Y7QJVLJCUk/desarrollo-web-con-python-flask.html</link><pubDate>Wed, 15 Feb 2012 08:47:34 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/desarrollo-web-con-python-flask.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Hace alg&uacute;n tiempo empec&eacute; a utilizar <a href="http://flask.pocoo.org/">Flask</a> para un proyecto personal. Flask es un mini framework de desarrollo en python que me ha convencido desde el principio por su sencillez. Intentar&eacute; exponer un peque&ntilde;o ejemplo para que os hag&aacute;is una idea de c&oacute;mo funciona.</p>
<p style="text-align: center; ">
	<img alt="" src="http://www.userlinux.net/uploads/media/images/flask.png" style="width: 200px; height: 78px; " /></p>
<p>
	Y como <a href="http://toporojo.es/blog/">&Aacute;lex</a> ha escrito un <a href="http://toporojo.es/blog/2012/02/11/desarrollo-web-con-python-pylons/">completo tutorial sobre Pylons/Pyramid</a> con un ejemplo de aplicaci&oacute;n, no quer&iacute;a ser menos y explicar mis aventuras y desventuras con esta otra peque&ntilde;a joya de Python as&iacute; que all&aacute; vamos.</p>
<p>
	<br /><br /></p>
<p>
	<strong>Instalaci&oacute;n&nbsp;</strong></p>
<p>
	Flask est&aacute; basado en &nbsp;<a href="http://werkzeug.pocoo.org/">Werkzeug</a>, una librer&iacute;a WSGI para Python. Si usamos <a href="http://pypi.python.org/pypi/pip">pip</a> y <a href="http://pypi.python.org/pypi/virtualenv">virtualenv</a> para crear el entorno virtual y comenzar a trabajar (situaci&oacute;n que <a href="http://www.userlinux.net/django-virtualenv-pip.html">ya he explicado en su d&iacute;a</a>) vemos que las dependencias de Flask son m&iacute;nimas:</p>
<pre>
$ sudo easy_install pip
$ pip install virtualenv
$ mkdir -p flaskblog/{src,env}
$ cd flaskblog/
$ virtualenv --distribute --no-site-packages env/

$ pip -E env/ install flask
Downloading Flask-0.8.tar.gz
Downloading/unpacking Werkzeug&gt;=0.6.1 (from flask)
Downloading/unpacking Jinja2&gt;=2.4 (from flask)
Installing collected packages: flask, Jinja2, Werkzeug

$ pip -E env/ install flask-wtf
Downloading Flask-WTF-0.5.2.tar.gz
Downloading/unpacking WTForms (from flask-wtf)
Installing collected packages: flask-wtf, WTForms

$ pip -E env/ install flask-sqlalchemy
</pre>
<p>
	Una &nbsp;vez creado el entorno virtual instalamos <em>Flask</em>, que depende de <em>Werkzeug</em> y de <em>Jinja2</em> como sistema de templates. Tambi&eacute;n instalamos <a href="http://packages.python.org/Flask-WTF/">Flask-WTF</a>&nbsp;para tener integraci&oacute;n con <em>WTForms</em> y hacer m&aacute;s sencillo el uso de formularios con funciones avanzadas (csrf, etc...). Y por &uacute;ltimo <em>Flask-SQLAlchemy </em>como complemento ORM para la base de datos.</p>
<p>
	<strong>Requirements y configuraci&oacute;n</strong></p>
<p>
	A continuaci&oacute;n vamos a entrar por primera vez en el entorno y crear el fichero de requisitos - yo normalmente le llamo <em>requirements.txt</em> - para poder regenerar el entorno virtual tantas veces y en tantas m&aacute;quinas como queramos:</p>
<pre>
$ source env/bin/activate
(env)$ pip freeze &gt; src/requirements.txt
</pre>
<p>
	Si luego queremos regenerar el entorno a partir del fichero lo haremos ejecutando el siguiente comando:</p>
<pre>
$ pip install -E nuevo_env/ -r src/requirements.txt 
</pre>
<p>
	Empezamos a montar el esqueleto de la aplicaci&oacute;n dentro del directorio <em>src/&nbsp;</em>creando un directorio para los templates, como queremos que nuestra aplicaci&oacute;n pueda tener varios templates a elegir, creamos tambi&eacute;n el &quot;por defecto&quot;:</p>
<pre>
(env)$ mkdir -p templates/default/
</pre>
<p>
	Ya que estamos empezando una aplicaci&oacute;n desde cero nos gustar&iacute;a tener un m&iacute;nimo de configuraci&oacute;n para la misma as&iacute; que vamos a usar un fichero para que guarde ciertos valores variables:</p>
<pre>
(env)$ cat config.py
import os
DEBUG = True

_basedir = os.path.abspath(os.path.dirname(__file__))

DATA_PATH = os.path.join(_basedir, &#39;data&#39;)
DEFAULT_TPL = &#39;default&#39;

USERNAME = &#39;admin&#39;
PASSWORD = &#39;default&#39;
SECRET_KEY = &#39;devel secret key&#39;

URL = &#39;http://localhost:5000/&#39;
TITLE = &#39;OurApplication&#39;
VERSION = &#39;0.1&#39;
LANG = &#39;es&#39;
LANG_DIRECTION = &#39;ltr&#39;
YEAR = &#39;2012&#39;

del os
</pre>
<p>
	Con la configuraci&oacute;n y el entorno listos, lo siguiente ser&aacute; empezar la aplicaci&oacute;n propiamente dicha, as&iacute; que manos a la obra.</p>
<p>
	<strong>Primeros pasos con Flask</strong></p>
<p>
	Vamos a reducir el grueso de la aplicaci&oacute;n a un solo archivo, le llamaremos <em>blog.py </em>- ya s&eacute; que no suena muy original pero imagino que ser&aacute; entendible -. Nuestro <em>blog.py</em> ser&aacute; el controlador principal, en &eacute;l incluiremos de forma excepcional el modelo, los formularios y los m&eacute;todos que se encargar&aacute;n de la l&oacute;gica y de llamar a las plantillas. Para empezar por el principio definimos el archivo como una aplicaci&oacute;n Flask y cargamos la configuraci&oacute;n que antes hemos creado:</p>
<pre>
# -*- coding: utf-8 -*-

&quot;&quot;&quot;
OurApplication
~~~~~~~~~~~~~~
:copyright: (c) 2011 by Oscar M. Lage.
:license: BSD, see LICENSE for more details.
&quot;&quot;&quot;

import os
from flask import Flask, render_template, request, redirect
from werkzeug.routing import Rule

# Flask application and config
app = Flask(__name__)
app.config.from_object(&#39;config&#39;)

# Middleware to serve the static files
from werkzeug import SharedDataMiddleware
import os
app.wsgi_app = SharedDataMiddleware(app.wsgi_app, {
  &#39;/&#39;: os.path.join(os.path.dirname(__file__), &#39;templates&#39;, app.config[&#39;DEFAULT_TPL&#39;])
})

# Index
@app.route(&#39;/&#39;)
def index():
        return render_template(app.config[&#39;DEFAULT_TPL&#39;]+&#39;/index.html&#39;,
                            conf = app.config)

if __name__ == &#39;__main__&#39;:
    app.run()
</pre>
<p>
	* Lo m&aacute;s raro son esas 3 lineas que hemos incluido en el archivo, una especie de <em>Middleware</em>&nbsp;para poder servir archivos est&aacute;ticos directamente desde el template seleccionado.</p>
<p>
	Una vez tenemos la aplicaci&oacute;n &quot;preparada&quot; hemos de crear la plantilla para que se pueda ejecutar sin errores, para ello dentro del directorio templates/default/ creamos el archivo index.html al que referenciamos en el controlador, el contenido del archivo podr&iacute;a ser algo as&iacute;:</p>
<pre>
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;
 &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; 
      xml:lang=&quot;{{ conf[&#39;LANG&#39;] }}&quot; lang=&quot;{{ conf[&#39;LANG&#39;] }}&quot; 
      dir=&quot;{{ conf[&#39;LANG_DIRECTION&#39;] }}&quot;&gt;
&lt;head&gt;
    &lt;title&gt;{% block title %}{% endblock %} [{{ conf[&#39;TITLE&#39;] }}]&lt;/title&gt;
&lt;/head&gt;

&lt;body&gt;
  &lt;div id=&quot;header&quot;&gt;
    &lt;h1&gt;{{ conf[&#39;TITLE&#39;] }}&lt;/h1&gt;
  &lt;/div&gt;

  &lt;div id=&quot;content&quot;&gt;
    Contenido
  &lt;/div&gt;

    &lt;div id=&quot;footer&quot;&gt;
        &lt;p&gt;{{ conf[&#39;TITLE&#39;] }} - {{ conf[&#39;YEAR&#39;] }}&lt;/p&gt;
    &lt;/div&gt;
&lt;/body&gt;
</pre>
<p>
	Y ya podr&iacute;amos ejecutar por primera vez nuestra aplicaci&oacute;n desde consola para luego comprobar que todo est&aacute; correcto en navegador, as&iacute; que vamos a ello:</p>
<pre>
$ python blog.py 
 * Running on http://127.0.0.1:5000/
 * Restarting with reloader
</pre>
<p>
	Si abrimos el navegador en la url proporcionada (http://127.0.0.1:5000/) obtendremos una pantalla similar a la de la siguiente figura:</p>
<p style="text-align: center; ">
	<img alt="" src="http://www.userlinux.net/uploads/media/images/flask001.png" style="width: 300px; height: 219px; " /></p>
<p>
	<strong>SQLAlchemy</strong></p>
<p>
	Una vez tenemos la base y el esqueleto de la aplicaci&oacute;n vamos a incorporar una base de datos para hacerla din&aacute;mica. Para ello usaremos <a href="http://packages.python.org/Flask-SQLAlchemy/">Flask-SQLAlchemy</a>. Para trabajar con SQLAlchemy agregamos una nueva variable de configuraci&oacute;n para la base de datos:</p>
<pre>
SQLALCHEMY_DATABASE_URI = &#39;sqlite:///&#39;+ os.path.join(os.path.dirname(__file__), &#39;database.db&#39;)
</pre>
<p>
	Y le decimos a <em>blog.py</em> el esquema que vamos a utilizar:</p>
<pre>
from flaskext.sqlalchemy import SQLAlchemy
...
db = SQLAlchemy(app)
...
# Model
class Blog(db.Model):
    __tablename__ = &#39;Blog&#39;
    __mapper_args__ = dict(order_by=&quot;date desc&quot;)

    id = db.Column(db.Integer, primary_key=True)
    subject = db.Column(db.Unicode(255))
    author = db.Column(db.Unicode(255))
    date = db.Column(db.DateTime())
    content = db.Column(db.Text())
</pre>
<p>
	Por &uacute;ltimo creamos la base de datos desde una consola python para poder usarla desde cualquier parte del controlador, tan simple como entrar a python desde el directorio src/ donde tenemos blog.py y ejecutar lo siguiente:</p>
<pre>
&gt;&gt;&gt; from blog import db
&gt;&gt;&gt; db.create_all()
</pre>
<p>
	Ya tenemos el archivo <em>database.db</em> preparado para cargarlo de datos mediante los m&eacute;todos correspondientes de <em>blog.py</em>, algunos ejemplos:</p>
<pre>
@app.route(&#39;/add&#39;, methods=[&#39;GET&#39;,&#39;POST&#39;])
def add():
	if request.method == &#39;POST&#39;:
		post = Blog(request.form[&#39;subject&#39;], request.form[&#39;content&#39;])
		db.session.add(post)
		db.session.commit()
		return redirect(url_for(&#39;index&#39;))
	return render_template(app.config[&#39;DEFAULT_TPL&#39;]+&#39;/add.html&#39;,
			       conf = app.config)
</pre>
<p>
	<strong>Flask-WTForms</strong></p>
<p>
	Una vez tenemos preparada la base de datos y el m&eacute;todo que agregar&aacute; nuevos posts tan solo falta crear el formulario que nos permitir&aacute; tal funcionalidad y crear el template, poco m&aacute;s de un par de lineas:</p>
<pre>
# Create Form
class CreateForm(Form):
    subject = TextField(&#39;Subject&#39;, [validators.required()])
    content = TextAreaField(&#39;Content&#39;, [validators.required(), validators.Length(min=1)])
</pre>
<p>
	Y el template con el formulario correspondiente ser&iacute;a el siguiente:</p>
<pre>
&lt;form method=&quot;post&quot; action=&quot;&quot;&gt;
      &lt;dl&gt;
        {{ form.csrf }}
        {{ form.subject.label }} {{ form.subject(style=&quot;width:100%&quot;) }}
	{% for error in form.subject.errors %} {{ error }} {% endfor %}
		&lt;br /&gt;
	{{ form.content.label }} {{form.content(style=&quot;height:100px;width:100%&quot;) }}
	{% for error in form.content.errors %} {{ error }} {% endfor %}
      &lt;/dl&gt;
      &lt;p&gt;&lt;input type=&quot;submit&quot; value=&quot;submit&quot;&gt;
    &lt;/form&gt;
</pre>
<p>
	Y ya tendr&iacute;amos un formulario para agregar posts totalmente funcional. Entre esta vista, la de un listado de posts y la del detalle de los mismos (ver repositorio m&aacute;s abajo), tendr&iacute;amos una peque&ntilde;a aplicaci&oacute;n con <em>Flask</em> + <em>SQLAlchemy</em> + <em>WTForms</em>.</p>
<p>
	<strong>Resumiendo</strong></p>
<p>
	Para finalizar, adem&aacute;s de las vistas que hemos dicho que faltaban, tendr&iacute;amos que dar un poco m&aacute;s de colorido a los templates (css, im&aacute;genes...), crear un <em>layout.html</em> que se pueda extender desde el resto de plantillas y poner un poco de orden en todo lo explicado, pero como no quiero extenderme mucho m&aacute;s en el art&iacute;culo, nada mejor que un peque&ntilde;o repositorio en el que se pueden ir viendo los avances:</p>
<ul>
	<li>
		<a href="https://bitbucket.org/r0sk/flaskblog">Flaskblog (bitbucket)</a></li>
</ul>
<p>
	Espero que con este peque&ntilde;o y humilde ejemplo haya quedado m&aacute;s o menos claro el uso de este framework. Siempre es divertido probar cosas nuevas y cuando se trata de piezas tan sencillas y bien documentadas como las tratadas el placer es doble.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=3Y7QJVLJCUk:gUHfjYSN2v8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=3Y7QJVLJCUk:gUHfjYSN2v8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=3Y7QJVLJCUk:gUHfjYSN2v8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=3Y7QJVLJCUk:gUHfjYSN2v8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=3Y7QJVLJCUk:gUHfjYSN2v8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=3Y7QJVLJCUk:gUHfjYSN2v8:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/3Y7QJVLJCUk" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Hace alg&amp;uacute;n tiempo empec&amp;eacute; a utilizar &lt;a href="http://flask.pocoo.org/"&gt;Flask&lt;/a&gt; para un proyecto personal. Flask es un mini framework de desarrollo en python que me ha convencido desde el principio por su sencillez. Intentar&amp;eacute; exponer un peque&amp;ntilde;o ejemplo para que os hag&amp;aacute;is una idea de c&amp;oacute;mo funciona.&lt;/p&gt;
&lt;p style="text-align: center; "&gt;
	&lt;img alt="" src="http://www.userlinux.net/uploads/media/images/flask.png" style="width: 200px; height: 78px; " /&gt;&lt;/p&gt;
&lt;p&gt;
	Y como &lt;a href="http://toporojo.es/blog/"&gt;&amp;Aacute;lex&lt;/a&gt; ha escrito un &lt;a href="http://toporojo.es/blog/2012/02/11/desarrollo-web-con-python-pylons/"&gt;completo tutorial sobre Pylons/Pyramid&lt;/a&gt; con un ejemplo de aplicaci&amp;oacute;n, no quer&amp;iacute;a ser menos y explicar mis aventuras y desventuras con esta otra peque&amp;ntilde;a joya de Python as&amp;iacute; que all&amp;aacute; vamos.&lt;/p&gt;
&lt;p&gt;</description><feedburner:origLink>http://www.userlinux.net/desarrollo-web-con-python-flask.html</feedburner:origLink></item><item><title>Screen, ssh y otro screen</title><link>http://feedproxy.google.com/~r/userlinux/~3/IoO13LMnk0U/screen-ssh-y-otro-screen.html</link><category>linux</category><category>screen</category><category>screenrc</category><pubDate>Tue, 07 Feb 2012 08:59:29 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/screen-ssh-y-otro-screen.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Madre m&iacute;a, para explicar el t&iacute;tulo... s&eacute; que es algo muy enrevesado pero lo importante es que funciona. Supongamos que, como buen <em>sysadmin</em>, tienes un solo ordenador para controlarlos a todos; adem&aacute;s est&aacute;s acostumbrado a usar <em>screen</em> y siempre ejecutas el mismo comando al entrar remotamente a todas esas miles de m&aacute;quinas que controlas.</p>
<p>
	&iquest;La cosa se complica verdad?, para colmo sup&oacute;n que usas <em>screen</em> de forma local y remota. Los <em>key-bindings&nbsp;</em>han de ser distintos y por complicar un poco m&aacute;s el entorno ser&iacute;a mejor automatizar el comando remoto. La soluci&oacute;n (combinada con <a href="http://www.userlinux.net/ssh-con-dynamicforward-d-en-config.html">.ssh/config</a>) podr&iacute;a parecerse a lo siguiente:</p>
<pre>
# New bindings (ctrl-e instead of ctrl-a)
escape ^Ee

# Host buffers
split -v
screen -t &#39;host1&#39; 0 /bin/bash -c &#39;ssh -t host1 &quot;screen -DRU&quot;&#39;
split -h
focus
screen -t &#39;host2&#39; 1 /bin/bash -c &#39;ssh -t host2 &quot;screen -DRU&quot;&#39;
focus
screen -t &#39;host3&#39; 2 /bin/bash -c &#39;ssh -t host3 &quot;screen -DRU&quot;&#39;
split -h
focus
screen -t &#39;host4&#39; 3 /bin/bash -c &#39;ssh -t host4 &quot;screen -DRU&quot;&#39;
</pre>
<p>
	Ahora cada vez que ejecutemos <em>screen </em>estaremos creando un esquema de servidores con sus <em>screens</em> remotos correspondientes en buffers de nuestra &uacute;til herramienta. Todo ello volver a usar el teclado. Siempre es un placer jugar con <em>screen</em>.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=IoO13LMnk0U:NCVw74Sf8V8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=IoO13LMnk0U:NCVw74Sf8V8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=IoO13LMnk0U:NCVw74Sf8V8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=IoO13LMnk0U:NCVw74Sf8V8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=IoO13LMnk0U:NCVw74Sf8V8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=IoO13LMnk0U:NCVw74Sf8V8:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/IoO13LMnk0U" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Madre m&amp;iacute;a, para explicar el t&amp;iacute;tulo... s&amp;eacute; que es algo muy enrevesado pero lo importante es que funciona. Supongamos que, como buen &lt;em&gt;sysadmin&lt;/em&gt;, tienes un solo ordenador para controlarlos a todos; adem&amp;aacute;s est&amp;aacute;s acostumbrado a usar &lt;em&gt;screen&lt;/em&gt; y siempre ejecutas el mismo comando al entrar remotamente a todas esas miles de m&amp;aacute;quinas que controlas.&lt;/p&gt;
&lt;p&gt;
	&amp;iquest;La cosa se complica verdad?, para colmo sup&amp;oacute;n que usas &lt;em&gt;screen&lt;/em&gt; de forma local y remota. Los &lt;em&gt;key-bindings&amp;nbsp;&lt;/em&gt;han de ser distintos y por complicar un poco m&amp;aacute;s el entorno ser&amp;iacute;a mejor automatizar el comando remoto. La soluci&amp;oacute;n (combinada con &lt;a href="http://www.userlinux.net/ssh-con-dynamicforward-d-en-config.html"&gt;.ssh/config&lt;/a&gt;) podr&amp;iacute;a parecerse a lo siguiente:&lt;/p&gt;
&lt;pre&gt;
# New bindings (ctrl-e instead of ctrl-a)
escape ^Ee

# Host buffers
split -v
screen -t &amp;#39;host1&amp;#39; 0 /bin/bash -c &amp;#39;ssh -t host1 &amp;quot;screen -DRU&amp;quot;&amp;#39;
split -h
focus
screen -t &amp;#39;host2&amp;#39; 1 /bin/bash -c &amp;#39;ssh -t host2 &amp;quot;screen -DRU&amp;quot;&amp;#39;
focus
screen -t &amp;#39;host3&amp;#39; 2 /bin/bash -c &amp;#39;ssh -t host3 &amp;quot;screen -DRU&amp;quot;&amp;#39;
split -h
focus
screen -t &amp;#39;host4&amp;#39; 3 /bin/bash -c &amp;#39;ssh -t host4 &amp;quot;screen -DRU&amp;quot;&amp;#39;
&lt;/pre&gt;
&lt;p&gt;
	Ahora cada vez que ejecutemos &lt;em&gt;screen &lt;/em&gt;estaremos creando un esquema de servidores con sus &lt;em&gt;screens&lt;/em&gt; remotos correspondientes en buffers de nuestra &amp;uacute;til herramienta. Todo ello volver a usar el teclado. Siempre es un placer jugar con &lt;em&gt;screen&lt;/em&gt;.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/screen-ssh-y-otro-screen.html</feedburner:origLink></item><item><title>Guitar: Ejercicio 2</title><link>http://feedproxy.google.com/~r/userlinux/~3/JxlldjCXvnA/guitar-ejercicio-2.html</link><category>aprendizaje</category><category>guitarra</category><pubDate>Mon, 06 Feb 2012 13:16:15 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/guitar-ejercicio-2.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	He grabado el segundo &quot;<em>ejercicio</em>&quot; de guitarra. Cuatro clases m&aacute;s tarde ya soy capaz de hacer algo como lo que suena en el mp3 que adjunto. No es ninguna virtuosidad ni mucho menos pero estoy contento:</p>
<ul>
	<li>
		<em>MI menor (E menor), RE(D), DO(C)</em></li>
	<li>
		<a href="http://www.userlinux.net/uploads/media/images/guitarra/ejercicio02.mp3">ejercicio02.mp3</a></li>
</ul>
<p>
	No creo ni que la guitarra est&eacute; afinada del todo, me voy de ritmo, me cuesta horrores pasar de RE a DO pero lo importante es que lo voy intentando. Como siempre, cualquier consejo, cr&iacute;tica o truco es de agradecer.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=JxlldjCXvnA:d95FiPYEr_I:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=JxlldjCXvnA:d95FiPYEr_I:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=JxlldjCXvnA:d95FiPYEr_I:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=JxlldjCXvnA:d95FiPYEr_I:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=JxlldjCXvnA:d95FiPYEr_I:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=JxlldjCXvnA:d95FiPYEr_I:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/JxlldjCXvnA" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	He grabado el segundo &amp;quot;&lt;em&gt;ejercicio&lt;/em&gt;&amp;quot; de guitarra. Cuatro clases m&amp;aacute;s tarde ya soy capaz de hacer algo como lo que suena en el mp3 que adjunto. No es ninguna virtuosidad ni mucho menos pero estoy contento:&lt;/p&gt;
&lt;ul&gt;
	&lt;li&gt;
		&lt;em&gt;MI menor (E menor), RE(D), DO(C)&lt;/em&gt;&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://www.userlinux.net/uploads/media/images/guitarra/ejercicio02.mp3"&gt;ejercicio02.mp3&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
	No creo ni que la guitarra est&amp;eacute; afinada del todo, me voy de ritmo, me cuesta horrores pasar de RE a DO pero lo importante es que lo voy intentando. Como siempre, cualquier consejo, cr&amp;iacute;tica o truco es de agradecer.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/guitar-ejercicio-2.html</feedburner:origLink></item><item><title>Libros, enero 2012</title><link>http://feedproxy.google.com/~r/userlinux/~3/V16S1Ai7LrQ/libros-enero-2012.html</link><category>libros</category><pubDate>Thu, 02 Feb 2012 06:23:08 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/libros-enero-2012.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	No s&eacute; si esta sana costumbre durar&aacute; los 12 meses pero el prop&oacute;sito est&aacute; ah&iacute; y si hay alguien capaz de inclumplirlo ese soy yo. En enero he retomado la lectura que ten&iacute;a pendiente y no ha ido del todo mal.</p>
<table style="width: 100%; border: 1px solid #dedede">
	<tbody>
		<tr>
			<td style="width=60px">
				<img alt="" src="http://www.userlinux.net/uploads/media/images/libros/juego-de-tronos1.jpg" style="width: 33px; height: 48px; " /></td>
			<td style="width: 100%">
				Martin, George R.R.<br />
				<em>Juego de Tronos, Canci&oacute;n de hielo y fuego</em></td>
		</tr>
	</tbody>
</table>
<p>
	&nbsp;</p>
<table style="width: 100%; border: 1px solid #dedede">
	<tbody>
		<tr>
			<td style="width=60px">
				<img alt="" src="http://www.userlinux.net/uploads/media/images/libros/se-lo-que-estas-pensando.jpg" style="width: 33px; height: 48px; " /></td>
			<td style="width: 100%">
				John Verdon<br />
				<em>S&eacute; lo que est&aacute;s pensando</em></td>
		</tr>
	</tbody>
</table>
<p>
	&nbsp;</p>
<p>
	El primer tomo de &quot;<em>Juego de Tronos</em>&quot; lo ten&iacute;a empezado desde poco antes del verano, pero el haber visto la serie de un tir&oacute;n ha sido fundamental para que me acabase aburriendo. No creo que siga con la saga a menos que se demore mucho m&aacute;s la segunda temporada.</p>
<p>
	En &quot;<em>S&eacute; lo que est&aacute;s pensando</em>&quot; nos encontramos una novela polic&iacute;aca donde el protagonista, <em>David Gurney</em>, un detective retirado, intentar&aacute; resolver el caso de un asesino que env&iacute;a cartas incitando a sus v&iacute;ctimas a pensar un n&uacute;mero que adivina inmediatamente. David se ve involucrado en el caso cuando un conocido suyo le pide ayuda.</p>
<p>
	Ya tengo el primer candidato del mes de febrero, pero como siempre, se admiten sugerencias.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=V16S1Ai7LrQ:8DhDE7-fPNU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=V16S1Ai7LrQ:8DhDE7-fPNU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=V16S1Ai7LrQ:8DhDE7-fPNU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=V16S1Ai7LrQ:8DhDE7-fPNU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=V16S1Ai7LrQ:8DhDE7-fPNU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=V16S1Ai7LrQ:8DhDE7-fPNU:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/V16S1Ai7LrQ" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	No s&amp;eacute; si esta sana costumbre durar&amp;aacute; los 12 meses pero el prop&amp;oacute;sito est&amp;aacute; ah&amp;iacute; y si hay alguien capaz de inclumplirlo ese soy yo. En enero he retomado la lectura que ten&amp;iacute;a pendiente y no ha ido del todo mal.&lt;/p&gt;
&lt;table style="width: 100%; border: 1px solid #dedede"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td style="width=60px"&gt;
				&lt;img alt="" src="http://www.userlinux.net/uploads/media/images/libros/juego-de-tronos1.jpg" style="width: 33px; height: 48px; " /&gt;&lt;/td&gt;
			&lt;td style="width: 100%"&gt;
				Martin, George R.R.&lt;br /&gt;
				&lt;em&gt;Juego de Tronos, Canci&amp;oacute;n de hielo y fuego&lt;/em&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;table style="width: 100%; border: 1px solid #dedede"&gt;
	&lt;tbody&gt;
		&lt;tr&gt;
			&lt;td style="width=60px"&gt;
				&lt;img alt="" src="http://www.userlinux.net/uploads/media/images/libros/se-lo-que-estas-pensando.jpg" style="width: 33px; height: 48px; " /&gt;&lt;/td&gt;
			&lt;td style="width: 100%"&gt;
				John Verdon&lt;br /&gt;
				&lt;em&gt;S&amp;eacute; lo que est&amp;aacute;s pensando&lt;/em&gt;&lt;/td&gt;
		&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;
	&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
	El primer tomo de &amp;quot;&lt;em&gt;Juego de Tronos&lt;/em&gt;&amp;quot; lo ten&amp;iacute;a empezado desde poco antes del verano, pero el haber visto la serie de un tir&amp;oacute;n ha sido fundamental para que me acabase aburriendo. No creo que siga con la saga a menos que se demore mucho m&amp;aacute;s la segunda temporada.&lt;/p&gt;
&lt;p&gt;
	En &amp;quot;&lt;em&gt;S&amp;eacute; lo que est&amp;aacute;s pensando&lt;/em&gt;&amp;quot; nos encontramos una novela polic&amp;iacute;aca donde el protagonista, &lt;em&gt;David Gurney&lt;/em&gt;, un detective retirado, intentar&amp;aacute; resolver el caso de un asesino que env&amp;iacute;a cartas incitando a sus v&amp;iacute;ctimas a pensar un n&amp;uacute;mero que adivina inmediatamente. David se ve involucrado en el caso cuando un conocido suyo le pide ayuda.&lt;/p&gt;
&lt;p&gt;
	Ya tengo el primer candidato del mes de febrero, pero como siempre, se admiten sugerencias.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/libros-enero-2012.html</feedburner:origLink></item><item><title>SSH con DynamicForward (-D) en .config</title><link>http://feedproxy.google.com/~r/userlinux/~3/v-IfUkmePlY/ssh-con-dynamicforward-d-en-config.html</link><category>ssh</category><category>sshd_config</category><pubDate>Tue, 24 Jan 2012 09:37:59 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/ssh-con-dynamicforward-d-en-config.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Una de las infinitas opciones que nos ofrece SSH es hacer <em>Forward Din&aacute;mico</em> en modo de <em>Socket</em> para proxy de navegador (por ejemplo). Si queremos configurar &quot;atajos&quot; de las m&aacute;quinas en el <em>~/.ssh/config</em> podemos decirle tambi&eacute;n que conecte activando el <em>DynamicForward</em> de la siguiente forma:</p>
<pre>
$ cat ~/.ssh/config
Host atajo
        User root
        Port 122
        HostName mi-host-remoto.com
        DynamicForward 8080
        ServerAliveInterval 30
        ServerAliveCountMax 120
</pre>
<p>
	Simple como el mecanismo de un botijo pero me ha costado encontrarlo en los frondosos bosques de documentaci&oacute;n que habitan este gran servicio. As&iacute; que aqu&iacute; queda el tip, una vez escrito este archivo llegar&aacute; con un simple <em>ssh atajo </em>para establecer la conexi&oacute;n. Para nota ser&iacute;a ya combinarlo con <em>IdentityFile</em>, pero eso ya es m&aacute;s sencillo de encontrar ;).</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=v-IfUkmePlY:DwxO0nfoHw0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=v-IfUkmePlY:DwxO0nfoHw0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=v-IfUkmePlY:DwxO0nfoHw0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=v-IfUkmePlY:DwxO0nfoHw0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=v-IfUkmePlY:DwxO0nfoHw0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=v-IfUkmePlY:DwxO0nfoHw0:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/v-IfUkmePlY" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Una de las infinitas opciones que nos ofrece SSH es hacer &lt;em&gt;Forward Din&amp;aacute;mico&lt;/em&gt; en modo de &lt;em&gt;Socket&lt;/em&gt; para proxy de navegador (por ejemplo). Si queremos configurar &amp;quot;atajos&amp;quot; de las m&amp;aacute;quinas en el &lt;em&gt;~/.ssh/config&lt;/em&gt; podemos decirle tambi&amp;eacute;n que conecte activando el &lt;em&gt;DynamicForward&lt;/em&gt; de la siguiente forma:&lt;/p&gt;
&lt;pre&gt;
$ cat ~/.ssh/config
Host atajo
        User root
        Port 122
        HostName mi-host-remoto.com
        DynamicForward 8080
        ServerAliveInterval 30
        ServerAliveCountMax 120
&lt;/pre&gt;
&lt;p&gt;
	Simple como el mecanismo de un botijo pero me ha costado encontrarlo en los frondosos bosques de documentaci&amp;oacute;n que habitan este gran servicio. As&amp;iacute; que aqu&amp;iacute; queda el tip, una vez escrito este archivo llegar&amp;aacute; con un simple &lt;em&gt;ssh atajo &lt;/em&gt;para establecer la conexi&amp;oacute;n. Para nota ser&amp;iacute;a ya combinarlo con &lt;em&gt;IdentityFile&lt;/em&gt;, pero eso ya es m&amp;aacute;s sencillo de encontrar ;).&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/ssh-con-dynamicforward-d-en-config.html</feedburner:origLink></item><item><title>Slackware</title><link>http://feedproxy.google.com/~r/userlinux/~3/Fu_yUaDzHBs/slackware.html</link><category>slackware</category><category>twitt</category><pubDate>Mon, 23 Jan 2012 15:13:34 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/slackware.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Hoy he recordado con nostalgia aquella primera Slackware de <a href="http://www.galiciadigital.com">Galicia Digital</a>&nbsp;que tantos disgustos y alegr&iacute;as me brind&oacute;. Por curiosidad he entrado en <strike><a href="http://slackware.org">la web de la distribuci&oacute;n</a> y ha perdido toda la esencia que ten&iacute;a</strike>&nbsp;<a href="http://www.slackware.com/">la web de la distribuci&oacute;n</a>&nbsp;y todav&iacute;a siento ese cosquilleo.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=Fu_yUaDzHBs:hIpBCzXc6bY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=Fu_yUaDzHBs:hIpBCzXc6bY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=Fu_yUaDzHBs:hIpBCzXc6bY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=Fu_yUaDzHBs:hIpBCzXc6bY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=Fu_yUaDzHBs:hIpBCzXc6bY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=Fu_yUaDzHBs:hIpBCzXc6bY:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/Fu_yUaDzHBs" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Hoy he recordado con nostalgia aquella primera Slackware de &lt;a href="http://www.galiciadigital.com"&gt;Galicia Digital&lt;/a&gt;&amp;nbsp;que tantos disgustos y alegr&amp;iacute;as me brind&amp;oacute;. Por curiosidad he entrado en &lt;strike&gt;&lt;a href="http://slackware.org"&gt;la web de la distribuci&amp;oacute;n&lt;/a&gt; y ha perdido toda la esencia que ten&amp;iacute;a&lt;/strike&gt;&amp;nbsp;&lt;a href="http://www.slackware.com/"&gt;la web de la distribuci&amp;oacute;n&lt;/a&gt;&amp;nbsp;y todav&amp;iacute;a siento ese cosquilleo.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/slackware.html</feedburner:origLink></item><item><title>Guitar: Ejercicio 1</title><link>http://feedproxy.google.com/~r/userlinux/~3/qZ3x5b-WIcE/guitar-ejercicio-1.html</link><category>aprendizaje</category><category>guitarra</category><pubDate>Mon, 16 Jan 2012 14:08:07 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/guitar-ejercicio-1.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	No es para estar orgulloso ni mucho menos, pero es de esas cosas que jam&aacute;s pens&eacute; conseguir. Hace cuesti&oacute;n de un a&ntilde;o y pico me regalaron una guitarra espa&ntilde;ola y desde entonces ha estado bastante abandonada en la oscuridad de su funda.</p>
<p>
	Este a&ntilde;o he empezado a ir a clases para aprender a tocarla, tan solo van dos sesiones pero cada vez que me pongo a practicar en casa me relaja de semejante forma que dudo que no llegue a ser hasta peligroso. Hoy me han mandado deberes, algo imagino que trivial para el que sabe, pero bastante tormentoso para mis dedos, y para muestra un bot&oacute;n...<br /><br /></p>
<p>
	En la primera clase hemos apuntado las notas <em>Do</em>, <em>Re</em>, <em>Mi</em>, <em>Sol</em> y <em>La</em> (<em>Fa</em> y <em>Si</em> las dejaremos para cuando tengamos los dedos un poco m&aacute;s entrenados) y tocaba aprend&eacute;rselas de memoria, que no es poco :P. En esta segunda clase hemos introducido dos notas a m&aacute;s: <em>Do+9</em> y <em>Mi#7 </em>para practicar nuestros primeros tres ejercicios:</p>
<ul>
	<li>
		<em>SOL(G), DO+9(C9), MI#7(E7), RE(D)</em></li>
	<li>
		<em>SOL(G), RE(D), DO(C)</em></li>
	<li>
		<em>MI(E), LA(A), RE(D)</em></li>
</ul>
<p>
	Al llegar a casa me he instalado <a href="http://tuxguitar.herac.com.ar/">TuxGuitar</a>, <a href="http://audacity.sourceforge.net/download/">Audacity</a>&nbsp;y la librer&iacute;a <a href="http://spaghetticode.org/lame/">LameLib</a>&nbsp;para poder leer los ejercicios, poder grabarlos y exportar las grabaciones a <em>mp3</em>. Esto es lo que ha salido:</p>
<ul>
	<li>
		<a href="http://www.userlinux.net/uploads/media/images/guitarra/ejercicio01-source.gp5">ejercicio01-source.gp5</a> (source del ejercicio)</li>
	<li>
		<a href="http://www.userlinux.net/uploads/media/images/guitarra/ejercicio01-1.mp3">ejercicio01-1.mp3</a> (grabaci&oacute;n con el source de fondo)</li>
	<li>
		<a href="http://www.userlinux.net/uploads/media/images/guitarra/ejercicio01-2.mp3">ejercicio01-2.mp3</a> (grabaci&oacute;n sin fondo)</li>
</ul>
<p>
	Se admite todo tipo de cr&iacute;tica constructiva (teniendo en cuenta que es la segunda clase). Espero seguir posteando estas peque&ntilde;as pruebas. Aunque no sean demasiado interesantes me hacen especial ilusi&oacute;n.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=qZ3x5b-WIcE:DXgf6Lv362g:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=qZ3x5b-WIcE:DXgf6Lv362g:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=qZ3x5b-WIcE:DXgf6Lv362g:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=qZ3x5b-WIcE:DXgf6Lv362g:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=qZ3x5b-WIcE:DXgf6Lv362g:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=qZ3x5b-WIcE:DXgf6Lv362g:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/qZ3x5b-WIcE" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	No es para estar orgulloso ni mucho menos, pero es de esas cosas que jam&amp;aacute;s pens&amp;eacute; conseguir. Hace cuesti&amp;oacute;n de un a&amp;ntilde;o y pico me regalaron una guitarra espa&amp;ntilde;ola y desde entonces ha estado bastante abandonada en la oscuridad de su funda.&lt;/p&gt;
&lt;p&gt;
	Este a&amp;ntilde;o he empezado a ir a clases para aprender a tocarla, tan solo van dos sesiones pero cada vez que me pongo a practicar en casa me relaja de semejante forma que dudo que no llegue a ser hasta peligroso. Hoy me han mandado deberes, algo imagino que trivial para el que sabe, pero bastante tormentoso para mis dedos, y para muestra un bot&amp;oacute;n...</description><feedburner:origLink>http://www.userlinux.net/guitar-ejercicio-1.html</feedburner:origLink></item><item><title>Problema con el CurrentMood()</title><link>http://feedproxy.google.com/~r/userlinux/~3/YcWii1r3XVM/problema-con-el-currentmood.html</link><category>php</category><category>humor</category><pubDate>Tue, 10 Jan 2012 01:02:15 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/problema-con-el-currentmood.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Si alguien le encuentra la soluci&oacute;n por favor h&aacute;ganlo saber a trav&eacute;s de los comentarios o cualquier otra forma de contacto:</p>
<pre>
&lt;?php
class CurrentMood extends Weather
{
    public $mood;
    public $cold;
    public $coatme;
    public $asleep;
    public $ill;
    
    function __construct()
    {
        if($this-&gt;cold++ and $this-&gt;coatme)
        {
            $this-&gt;mood = $this-&gt;mood + $this-&gt;asleep;
        }
        else
        {
            $this-&gt;ill++;
        }
    }
}
?&gt;
</pre>
<p>
	No es tan f&aacute;cil como parece, y tengo la sensaci&oacute;n que todav&iacute;a faltan los peores meses.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=YcWii1r3XVM:gGX2m0SkSm0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=YcWii1r3XVM:gGX2m0SkSm0:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=YcWii1r3XVM:gGX2m0SkSm0:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=YcWii1r3XVM:gGX2m0SkSm0:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=YcWii1r3XVM:gGX2m0SkSm0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=YcWii1r3XVM:gGX2m0SkSm0:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/YcWii1r3XVM" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Si alguien le encuentra la soluci&amp;oacute;n por favor h&amp;aacute;ganlo saber a trav&amp;eacute;s de los comentarios o cualquier otra forma de contacto:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?php
class CurrentMood extends Weather
{
    public $mood;
    public $cold;
    public $coatme;
    public $asleep;
    public $ill;
    
    function __construct()
    {
        if($this-&amp;gt;cold++ and $this-&amp;gt;coatme)
        {
            $this-&amp;gt;mood = $this-&amp;gt;mood + $this-&amp;gt;asleep;
        }
        else
        {
            $this-&amp;gt;ill++;
        }
    }
}
?&amp;gt;
&lt;/pre&gt;
&lt;p&gt;
	No es tan f&amp;aacute;cil como parece, y tengo la sensaci&amp;oacute;n que todav&amp;iacute;a faltan los peores meses.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/problema-con-el-currentmood.html</feedburner:origLink></item><item><title>Por la gracia de chown</title><link>http://feedproxy.google.com/~r/userlinux/~3/crYzfOT4BBk/por-la-gracia-de-chown.html</link><category>chown</category><category>curiosidades</category><pubDate>Mon, 09 Jan 2012 07:43:42 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/por-la-gracia-de-chown.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Cuando las herramientas funcionan como tienen que funcionar a veces se ven situaciones de lo m&aacute;s <em>graciosas</em>. Si quieres cambiar el propietario de todos los ficheros (ocultos y normales)&nbsp;que est&aacute;n bajo una estructura de directorios, &iquest;har&iacute;as lo siguiente?:</p>
<pre>
$ cd directorio/
$ chown -R usuario:grupo *
$ chown -R&nbsp;usuario:grupo .*</pre>
<p>
	A ver quien es capaz de ver el peque&ntilde;o error que se comete. Venga que no es tan complicado... quien no est&eacute; dispuesto a pensar demasiado puede leer el <em>spoiler</em>: El patr&oacute;n <strong><em>[</em></strong><strong><em>.*]</em> </strong>coincide con el archivo especial <strong><em>[..]</em> </strong>de forma que se hace el cambio de usuario tambi&eacute;n en el nivel superior.</p>
<p>
	So much funny for a monday.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=crYzfOT4BBk:u0bD-aTd8KY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=crYzfOT4BBk:u0bD-aTd8KY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=crYzfOT4BBk:u0bD-aTd8KY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=crYzfOT4BBk:u0bD-aTd8KY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=crYzfOT4BBk:u0bD-aTd8KY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=crYzfOT4BBk:u0bD-aTd8KY:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/crYzfOT4BBk" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Cuando las herramientas funcionan como tienen que funcionar a veces se ven situaciones de lo m&amp;aacute;s &lt;em&gt;graciosas&lt;/em&gt;. Si quieres cambiar el propietario de todos los ficheros (ocultos y normales)&amp;nbsp;que est&amp;aacute;n bajo una estructura de directorios, &amp;iquest;har&amp;iacute;as lo siguiente?:&lt;/p&gt;
&lt;pre&gt;
$ cd directorio/
$ chown -R usuario:grupo *
$ chown -R&amp;nbsp;usuario:grupo .*&lt;/pre&gt;
&lt;p&gt;
	A ver quien es capaz de ver el peque&amp;ntilde;o error que se comete. Venga que no es tan complicado... quien no est&amp;eacute; dispuesto a pensar demasiado puede leer el &lt;em&gt;spoiler&lt;/em&gt;: El patr&amp;oacute;n &lt;strong&gt;&lt;em&gt;[&lt;/em&gt;&lt;/strong&gt;&lt;strong&gt;&lt;em&gt;.*]&lt;/em&gt; &lt;/strong&gt;coincide con el archivo especial &lt;strong&gt;&lt;em&gt;[..]&lt;/em&gt; &lt;/strong&gt;de forma que se hace el cambio de usuario tambi&amp;eacute;n en el nivel superior.&lt;/p&gt;
&lt;p&gt;
	So much funny for a monday.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/por-la-gracia-de-chown.html</feedburner:origLink></item><item><title>Propósito mentolado</title><link>http://feedproxy.google.com/~r/userlinux/~3/ohKMbM4sjq8/proposito-mentolado.html</link><category>linux</category><category>ubuntu</category><category>twitt</category><category>mint</category><category>cinnamon</category><pubDate>Mon, 09 Jan 2012 00:36:06 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/proposito-mentolado.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Buenas fechas para hablar de desprop&oacute;sitos. No deber&iacute;a dejar pasar el a&ntilde;o sin probar <a href="http://www.linuxmint.com/oldreleases.php">Linux Mint Rolling</a> (Debian Testing based) combinado con <a href="http://cinnamon.linuxmint.com/">Cinnamon</a>. As&iacute; que cuando sea capaz de montar la nueva mesa me pondr&eacute; al l&iacute;o. Aunque no descarto del todo GNOME3, s&iacute; Ubuntu.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=ohKMbM4sjq8:ONXJCK5pLJU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ohKMbM4sjq8:ONXJCK5pLJU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ohKMbM4sjq8:ONXJCK5pLJU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=ohKMbM4sjq8:ONXJCK5pLJU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ohKMbM4sjq8:ONXJCK5pLJU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=ohKMbM4sjq8:ONXJCK5pLJU:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/ohKMbM4sjq8" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Buenas fechas para hablar de desprop&amp;oacute;sitos. No deber&amp;iacute;a dejar pasar el a&amp;ntilde;o sin probar &lt;a href="http://www.linuxmint.com/oldreleases.php"&gt;Linux Mint Rolling&lt;/a&gt; (Debian Testing based) combinado con &lt;a href="http://cinnamon.linuxmint.com/"&gt;Cinnamon&lt;/a&gt;. As&amp;iacute; que cuando sea capaz de montar la nueva mesa me pondr&amp;eacute; al l&amp;iacute;o. Aunque no descarto del todo GNOME3, s&amp;iacute; Ubuntu.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/proposito-mentolado.html</feedburner:origLink></item><item><title>La vida es bella</title><link>http://feedproxy.google.com/~r/userlinux/~3/c1QLMku-TqI/la-vida-es-bella.html</link><category>peliculas</category><pubDate>Sat, 31 Dec 2011 02:31:50 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/la-vida-es-bella.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Empieza el juego, quien no haya llegado ya no juega. Se precisan 1000 puntos. El primer clasificado ganar&aacute; un carro blindado nuevo. Menuda suerte. Cada d&iacute;a leeremos la clasificaci&oacute;n por ese altavoz de all&iacute;, al &uacute;ltimo clasificado le colgaremos un cartel que dir&aacute;: Asno. Aqu&iacute; en la espalda. Nosotros estamos en el equipo de los s&uacute;per malos que gritan sin cesar, quien tenga miedo pierde puntos.</p>
<p>
	En tres casos se pierden todos los puntos: los pierden, uno, los que empiezan a llorar, dos, los que quieren ver a su mam&aacute;, tres, los que tienen hambre y piden la merienda. &iexcl;Nada de eso! Es muy f&aacute;cil perder puntos, porque hay hambre. Yo mismo ayer perd&iacute; 40 puntos porque no pude aguantar y ped&iacute; un panecillo de mermelada. De albaricoque. Y el de fresa. Y nada de chucher&iacute;as porque nosotros nos os vamos a dar, nos las comemos todas nosotros. Yo ayer me com&iacute; 20. Me duele la barriga. Pero estaban buenas. Os lo aseguro.</p>
<p>
	Perdonad que me vaya enseguida pero estamos jugando al escondite y sino me tocar&aacute; parar.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=c1QLMku-TqI:ePrPFTLPHNc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=c1QLMku-TqI:ePrPFTLPHNc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=c1QLMku-TqI:ePrPFTLPHNc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=c1QLMku-TqI:ePrPFTLPHNc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=c1QLMku-TqI:ePrPFTLPHNc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=c1QLMku-TqI:ePrPFTLPHNc:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/c1QLMku-TqI" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Empieza el juego, quien no haya llegado ya no juega. Se precisan 1000 puntos. El primer clasificado ganar&amp;aacute; un carro blindado nuevo. Menuda suerte. Cada d&amp;iacute;a leeremos la clasificaci&amp;oacute;n por ese altavoz de all&amp;iacute;, al &amp;uacute;ltimo clasificado le colgaremos un cartel que dir&amp;aacute;: Asno. Aqu&amp;iacute; en la espalda. Nosotros estamos en el equipo de los s&amp;uacute;per malos que gritan sin cesar, quien tenga miedo pierde puntos.&lt;/p&gt;
&lt;p&gt;
	En tres casos se pierden todos los puntos: los pierden, uno, los que empiezan a llorar, dos, los que quieren ver a su mam&amp;aacute;, tres, los que tienen hambre y piden la merienda. &amp;iexcl;Nada de eso! Es muy f&amp;aacute;cil perder puntos, porque hay hambre. Yo mismo ayer perd&amp;iacute; 40 puntos porque no pude aguantar y ped&amp;iacute; un panecillo de mermelada. De albaricoque. Y el de fresa. Y nada de chucher&amp;iacute;as porque nosotros nos os vamos a dar, nos las comemos todas nosotros. Yo ayer me com&amp;iacute; 20. Me duele la barriga. Pero estaban buenas. Os lo aseguro.&lt;/p&gt;
&lt;p&gt;
	Perdonad que me vaya enseguida pero estamos jugando al escondite y sino me tocar&amp;aacute; parar.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/la-vida-es-bella.html</feedburner:origLink></item><item><title>Los 20 mejores delanteros..</title><link>http://feedproxy.google.com/~r/userlinux/~3/_5gl-ExqTMc/los-20-mejores-delanteros.html</link><category>futbol</category><category>deportes</category><pubDate>Tue, 27 Dec 2011 02:34:24 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/los-20-mejores-delanteros.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Es muy f&aacute;cil <a href="http://www.userlinux.net/el-decalogo-del-emprendedor.html#comment-11822">picarme</a>, hacer desdecir mis propias palabras y que entre en el sucio juego de las malditas listas, pero bueno...</p>
<p>
	No quise acabar el t&iacute;tulo porque al final no result&oacute; tan sencillo como pensaba. Intent&eacute; hacer un top de los 20 mejores delanteros de la historia, pero creo que bas&aacute;ndome en lo que he visto y en c&oacute;mo me sal&iacute;an las cuentas, mejor hacer dos listas. Complicado tenerlos en cuenta a todos, que no se noten los colores, ser calculador y todo eso, pero como me gusta el riesgo ah&iacute; van (desordenados por supuesto)...<br /><br /></p>
<p>
	<strong>Top 20 delanteros modernos</strong></p>
<ul>
	<li>
		Messi</li>
	<li>
		Eto&#39;o</li>
	<li>
		Drogba</li>
	<li>
		Tevez</li>
	<li>
		Henry</li>
	<li>
		Ronaldo</li>
	<li>
		Rooney</li>
	<li>
		Kak&aacute;</li>
	<li>
		CR7</li>
	<li>
		Robben</li>
	<li>
		Van Nistelrooy</li>
	<li>
		Shevchenko</li>
	<li>
		Forl&aacute;n</li>
	<li>
		Del Piero</li>
	<li>
		Trezeguet</li>
	<li>
		Villa</li>
	<li>
		Owen</li>
	<li>
		Inzaghi</li>
	<li>
		Ra&uacute;l</li>
	<li>
		Ibra</li>
</ul>
<p>
	<strong>Top 20 delanteros hist&oacute;ricos</strong></p>
<ul>
	<li>
		Pel&eacute;</li>
	<li>
		Di St&eacute;fano</li>
	<li>
		Cruyff</li>
	<li>
		Maradona</li>
	<li>
		Gullit</li>
	<li>
		Van Basten</li>
	<li>
		Canton&aacute;</li>
	<li>
		Klinsmann</li>
	<li>
		Romario</li>
	<li>
		Careca</li>
	<li>
		Weah</li>
	<li>
		Zico</li>
	<li>
		Hugo S&aacute;nchez</li>
	<li>
		Eusebio</li>
	<li>
		Baggio</li>
	<li>
		Kempes</li>
	<li>
		<span style="color: rgb(51, 51, 51); font-family: arial, helvetica, clean, sans-serif; font-size: 13px; line-height: 16px; ">M&uuml;ller</span></li>
	<li>
		Zamorano</li>
	<li>
		Santillana</li>
	<li>
		Quini</li>
</ul>
<p>
	Al final no ha resultado nada f&aacute;cil, maldita sea... Y quien no est&eacute; de acuerdo, que ser&iacute;a lo m&aacute;s l&oacute;gico, ah&iacute; est&aacute;n los comentarios para dejar vuestras preferencias, yo ya he pensado suficiente por hoy.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=_5gl-ExqTMc:wPek7jo3uiY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=_5gl-ExqTMc:wPek7jo3uiY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=_5gl-ExqTMc:wPek7jo3uiY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=_5gl-ExqTMc:wPek7jo3uiY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=_5gl-ExqTMc:wPek7jo3uiY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=_5gl-ExqTMc:wPek7jo3uiY:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/_5gl-ExqTMc" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Es muy f&amp;aacute;cil &lt;a href="http://www.userlinux.net/el-decalogo-del-emprendedor.html#comment-11822"&gt;picarme&lt;/a&gt;, hacer desdecir mis propias palabras y que entre en el sucio juego de las malditas listas, pero bueno...&lt;/p&gt;
&lt;p&gt;
	No quise acabar el t&amp;iacute;tulo porque al final no result&amp;oacute; tan sencillo como pensaba. Intent&amp;eacute; hacer un top de los 20 mejores delanteros de la historia, pero creo que bas&amp;aacute;ndome en lo que he visto y en c&amp;oacute;mo me sal&amp;iacute;an las cuentas, mejor hacer dos listas. Complicado tenerlos en cuenta a todos, que no se noten los colores, ser calculador y todo eso, pero como me gusta el riesgo ah&amp;iacute; van (desordenados por supuesto)...</description><feedburner:origLink>http://www.userlinux.net/los-20-mejores-delanteros.html</feedburner:origLink></item><item><title>Diario de viaje: Norte peninsular</title><link>http://feedproxy.google.com/~r/userlinux/~3/ss01t9Npybs/diario-de-viaje-norte-peninsular.html</link><category>vacaciones</category><category>viajes</category><category>2011</category><pubDate>Tue, 27 Dec 2011 01:49:07 PST</pubDate><guid isPermaLink="false">http://www.userlinux.net/diario-de-viaje-norte-peninsular.html</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[		<p><p>
	Cuaderno de bit&aacute;cora. Lo m&aacute;s destacado y resumido del viaje que hemos elegido para estas vacaciones de diciembre.</p>
<p>
	<strong>D&iacute;a 1. </strong>Santillana del Mar y Comillas. Noche en una bonita pensi&oacute;n con algo de fr&iacute;o, muy poco que ver, las cuevas de Altamira y la zona vieja, plagado de hoteles, hostales y derivados por todos los rincones. In&eacute;dito. Pict&oacute;rico cementerio en Comillas con un &Aacute;ngel Exterminador que quita el aliento.</p>
<p>
	<strong>D&iacute;a 2.</strong> Santander. Preciosa ciudad, con un encanto especial - como todas las que gozan de mar -, paseo por la bah&iacute;a y visita al palacio de la Magdalena, - aunque lloviendo - impresionante.</p>
<p>
	<strong>D&iacute;a 3 y 4.</strong> San Sebasti&aacute;n. Parando en Castro Urdiales y alg&uacute;n otro pueblo de camino. Sin duda la ciudad de la que m&aacute;s hemos disfrutado y que m&aacute;s nos ha impresionado en el viaje. Desde los peines de Chillida hasta la zona vieja hemos paseado la Concha y nos hemos quedado embobados con muchos rincones de esta fant&aacute;stica ciudad.</p>
<p>
	<strong>D&iacute;a 5.</strong> Bilbao. El list&oacute;n se hab&iacute;a puesto muy alto, la verdad es que la primera impresi&oacute;n no fue muy halag&uuml;e&ntilde;a sin embargo seg&uacute;n hemos ido visitando la ciudad acab&oacute; por gustarnos. Aunque decidimos pasar por Vitoria en vez de quedarnos un d&iacute;a m&aacute;s.</p>
<p>
	<strong>D&iacute;a 6.</strong> Vitoria y vuelta. Ten&iacute;amos poco tiempo as&iacute; que aparcamos cerca del casco viejo y nos hicimos la ruta de la almendra, las piernas ya no daban para mucho m&aacute;s as&iacute; que, quitando&nbsp;<em>fail </em>para comer, tambi&eacute;n le encontramos el punto. Nos quedamos con ganas de volver. El viaje de vuelta, parando en Le&oacute;n y Ponferrada para hacerlo m&aacute;s ameno, con poco que rese&ntilde;ar.</p>
<p>
	Las fotos tendr&aacute;n que esperar por reformas. Ha sido un verdadero viaje de placer, aunque con las piernas destrozadas... ahora toca descansar el resto de las vacaciones.</p></p>		<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/userlinux?a=ss01t9Npybs:u9YRwvXhoa8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/userlinux?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ss01t9Npybs:u9YRwvXhoa8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/userlinux?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ss01t9Npybs:u9YRwvXhoa8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/userlinux?i=ss01t9Npybs:u9YRwvXhoa8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/userlinux?a=ss01t9Npybs:u9YRwvXhoa8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/userlinux?i=ss01t9Npybs:u9YRwvXhoa8:V_sGLiPBpWU" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/userlinux/~4/ss01t9Npybs" height="1" width="1"/>]]></content:encoded><description>&lt;p&gt;
	Cuaderno de bit&amp;aacute;cora. Lo m&amp;aacute;s destacado y resumido del viaje que hemos elegido para estas vacaciones de diciembre.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;D&amp;iacute;a 1. &lt;/strong&gt;Santillana del Mar y Comillas. Noche en una bonita pensi&amp;oacute;n con algo de fr&amp;iacute;o, muy poco que ver, las cuevas de Altamira y la zona vieja, plagado de hoteles, hostales y derivados por todos los rincones. In&amp;eacute;dito. Pict&amp;oacute;rico cementerio en Comillas con un &amp;Aacute;ngel Exterminador que quita el aliento.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;D&amp;iacute;a 2.&lt;/strong&gt; Santander. Preciosa ciudad, con un encanto especial - como todas las que gozan de mar -, paseo por la bah&amp;iacute;a y visita al palacio de la Magdalena, - aunque lloviendo - impresionante.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;D&amp;iacute;a 3 y 4.&lt;/strong&gt; San Sebasti&amp;aacute;n. Parando en Castro Urdiales y alg&amp;uacute;n otro pueblo de camino. Sin duda la ciudad de la que m&amp;aacute;s hemos disfrutado y que m&amp;aacute;s nos ha impresionado en el viaje. Desde los peines de Chillida hasta la zona vieja hemos paseado la Concha y nos hemos quedado embobados con muchos rincones de esta fant&amp;aacute;stica ciudad.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;D&amp;iacute;a 5.&lt;/strong&gt; Bilbao. El list&amp;oacute;n se hab&amp;iacute;a puesto muy alto, la verdad es que la primera impresi&amp;oacute;n no fue muy halag&amp;uuml;e&amp;ntilde;a sin embargo seg&amp;uacute;n hemos ido visitando la ciudad acab&amp;oacute; por gustarnos. Aunque decidimos pasar por Vitoria en vez de quedarnos un d&amp;iacute;a m&amp;aacute;s.&lt;/p&gt;
&lt;p&gt;
	&lt;strong&gt;D&amp;iacute;a 6.&lt;/strong&gt; Vitoria y vuelta. Ten&amp;iacute;amos poco tiempo as&amp;iacute; que aparcamos cerca del casco viejo y nos hicimos la ruta de la almendra, las piernas ya no daban para mucho m&amp;aacute;s as&amp;iacute; que, quitando&amp;nbsp;&lt;em&gt;fail &lt;/em&gt;para comer, tambi&amp;eacute;n le encontramos el punto. Nos quedamos con ganas de volver. El viaje de vuelta, parando en Le&amp;oacute;n y Ponferrada para hacerlo m&amp;aacute;s ameno, con poco que rese&amp;ntilde;ar.&lt;/p&gt;
&lt;p&gt;
	Las fotos tendr&amp;aacute;n que esperar por reformas. Ha sido un verdadero viaje de placer, aunque con las piernas destrozadas... ahora toca descansar el resto de las vacaciones.&lt;/p&gt;</description><feedburner:origLink>http://www.userlinux.net/diario-de-viaje-norte-peninsular.html</feedburner:origLink></item></channel></rss>

