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

<channel>
	<title>Con G de GNU &#187; General</title>
	<atom:link href="http://www.congdegnu.es/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.congdegnu.es</link>
	<description>aptitude install freedom</description>
	<lastBuildDate>Sat, 28 Jan 2012 19:22:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
	<copyright>2006-2007 </copyright>
	<managingEditor>congdegnu@gmail.com (Con G de GNU)</managingEditor>
	<webMaster>congdegnu@gmail.com (Con G de GNU)</webMaster>
	<image>
		<url>http://www.congdegnu.es/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>Con G de GNU</title>
		<link>http://www.congdegnu.es</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary>aptitude install freedom</itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>Con G de GNU</itunes:author>
	<itunes:owner>
		<itunes:name>Con G de GNU</itunes:name>
		<itunes:email>congdegnu@gmail.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://www.congdegnu.es/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Haz que tu sistema de ficheros &#8220;vuele&#8221; montándolo en la RAM</title>
		<link>http://www.congdegnu.es/2011/10/08/haz-que-tu-sistema-de-ficheros-vuele-montandolo-en-la-ram/</link>
		<comments>http://www.congdegnu.es/2011/10/08/haz-que-tu-sistema-de-ficheros-vuele-montandolo-en-la-ram/#comments</comments>
		<pubDate>Sat, 08 Oct 2011 12:07:58 +0000</pubDate>
		<dc:creator>Maxpowel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[disco]]></category>
		<category><![CDATA[disco duro]]></category>
		<category><![CDATA[memoria]]></category>
		<category><![CDATA[ram]]></category>

		<guid isPermaLink="false">http://www.congdegnu.es/?p=1347</guid>
		<description><![CDATA[Hoy seré breve, o por lo menos lo intentaré. El caso es que necesitaba acceso masivo al disco duro para un procesamiento en lote de archivos de texto bastante grandes (quien me siga en twitter verá que el otro día lo mencioné ). El proble ma no eran los archivos en sí mismos ya que [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy seré breve, o por lo menos lo intentaré. El caso es que necesitaba acceso masivo al disco duro para un procesamiento en lote de archivos de texto bastante grandes (quien me siga en twitter verá que el otro día lo mencioné <img src='http://www.congdegnu.es/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ).</p>
<p><div class="wp-caption alignright" style="width: 168px"><img src="http://brico-garden.com/Hormigonera.jpg" alt="Hormigonera" width="158" height="161" /><p class="wp-caption-text">El ruido del disco duro era semejante al de esta maquina mezclando hormigón</p></div></p>
<p>El proble ma no eran los archivos en sí mismos ya que mediante buffers que gestiona el propios sistema operativo se consigue un rendimiento excelente, sino por la base de datos mysql. En mi caso, hacía currar a la base de datos de tal manera (con updates, inserts y selects constantes) que el disco duro parecía una hormigonera. Después de estimar el tiempo total de procesamiento en 6 horas pensé que eso le iba a hacer mucha pupa al disco duro duro (además del evidente cuello de botella) y que había que hacer algo. Entonces me dije: &#8220;Quiero almacenar los datos en algo que no haga ruido y si es posible que sea rápido&#8221; y eso amigos, es precisamente la memoria RAM. Así que vamos al tema.</p>
<p><span id="more-1347"></span>Lo bueno de usar este método es que no tienes que tocar nada ni de mysql ni de tu programa, ya que para ellos será un dispositivo de almacenamiento estándar. Ahora prepárate un café porque esto va a ser complicado.</p>
<pre>            mount -t tmpfs none /media/ramdisk</pre>
<p>Ya está, ahora tienes en el directorio /media/ramdisk montada tu memoria RAM. Por supuesto, se reserva sólo una parte ya que el sistema necesita disponer de memoria para funcionar.<br />
En mi caso, copié /var/lib/mysql a /media/ramdisk y luego un enlace simbólico para que mysql accediera a ello sin configurar nada.<br />
Si quieres saber exactamente cuanto espacio tienes puedes usar el comando:</p>
<pre>            df -h</pre>
<p>Te mostrará algo como esta línea (junto al resto de sistemas de ficheros montados)</p>
<pre>            none                  1,7G  384M  1,3G  24% /media/ramdisk</pre>
<p>Dispongo de 1,7GigaBytes de almacenamiento en memoria RAM (384 megas usados). Recueda que <strong>es muy importante</strong> guadar luego esos archivos en tu disco duro porque la memoria RAM no es  persistente y todo lo que haya se volatilizará cuando se demonte. En mi caso el tiempo de  ejecución del programa paso de unas 6 horas a poco más de 45 minutos, y  eso que mi memoria es lenta (667mhz) además de no hacer ningún ruido. Para casos o situaciones  concretas este método puede sernos muy útil, incluso he visto casos de  un servidor donde hasta los archivos estáticos (css, js, imagenes&#8230;)  estaban cargados en memoria. Si tenemos en cuenta que en un ordenador <strong>todo</strong> pasa por la memoria y que el disco duro es con diferencia el  dispositivo más lento (y delicado), se pueden obtener tiempos muy buenos  en sistemas críticos (ej. una web con millones de visitas). El problema  está cuando trabajamos con datos (que pueden cambiar, algo bastante común) y que nunca  estarán a salvo hasta que lo volquemos a un disco duro. Para esos casos ya existen las cachés que en el fondo es copiar en memoria aquellas cosas de sólo lectura mientras mientras que los cambios se guardan al momento y posteriormente se actualiza esa caché.</p>
<div class="shr-publisher-1347"></div>

<p>Entradas relacionadas:<ol><li><a href='http://www.congdegnu.es/2009/03/11/borra-tus-ficheros-de-manera-definitiva/' rel='bookmark' title='Permanent Link: Borra tus ficheros de manera definitiva'>Borra tus ficheros de manera definitiva</a> <small>Muchos somos conscientes de que borrar un archivo no implica...</small></li>
<li><a href='http://www.congdegnu.es/2009/02/08/eliminar-espacio-reservado-en-ext/' rel='bookmark' title='Permanent Link: Eliminar espacio reservado en ext'>Eliminar espacio reservado en ext</a> <small>Cuando formateamos una unidad en el sistema de ficheros ext,...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.congdegnu.es/2011/10/08/haz-que-tu-sistema-de-ficheros-vuele-montandolo-en-la-ram/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>NoSQL: No es oro todo lo que reluce</title>
		<link>http://www.congdegnu.es/2011/01/31/nosql-no-es-oro-todo-lo-que-reluce/</link>
		<comments>http://www.congdegnu.es/2011/01/31/nosql-no-es-oro-todo-lo-que-reluce/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 17:34:19 +0000</pubDate>
		<dc:creator>Maxpowel</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[bigtable]]></category>
		<category><![CDATA[cassandra]]></category>
		<category><![CDATA[datos]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[db2]]></category>
		<category><![CDATA[firebird]]></category>
		<category><![CDATA[hadoop]]></category>
		<category><![CDATA[hbase]]></category>
		<category><![CDATA[mongo]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[postresql]]></category>
		<category><![CDATA[relacional]]></category>
		<category><![CDATA[sgbd]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://www.congdegnu.es/?p=1247</guid>
		<description><![CDATA[Muy buenas! Seguro que más de uno ha oído hablar de las bondades de las bases de datos llamadas &#8220;nosql&#8221;. Yo también y la verdad es que me intrigaba mucho así que me puse a analizarlo fríamente. Todos los benchmarks y comentarios de la gente dan como absoluto ganadador a las &#8220;nosql&#8221;, obligando al destierro [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.congdegnu.es/wp-content/uploads/2011/01/nosql.png"><img class="size-full wp-image-1248 alignright" src="http://www.congdegnu.es/wp-content/uploads/2011/01/nosql.png" alt="NoSQL, o tal vez sí?" width="278" height="306" /></a></p>
<p>Muy buenas! Seguro que más de uno ha oído hablar de las bondades de las bases de datos llamadas &#8220;nosql&#8221;. Yo también y la verdad es que me intrigaba mucho así que me puse a analizarlo fríamente. Todos los benchmarks y comentarios de la gente dan como absoluto ganadador a las &#8220;nosql&#8221;, obligando al destierro a las bases de datos relacionales. Después de analizar qué es cada cosa y las necesidades reales he llegado a una conclusión: <strong>Nada más lejos de la realidad</strong>. Intentaré explicar lo mejor posible mis razonamientos, quizá de manera demasiado abstracta, del por qué las &#8220;nosql&#8221; no son la panacea. No obstante, esto es mi opinión y alguien puede pensar que sólo digo chorradas o que en algún aspecto estoy totalmente confundido. Si es así, me gustaría saberlo ya que mi intención siempre es aprender más y nunca imponer mis ideas. Pero siempre desde el <a href="http://www.eljueves.es/2010/12/31/troll_internet%E2%80%A6_discute_con_autor_blog.html">respeto</a> <img src='http://www.congdegnu.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <span id="more-1247"></span>Lo primero de todo y de las cosas que más rabia me da es que la mayoría de los benchmarks (muchos son más bien pruebecillas que hace alguien en 10 minutos) miden sólo el <em>tiempo</em> que tarda en<em> leer n entradas o en insertar otras tantas</em>. Bien, ahí la verdad es que las <em>nosql son muy rápidas</em> pero pensemos un poco: <strong>¿qué base de datos se centra exclusivamente en esas tareas?</strong> Muy pocas y en casos muy concretos. Normalmente obtener información no es simplemente meter la mano en un cubo y sacarla sino que es algo más complejo. Esta complejidad  se trata de abordar mediante lo que las bases de datos relacionales llaman <strong>relaciones</strong>.</p>
<p>Por ejemplo, tengo una base de datos en la cual quiero saber cuanta gente es de cada país. Con<strong> una sóla consulta sql</strong> lo tengo mientras que con una nosql tengo que hacer, el mejor de los casos, <strong>tantas consultas como</strong> países haya. Ahora dime cuanto tiempo has tardado en hacer todas las consultas. A eso hay que sumarle que estás <em>acoplando</em> tu base de datos a la aplicación, ya que será la aplicación quien mediante funciones propias recorrerá y hará las tareas pertinentes (con su pérdida de eficiencia). Otro factor muy importante son las <em>técnicas y estrategias</em> con las que cuenta un <a href="http://es.wikipedia.org/wiki/Sistema_de_gesti%C3%B3n_de_bases_de_datos">sgbd</a> relacional. Mediante estas técnicas es capaz de acelerar las consultas ya que, como sabe lo que quieres, trata de conseguirlo de la mejor manera posible.  Estas estrategias de optimización son imposibles en una nosql, ejecutarás todas y cada una de las consultas. De esta manera el tiempo total crecerá (en los mejores casos) de manera lineal frente al número de entradas mientras que en una relacional el crecimiento sería bastante más logarítmico.</p>
<p><div id="attachment_1250" class="wp-caption alignleft" style="width: 410px"><a href="http://www.congdegnu.es/wp-content/uploads/2011/01/completo.png"><img class="size-full wp-image-1250 " src="http://www.congdegnu.es/wp-content/uploads/2011/01/completo.png" alt="Cojunto de SGBD Relacionales" width="400" height="200" /></a><p class="wp-caption-text">Cojunto de SGBD Relacionales, los hay de todos los colores. Aunque si sabes SQL podrás manejarte con cualquiera de ellos.</p></div></p>
<p>Al usar una <strong>nosql</strong> estamos <strong>renunciando</strong> a un montón de <strong>funcionalidades</strong>. Todo aquel que haya trabajado a un nivel un poco avanzado con bases de datos relacionales será consciente de que hacer una consulta SQL tiene por qué se trivial: cuentas con un montón de posibilidades y hay que encontrar la mejor. Tenemos joins (unir tablas en base a relaciones entre ellas), conjuntos de datos (group by), un completo manejo de fechas (intervalos, sumas, restas, comparaciones&#8230;),<em> integridad de los datos, </em>transacciones, excepciones&#8230; un sin fin de posibilidades. Tarde o temprano te tocará hacer algo más que leer y escribir datos, y esa tarea la tendrá que hacer tu aplicación (java, php&#8230;). En ese momento, justo en ese momento la eficiencia de tu programa caerá por los suelos y todos los milisegundos que has creído ganar te están saliendo caros. Muy caros. Imagina una web donde quieras consultar un trayecto para un día concreto, a unas determinadas horas y que el tren (o lo que sea) pase por unas determinadas estaciones. Hacerlo con una nosql sería realmente <em>doloroso</em> y totalmente inviable.</p>
<p>También existen detalles más concretos como el que voy a comentar. Las nosql no proporcionan ninguna garantía <a href="http://es.wikipedia.org/wiki/ACID">ACID</a>. Por decirlo de manera simple, un sistema ACID cuando dice que un dato se ha guardado, se ha guardado. Ya pueden pasar cualquier cosa que no vas a perder esa información. En cambio, las nosql te pueden decir que ya han guardado el dato pero todavía lo tienen por ahí en memoria de manera temporal y si en ese momento pasa algo &#8220;extraño&#8221; (se va la luz y el ordenador para, por ejemplo) el dato puede que no se haya guardado (aunque tu pienses que si porque te lo ha &#8220;asegurado&#8221;) y en ese caso habrás perdido ese dato para siempre. Alguno pensará que esto es una chuminada pero ya me dirás que pasa si surge algún problema de este tipo cuando te ingresen la nómina <img src='http://www.congdegnu.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Otro tema realmente importante es la <strong>integridad de los datos</strong>. Esto viene a ser que la información que hay en la base de datos sea útil y verídica. Por ponernos en situación, imagina que tienes una base de datos con autores y libros que han escrito.  En un determinado momento, borras a un autor pero sus libros quedan en la base de datos. ¿A quién pertenecerán ahora esos libros? Tenemos datos que no nos son útiles, sabemos que existen pero&#8230; hay muchas lagunas. Otro caso parecido es intentar meter un libro sin indicar su autor. Podemos exigir que todo libro tenga su autor a la hora de insertarlos pero nada nos permitiría saltarnos esta &#8220;restricción&#8221; en una nosql. Todo esto queda delegado a la aplicación, con todos los inconvenientes que trae. Una buena base de datos es aquella que vela por su integridad. Si unos datos no son fiables, esa información no vale nada. <strong>Los datos lo son todo en una base de datos</strong>.</p>
<p>Por supuesto no estoy diciendo que las nosql son algo que se debería quemar o guardar en un cajón ni mucho menos. Se diseñaron con un objetivo en mente y la verdad es que lo cumplen muy bien. Este objetivo es el que dije al principio y es <em>insertar muchos datos y acceder a ellos muy rápido</em>, y estos datos no deben ser complejos. <em>Facebook</em> o <em>Twitter</em> dicen que utilizan <a href="http://cassandra.apache.org/">Cassandra</a> (una base de datos tipo &#8220;nosql&#8221;) y es normal, ahora te explico. Twitter consiste en insertar mensajes y ver los últimos. Por así decirlo, vas metiendo en un cubo cientos de mensajes y lo único que haces es &#8220;ver&#8221; los que están por encima. Este es un caso donde una nosql sería lo óptimo. No hay relaciones complejas y el orden viene definido por el orden de inserción (recordemos que ordenar es de las tareas más duras en informática). En Facebook es algo diferente. No puedo decirlo a ciencia cierta, pero aseguraría que no usan (ni tienen pensado hacerlo) una nosql para toda su base de datos. Los casos ideales es en sitios como <em>el muro</em> o comentarios de fotos. El motivo es lo mismo que en caso de twitter. Para el resto, no me cabe la menor duda de que usan algun tipo de base de datos relacional.</p>
<p><div id="attachment_1251" class="wp-caption alignright" style="width: 260px"><a href="http://www.congdegnu.es/wp-content/uploads/2011/01/completo1.png"><img class="size-full wp-image-1251" src="http://www.congdegnu.es/wp-content/uploads/2011/01/completo1.png" alt="SGBD &quot;nosql&quot;" width="250" height="120" /></a><p class="wp-caption-text">Son bastantes diferentes entre sí pero genéricamente se les puede llamar &quot;nosql&quot;</p></div></p>
<p>Tarde o temprano se hace alguna <strong>relación</strong> entre los <strong>datos</strong> y si esa relación la gestiona el SGBD mucho mejor que manejarlo nosotros a mano. Sinceramente, no me imagino a Facebook haciendo 3 o 4 consultas y luego desde php comprobar las coincidencias para buscar &#8220;amigos en común&#8221; (de listas enormes). O la alternativa, que sería un trabajo mínimo en php pero una cantidad de consultas exponencial (ambas opciones son totalmente inviables). La única opción donde tendría alguna posibilidad es mediante de la redundancia de datos. Pero la redundancia sería tal que el tamaño de la base de datos sería monstruoso, y toda la velocidad que ganas por ser más rápida podrías perderla por la &#8220;distancia&#8221; tan grande que tocaría recorrer.</p>
<p>Sin embargo, todas estas limitaciones de las nosql tienen otras ventajas (además de la velocidad). Estas bases de datos son excelentes para sistemas distribuidos y ahora que todo tiende a ponerse &#8220;<a href="http://es.wikipedia.org/wiki/Computaci%C3%B3n_en_nube">en la nube</a>&#8221; se pueden aprovechar desde ese punto de vista. Eso es lo que hace que google ofrezca <a href="http://en.wikipedia.org/wiki/BigTable">BigTable</a> en <a href="http://en.wikipedia.org/wiki/Appengine">AppEngine</a> (un servicio de hosting). Sin despeintarte puedes tener funcionando un sistema distribuido en tantos nodos como quieras. Esta tarea es bastante más compljea en una db relacional, precisamente por el tema de las relaciones.</p>
<p>Podría simplificar todo esto en una frase: La diferencia entre una db relacional y una nosql es como aquel que le quita los asientos a su coche para que corra más. Correrá más, pero pierdes prestaciones.</p>
<p>Aunque más bien lo relacionaría las churras y las merinas. Se parecen pero son muy diferentes. Pues lo mismo con db relacionales y &#8220;nosql&#8221;, las dos &#8220;guardan datos&#8221; pero su finalidad es muy diferente. Y como siempre, queda a criterio del diseñador usar una herramienta u otra (o las dos a la vez).</p>
<p>Para terminar, muchos pensarán que he escogido ejemplos concretos para intentar &#8220;machacar&#8221; a las nosql. Es cierto, y el motivo es para dar a entender que una base de datos nosql no puede sutituir a una base de datos relacional si lo que tenemos son datos altamente relacionados entre sí. No existen productos milagrosos, todo tiene sus contras. No existe (ni existirá) un sistema gestor de bases de datos (ni ningún software ni cosa en el mundo) que se comporte a la perfección en cualquier situación.</p>
<p>Un saludo y espero que alguien esté es desacuerdo, para así debatir y enriquecer el post un poco <img src='http://www.congdegnu.es/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
<div class="shr-publisher-1247"></div>

<p>Entradas relacionadas.</p>]]></content:encoded>
			<wfw:commentRss>http://www.congdegnu.es/2011/01/31/nosql-no-es-oro-todo-lo-que-reluce/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Integra y cifra tus correos gmail con firefox y KDE</title>
		<link>http://www.congdegnu.es/2009/11/30/integra-y-cifra-tus-correos-gmail-con-firefox-y-kde/</link>
		<comments>http://www.congdegnu.es/2009/11/30/integra-y-cifra-tus-correos-gmail-con-firefox-y-kde/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 20:05:14 +0000</pubDate>
		<dc:creator>Maxpowel</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.congdegnu.es/?p=1131</guid>
		<description><![CDATA[¿Cómo va todo? Un poco de frío ya a estas alturas del año pero tampoco es malo del todo, ese frío ayuda a que los electrones puedan moverse mejor por el ordenador y&#8230; bueno! que me lío! Al turrón! Sin duda el correo GMail es increíble pero le faltan un par de pequeños detalles para [...]]]></description>
			<content:encoded><![CDATA[<p>¿Cómo va todo? Un poco de frío ya a estas alturas del año pero tampoco es malo del todo, ese frío ayuda a que los electrones puedan moverse mejor por el ordenador y&#8230; bueno! que me lío! Al turrón! Sin duda el correo GMail es increíble pero le faltan un par de pequeños detalles para tenerlo a mi gusto y estos son el cifrado de correo e integración con mi escritorio. De eso voy a hablaros.</p>
<p>Antes de nada decir que soy consciente de que puedes mantener un canal seguro entre tú y el servidor de Google usando https (simplemente entra como https://mail.google.com y ya está) pero acabo de decir, es sólo un canal seguro y aun así google tiene acceso a nuestro correo. Sinceramente no creo que implique ningún problema para un usuario normal, pero con esto del internet todo lo paranoico que seas siempre será poco así que mi intención va a ser alimentar tu locura paranoica.</p>
<p><span id="more-1131"></span>Primero me gustaría explicar un poco por encima el cifrado del que estoy hablando. El cifrado se llama GPG y del cual hay muchísima documentación por ahí (aunque no descarto crear una artículo sobre ello) pero se basa en clave pública/clave privada. La clave pública es la que está accesible para todos, ya sea porque se la envías o porque la dejas disponible en un servidor de claves. Con esta clave (que no contraseña ni nada, no confundir) permite únicamente cifrar contenidos. Luego está la clave privada que ésta sí que es importarte que la mantengas a buen recaudo. Con esta clave puedes descifrar los mensajes cifrados con la clave pública. Esa clave privada es única y sólo con ella se pueden &#8220;reconstruir&#8221; los mensajes. Como habrás deducido, para enviar mensajes cifrados a otras personas tendrás que cifrarlo con la clave pública de tu destinatario. Esto puede ser algo tedioso si es la primera vez que oyes hablar de esto pero que haya calma, todo esto se encarga de gestionarlo el software.</p>
<p>Otro uso importante, firmar el correo. Firmar un correo sirve para confirmar el origen. Me explico, yo puedo enviarte un correo y hacer como que viene de algún conocido tuyo para intentar engañarte. Esto puede ser un problema ya que mediante el protocolo estándar de correo no se puede validar el origen. De esta manera si el mensaje llega de maxpowel@gmail.com y la firma es correcta quiere decir que yo he creado ese correo y nadie más.</p>
<p>Firmar un correo NO cifra el contenido pero sí asegura que no ha sido modificado. En el caso de haberse modificado en el camino (por el motivo que sea) el receptor se daría cuenta ya que fallaría la validación. En ese casó le pides al otro que te lo reenvíe y si sigue fallando cuidado porque alguien anda detrás de vosotros (a saber de que cosas os estaréis enviando <img src='http://www.congdegnu.es/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> )</p>
<p>Bien, ya estamos preparados. Instalamos el plugin</p>
<p>http://es.getfiregpg.org/s/install</p>
<p>Como un plugin normal, aceptar que quieres instalarlo y luego te pedirá reiniciar firefox. Una vez reiniciado te aparecerá una ventanita para configurarlo tal como esta:</p>
<p><div id="attachment_1133" class="wp-caption aligncenter" style="width: 818px"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg1.png"><img class="size-full wp-image-1133 " src="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg1.png" alt="Nos dice que si queremos configurar el plugin. Sí queremos así que pinchamos en &quot;Próximo&quot;" width="808" height="579" /></a><p class="wp-caption-text">Pulsamos en &quot;Próximo&quot; para comenzar la configuración del plugin</p></div></p>
<p style="text-align: center">
<p><div id="attachment_1134" class="wp-caption aligncenter" style="width: 818px"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg2.png"><img class="size-full wp-image-1134 " src="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg2.png" alt="gpg2" width="808" height="579" /></a><p class="wp-caption-text">Si quieres usar un directorio diferente del home pincha en &quot;Establecer un directorio base&quot;. No recomiendo cambiarlo así que pinchamos directamente en &quot;Siguiente&quot;</p></div></p>
<p style="text-align: center">
<p style="text-align: center">NOTA: Si no tienes instalado GnuPG ve a tu gestor de paquetes y busca por GPG. Normalmente ya viene instalado de serie pero bueno.</p>
<p><div id="attachment_1135" class="wp-caption aligncenter" style="width: 818px"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg3.png"><img class="size-full wp-image-1135" src="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg3.png" alt="Paso 3" width="808" height="579" /></a><p class="wp-caption-text">Si es la primera vez que vas a generar las claves te aparecerá esta ventana. Si por lo que sea tienes unas claves generadas por ahí y quieres usarlas pulsa en importar. Voy a suponer que eres nuevo así que marcamos &quot;Generar&quot;</p></div></p>
<p><div id="attachment_1136" class="wp-caption aligncenter" style="width: 1019px"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg4.png"><img class="size-full wp-image-1136" src="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg4.png" alt="gpg4" width="1009" height="480" /></a><p class="wp-caption-text">Completamos con nuestros datos. Yo he marcado también la casilla de &quot;Esta clave nunca expira&quot;. Dependiendo de tu nivel de seguridad puedes elegir que caduque y así pasado X tiempo la clave privada caducará eliminando así la posibilidad de descifrar mensajes antiguos. Pulsamos generar clave</p></div></p>
<p style="text-align: center">NOTA: Puede llevar un buen rato la creación de la clave. Esto es porque hace una ingente cantidad de cálculos para generarla. De todas formas, no debería llevar más de 2 minutos en el peor de los casos. Un detalle es que GPG usa datos &#8220;aleatorios&#8221; para generar una clave fuerte y como un ordenador es incapaz de generar datos aleatorios utiliza tus movimientos de ratón y cosas así (¿Hay algo más impredecible que eso?)</p>
<p style="text-align: center">NOTA 2: Sí, el ordenador es incapaz de generar datos aleatorios. Si hace falta lo aclararé en los comentarios.</p>
<p><div id="attachment_1137" class="wp-caption aligncenter" style="width: 818px"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg5.png"><img class="size-full wp-image-1137" src="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg5.png" alt="gpg5" width="808" height="579" /></a><p class="wp-caption-text">Después de haber confirmado la clave nos aparece esta ventana. Como puedes observar, se trata de la integración con Gmail. Yo recomiendo marcar todo y darle a &quot;Siguiente&quot;</p></div></p>
<p><div id="attachment_1138" class="wp-caption aligncenter" style="width: 818px"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg6.png"><img class="size-full wp-image-1138" src="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg6.png" alt="gpg6" width="808" height="579" /></a><p class="wp-caption-text">Pinchamos sobre &quot;Próximo&quot; si más miramientos</p></div></p>
<p><div id="attachment_1139" class="wp-caption aligncenter" style="width: 818px"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg7.png"><img class="size-full wp-image-1139" src="http://www.congdegnu.es/wp-content/uploads/2009/11/gpg7.png" alt="gpg7" width="808" height="579" /></a><p class="wp-caption-text">Bieeeen!!! Ya está!</p></div></p>
<p style="text-align: center">
<p style="text-align: center">Y ahora a usarlo</p>
<p style="text-align: center"><a href="http://www.congdegnu.es/wp-content/uploads/2009/11/prevGmail.png"><img class="aligncenter size-full wp-image-1141" src="http://www.congdegnu.es/wp-content/uploads/2009/11/prevGmail.png" alt="prevGmail" /></a></p>
<p style="text-align: center">A la hora de redactar el mensaje nos deberían aparecer las cosas que vemos rodeadas de rojo. Lo de debajo a la derecha sirve para confirmar que el plugin esta instalado. De serie aparecen activadas las opciones de firmar y cifrar. Si no queremos firmarlo o cifrarlo pinchamos sobre ello y se pondrá en tono grisáceo. Querrá decir que ha quedado deshabilitado.</p>
<p style="text-align: center">Cuando enviemos el correo nos pedirá la contraseña de clave, se la ponemos. Cuando recibamos correos cifrados el plugin lo detecta y lo descifra (avisándonos de ello). Las claves públicas se suben a servidores de claves para evitar así tener que mandarla siempre. Por si te interesa, existe el archivo revoke que sirve para invalidar tu clave privada. Esto sirve por si has perdido tu clave o sabes que alguien te la ha robado pues de esta manera la invalidas.</p>
<p style="text-align: center">Con esto concluye la parte del cifrado de correo.</p>
<p style="text-align: center">
<h1 style="text-align: center"><strong>INTEGRACIÓN CON KDE</strong></h1>
<p style="text-align: left">Si bien sólo nos queda esta integración para parecer que tenemos un cliente de correo en toda regla. Se que se puede usar un cliente de correo con gmail pero la interfaz de este webmail me parece tan maravillosa que me parece interesante tener esta posibilidad también. Voy a utilizar un plasmoide (un widget de kde4).</p>
<p style="text-align: left">Como comenté en el versus KDE vs GNOME el tema de los widgets y la integración con el escritorio es algo fabuloso que le hace estar un peldaño por encima a KDE (flameeee) y este plugin es un pequeño ejemplo (no es un port de un plugin viejo, esta hecho para kde4).</p>
<p style="text-align: left">En googlecode tenemos el siguiente proyecto http://code.google.com/p/gmail-plasmoid/</p>
<p style="text-align: left">Para descargarlo usamos este link por ejemplo http://gmail-plasmoid.googlecode.com/files/gmail-plasmoid-0.7.10.plasmoid</p>
<p style="text-align: left">Y para instalarlo, pues bien desde un terminal escribimos</p>
<pre><a name="How_to_install:"><span>plasmapkg </span><span>-</span><span>i gmail</span><span>-</span><span>plasmoid</span><span>-</span><span>0.7</span><span>.</span><span>10.plasmoid
</span></a></pre>
<p><a name="How_to_install:"><span>o desde la ventana de gestión de plasma. Si quieres usar ventanitas da botón derecho sobre la barra de tareas (o el escritorio, pero yo prefiero poner el plugin en la barra) y pinchas en </span></a></p>
<p><a name="How_to_install:"><span>&#8220;Añadir elementos gráficos&#8221; y abajo a la izquierda de la ventana pinchamos en &#8220;Instalar elementos gráficos nuevos&#8221; -&gt; &#8220;Instalar elemento gráfico desde archivo local&#8221; y seleccionamos el </span></a></p>
<p><a name="How_to_install:"><span>archivo recién descargado. Ahora en la lista de buscamos gmail-plasmoid y le damos doble click para que nos aparezca.</span></a></p>
<p><span>Como ves, nos vemos satisfechos tanto los que nos gusta el terminal como quien prefiere hacerlo todo a golpe de ratón.<br />
</span></p>
<p><span>Para configurarlo, botón derecho sobre el icono (un sobre de gmail) y dale a preferencias. Al añadir una cuenta ten cuidado con lo de &#8220;Etiqueta&#8221; ya que es para especificar una etiqueta y no todo el correo. Si no sabes lo que es una etiqueta (o no las usas) no pongas nada.</span></p>
<p>Y ya está! Ese plugin nos avisará de correos nuevos y esas cosas, así no tienes que estar entrando en la página de gmail para ver si tienes correos nuevos.</p>
<p>Como dije, este plugin es un ejemplo de un plasma bien hecho. Es bastante elegante (sí, soy un enfermo al mirar el código pero quería ver como hacía la integración con kde4)</p>
<p>A mi me parece interesante esta forma de tener gmail ya que con thunderbird (por ejemplo) uno se pierde toda la interfaz de google que una vez habituado a ella todo lo demás parece poco.</p>
<p>Con el tema del cifrado también se cierra el asunto que preocupa a muchos sobre &#8220;Google is watching you&#8221; ya que de esta manera google será incapaz de leer tu correo y hacer todo eso que dicen las teorías conspiratorias.</p>
<p>Un saludo!!</p>
<p><a name="How_to_install:"><span> </span></a></p>
<p><a name="How_to_install:"><span> </span></a></p>
<div class="shr-publisher-1131"></div>

<p>Entradas relacionadas:<ol><li><a href='http://www.congdegnu.es/2008/11/21/gmail-con-themes/' rel='bookmark' title='Permanent Link: Gmail con themes!'>Gmail con themes!</a> <small>Despues de leer algunos rumores, entro en gmail para revisar...</small></li>
<li><a href='http://www.congdegnu.es/2009/02/14/palabras-clave-en-firefox/' rel='bookmark' title='Permanent Link: Palabras clave en firefox'>Palabras clave en firefox</a> <small>Hablamos de esto en el podcast, y algún amigo me...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.congdegnu.es/2009/11/30/integra-y-cifra-tus-correos-gmail-con-firefox-y-kde/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>La canción del software libre, versión en Español</title>
		<link>http://www.congdegnu.es/2009/07/20/la-cancion-del-software-libre-version-en-espanol/</link>
		<comments>http://www.congdegnu.es/2009/07/20/la-cancion-del-software-libre-version-en-espanol/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 15:28:40 +0000</pubDate>
		<dc:creator>DiCrEn</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.congdegnu.es/?p=1022</guid>
		<description><![CDATA[Este verano, el grupo ALEC (Arte Libre Estudio Cooperativo) en la Ciudad de la Plata, Argentina, han tranducido e interpretado la famosa canción del software libre de Richard Stallman.  La reinterpretación pasa por la letra y música. Con música y voz punk del grupo Performous y la letra ingeniosa y pegadiza que respeta perfectamente el [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.congdegnu.es/wp-content/uploads/2009/07/gnu_meditate.png"><img class="alignright size-full wp-image-1025" title="gnu_meditate" src="http://www.congdegnu.es/wp-content/uploads/2009/07/gnu_meditate.png" alt="gnu_meditate" /></a></p>
<p style="text-align: left;">Este verano, el grupo <a title="Arte libre estudio cooperativo" href="http://www.artelibreestudio.com.ar/" target="_blank">ALEC (Arte Libre Estudio Cooperativo)</a> en la Ciudad de la Plata, Argentina, han tranducido e interpretado la famosa canción del software libre de Richard Stallman.  La reinterpretación pasa por la letra y música. Con música y voz punk del grupo <a title="Performous" href="http://www.performous.org/" target="_blank">Performous</a> y la <a title="letra canción" href="http://e3.ututo.org/users/musix/ALEC/cancion_software_libre/letra/" target="_blank">letra</a> ingeniosa y pegadiza que respeta perfectamente el espíritu de la canción original.</p>
<p style="text-align: left;">Por supuesto realizada 100% con software libre, en la distribución <a title="Music GNU+Linux" href="http://www.musix.org.ar/" target="_blank">Musix GNU+Linux</a> con <a title="Audacity" href="http://audacity.sourceforge.net/" target="_blank">Audacity</a>, <a title="Ardour" href="http://www.ardour.org/" target="_blank">Ardour</a> y <a title="JAMin" href="http://jamin.sourceforge.net/" target="_blank">Jamin</a> para la grabación, mezcla y masterización.</p>
<p style="text-align: left;">También, como debe de ser, publicado bajo licencia <a title="Atribución-Compartir Obras Derivadas Igual 2.5 Argentina" href="http://creativecommons.org/licenses/by-sa/2.5/ar/" target="_blank">CC BY-SA Argentina</a>. Ademas de esto están disponibles las pistas para cada instrumento y la voz por separado, incluso pistas para Karaoke y el para tocarla en el <a href="http://fretsonfire.sourceforge.net/">Frest on Fire</a>.</p>
<p style="text-align: left;">Acontinuación, los que usen un navegador que admita la nueva versión de HTML5 (firefox 3.5) podran escuchar la canción desde aquí gracias al soporte nativo de ogg.</p>
<blockquote>
<pre>Unete y comparte el software
en libertad, hacker, lucha, para ser libre
Unete y comparte el software
hay que luchar, hacker, vive, para ser libre
Siendo avaro y esclavista
dinero haras, hacker, triste,  triste verdad
Impotentes, divididos, ya no podras, ayudar a tus amigos

ojos rojos, muchos ojos
programando las cabezas
eludiendo las fronteras
levantando las banderas

ojos rojos, muchos ojos
el imperio se diluye
tras sus luces
y sus miedos
se opaca
se destruye

Cuando el software libre llegue
con igualdad, hacker, escuha nuestro llamado
Tiraremos sus licencias y mucho más,
hacker, lucha para ser libre</pre>
</blockquote>
<p><audio src="http://www.congdegnu.es/wp-content/uploads/2009/07/ALEC_Cancion_SL_master.ogg" controls><br />
</audio></p>
<div class="shr-publisher-1022"></div>

<p>Entradas relacionadas:<ol><li><a href='http://www.congdegnu.es/2009/02/25/recuerda-las-libertades-del-software-libre/' rel='bookmark' title='Permanent Link: Recuerda las libertades del software libre'>Recuerda las libertades del software libre</a> <small>La libertad de ejecutar el programa, para cualquier propósito (libertad...</small></li>
<li><a href='http://www.congdegnu.es/2008/12/27/instalar-software-de-aur-facil/' rel='bookmark' title='Permanent Link: Yaourt: Instala software de AUR facilmente en Arch'>Yaourt: Instala software de AUR facilmente en Arch</a> <small>Cuanto entre en el mundo de Arch leía por todas...</small></li>
<li><a href='http://www.congdegnu.es/2009/02/12/que-malos-son-los-hackers/' rel='bookmark' title='Permanent Link: Que malos son los hackers'>Que malos son los hackers</a> <small>Esa tal Gloria tiene que tener varios gbs de banda...</small></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://www.congdegnu.es/2009/07/20/la-cancion-del-software-libre-version-en-espanol/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Widgets Avanzados en Cutrenti</title>
		<link>http://www.congdegnu.es/2009/06/16/widgets-avanzados-en-cutrenti/</link>
		<comments>http://www.congdegnu.es/2009/06/16/widgets-avanzados-en-cutrenti/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 15:36:59 +0000</pubDate>
		<dc:creator>Maxpowel</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[cutrenti]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://www.congdegnu.es/?p=989</guid>
		<description><![CDATA[Un widget normal solo te permite mostar datos estáticos. Mantienen los mismos datos durante todo su periodo de existencia. ¿Qué pasa si queremos que esos datos se vayan actualizando o que simplemente puedan cambiar? Pues te voy a dar una solución. Un widget complejo puede estar compuesto por hasta 3 partes: Cuerpo del widget (el [...]]]></description>
			<content:encoded><![CDATA[<p>Un widget normal solo te permite mostar datos estáticos. Mantienen los mismos datos durante todo su periodo de existencia. ¿Qué pasa si queremos que esos datos se vayan actualizando o que simplemente puedan cambiar?</p>
<p>Pues te voy a dar una solución. Un widget complejo puede estar compuesto por hasta 3 partes:</p>
<p>Cuerpo del widget (el widget en sí)<br />
Servidor del widget (una parte del widget que escucha consultas ajax)</p>
<p>Objetos en la base de datos (puede guardar datos en la base de datos)<br />
<span id="more-989"></span>Un widget sencillo consistiría solo en el cuerpo del widget. Como cutrenti es software libre no me importa mostrar como funciona así que explico un poco la estructura.<br />
Tenemos el directorio widgets, donde van los widgets y el directorio seccionesAjax, donde van las secciones ajax. Evidentemente si intentas acceder directamente a estos archivos no van a funcionar.<br />
La manera de mostar un widget es llamándolo desde una sección. En otro momento explicaré como funciona una sección.<br />
Y la forma de conectarse con la otra parte del widget (la parte servidor, situadada en seccionesAjax) es mediante Ajax. Insertas en el widget alguna funcion javascript que haga una consulta a consultasAjax.php?seccion=nombreWidget.</p>
<p>Mi idea es que el servidor ajax envíe únicamente json, nada de &#8220;html prefabricado&#8221;. Enviar json es como si digo que sólo se envía información, javascript ya construirá lo que quiera con esa información. Pero además un widget no solo puede acceder a su servidor ajax, puede acceder a cualquiera (o por lo menos intentarlo). De esta manera conseguimos que todo el sistema interactúe entre sí.</p>
<p>Para no tener que escribir tanto llamare al servidor ajax serax<br />
Un ejemplo. Ahora mismo existe un serax que devuelve la lista de amigos del usuario. Yo lo uso para el widget que lista amigos pero también podría usarlo otro wiget que también accede al servidor ajax de tablones para mostrar una lista de los ultimos tablones de sus amigos.</p>
<p>Analicemos más a fondo el ejemplo. Creas un widget y te conectas a serax para pedirle la lista de amigos. Como te devuelve un json almacenas esa lista de usuarios y a continuación por cada uno de esos usuarios vas pidiendo el ultimo blog a serax que te devolvera json con el título y contenido del blog que le pidas. Despues con esos datos puedes mostrarlos en una tabla o como quieras, tabla creada usando javascript.</p>
<p>Después imagina que cuando haces click sobre el nombre de un amigo de esa lista de blogs quieres que te muestre el numero de visitas del perfil del usuario al que haces click (es una chorrada pero por poner un ejemplo). Pues pones que cuando haga click en ese enlace llame a un determinado serax (el que contenga esa información) y depués la procesas y añades un div (por ejemplo) con esos nuevos datos.</p>
<p>Por supuesto, no puedes acceder a información a la que no tengas acceso. Si te pones a pedir fotos o blogs de gente que no son amigos (no tienes acceso) el serax no te devolverá esa información.</p>
<p>Como siempre digo, el nuevo cutrenti esta basado 99% en widgets y todas las secciones estan hechas usando esta tecnología así que cualquier widget que aparezca en la versión &#8220;oficial&#8221; sera perfectamente compatible con widgets hechos por terceros. Incluso si algún widget se usa bastante o es ve útil se podría incluir en la versión oficial. Con versión oficial me refiero a los widgets que aparecen por defecto.</p>
<p>Más adelante haré manuales con ejemplos prácticos que es más sencillo de lo que parece.<br />
Un saludo y espero no haberos liado mucho!</p>
<div class="shr-publisher-989"></div>

<p>Entradas relacionadas.</p>]]></content:encoded>
			<wfw:commentRss>http://www.congdegnu.es/2009/06/16/widgets-avanzados-en-cutrenti/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

