<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>{francho(lab)}</title>
	<atom:link href="http://francho.org/lab/feed/" rel="self" type="application/rss+xml" />
	<link>http://francho.org/lab</link>
	<description>forjando ideicas</description>
	<lastBuildDate>Mon, 08 Mar 2010 23:18:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ZgzBus en el Peri&#243;dico de Arag&#243;n</title>
		<link>http://francho.org/lab/578/zgzbus-en-el-peridico-de-aragn/</link>
		<comments>http://francho.org/lab/578/zgzbus-en-el-peridico-de-aragn/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 13:55:33 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Aragon]]></category>
		<category><![CDATA[periódico]]></category>
		<category><![CDATA[Zaragoza]]></category>
		<category><![CDATA[zgzbus]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=578</guid>
		<description><![CDATA[ZgzBus es una aplicaci&#243;n Android que me hice para uso personal. Permite consultar las frecuencias de los autobuses urbanos de Zaragoza (por mi barrio son malas y prefiero esperar en casa que en la parada). Un amigo me vio usarla y me pidi&#243; una copia y ah&#237; empez&#243; todo&#8230;
Que mejor forma de pasarte la copia [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-582" title="periodico_20100301G0101PAR" src="http://francho.org/lab/wp-content/uploads/2010/03/periodico_20100301G0101PAR1.jpg" alt="periodico_20100301G0101PAR" width="268" height="385" /><a href="http://francho.org/lab/zgzbus">ZgzBus</a> es una aplicaci&#243;n Android que me hice para uso personal. Permite consultar las frecuencias de los autobuses urbanos de Zaragoza (por mi barrio son malas y prefiero esperar en casa que en la parada). Un amigo me vio usarla y me pidi&#243; una copia y ah&#237; empez&#243; todo&#8230;</p>
<p>Que mejor forma de pasarte la copia que colg&#225;ndola en el <a href="http://market.android.com">Android Market</a> y de paso as&#237; lo pruebo, pens&#233;. Lo que no imaginaba es que, a pesar de ser una aplicaci&#243;n en fase beta y de ser localista iba a tener esta repercusi&#243;n.</p>
<p>En un par de semanas ya ha superado con creces el tope de descargas que hab&#237;a previsto. He recibido muchos emails de usuarios contentos, lo cual me a animado a continuar con su desarrollo.</p>
<p>Y encima de todo esto, hace unos d&#237;as recib&#237; un email de Marta Cambronero (<a href="http://twitter.com/fuina">@fuina</a>), una periodista del Peri&#243;dico de Arag&#243;n que, gracias a Twitter se hab&#237;a enterado de la existencia de #Zgzbus y quer&#237;a escirbir sobre ella. Dicho y hecho, tras varias conversaciones y una sesi&#243;n de fotos, hoy se ha publicado <a href="http://www.elperiodicodearagon.com/noticias/noticia.asp?pkid=563307">el art&#237;culo</a>.</p>
<p>Desde estas l&#237;neas quiero&#160;agradeceros&#160;a todos los que os hab&#233;is interesado por la aplicaci&#243;n vuestro apoyo, espero poder recompensaros con nuevas mejoras en sucesivas versiones.</p>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/578/zgzbus-en-el-peridico-de-aragn/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Truco Android: como hacer que tus aplicaciones aparezcan en el Market para los HTC Tattoo</title>
		<link>http://francho.org/lab/570/truco-android-como-hacer-que-tus-aplicaciones-aparezcan-en-el-market-para-los-htc-tattoo/</link>
		<comments>http://francho.org/lab/570/truco-android-como-hacer-que-tus-aplicaciones-aparezcan-en-el-market-para-los-htc-tattoo/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 22:42:40 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Píldoras]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=570</guid>
		<description><![CDATA[Desde Android 1.6 se introdujeron nuevos tamaños de pantalla como la QVGA del Tattoo (240 x 320). Muchas aplicaciones no se ven bien a esta resolución (el tamaño normal es HVGA de 320 x 480) , por eso debemos indicar específicamente en el AndroidManifest.xml las resoluciones que soporta nuestra aplicación.

&#60;uses-sdk android:minSdkVersion=&#34;3&#34; android:targetSdkVersion=&#34;4&#34; /&#62;
&#60;supports-screens android:smallScreens=&#34;true&#34; android:largeScreens=&#34;true&#34; android:normalScreens=&#34;true&#34;/&#62;

La primera [...]]]></description>
			<content:encoded><![CDATA[<p>Desde Android 1.6 se introdujeron nuevos tamaños de pantalla como la QVGA del Tattoo (240 x 320). Muchas aplicaciones no se ven bien a esta resolución (el tamaño normal es HVGA de 320 x 480) , por eso debemos indicar específicamente en el AndroidManifest.xml las resoluciones que soporta nuestra aplicación.</p>
<pre class="brush: plain;">
&lt;uses-sdk android:minSdkVersion=&quot;3&quot; android:targetSdkVersion=&quot;4&quot; /&gt;
&lt;supports-screens android:smallScreens=&quot;true&quot; android:largeScreens=&quot;true&quot; android:normalScreens=&quot;true&quot;/&gt;
</pre>
<p>La primera línea indica que desarrollamos para Android 1.6, pero que damos soporte a la 1.5 (cuanta más gente la use mejor)</p>
<p>La segunda, indica las resoluciones que soportamos. Asegúrate de probarlas todas en el emulador antes de subirla al Market.</p>
<p>Tienes la explicación completa en la <a href="http://d.android.com/guide/practices/screens_support.html#strategies">esta guía</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/570/truco-android-como-hacer-que-tus-aplicaciones-aparezcan-en-el-market-para-los-htc-tattoo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Concurso Entre Blogs: Gana un lector de ebooks Papyre 6.1.</title>
		<link>http://francho.org/lab/552/concurso-entre-blogs-gana-un-lector-de-ebooks-papyre-6-1/</link>
		<comments>http://francho.org/lab/552/concurso-entre-blogs-gana-un-lector-de-ebooks-papyre-6-1/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 10:14:36 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[concurso]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[emarketing]]></category>
		<category><![CDATA[lector libros]]></category>
		<category><![CDATA[publicidad gratuita]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=552</guid>
		<description><![CDATA[
A través de Twitter me he enterado de que la gente de EntreBlogs.com va a sortear (por cortesía de Grammata) un lector de libros electónicos Papyre 6.1. Los ganadores se decidirán el próximo día 5 de marzo de 2010.
Si quieres participar aquí tienes las bases del concurso.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://entreblogs.com/sorteamos-un-papyre-61-entre-todos-los-lectores-de-entreblogs/"><img class="aligncenter size-medium wp-image-553" title="banner-concurso-papyre-grande" src="http://francho.org/lab/wp-content/uploads/2010/02/banner-concurso-papyre-grande-300x156.png" alt="banner-concurso-papyre-grande" width="300" height="156" /></a></p>
<p>A través de <a href="http://twitter.com/#search?q=%23ebpapyre">Twitter</a> me he enterado de que la gente de EntreBlogs.com va a sortear (por cortesía de <a href="http://www.grammata.es/">Grammata</a>) un lector de libros electónicos <span style="padding: 0px; margin: 0px;">Papyre 6.1. Los ganadores se decidirán el próximo día 5 de marzo de 2010.</span></p>
<p>Si quieres participar aquí tienes las <a href="http://entreblogs.com/papyre">bases del concurso</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/552/concurso-entre-blogs-gana-un-lector-de-ebooks-papyre-6-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Lastfm + Spotify + Twitter = Spotibot</title>
		<link>http://francho.org/lab/540/lastfm-spotify-twitter-spotibot/</link>
		<comments>http://francho.org/lab/540/lastfm-spotify-twitter-spotibot/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 23:43:44 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Píldoras]]></category>
		<category><![CDATA[lastfm]]></category>
		<category><![CDATA[redes sociales]]></category>
		<category><![CDATA[spotify]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=540</guid>
		<description><![CDATA[
Spotibot es un bot con el que podemos interactuar a través de Twitter y que nos prepara playlists basadas en consultas de Lastfm para que las escuchemos en Spotify, ahí queda eso  
Veamos un ejemplo:
Con nuestra cuenta de Twitter mandamos un mensaje del estilo:
@spotibot similar to Heroes del Silencio
A los pocos minutos recibiremos una mención [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://francho.org/lab/wp-content/uploads/2010/01/spotibot.jpg"><img class="aligncenter size-full wp-image-541" title="spotibot" src="http://francho.org/lab/wp-content/uploads/2010/01/spotibot.jpg" alt="spotibot" width="195" height="195" /></a></p>
<p><a href="http://spotibot.com">Spotibot</a> es un <a href="http://es.wikipedia.org/wiki/Bot">bot</a> con el que podemos interactuar a través de <a href="http://twitter.com">Twitter</a> y que nos prepara playlists basadas en consultas de <a href="http://lastfm.es">Lastfm</a> para que las escuchemos en <a href="http://spotify.com">Spotify</a>, ahí queda eso <img src='http://francho.org/lab/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Veamos un ejemplo:</p>
<p>Con nuestra cuenta de Twitter mandamos un mensaje del estilo:</p>
<blockquote><p><a href="http://twitter.com/spotibot">@spotibot</a> similar to Heroes del Silencio</p></blockquote>
<p>A los pocos minutos recibiremos una mención con la recomendación:</p>
<blockquote><p><a href="http://twitter.com/francho_lab">@francho_lab</a> Try &#8220;Calles de Papel&#8221; by La Fuga -<a href="http://is.gd/6GXrv">http://is.gd/6GXrv</a></p></blockquote>
<p>Si pinchamos en el enlace se nos abre una página con la lista de canciones del álbum recomendado y un botón para abrirlas directamente en Spotify.</p>
<p>Pero no queda ahí la cosa, desde la web de Spotibot también podemos <a href="http://spotibot.com/playlist/">crear listas de canciones</a> basadas en las preferencias que tenemos almacenadas en Lastfm.</p>
<p><span id="more-540"></span>Por si algún@ despistado no las conoce todavía:</p>
<p><a href="http://francho.org/lab/wp-content/uploads/2010/01/lastfm_red.gif"><img class="size-full wp-image-543 alignleft" title="lastfm_red" src="http://francho.org/lab/wp-content/uploads/2010/01/lastfm_red.gif" alt="lastfm_red" width="145" height="45" /></a></p>
<p><a href="http://www.lastfm.es">Lastfm</a> es una red social que basándose en la música que escuchamos (scrobbling) nos crea radios o playlists a medida de nuestros gustos. Muchos <a href="http://build.last.fm/">reproductores de música</a> incorporan la posibilidad de actualizar nuestro perfil de forma automática.</p>
<p><a href="http://francho.org/lab/wp-content/uploads/2010/01/spotify-logo-96x96-no-tagline.png"><img class="size-full wp-image-544 alignright" title="spotify-logo-96x96-no-tagline" src="http://francho.org/lab/wp-content/uploads/2010/01/spotify-logo-96x96-no-tagline.png" alt="spotify-logo-96x96-no-tagline" width="96" height="96" /></a></p>
<p><a href="http://www.spotiy.com">Spotify</a> es un servicio de música digital que permite acceder de forma gratuita (con publicidad) o de pago (sin publicidad) a una gigantestca base de datos con millones de canciones que podemos escuchar vía streaming. Si todavía no tenéis una cuenta os recomiendo que <a href="https://www.spotify.com/en/get-started/">lo probéis</a> (yo desde que lo conozco he dejado de descargarme música)</p>
<p><a href="http://francho.org/lab/wp-content/uploads/2010/01/twitter.png"><img class="size-full wp-image-542 alignleft" title="twitter" src="http://francho.org/lab/wp-content/uploads/2010/01/twitter.png" alt="twitter" width="177" height="40" /></a></p>
<p><a href="http://twitter.com">Twitter</a> es un servicio que nos permite comunicarnos con el mundo con mensajes de no más de 140 caracteres. Es sin lugar a dudas mi red social preferida del momento <img src='http://francho.org/lab/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Si  todas estas aplicaciones por si solas tienen una gran utilidad por sí solas imagina que juntas lo mejor de cada una.</p>
<p>Descubierto gracias a <a href="http://www.genbeta.com/multimedia/spotibot-se-integra-con-lastfm-para-crear-listas-de-reproduccion">Genbeta</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/540/lastfm-spotify-twitter-spotibot/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>por una red S.O.S.tenible ¡retirada de la Ley Sinde YA!</title>
		<link>http://francho.org/lab/535/por-una-red-s-o-s-tenible-%c2%a1retirada-de-la-ley-sinde-ya/</link>
		<comments>http://francho.org/lab/535/por-una-red-s-o-s-tenible-%c2%a1retirada-de-la-ley-sinde-ya/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 11:57:24 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[economía sostenible]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[ley]]></category>
		<category><![CDATA[manifiesto]]></category>
		<category><![CDATA[Sinde]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=535</guid>
		<description><![CDATA[
Leo en el blog de Enrique Dans que se ha creado una plataforma para luchar contra la &#8220;Ley Sinde&#8221; llamada Red S@Stenible. También se ha creado la campaña bajo el lema Internet NO será otra tele que llevará a cabo diversas acciones ciudadanas durante todo el periodo de la presidencia española de la UE.
Desde estas [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://red-sostenible.net/sosred1.png" alt="Red SOStenible" width="400" height="300" /></p>
<p>Leo en el <a href="http://www.enriquedans.com/2010/01/a-partir-de-hoy-red-y-libertad.html">blog de Enrique Dans</a> que se ha creado una plataforma para luchar contra la &#8220;<a href="http://www.makarras.org/2010/01/09/la-ley-sinde-para-torpes-y-periodistas-que-se-la-tragan-dobla/">Ley Sinde</a>&#8221; llamada <a href="http://red-sostenible.net">Red S@Stenible</a>. También se ha creado la campaña bajo el lema <a href="http://internetnoseraotratv.net/2010/01/11/hola-mundo/">Internet NO será otra tele</a> que llevará a cabo diversas acciones ciudadanas durante todo el periodo de la presidencia española de la UE.</p>
<p>Desde estas líneas quiero dar mi apoyo a estas iniciativas al igual que ya hice con el <a href="http://francho.org/lab/365/en-defensa-de-los-derechos-fundamentales-en-internet/">#manifiesto</a>.</p>
<p>Después del salto tenéis el texto íntegro de la reivindicación, copiarlo y distribuirlo (cuanto más mejor).</p>
<p><span id="more-535"></span></p>
<blockquote><p>Consideramos imprescindible la retirada de la disposición final primera de la Ley de Economía Sostenible por los siguientes motivos:</p>
<ol>
<li>Viola los derechos constitucionales en los que se ha de basar un estado democrático en especial la presunción de inocencia, libertad de expresión, privacidad, inviolabilidad domiciliaria, tutela judicial efectiva, libertad de mercado, protección de consumidoras y consumidores, entre otros.</li>
<li>Genera para la Internet un estado de excepción en el cual la ciudadanía será tratada mediante procedimientos administrativos sumarísimos reservados por la Audiencia Nacional a narcotraficantes y terroristas.</li>
<li>Establece un procedimiento punitivo “a la carta” para casos en los que los tribunales ya han manifestado que no constituían delito, implicando incluso la necesidad de modificar al menos 4 leyes, una de ellas orgánica. Esto conlleva un cambio radical en el sistema jurídico y una fuente de inseguridad para el sector de las TIC (Tecnología de la Información y la Comunicación). Recordamos, en este sentido, que el intercambio de conocimiento y cultura en la red es un <a href="http://noticias.lainformacion.com/economia-negocios-y-finanzas/redes/los-usuarios-que-descargan-archivos-p2p-gastan-mas-dinero_Fo58z3eGxWsRG0NKpjhCE7/" target="_blank"> motor económico</a> importante para <a href="http://noticias.lainformacion.com/arte-cultura-y-espectaculos/cine/el-cine-espanol-cerrara-con-cifras-record-a-pesar-de-internet_uVFrhCBCXhYPTF51YCG3a7/" target="_blank">salir de la crisis</a> como se ha <a href="http://www.theinquirer.es/2009/11/17/lo-que-las-discograficas-ocultan.html" target="_blank">demostrado</a> <a href="http://www.elmundo.es/elmundo/2009/11/20/cultura/1258739927.html" target="_blank">ampliamente.</a></li>
<li><a href="http://www.elmundo.es/elmundo/2009/11/20/cultura/1258739927.html" target="_blank"></a>Los mecanismos preventivos urgentes de los que dispone la ley y la judicatura son para proteger a toda ciudadanía frente a riesgos tan graves como los que afectan a la salud pública. El gobierno pretende utilizar estos mismos mecanismos de protección global para beneficiar intereses particulares frente a la ciudadanía. Además la normativa introducirá el concepto de &#8220;lucro indirecto&#8221;, es decir: a mí me pueden cerrrar el blog porque &#8220;promociono&#8221; a uno que &#8220;promociona&#8221; a otro que linka a un tercero que hace negocios presuntamente ilícitos</li>
<li>Recordamos que la propiedad intelectual <a href="http://derechoynormas.blogspot.com/2010/01/la-ley-de-ejecucion-por-la-sospecha.html" target="_blank">no es un derecho fundamental</a> contrariamente a las declaraciones del Ministro de Justicia, Francisco Caamaño. Lo que es un derecho fundamental es el derecho a la producción literaria y artística.</li>
<li>De acuerdo con las declaraciones de la Ministra de Cultura, esta disposición se utilizará exclusivamente para cerrar 200 webs que presuntamente están atentando contra los derechos de autor. Entendemos que si éste es el objetivo de la disposición, no es necesaria, ya que con la legislación actual existen procedimientos que permiten actuar contra webs, incluso con medidas cautelares, cuando presuntamente se esté incumpliendo la legalidad. Por lo que no queda sino recelar de las verdaderas intenciones que la motivan ya que lo único que añade a la legislación actual es el hecho de dejar la ciudadanía en una situación de grave indefensión jurídica en el entorno digital.</li>
<li>Finalmente consideramos que la propuesta del gobierno no sólo es un despilfarro de recursos sino que será absolutamente ineficaz en sus presuntos propósitos y deja patente la absoluta incapacidad por parte del ejecutivo de entender los tiempos y motores de la Era Digital.</li>
</ol>
<p>La disposición es una concesión más a la vieja industria del entretenimiento en detrimento de los derechos fundamentales de la ciudadanía en la era digital.</p>
<p>La ciudadanía no puede permitir de ninguna manera que sigan los intentos de vulnerar derechos fundamentales de las personas, sin la debida tutela judicial efectiva, para proteger derechos de menor rango como la propiedad intelectual. Dicha circunstancia ya fué aclarada con el dictado de inconstitucionalidad de la ley Corcuera (o ley de patada en la puerta). <a href="http://www.facebook.com/group.php?gid=186879394498" target="_blank">El Manifiesto en defensa de los derechos fundamentales en Internet</a>, respaldado por más de 200 000 personas, ya avanzó la reacción y demandas de la ciudadanía antes la perspectiva inaceptable del gobierno.</p>
<p>Para impulsar un definitivo cambio de rumbo y coordinar una respuesta conjunta, el 9 de enero se ha constituido la &#8220;Red SOStenible&#8221; una plataforma representativa de todos los sectores sociedad civil afectados. El objetivo es iniciar una ofensiva para garantizar una regulación del entorno digital que permita expresar todo el potencial de la Red y de la creación cultural respetando las libertades fundamentales.</p>
<p>En este sentido, reconocemos como referencia para el desarrollo de la era digital, la <a href="http://fcforum.net/es/" target="_blank">Carta para la innovación, la creatividad y el acceso al conocimiento</a>, un documento de síntesis elaborado por más de <a href="http://fcforum.net/es/charter_extended#signatories" target="_blank">100 expertos de 20 países</a> que recoge los principios legales fundamentales que deben inspirar este nuevo horizonte.</p>
<p>En particular, consideramos que en estos momentos es especialmente urgentes la implementación por parte de gobiernos e instituciones competentes, de los siguientes aspectos recogidos en la Carta:</p>
<ol>
<li>Las/os artistas como todos los trabajadores tienen que poder vivir de su trabajo (referencia punto 2 &#8220;<a href="http://fcforum.net/es/charter_extended#legal" target="_blank">Demandas legales</a>&#8220;, párrafo B. &#8220;Estímulo de la creatividad y la innovación&#8221;, de la <a href="http://fcforum.net/es/charter_extended" target="_blank">Carta</a>);</li>
<li>La sociedad necesita para su desarrollo de una red abierta y libre (referencia punto 2 &#8220;<a href="http://fcforum.net/es/charter_extended#legal" target="_blank">Demandas legales</a>&#8220;, párrafo D &#8220;Acceso a las infraestructuras tecnológicas&#8221;, de la <a href="http://fcforum.net/es/charter_extended" target="_blank">Carta</a>);</li>
<li>El derecho a cita y el derecho a compartir tienen que ser potenciado y no limitado como fundamento de toda posibilidad de información y constitutivo de todo conocimiento (referencia punto 2 &#8220;<a href="http://fcforum.net/es/charter_extended#legal" target="_blank">Demandas legales</a>&#8220;, párrafo A &#8220;Derechos en un contexto digital&#8221;, de la <a href="http://fcforum.net/es/charter_extended" target="_blank">Carta</a>);</li>
<li>La ciudadanía debe poder disfrutar libremente de los derechos exclusivos de los bienes públicos que se pagan con su dinero, con el dinero publico (referencia punto 2 &#8220;<a href="http://fcforum.net/es/charter_extended#legal" target="_blank">Demandas legales</a>&#8220;, párrafo C &#8220;Conocimiento común y dominio público&#8221;, de la <a href="http://fcforum.net/es/charter_extended" target="_blank">Carta</a>);</li>
<li>Consideramos necesaria una reforma en profundidad del sistema de las entidades de gestión y la abolición del canon digital (referencia punto 2 &#8220;<a href="http://fcforum.net/es/charter_extended#legal" target="_blank">Demandas legales</a>&#8220;, párrafo B. &#8220;Estímulo de la creatividad y la innovación&#8221;, de la <a href="http://fcforum.net/es/charter_extended" target="_blank">Carta</a>).</li>
</ol>
<p>Por todo ello hoy se inicia la campaña <a href="http://internetnoseraotratv.net" target="_blank">INTERNET NO SERA OTRA TELE</a> y se llevarán a cabo diversas acciones ciudadanas durante todo el periodo de la presidencia española de la UE.</p>
<p>Consideramos particularmente importantes en el calendario de la presidencia de turno española el II Congreso de Economía de la Cultura (29 y 30 de marzo en Barcelona), Reunión Informal de ministros de Cultura (30 y 31 de marzo en Barcelona) y la reunión de ministros de Telecomunicaciones (18 a 20 de abril en Granada).</p>
<p>La Red tiene previsto reunirse con representantes nacionales e internacionales de partidos políticos, representantes de la cultura y legaciones diplomáticas.</p>
<p>Firmado Red SOStenible</p>
<p><a href="http://Red-SOStenible.net" target="_blank">http://Red-SOStenible.net</a></p>
<p>La Red Sostenible somos todo. Si quieres adherirte a este texto, cópialo, blogguéalo, difúndelo.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/535/por-una-red-s-o-s-tenible-%c2%a1retirada-de-la-ley-sinde-ya/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Jugando con Java y el API de Twitter</title>
		<link>http://francho.org/lab/529/jugando-con-java-y-el-api-de-twitter/</link>
		<comments>http://francho.org/lab/529/jugando-con-java-y-el-api-de-twitter/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 17:38:00 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[Banco de pruebas]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=529</guid>
		<description><![CDATA[Twitter tiene un API muy completa que nos permite interactuar con su servicio desde nuestras aplicaciones. Esta tarde he estado enredando un poco con ella y la verdad es que se me ocurren un montón de aplicaciones prácticas(logueos, análisis automáticos, integración en servicios de noticias, estadísticas, seguimiento de usuarios, actualizaciones automáticas del perfil, etc&#8230;)
Existen librerías [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://apiwiki.twitter.com/">Twitter tiene un API</a> muy completa que nos permite interactuar con su servicio desde nuestras aplicaciones. Esta tarde he estado enredando un poco con ella y la verdad es que se me ocurren un montón de aplicaciones prácticas(logueos, análisis automáticos, integración en servicios de noticias, estadísticas, seguimiento de usuarios, actualizaciones automáticas del perfil, etc&#8230;)</p>
<p>Existen librerías en un montón de lenguajes que facilitan aún mas su uso. Pero en este caso yo he preferido programar un servicio desde cero (lo cual, gracias a la <a href="http://apiwiki.twitter.com/Twitter-API-Documentation">documentación del API</a> no ha sido nada complicado).</p>
<p>El siguiente ejemplo es una aproximación sencilla que permite actualizar nuestro estado (enviar un post) desde aplicación Java.</p>
<pre class="brush: java;">
/*
 *   http://creativecommons.org/licenses/by-nc/3.0/deed.es
 */

package org.francho.java.twitter;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
// http://commons.apache.org/codec/
import org.apache.commons.codec.binary.Base64;

/**
 *
 * @author francho - http://francho.org/lab/
 */
public class Twitter {

    private String username;
    private String pass;
    private String response;

    Twitter(String username, String pass) {
        setCredentials(username, pass);
    }

    /**
     * Ejemplo de acción implementada.
     *
     * Actualiza el estado de Twitter con el texto que recibe
     *
     * @param status
     */
    public void statusesUpdate(String status) {
        try {
            URL url = new URL(&quot;http://twitter.com/statuses/update.xml&quot;);
            status = URLEncoder.encode(status, &quot;UTF-8&quot;);
            String parametros = &quot;status=&quot; + status;
            doTwitterRequest(url, parametros);
        } catch (MalformedURLException ex) {
            Logger.getLogger(Twitter.class.getName()).log(Level.SEVERE, null, ex);
        } catch (UnsupportedEncodingException ex) {
            Logger.getLogger(Twitter.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Se encarga de la conexión con Twitter.
     * Necesita tener precargada los datos de autentificación (constructor), la url y los parámetros
     */
    private void doTwitterRequest(URL url, String parametros) {
        response = &quot;&quot;;
        try {
            // Creamos una conexión
            URLConnection conn;
            conn = url.openConnection();
            conn.setAllowUserInteraction(false);
            conn.setDoOutput(true);

            // Configuramos la autentificación (sencilla basada en HTTP)
            conn.setRequestProperty(&quot;Authorization&quot;, &quot;Basic &quot; + getBasicCredentials());

            // Preparamos la conexión con el servidor (vamos a mandar un formulario por post)
            conn.setRequestProperty(&quot;Content-Type&quot;, &quot;application/x-www-form-urlencoded&quot;);
            // Abrimos el canal de comunicación de envío
            DataOutputStream out = new DataOutputStream(conn.getOutputStream());
            // Mandamos los parámetros de la acción que (los ha tenido que precargar el método correspondiente)
            out.writeBytes(parametros.toString());
            // Nos aseguramos de que todo se envíe
            out.flush();
            // Ya hemos dicho lo que teníamos que decir, así que cerramos la conexión de envio
            out.close();

            // Capturamos la respuesta
            BufferedReader input = new BufferedReader(new InputStreamReader(conn.getInputStream()));

            String l = &quot;&quot;;
            while ((l = input.readLine()) != null) {
                response += l + &quot;\n&quot;;
            }

        } catch (IOException ex) {
            Logger.getLogger(Twitter.class.getName()).log(Level.SEVERE, null, ex);

        }

    }

    public void setCredentials(String username, String pass) {
        this.username = username;
        this.pass = pass;
    }

    public String getBasicCredentials() {
        byte[] credentialsBytes = (username + &quot;:&quot; + pass).getBytes();
        byte[] encodedBytes = Base64.encodeBase64(credentialsBytes);
        return new String(encodedBytes);
    }

    public String getResponse() {
        return response;
    }
}
</pre>
<p>Este sería un ejemplo de uso de nuestra clase:</p>
<pre class="brush: java;">
/*
 *   http://creativecommons.org/licenses/by-nc/3.0/deed.es
 */

package org.francho.java.twitter;

import java.util.Date;

/**
 *
 * @author francho - http://francho.org/lab/
 */
public class Test {
    public static void main(String[] args) {
        Twitter twitter = new Twitter(&quot;yoEnTwitter&quot;, &quot;miclave&quot;);

        Date ahora = new Date();

        twitter.statusesUpdate(&quot;Jugando con Java y el API de Twitter &quot; + ahora);
        System.out.println(twitter.getResponse());
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/529/jugando-con-java-y-el-api-de-twitter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Java: Ejemplo de uso de tipos enumerados (enum)</title>
		<link>http://francho.org/lab/519/java-ejemplo-de-uso-de-tipos-enumerados-enum/</link>
		<comments>http://francho.org/lab/519/java-ejemplo-de-uso-de-tipos-enumerados-enum/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:57:14 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[enum]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=519</guid>
		<description><![CDATA[Los tipos enumerados sirven para restringir el contenido de una variable a una serie de valores predefinidos. Esto suele ayudar a reducir los errores en nuestro código.
A partir de Java SE 5.0 se incluyo una modalidad de tipos enumerados que mantiene la seguridad de los tipos. En la práctica viene a ser como si definiéramos [...]]]></description>
			<content:encoded><![CDATA[<p>Los tipos enumerados sirven para restringir el contenido de una variable a una serie de valores predefinidos. Esto suele ayudar a reducir los errores en nuestro código.</p>
<p>A partir de Java SE 5.0 se incluyo una modalidad de <a href="http://java.sun.com/docs/books/tutorial/java/javaOO/enum.html">tipos enumerados</a> que mantiene la seguridad de los tipos. En la práctica viene a ser como si definiéramos nuestros propios tipos de variables.</p>
<p>En Java, los tipos enumerados se pueden definir fuera o dentro de una clase. Otra ventaja que traen los tipos enum de Java es que al ser una &#8220;especie de clase&#8221; podemos añadirles métodos, variables de instancia, constructores, etc&#8230; lo que los hace muy potentes.</p>
<p>A continuación os dejo un pequeño ejemplo que ilustra todos estos conceptos.</p>
<pre class="brush: java;">
/*
 *   http://creativecommons.org/licenses/by-nc/3.0/deed.es
 */
package org.francho.java.ejemplos;

/*
 *
 * @author francho - http://francho.org/lab/
 */

/*
 * Un tipo enumerado &quot;complejo&quot;, tiene sus propios métodos y constructor
 */

enum Vaso {
    // Tipos de vaso disponibles. Pasan al constructor su capacidad en cc.
    JARRA(500), TUBO(250), TERCIO(333), CAÑA(200);

    private int cc; // Variable interna donde almacenaremos la capacidad

    // Nuestro constructor nos fuerza a pasar parámetros al definir un nuevo tipo
    Vaso(int cc) {
        this.cc = cc;
    }

    // Devuelve la capacidad del vaso
    public int getCentimetrosCubicos() {
        return cc;
    }
}

/*
 * Definimos un tipo de bebida
 */

class BebidaCerveza {
    enum MarcaCerveza { AMBAR, GUINNESS, HEINEKEN } // Tipos enumerados sencillos. Solo tenemos estas marcas

    private Vaso vaso;
    private MarcaCerveza marca;

    BebidaCerveza(MarcaCerveza marca, Vaso vaso) {
        this.marca = marca;
        this.vaso = vaso;
    }

    public void servir() {
        System.out.println(&quot;Sirviendo &quot; + vaso.getCentimetrosCubicos() + &quot;cc. de cerveza &quot; + marca);
    }
}

/*
 * Clase pública que prueba todo esto
 */

public class PruebaEnum {
    public static void main(String[] args) {
        BebidaCerveza birra = new BebidaCerveza(BebidaCerveza.MarcaCerveza.AMBAR, Vaso.JARRA);

        birra.servir();
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/519/java-ejemplo-de-uso-de-tipos-enumerados-enum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: Datos de configuración APN para Orange España</title>
		<link>http://francho.org/lab/506/android-datos-de-configuracion-apn-para-orange-espana/</link>
		<comments>http://francho.org/lab/506/android-datos-de-configuracion-apn-para-orange-espana/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 23:50:30 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[apn]]></category>
		<category><![CDATA[configuración]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[mms]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=506</guid>
		<description><![CDATA[Tras liberar mi móvil Android (un HTC Dream de Movistar) he tenido que configurar a mano los APN (nombre de punto de acceso) para poder aprovechar la tarifa plana de datos que tengo con Orange y para poder enviar y recibir mensajes MMS.
Estos son los pasos necesarios:
Entramos en el menú &#8220;Ajustes / Conexiones inalámbricas / [...]]]></description>
			<content:encoded><![CDATA[<p>Tras liberar mi móvil Android (un HTC Dream de Movistar) he tenido que configurar a mano los APN (nombre de punto de acceso) para poder aprovechar la tarifa plana de datos que tengo con Orange y para poder enviar y recibir mensajes MMS.</p>
<p>Estos son los pasos necesarios:</p>
<p>Entramos en el menú &#8220;Ajustes / Conexiones inalámbricas / Redes móviles / APN&#8221;</p>
<p>Creamos un APN para conectar a internet por la red telefónica</p>
<pre class="brush: plain;">
Nombre: orange internet
APN: internet
Proxy: &lt;No establecido&gt;
Puerto: &lt;No establecido&gt;
Nombre de usuario: orange
Contraseña: orange
Servidor: &lt;No establecido&gt;
MMSC: &lt;No establecido&gt;
Proxy MMS: &lt;No establecido&gt;
Puerto MMS: &lt;No establecido&gt;
MCC: 214
MNC: 03
Tipo de APN: default
</pre>
<p>Creamos otro APN para poder mandar/descargar MMS</p>
<pre class="brush: plain;">
Nombre: orange MMS
APN: orangemms
Proxy: &lt;No establecido&gt;
Puerto: &lt;No establecido&gt;
Nombre de usuario: orange
Contraseña: orange
Servidor: &lt;No establecido&gt;
MMSC: http://mms.orange.es
Proxy MMS: 172.022.188.025
Puerto MMS: 8080
MCC: 214
MNC: 03
Tipo APN: mms
</pre>
<p>Una vez creados hay que apagar y volver a encender el móvil para que la nueva configuración funcione.</p>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/506/android-datos-de-configuracion-apn-para-orange-espana/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>feliz(&#8221;Navidad&#8221;) &amp; prospero(2010)</title>
		<link>http://francho.org/lab/499/feliz-navidad-y-prospero-2010/</link>
		<comments>http://francho.org/lab/499/feliz-navidad-y-prospero-2010/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 12:29:21 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[año nuevo]]></category>
		<category><![CDATA[felicitación]]></category>
		<category><![CDATA[navidad]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=499</guid>
		<description><![CDATA[
public class BestDesires {
    public BestDesires() {
        List&#60;ContactEntryt&#62; people = getAllPeople(Planets.World);
        for(ContactEntry person : people) {
            String occupation = person.getOccupation();

        [...]]]></description>
			<content:encoded><![CDATA[<pre class="brush: java;">
public class BestDesires {
    public BestDesires() {
        List&lt;ContactEntryt&gt; people = getAllPeople(Planets.World);
        for(ContactEntry person : people) {
            String occupation = person.getOccupation();

            if( person.isGoodPerson() &amp;&amp; !( occupation.equals(&quot;politic&quot;) || occupation.equals(&quot;banker&quot;) ) ) {
                    System.out.println( person.getName() + &quot;, I wish you a Merry Christmas and a happy new Year.&quot;);
            }
        }
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/499/feliz-navidad-y-prospero-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Truco: como renombrar ficheros usando sus metadatos</title>
		<link>http://francho.org/lab/495/truco-como-renombrar-ficheros-usando-sus-metadatos/</link>
		<comments>http://francho.org/lab/495/truco-como-renombrar-ficheros-usando-sus-metadatos/#comments</comments>
		<pubDate>Sat, 19 Dec 2009 11:15:29 +0000</pubDate>
		<dc:creator>francho</dc:creator>
				<category><![CDATA[Píldoras]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[exif]]></category>
		<category><![CDATA[herramientas]]></category>
		<category><![CDATA[idtag]]></category>
		<category><![CDATA[jpeg]]></category>
		<category><![CDATA[jpg]]></category>
		<category><![CDATA[mp3]]></category>
		<category><![CDATA[rename]]></category>
		<category><![CDATA[renombrar ficheros]]></category>
		<category><![CDATA[trucos]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://francho.org/lab/?p=495</guid>
		<description><![CDATA[Imagina que quieres renombrar una serie de fotos jpg y como parte del nombre quieres poner la fecha en la que fueron tomadas (o cualquier otro dato contenido en su EXIF), o que tienes una colección MP3 y quieres normalizar sus nombres de fichero basándote en sus tags (autor, título, etc&#8230;) ¿Cómo lo harías?
Existen muchas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://francho.org/lab/wp-content/uploads/2009/12/pyrenamer.jpg"><img class="aligncenter size-medium wp-image-496" title="pyrenamer" src="http://francho.org/lab/wp-content/uploads/2009/12/pyrenamer-300x233.jpg" alt="pyrenamer" width="300" height="233" /></a>Imagina que quieres renombrar una serie de fotos jpg y como parte del nombre quieres poner la fecha en la que fueron tomadas (o cualquier otro dato contenido en su EXIF), o que tienes una colección MP3 y quieres normalizar sus nombres de fichero basándote en sus tags (autor, título, etc&#8230;) ¿Cómo lo harías?</p>
<p>Existen muchas formas (extensiones de Nautilus, scripts en línea de comandos, herramientas dentro de varios programas, etc&#8230;).</p>
<p><a href="http://www.infinicode.org/code/pyrenamer/">pyRenamer</a> es una herramienta disponible en los repositorios de Ubuntu (y supongo que en otras distribuciones) que mediante un interfaz gráfico nos permite hacer &#8220;rename&#8221; masivo.</p>
<p>Su funcionamiento es sencillo, una vez seleccionados los archivos a los que queremos cambiar el nombre, moviendonos por las pestañas de tipo escribimos el patrón que queremos usar (al colocarnos sobre un campo nos saldrán todas las opciones disponibles). Luego previsualizamos como quedarán los nombres y una vez estemos de acuerdo pulsamos el botón correspondiente y nuestros archivos quedarán renombrados.</p>
<p>Como siempre es una buena idea hacer una copia de seguridad antes de ponerse a jugar con estas cosas <img src='http://francho.org/lab/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://francho.org/lab/495/truco-como-renombrar-ficheros-usando-sus-metadatos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
