<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>luismayoral.com</title>
	
	<link>http://luismayoral.com</link>
	<description>La web de Luis Mayoral</description>
	<lastBuildDate>Mon, 06 Sep 2010 08:23:53 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
<cloud domain="luismayoral.com" port="80" path="/?rsscloud=notify" registerProcedure="" protocol="http-post" />
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/luismayoral" /><feedburner:info uri="luismayoral" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Chico con suerte</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/_lKzeVlsJkc/chico-con-suerte</link>
		<comments>http://luismayoral.com/musica/chico-con-suerte#comments</comments>
		<pubDate>Sun, 15 Aug 2010 10:50:49 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Música]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=732</guid>
		<description><![CDATA[Debió ser cosa de la suerte que todavía quedasen unidades en la tienda de música de la edición coleccionista del DVD + Doble CD del Alchemy de Dire Straits. Debió ser cosa de la suerte que cuando acompañé a mi hermana a comprarlo nos encontrásemos con una persona amante de la buena música y nos [...]]]></description>
			<content:encoded><![CDATA[<p>Debió ser cosa de la suerte que todavía quedasen unidades en la tienda de música de la edición coleccionista del DVD + Doble CD del Alchemy de Dire Straits. Debió ser cosa de la suerte que cuando acompañé a mi hermana a comprarlo nos encontrásemos con una persona amante de la buena música y nos pusiera sobre la pista de que en poco tiempo Mark Knopfler pasaría por España en la gira de presentación de su último disco, el Get Lucky.</p>

<p><img src="http://luismayoral.com/wp-content/uploads/2010/08/knopfler1.jpg" alt="" title="Knopfler en Córdoba" width="600" height="292" class="alignnone size-full wp-image-733" /></p>

<p>Debió ser también cosa de la suerte que mi buen amigo <a href="http://twitter.com/ildecortes">Ilde Cortés</a> me avisase que en pocos días Knopfler estaría en Córdoba, dentro de los conciertos del Festival de la guitarra. Y el que todavía quedasen entradas. Y que al preguntar a mi familia me recomendasen un hotel en el que ya habían estado que casualmente pillaba a 5 minutos andando de la plaza de toros, donde se desarrollaría el concierto.</p>

<p><img src="http://luismayoral.com/wp-content/uploads/2010/08/knopfler2.jpg" alt="" title="Knopfler en Córdoba II" width="600" height="347" class="alignnone size-full wp-image-734" /></p>

<p>Tener la oportunidad de disfrutar en compañía de una persona muy especial de Romeo and Juliet, ver a Knopfler improvisar al ritmo del Oe oe que coreaba el público para a continuación enlazar con la mítica Sultans of swing son cosas para las que tendrán que pasar muchos años hasta que ocurra algo que iguale o supere ese momento.</p>

<p>Aunque serán dos horas muy difíciles de olvidar, pocos días después de ese maravilloso 25 de julio descubrimos de nuevo gracias a Ilde que la gente de <a href="http://www.simfylive.com">SimfyLive.com</a> comercializaba <a href="http://simfylive.com/en/artist/3272/live-recordings/3179/4968/Mark-Knopfler-Get-Lucky-Tour---Live-in-Cordoba.html">el directo del concierto</a>.</p>

<p>Cosas de la suerte. O no. Pero una grandísima experiencia :)</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/_lKzeVlsJkc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/musica/chico-con-suerte/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://luismayoral.com/musica/chico-con-suerte</feedburner:origLink></item>
		<item>
		<title>Mis imprescindibles: Github</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/_gV2tCjtG6g/mis-imprescindibles-github</link>
		<comments>http://luismayoral.com/programacion/mis-imprescindibles-github#comments</comments>
		<pubDate>Wed, 04 Aug 2010 18:33:12 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=717</guid>
		<description><![CDATA[Aprovechando que son los protagonistas del último &#8220;Bootstrapped, profitable &#38; proud&#8221; (una serie de artículos del blog de 37signals, de lo más recomendables) rompo la temática de los imprescindibles para comentar un servicio que llevo usando desde sus inicios: Github. En su portada podemos leer: Git es un software para el control de versiones que [...]]]></description>
			<content:encoded><![CDATA[<p>Aprovechando que son los protagonistas del último <a href="http://37signals.com/svn/posts/2486-bootstrapped-profitable-proud-github">&#8220;Bootstrapped, profitable &amp; proud&#8221;</a> (una serie de artículos del <a href="http://37signals.com/svn/">blog de 37signals</a>, de lo más recomendables) rompo la temática de los imprescindibles para comentar un servicio que llevo usando desde sus inicios: <a href="http://github.com">Github</a>.</p>

<p><a href="http://github.com"><img src="http://luismayoral.com/wp-content/uploads/2010/08/github.jpg" alt="" title="Github" width="525" height="375" class="aligncenter size-full wp-image-723" /></a></p>

<p><span id="more-717"></span></p>

<p>En su portada podemos leer:</p>

<blockquote>
  <p>Git es un software para el control de versiones que es extremadamente rápido, eficiente e ideal para el desarrollo colaborativo de software.</p>
  
  <p>GitHub es la mejor manera de participar en esa colaboración: divide proyectos, envía solicitudes de pull, notifica problemas y sigue el desarrollo de todo tu código, ya sea público o privado.</p>
</blockquote>

<p>Github es a día de hoy el mejor servicio de hosting de repositorios git, cuya interfaz facilita enormemente tareas comunes como ver el historial de un fichero, comparar ramas de un proyecto para ver sus diferencias, hacer un fork de un proyecto, poder hacer solicitudes de pull al proyecto del que surgió tu fork&#8230; Entienden muy bien cómo funciona git y lo han trasladado de una manera muy sencilla a la web.</p>

<p>Desde su nacimiento tienes dos opciones: si tus proyectos son públicos no tendrás que pagar absolutamente nada, puedes tener todos los que quieras. Si en cambio quieres que tus proyectos sean privados (por ejemplo, para alojar el código de las aplicaciones de tu empresa) tienes una serie de planes en función del número de repositorios privados y de colaboradores externos en esos repositorios (todo esto bien detallado <a href="http://github.com/plans">aquí</a>).</p>

<p>Github también ofrece los <a href="http://gist.github.com/">gist</a>, que viene a ser una manera de poder compartir tus snippets de código con el resto de la gente. La grandeza de gist es que los propios gists que crees son repositorios git, con lo cual puedes hacer un fork de un gist que hayas encontrado, puedes llevar un control de versiones&#8230;</p>

<p>Por último la gente de Github mantiene un <a href="http://github.com/blog">blog</a> en el que aparte de hablar sobre las novedades del producto suelen compartir cada cierto tiempo soluciones a problemas que se han ido encontrando durante el desarrollo de Github. De lo más recomendable si quieres conocer una configuración de <a href="http://unicorn.bogomips.org/">Unicorn</a> de un sitio de buen tamaño, o las razones que les llevaron a utilizarlo en algunas partes de Github, o cómo afrontaron el servir ficheros estáticos de la manera más eficiente posible&#8230;</p>

<p>¿Si no tienes cuenta a qué estás esperando? Me puedes encontrar por allí en <a href="http://github.com/mayoral">github.com/mayoral</a> ;)</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/_gV2tCjtG6g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/programacion/mis-imprescindibles-github/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://luismayoral.com/programacion/mis-imprescindibles-github</feedburner:origLink></item>
		<item>
		<title>Instalando Sphinx en Mac OS X</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/uB2lSqaphrA/instalando-sphinx-en-mac-os-x</link>
		<comments>http://luismayoral.com/destacados/instalando-sphinx-en-mac-os-x#comments</comments>
		<pubDate>Sun, 28 Mar 2010 18:13:16 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Destacados]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[snow leopard]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=235</guid>
		<description><![CDATA[Tarde o temprano la mayoría de personas que integramos sistemas de búsqueda en nuestros desarrollos web acabamos usando <a href="http://www.sphinxsearch.com/">Sphinx</a> debido a la cantidad de opciones que nos ofrece.]]></description>
			<content:encoded><![CDATA[<p>Tarde o temprano la mayoría de personas que integramos sistemas de búsqueda en nuestros desarrollos web acabamos usando <a href="http://www.sphinxsearch.com/">Sphinx</a> debido a la cantidad de opciones que nos ofrece.</p>

<p>Sirva esta entrada a modo de guía rápida sobre cómo instalar Sphinx en nuestros Macs.</p>

<h3>Paso 0: Requisitos previos</h3>

<p>Antes de seguir, es básico que tengamos instalado <a href="http://www.apple.com/es/macosx/features/300.html#xcode3">XCode</a>, para lo cual o bien lo hacemos desde nuestro DVD de instalación de Leopard o bien nos vamos al <a href="http://developer.apple.com/mac/">Mac Dev Center</a> de la <a href="http://developer.apple.com/">Apple Developer Connection</a> y nos lo bajamos.</p>

<p>Todo lo que vamos a escribir lo haremos en un terminal. Mi recomendación es usar <a href="http://iterm.sourceforge.net/">iTerm</a>, aunque hay gente que está más habituada a utilizar la propia applicación Consola. A vuestra propia elección.</p>

<p>Comienza la diversión ;)</p>

<h3>Paso 1: Descarga de Sphinx</h3>

<p>Si no existiese, crearemos una carpeta <code>src</code> desde la que funcionaremos a lo largo de todo este tutorial:</p>

<pre><code>mkdir ~/src
cd ~/src
</code></pre>

<p>A continuación procedemos a la descarga y desempaquetado de Sphinx 0.9.9:</p>

<pre><code>curl -O http://www.sphinxsearch.com/downloads/sphinx-0.9.9.tar.gz
tar xfz sphinx-0.9.9.tar.gz
cd sphinx-0.9.9/
</code></pre>

<p>Ya estamos listos para compilar.</p>

<h3>Paso 2: Compilación e instalación</h3>

<p>Si queremos compilar Sphinx a 32 bits (la configuración por defecto) utilizaremos el siguiente comando como paso previo:</p>

<pre><code>./configure --prefix=/usr/local
</code></pre>

<p>Si deseamos hacerlo a 64 bits (lo más habitual si estamos en Snow Leopard) tendremos que hacerlo de la siguiente manera:</p>

<pre><code>LDFLAGS="-arch x86_64" ./configure --prefix=/usr/local
</code></pre>

<p>Ya estamos listos para compilar:</p>

<pre><code>make
</code></pre>

<p>Y por último, instalar:</p>

<pre><code>sudo make install
</code></pre>

<p>Con esto ya tenemos Sphinx 0.9.9  perfectamente operativo en nuestro sistema. Si te dedicas al desarrollo con Ruby on Rails echa un vistazo a <a href="http://freelancing-god.github.com/ts/en/">Thinking Sphinx</a>, una gema de lo más recomendable.</p>

<p>¡A disfrutar!</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/uB2lSqaphrA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/destacados/instalando-sphinx-en-mac-os-x/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://luismayoral.com/destacados/instalando-sphinx-en-mac-os-x</feedburner:origLink></item>
		<item>
		<title>10.lines do: Helpers bajo demanda en Rails</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/Hnsn5pbc7ZU/10-lines-do-helpers-bajo-demanda-en-rails</link>
		<comments>http://luismayoral.com/programacion/10-lines-do-helpers-bajo-demanda-en-rails#comments</comments>
		<pubDate>Mon, 01 Mar 2010 21:52:26 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=220</guid>
		<description><![CDATA[Dentro de los objetivos en uno de nuestros desarrollos en Rails está el tener cuantas más vías mejor a la hora de personalizar la aplicación de cara al cliente. En una de esas últimas incursiones en la carga dinámica para cada cliente estuvimos jugando con el tema de que pudieran tener helpers propios. Imaginemos que [...]]]></description>
			<content:encoded><![CDATA[<p>Dentro de los objetivos en uno de nuestros desarrollos en Rails está el tener cuantas más vías mejor a la hora de personalizar la aplicación de cara al cliente. En una de esas últimas incursiones en la carga dinámica para cada cliente estuvimos jugando con el tema de que pudieran tener helpers propios.</p>

<p>Imaginemos que dentro de <code>config/preinitializer.rb</code> tenemos algo como esto:</p>

<pre><code>NUESTRO_CLIENTE = 'foobar'
</code></pre>

<p>Podemos crear un fichero llamado <code>config/initializers/helper_loader.rb</code> (el nombre es un poco lo de menos), que contenga lo siguiente:</p>

<pre><code>helper_load_path = File.join(RAILS_ROOT, 'app', 'customizations', NUESTRO_CLIENTE, 'helpers')
ActiveSupport::Dependencies.load_paths &lt;&lt; helper_load_path
</code></pre>

<p>Por último, creamos un fichero llamado <code>app/customizations/foobar/helpers/foobar_helper.rb</code> parecido al siguiente:</p>

<pre><code>module FoobarHelper
  def nuestro_metodo
    # lo que sea
  end
end
</code></pre>

<p>Ya solo nos quedaría meter en nuestro <code>app/controllers/application_controller.rb</code> la siguiente línea:</p>

<pre><code>helper Module.const_get("#{NUESTRO_CLIENTE.titleize}Helper")
</code></pre>

<p>Con esto ya tendríamos disponible el helper <code>nuestro_metodo</code> solo en aquellas instancias en las que NUESTRO_CLIENTE fuese <code>foobar</code> y no en el resto. O también nos podría servir para poder definir en varias instancias de manera completamente distinta <code>nuestro_metodo</code> (por ejemplo, definir un <code>ad_tag_helper</code> que para un cliente estuviese optimizada para SmartAdServer, para otro con OpenX, para otro con Google Adsense&#8230;).</p>

<p>Las posibilidades que nos brinda estas pocas líneas son infinitas :)</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/Hnsn5pbc7ZU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/programacion/10-lines-do-helpers-bajo-demanda-en-rails/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://luismayoral.com/programacion/10-lines-do-helpers-bajo-demanda-en-rails</feedburner:origLink></item>
		<item>
		<title>Aniversarios varios</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/ngmZ589O45M/aniversarios-varios</link>
		<comments>http://luismayoral.com/personal/aniversarios-varios#comments</comments>
		<pubDate>Sun, 24 Jan 2010 23:43:59 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=221</guid>
		<description><![CDATA[A lo largo de este mes se cumplen años de varios acontecimientos que cambiaron de forma importante aspectos de mi vida: Hace un par de semanas se cumplió el primer año de carnet de conducir. No he logrado la meta que me había propuesto de hacer 10.000 kilómetros durante ese primer año pero no me [...]]]></description>
			<content:encoded><![CDATA[<p>A lo largo de este mes se cumplen años de varios acontecimientos que cambiaron de forma importante aspectos de mi vida:</p>

<ul>
<li>Hace un par de semanas se cumplió el primer año de carnet de conducir. No he logrado la meta que me había propuesto de hacer 10.000 kilómetros durante ese primer año pero no me he quedado muy lejos. Buena parte de los viajes que he hecho por mi cuenta han servido para poder salir con la cámara y fotografiar rincones de esta tierra, como por ejemplo los <a href="http://www.flickr.com/photos/mayoral/4125004355/">molinos de Consuegra</a>. Aunque el no llevar la L signfique poder superar unos límites de velocidad y de consumo de alcohol, seguiré con la misma filosofía de cero alcohol al volante y respeto absoluto de las señales de tráfico.</li>
<li>Sin duda el aniversario que más orgullo me produce es que ayer se cumplieron tres años desde que dejé de fumar. Al principio iba celebrando cada semana que pasaba, hasta que llega un momento en que casi te olvidas que alguna vez fumaste. El recuerdo te vuelve cuando pasas por ambientes todavía no libres de tabaco como los bares y te das cuenta observando a la gente de hasta qué punto los fumadores son maleducados con el resto de forma en la mayoría de los casos inconscientemente. Curiosamente el olor en el que antes te sentías cómodo ahora te repugna, y casi que te vuelves más intolerante con los fumadores que los propios no fumadores de toda la vida xD</li>
<li>Tal día como hoy hace ocho años ya comenzó mi andadura en el loco mundo de las bitácoras. De entre todas las cosas que han ido sucediendo a lo largo de este tiempo me quedaría con el hecho de que una bitácora ha pasado de ser algo de &#8220;gente rara&#8221; a algo de lo más normal del mundo, a que apenas haya limitaciones técnicas para que cualquier persona pueda tener su propia bitácora, a que se hayan consolidado en muchos casos como medios de comunicación a la misma altura que los tradicionales, y en algunos casos hasta los hayan desbancado. Y esta revolución no ha hecho más que empezar :)</li>
</ul>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/ngmZ589O45M" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/personal/aniversarios-varios/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://luismayoral.com/personal/aniversarios-varios</feedburner:origLink></item>
		<item>
		<title>¡Feliz 2010!</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/qH4DMtBl3ZA/feliz-2010</link>
		<comments>http://luismayoral.com/personal/feliz-2010#comments</comments>
		<pubDate>Thu, 31 Dec 2009 19:13:39 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=214</guid>
		<description><![CDATA[Creo que en los casi ocho años de vida de esta bitácora esta es la primera vez que opto por no programar la entrada. También esta será de las primeras veces que la entrada no pasará por borradores, sino que se publicará directamente&#8230; Simplemente quería desear a todos los que de vez en cuando os [...]]]></description>
			<content:encoded><![CDATA[<p>Creo que en los casi ocho años de vida de esta bitácora esta es la primera vez que opto por no programar la entrada. También esta será de las primeras veces que la entrada no pasará por borradores, sino que se publicará directamente&#8230;</p>

<p>Simplemente quería desear a todos los que de vez en cuando os dejáis caer por estos lares que tengáis un gran año 2010. Éste será un año más duro que 2009, por mucho que desde el ámbito político intenten vender lo contrario, y la única manera de superarlo va a ser trabajar todavía con más ganas de las que veníamos utilizando hasta ahora.</p>

<p>Hoy precisamente he leído una entrada en la bitácora de <a href="http://www.raulhernandezgonzalez.com">Raúl Hernández</a> titulada <a href="http://www.vidadeunconsultor.com/2009/12/para-el-2010-quiero/">&#8220;Para el 2010 quiero&#8230;&#8221;</a>. Me gustaría citar unos fragmentos de dicha entrada:</p>

<blockquote>
  <p>Pero la pregunta no es &#8220;qué le pides&#8221; al 2010, sino… <strong>¿Qué vas a hacer TÚ en 2010 para
  conseguir lo que quieres?</strong></p>
  
  <p>[...]</p>
  
  <p><strong>Así que al 2010 yo no lo le pido nada</strong>. Sólo espero de mí mismo ser capaz de poner
  toda la carne en el asador, de actuar sobre todo aquello que está a mi alcance para 
  perseguir mis metas y mejorar mi vida y la de los que me rodean. Y la capacidad de ir
  aceptando lo que venga con la mejor de las disposiciones.</p>
</blockquote>

<p>Luchad por vuestros sueños. Tarde o temprano los acabaréis consiguiendo. Y si nunca lo hacéis al menos nadie os podrá decir que no lo habéis intentado.</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/qH4DMtBl3ZA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/personal/feliz-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://luismayoral.com/personal/feliz-2010</feedburner:origLink></item>
		<item>
		<title>Manifiesto “En defensa de los derechos fundamentales en internet”</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/lpv_bMnx8Yk/manifiesto-en-defensa-de-los-derechos-fundamentales-en-internet</link>
		<comments>http://luismayoral.com/general/manifiesto-en-defensa-de-los-derechos-fundamentales-en-internet#comments</comments>
		<pubDate>Wed, 02 Dec 2009 10:08:56 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=200</guid>
		<description><![CDATA[Ante la inclusión en el Anteproyecto de Ley de Economía sostenible de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que: [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_206" class="wp-caption aligncenter" style="width: 610px"><img src="http://luismayoral.com/wp-content/uploads/2009/12/1025902.jpg" alt="Viñeta Manifiesto Eneko" title="Manifiesto" width="600" height="406" class="size-full wp-image-206" /><p class="wp-caption-text">Eneko/20minutos.es</p></div>
Ante la inclusión en el <strong>Anteproyecto de Ley de Economía sostenible</strong> de modificaciones legislativas que afectan al libre ejercicio de las libertades de expresión, información y el derecho de acceso a la cultura a través de Internet, los periodistas, bloggers, usuarios, profesionales y creadores de Internet manifestamos nuestra firme oposición al proyecto, y declaramos que:</p>

<ol>
<li><strong>Los derechos de autor no pueden situarse por encima de los derechos fundamentales de los ciudadanos</strong>, como el derecho a la privacidad, a la seguridad, a la presunción de inocencia, a la tutela judicial efectiva y a la libertad de expresión.</li>
<li><strong>La suspensión de derechos fundamentales es y debe seguir siendo competencia exclusiva del poder judicial</strong>. Ni un cierre sin sentencia. Este anteproyecto, en contra de lo establecido en el artículo 20.5 de la Constitución, pone en manos de un órgano no judicial -un organismo dependiente del ministerio de Cultura-, la potestad de impedir a los ciudadanos españoles el acceso a cualquier página web.</li>
<li><strong>La nueva legislación creará inseguridad jurídica en todo el sector tecnológico español</strong>, perjudicando uno de los pocos campos de desarrollo y futuro de nuestra economía, entorpeciendo la creación de empresas, introduciendo trabas a la libre competencia y ralentizando su proyección internacional.</li>
<li>La nueva legislación propuesta amenaza a los nuevos creadores y entorpece la creación cultural. Con Internet y los sucesivos avances tecnológicos se ha democratizado extraordinariamente la creación y emisión de contenidos de todo tipo, que ya no provienen prevalentemente de las industrias culturales tradicionales, sino de multitud de fuentes diferentes.</li>
<li><strong>Los autores, como todos los trabajadores, tienen derecho a vivir de su trabajo con nuevas ideas creativas, modelos de negocio y actividades asociadas a sus creaciones</strong>. Intentar sostener con cambios legislativos a una industria obsoleta que no sabe adaptarse a este nuevo entorno no es ni justo ni realista. Si su modelo de negocio se basaba en el control de las copias de las obras y en Internet no es posible sin vulnerar derechos fundamentales, deberían buscar otro modelo.</li>
<li>Consideramos que <strong>las industrias culturales necesitan para sobrevivir alternativas modernas, eficaces, creíbles y asequibles y que se adecuen a los nuevos usos sociales</strong>, en lugar de limitaciones tan desproporcionadas como ineficaces para el fin que dicen perseguir.</li>
<li><strong>Internet debe funcionar de forma libre y sin interferencias políticas</strong> auspiciadas por sectores que pretenden perpetuar obsoletos modelos de negocio e imposibilitar que el saber humano siga siendo libre.</li>
<li><strong>Exigimos que el Gobierno garantice por ley la neutralidad de la Red en España</strong>, ante cualquier presión que pueda producirse, como marco para el desarrollo de una economía sostenible y realista de cara al futuro.</li>
<li><strong>Proponemos una verdadera reforma del derecho de propiedad intelectual</strong> orientada a su fin: devolver a la sociedad el conocimiento, promover el dominio público y limitar los abusos de las entidades gestoras.</li>
<li><strong>En democracia las leyes y sus modificaciones deben aprobarse tras el oportuno debate públic</strong>o y habiendo consultado previamente a todas las partes implicadas. No es de recibo que se realicen cambios legislativos que afectan a derechos fundamentales en una ley no orgánica y que versa sobre otra materia.</li>
</ol>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/lpv_bMnx8Yk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/general/manifiesto-en-defensa-de-los-derechos-fundamentales-en-internet/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://luismayoral.com/general/manifiesto-en-defensa-de-los-derechos-fundamentales-en-internet</feedburner:origLink></item>
		<item>
		<title>Mis imprescindibles: Things</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/Dcx7RAAGsd0/mis-imprescindibles-things</link>
		<comments>http://luismayoral.com/software/mis-imprescindibles-things#comments</comments>
		<pubDate>Sat, 31 Oct 2009 17:15:47 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[gtd]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[things]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=155</guid>
		<description><![CDATA[Hace tiempo que decidí adoptar el método GTD a la hora de ir tratando con las tareas tanto personales como profesionales del día a día. Y aunque para seguir el GTD no haría falta usar ninguna aplicación, en mi caso decidí, después de probar varias, empezar a utilizar Things, junto a Things para iPhone. Como [...]]]></description>
			<content:encoded><![CDATA[<p>Hace tiempo que decidí adoptar el método <a href="http://es.wikipedia.org/wiki/Getting_Things_Done">GTD</a> a la hora de ir tratando con las tareas tanto personales como profesionales del día a día. Y aunque para seguir el GTD no haría falta usar ninguna aplicación, en mi caso decidí, después de probar varias, empezar a utilizar <a href="http://culturedcode.com/things/">Things</a>, junto a <a href="http://culturedcode.com/things/iphone/">Things para iPhone</a>.</p>

<p><img src="http://luismayoral.com/wp-content/uploads/2009/10/Things.png" alt="Things" title="Things" width="600" height="472" class="aligncenter size-full wp-image-193" /></p>

<p>Como hay gente que ya ha explicado muchísimo mejor de lo que podría hacerlo yo qué es Things os voy a dejar con un <a href="http://thinkwasabi.com/2009/03/screencast-4-gtd-facil-iii-evernote-y-things/">screencast de GTD con Things</a> obra de <a href="http://bertopena.com/">Berto Pena</a>, el genio que está detrás de <a href="http://thinkwasabi.com">Think Wasabi</a>, bitácora de obligado seguimiento si estás interesado en mejorar tu productividad sea en la plataforma que sea (que eso acaba siendo lo de menos).</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/Dcx7RAAGsd0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/software/mis-imprescindibles-things/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://luismayoral.com/software/mis-imprescindibles-things</feedburner:origLink></item>
		<item>
		<title>10.lines do: Trucos para paperclip</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/tjAvMRm69E8/10-lines-do-trucos-para-paperclip</link>
		<comments>http://luismayoral.com/programacion/10-lines-do-trucos-para-paperclip#comments</comments>
		<pubDate>Mon, 12 Oct 2009 14:09:39 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[paperclip]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=95</guid>
		<description><![CDATA[Paperclip es un plugin para Ruby on Rails que, debido a su potencia y sencillez, ha conseguido ser la elección de la mayoría de los desarrolladores a la hora de implementar de manera sencilla una solución a la hora de tener ficheros adjuntos a un modelo. Además está muy bien documentada tanto en su wiki [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://thoughtbot.com/projects/paperclip">Paperclip</a> es un plugin para Ruby on Rails que, debido a su potencia y sencillez, ha conseguido ser la elección de la mayoría de los desarrolladores a la hora de implementar de manera sencilla una solución a la hora de tener ficheros adjuntos a un modelo. Además está muy bien documentada tanto en <a href="http://wiki.github.com/thoughtbot/paperclip">su wiki</a> como en <a href="http://rdoc.info/projects/thoughtbot/paperclip">los RDoc</a>.</p>

<p>El ejemplo más básico de uso de paperclip sería el siguiente:</p>

<pre><code>class User &lt; ActiveRecord::Base
  has_attached_file :avatar
end
</code></pre>

<p>Aparte de facilitarnos la vida a la hora de la subida de ficheros, mediante su integración con ImageMagick nos permite poder generar todas las miniaturas que necesitemos de una imagen dada:</p>

<pre><code>has_attached_file :image,
  :styles =&gt; { :normal =&gt; ["610x610&gt;", :jpg], :mini =&gt; ["100x100#", :jpg] },
  :convert_options =&gt; { :all =&gt; "-strip" },
  :path =&gt; ":rails_root/public/images/articles/:id/:style.:extension",
  :url =&gt; "/images/articles/:id/:style.:extension"
</code></pre>

<p>En este ejemplo estamos definiendo que, para el atributo <code>image</code> de nuestro modelo generaremos dos miniaturas: <code>normal</code>, cuyo tamaño será nunca superior a 610 de ancho o de alto (lo que primero suceda) y un tamaño <code>mini</code>, el cual será una imagen a 100&#215;100 px haciendo crop y en caso de que la imagen sea más ancha que alta o viceversa. Además, para ambas miniaturas se quitarán todos los datos extra de la imagen (como el EXIF) para asegurarnos de que generaremos el menor tamaño posible de imagen (más opciones para los estilos o la conversión en la <a href="http://www.imagemagick.org/Usage/resize/#shrink">documentación de ImageMagick</a>.</p>

<p>Desde nuestras vistas para hacer referencia al estilo <code>mini</code> no tendríamos más que hacer algo como lo siguiente:</p>

<pre><code>&lt;%= image_tag article.image.url(:mini) %&gt;
</code></pre>

<p>En los parámetros <code>:path</code> y <code>:url</code> vemos que se hacen uso de etiquetas del estilo <code>:id</code>, <code>:style</code> o <code>:rails_root</code>. Es lo que dentro de Paperclip se conoce como interpolaciones, y que a la hora de su uso se sustituyen sobre la marcha por el dato que corresponda (<code>:style</code> se sustituiría por <code>"mini"</code>, basándonos en el ejemplo anterior).</p>

<p>Una de las opciones más interesantes, aunque quizá de las menos usadas por la gente, son la posibilidad de definir nuestras propias interpolaciones. Por ejemplo, podríamos definir una interpolación de nombre <code>:username</code>, incluyendo el siguiente código en el fichero <code>config/initializers/paperclip.rb</code>:</p>

<pre><code>Paperclip.interpolates :username do |attachment, style|
  attachment.instance.username
end
</code></pre>

<p>El anterior código define que <code>:username</code> será sustituida por el atributo <code>username</code> de la instancia del modelo desde el que estemos usando Paperclip. De esta manera, si hiciesemos algo como lo siguiente:</p>

<pre><code>class User &lt; ActiveRecord::Base
  has_attached_file :avatar, :path =&gt; ":rails_root/public/images/:username.:extension"
end
</code></pre>

<p>Como resultado, al llamar a <code>user.avatar.path</code> tendríamos <code>"./public/images/mayoral.png"</code>. Pensad por ejemplo en el uso de <a href="http://github.com/mayoral/permalink_fu">permalink_fu</a> y una interpolación que hiciese referencia al campo que alberga el permalink de un artículo&#8230; :P</p>

<p>En mi caso, otra línea que suele estar frecuentemente en <code>config/initializers/paperclip.rb</code> es la siguiente:</p>

<pre><code>Paperclip.options[:command_path] = '/opt/local/bin'
</code></pre>

<p>De esta manera le indico a Paperclip donde reside el ImageMagick que instalé a través de <a href="http://www.macports.org/">MacPorts</a>.</p>

<p>Para una segunda parte de esta entrada me dejo pendiente el uso de Amazon S3 como almacenamiento y la personalización del post-procesado de los ficheros adjuntos, con los denominados <em>processors</em>.</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/tjAvMRm69E8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/programacion/10-lines-do-trucos-para-paperclip/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://luismayoral.com/programacion/10-lines-do-trucos-para-paperclip</feedburner:origLink></item>
		<item>
		<title>Mis imprescindibles: Sequel Pro</title>
		<link>http://feedproxy.google.com/~r/luismayoral/~3/6eTqwUxYfGU/mis-imprescindibles-sequel-pro</link>
		<comments>http://luismayoral.com/software/mis-imprescindibles-sequel-pro#comments</comments>
		<pubDate>Thu, 16 Jul 2009 07:30:53 +0000</pubDate>
		<dc:creator>Luis Mayoral</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[sequel pro]]></category>

		<guid isPermaLink="false">http://luismayoral.com/?p=158</guid>
		<description><![CDATA[Iniciamos otra nueva serie de entradas dedicadas a aquellas herramientas que uso a diario y que sin duda han mejorado tanto mi calidad de vida tanto en el aspecto profesional como en algunos casos también en el personal. La aplicación que inaugura esta serie es Sequel Pro. Sequel Pro es una aplicación libre para Mac [...]]]></description>
			<content:encoded><![CDATA[<p>Iniciamos otra nueva serie de entradas dedicadas a aquellas herramientas que uso a diario y que sin duda han mejorado tanto mi calidad de vida tanto en el aspecto profesional como en algunos casos también en el personal. La aplicación que inaugura esta serie es <a href="http://www.sequelpro.com">Sequel Pro</a>.</p>

<p><a href="http://www.sequelpro.com"><img src="http://luismayoral.com/wp-content/uploads/2009/07/g-notebook-header.png" alt="Sequel Pro" /></a></p>

<p>Sequel Pro es una aplicación libre para Mac OS X basada en el código de la ya abandonada CocoaMySQL cuyo fin es la gestión de bases de datos MySQL. Acostumbrado a utilizar en Linux las MySQL GUI Tools, en Sequel Pro me encontré como en casa.</p>

<p>Con una interfaz muy al estilo Mac, Sequel Pro proporciona todo lo que necesitas para poder conectarte a cualquier servidor MySQL ya sea local o remoto, una infinidad de opciones a la hora de consultar datos (ya sea de forma guiada desde la pestaña Content o de forma manual desde la pestaña Query), soporte de vistas, importación y exportación de datos, exploración y modificación de la estructura de las bases de datos, cambiar de una base de datos a otra sobre la marcha&#8230;</p>

<p>Una aplicación sencilla y ligera que no puede faltar en tu escritorio si parte de tus funciones están ligadas al manejo de bases de datos MySQL.</p>
<img src="http://feeds.feedburner.com/~r/luismayoral/~4/6eTqwUxYfGU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://luismayoral.com/software/mis-imprescindibles-sequel-pro/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://luismayoral.com/software/mis-imprescindibles-sequel-pro</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.534 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-09-06 10:24:12 -->
