<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>User:Drini</title>
	<atom:link href="http://drini.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://drini.wordpress.com</link>
	<description></description>
	<pubDate>Thu, 24 Jul 2008 18:37:14 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>es</language>
			<item>
		<title>Soporte para MathML</title>
		<link>http://drini.wordpress.com/2008/07/24/soporte-para-mathml/</link>
		<comments>http://drini.wordpress.com/2008/07/24/soporte-para-mathml/#comments</comments>
		<pubDate>Thu, 24 Jul 2008 18:35:52 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[matemáticas]]></category>

		<category><![CDATA[mathml]]></category>

		<category><![CDATA[html]]></category>

		<category><![CDATA[math]]></category>

		<category><![CDATA[mathplayer]]></category>

		<category><![CDATA[wikis]]></category>

		<category><![CDATA[ascii]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/?p=58</guid>
		<description><![CDATA[Tengo una wiki personal en mi unidad USB. Pero el soporte de matemáticas de mediawiki depende de ocaml, imagemagick, texvc, etc. Una alternativa simple es la extensión ASCIIMath4Wiki, que usa MathML para crear las formulas.
El problema&#8230; Internet Explorer no soporta MathML y firefox necesita unas fuentes extras para mostrar correctamente ciertas expresiones (como radicales). La [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Tengo una wiki personal en mi unidad USB. Pero el soporte de matemáticas de mediawiki depende de ocaml, imagemagick, texvc, etc. Una alternativa simple es la extensión <a href="http://www.mediawiki.org/wiki/Extension:ASCIIMath4Wiki" target="_blank">ASCIIMath4Wiki</a>, que usa <a href="http://www1.chapman.edu/~jipsen/mathml/asciimath.html" target="_blank">MathML</a> para crear las formulas.</p>
<div id="attachment_59" class="wp-caption aligncenter" style="width: 1034px"><a href="http://drini.files.wordpress.com/2008/07/mathml1.png"><img class="size-full wp-image-59" src="http://drini.files.wordpress.com/2008/07/mathml1.png?w=1024&h=558" alt="mathml en firefox" width="1024" height="558" /></a><p class="wp-caption-text">mathml en firefox</p></div>
<p>El problema&#8230; Internet Explorer no soporta MathML y firefox necesita unas fuentes extras para mostrar correctamente ciertas expresiones (como radicales). La solución viene en dos pasos</p>
<ul>
<li><a href="http://www.mozilla.org/projects/mathml/fonts/" target="_blank">Instalar las fuentes STIX</a>, lo cual resuelve el problema en los navegadores Mozilla (así por ejemplo sqrt(2/x)  ya no se mostrará erróneamente como sqrt(2)/x  al no ser extensible el símbolo de radical)</li>
<li><a href="http://www.dessci.com/en/products/mathplayer/download.htm" target="_blank">Instalar MathPlayer</a>, lo cual permite que Internet Explorer entienda el Doctype apropiado para soporte MathML.</li>
</ul>
<p>El resultado (en Internet Explorer):</p>
<div id="attachment_61" class="wp-caption aligncenter" style="width: 1007px"><a href="http://drini.files.wordpress.com/2008/07/mathml2.png"><img class="size-full wp-image-61" src="http://drini.files.wordpress.com/2008/07/mathml2.png?w=997&h=567" alt="MathML en internet explorer" width="997" height="567" /></a><p class="wp-caption-text">MathML en internet explorer</p></div>
<p>El estándar MathML debería ser más utilizado, pero para ello es necesario que el soporte para ambos se extienda más por lo que ya saben&#8230; a instalar las fuentes stix y el mathplayer.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/58/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/58/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/58/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/58/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/58/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=58&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2008/07/24/soporte-para-mathml/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>

		<media:content url="http://drini.files.wordpress.com/2008/07/mathml1.png" medium="image">
			<media:title type="html">mathml en firefox</media:title>
		</media:content>

		<media:content url="http://drini.files.wordpress.com/2008/07/mathml2.png" medium="image">
			<media:title type="html">MathML en internet explorer</media:title>
		</media:content>
	</item>
		<item>
		<title>Funciones hash</title>
		<link>http://drini.wordpress.com/2008/06/16/funciones-hash/</link>
		<comments>http://drini.wordpress.com/2008/06/16/funciones-hash/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 03:54:09 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[criptografía]]></category>

		<category><![CDATA[matemáticas]]></category>

		<category><![CDATA[cifrar]]></category>

		<category><![CDATA[digital]]></category>

		<category><![CDATA[hash]]></category>

		<category><![CDATA[identidad]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/?p=55</guid>
		<description><![CDATA[Corre

: Drini: Vamos a jugar un juego, mi estimado Luis. Yo pienso un color (como blanco, rojo, azul, etc. para simplificar, nada de &#8220;azul prusiano&#8221; o &#8220;rojo bermellón&#8221;). Tienes una oportunidad de adivinar. Si atinas, te doy 20 euros, si pierdes, me das 10. ¿Vale?
: Luis: Ok.
(Drini piensa VERDE)
: Luis: Pues&#8230; estás pensando en VERDE.
: [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2>Corre</h2>
<p style="padding-left:30px;">
<p style="padding-left:30px;"><strong>: Drini:</strong> Vamos a jugar un juego, mi estimado Luis. Yo pienso un color (como blanco, rojo, azul, etc. para simplificar, nada de &#8220;azul prusiano&#8221; o &#8220;rojo bermellón&#8221;). Tienes una oportunidad de adivinar. Si atinas, te doy 20 euros, si pierdes, me das 10. ¿Vale?<br />
<strong>: Luis:</strong> Ok.</p>
<p style="padding-left:30px;">(Drini piensa VERDE)</p>
<p style="padding-left:30px;"><strong>: Luis:</strong> Pues&#8230; estás pensando en VERDE.<br />
<strong>: Drini:</strong> No, fallaste, estaba pensando en CAFE<br />
<strong>: Luis:</strong> Bueno, psshh&#8230; toma los 10 euros, pero me parece que has hecho trampa<br />
<strong>: Drini:</strong> ¿trampa yo? ¿cómo te atreves a sugerir eso?</p>
<h2>Lola</h2>
<p style="padding-left:30px;"><strong>: Drini:</strong> Vamos a jugar un juego, Luis. Yo pienso un color (como blanco, rojo, azul, etc. para simplificar, nada de &#8220;azul prusiano&#8221; o &#8220;rojo bermellón&#8221;). Tienes una oportunidad de adivinar. Si atinas, te doy 10 euros, si pierdes, me das 5. ¿Vale?<br />
<strong>: Luis:</strong> Hmm&#8230; ¿y quién me garantiza que no mentirás sobre tu elección?<br />
<strong>: Drini:</strong> Bueno, aquí anda Netito, le digo a Netito el color que pienso, tú adivinas y él corrobora mi elección.<br />
<strong>: Luis:</strong> Ok, me parece.<br />
<strong>: Drini:</strong> Ya pensé el color, acércate, Netito, para que te diga mi elección.</p>
<p style="padding-left:30px;">(Netito se acerca)</p>
<p style="padding-left:30px;"><strong>: Drini:</strong> (en secreto) Mira Netito, tú limítate a asentir a lo que yo diga y te ganas 5 euros, ¿ok?<br />
<strong>: Netito:</strong> Ok.</p>
<p style="padding-left:30px;"><strong>: Drini:</strong> Estamos listos, Luis, ya pensé un color. Adivina.<br />
<strong>: Luis:</strong> Estás pensando AZUL.<br />
<strong>: Drini: </strong>No, pensé en ROJO. ¿verdad Netito?<br />
<strong>: Netito:</strong> Sí, pensó ROJO.<br />
<strong>: Luis:</strong> Pshh.. otra vez perdí, toma los 10 euros. Nos vemos luego.<br />
<strong>: Drini:</strong> Bye, Luis.</p>
<p style="padding-left:30px;">(Drini le da 5 euros a Netito)</p>
<h2>Matrix</h2>
<p>Los ejemplos son bastante metafóricos, y en realidad está hablando de Internet, para aquellos a los que no les ha caído el veinte.</p>
<p>En un entorno digital, donde las interacciones no son persona a persona, hay un elemento de incertidumbre siempre presente sobre la fiabilidad de la información. ¿Cómo garantizar que la persona con la que hablamos sea quien afirma ser? <span id="more-55"></span>Podría ser alguien más tomando su lugar (usando su mismo nombre de usuario, robando sus contraseñas, etc.) Por ejemplo, si alguien muestra un correo electrónico o un &#8220;log&#8221; de una conversación como prueba de algo, ¿cómo saber que no han sido alterados o inventados?</p>
<p>Además, toda la información que transita por Internet, cada mensaje, cada correo, pasa (sin que se note) por docenas de servidores intermediarios (netitos), cada uno de ellos puede alterar la información. Y es que en el ejemplo había muy poco en juego. Pero ¿y si fuera esencial certificar la veracidad de alguna afirmación? Por ejemplo, si estuviera en juego la contraseña a una cuenta bancaria, o si hubiera información confidencial que no deba ser manipulada&#8230;</p>
<p>Un listo podría notar que en los ejemplos bastaba con que yo escribiera en un papel el color pensado, y lo mostrara después de su elección, pero en línea, donde las personas no interactúan cara a cara, eso no es posible. El equivalente digital sería almacenar la información en un sitio (por ejemplo en una pagina web) y luego indicar al jugador que acceda a la página, pero nuevamente los mismos fallos se presentan: yo podría alterar la información antes de que el otro jugador la vea, podría una tercera persona intervenir (a favor mío o del otro jugador). Piensa que podrían no ser 5 euros en juego, sino 500mil. Incluso si yo pusiera la información en una página protegida con contraseña, podría yo cambiarla antes de que el oponente acceda a ella (yo hago trampa), pero también podría la otra persona &#8220;adivinar&#8221; la clave y leer la respuesta sin que yo me entere (siendo ahora yo la víctima).</p>
<p>El problema de certificar información digital es bastante complejo. Concentrándonos en la situación del juego, lo esencial del problema es:</p>
<ol>
<li>Se tiene que fijar un dato (el color)</li>
<li>Se tiene que mantener secreto un tiempo y revelarse luego de algún evento.</li>
<li>Se tiene que certificar que la información no se haya manipulado en el tiempo intermedio.</li>
</ol>
<p>Una forma de solucionarlo es <em>cifrando</em> el color y entregándolo al inicio del juego. Así nos aseguramos que el recipiente no conozca la información antes de tiempo (por estar cifrada), así como que yo no la pueda cambiar (porque desde el inicio del juego el otro participante ya tiene la respuesta en su poder).</p>
<h2>Corre</h2>
<p style="padding-left:30px;"><strong>: Drini: </strong>Vamos a jugar un juego, Luis. Yo pienso un color (como blanco, rojo, azul, etc. para simplificar, nada de &#8220;azul prusiano&#8221; o &#8220;rojo bermellón&#8221;). Tienes una oportunidad de adivinar. Si atinas, te doy 10 euros, si pierdes, me das 5. ¿Vale?<br />
<strong>: Luis:</strong> Hmm&#8230; ¿y quién me garantiza que no mentirás sobre tu elección?<br />
<strong>: Drini:</strong> Bueno, aquí anda Netito, le digo a Netito el color que pienso, tú adivinas y él corrobora mi elección.<br />
<strong>: Luis:</strong> No, yo sé que ustedes son amiguetes y lo más probable es que se pongan de acuerdo para estafarme. A otro perro con ese hueso.<br />
<strong>: Drini:</strong> Tengo otra idea. Yo escojo el color, lo cifro mediante un código y lo escribo en esta pizarra, así te aseguras de que ya no puedo cambiar mi elección. Después de que adivines, te digo cómo descifrar el código y verificas si la respuesta que das coincide o no.<br />
<strong>: Luis:</strong> Bueno, así me parece bien, porque ya no puedes cambiar tu respuesta (está en la pizarra) y yo podré comprobar si acierto o no cuando me reveles el código. ¡Juguemos!<br />
<strong>: Drini:</strong> Perfecto, entonces escribo en la pizarra&#8230; TIRH.<br />
<strong>: Luis:</strong> Me parece que pensaste en GRIS<br />
<strong>: Drini:</strong> No, fallaste de nuevo, el color que pensé es AZUL. Paga tus 10 euros.<br />
<strong>: Luis:</strong> ¡Momento! Revélame el código para que yo pueda asegurarme de realmente perdí.<br />
<strong>: Drini:</strong> Claro, el código de cifrado es:</p>
<pre>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
T N O S U J Y B X E V H G A P D M C L F R Q W K Z I</pre>
<p style="padding-left:30px;">Cada letra de la fila superior se cambia por la letra de la fila inferior.<br />
<strong>: Luis:</strong> Psshh&#8230; pues sí, perdí <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> toma tus 10 euros.<br />
<strong>: Drini:</strong> Je, je, je&#8230;</p>
<h2>Matrix recargado</h2>
<p>Nuevamente, me he pasado de listo. Antes de continuar, considera el siguiente cifrado:</p>
<pre>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A</pre>
<p>Mucho más natural, ¿no? Y bajo ese esquema.. TIRH = &#8230;.</p>
<p>Ha quedado clara la falla del sistema en el último escenario. No basta con hacer público el mensaje cifrado. También hay que hacer público el método de cifrado antes de la toma de decisiones porque de lo contrario no se está garantizando el tercer punto del problema (el mensaje no debe ser alterado).  La trampa se hace ya no alterando el mensaje, sino la forma de descifrar el mensaje (para obtener la respuesta que se quiera).</p>
<p>Ahora, si al inicio del juego le diera la tabla de código a Luis podría él revertir el cifrado al leer TIRH en la pizarra y darme la respuesta correcta sin necesidad de adivinar, por lo que revelar el método al inicio del juego asegura que se cumple la condición 3 pero ya no la condición 2 (que el mensaje debe ser secreto hasta que yo decida revelarlo). Ser o no ser&#8230;</p>
<p>De nueva cuenta, la historia es metafórica, la situación bien podría corresponder a dos empresas haciendo una transacción de varios millones, pero que la trasferencia electrónica se deba hacer sólo después de haber firmado el contrato, siendo imprescindible que un documento permanezca secreto durante las negociaciones pero al mismo tiempo no sea posible modificarlo. E incluso, aunque no se diera el método de cifrado al inicio del proceso (permitiendo a la empresa Drini Co. hacer trampa al final), sería posible que la Luis contratara un hacker que descubriera la forma de descifrar el documento (permitiendo a Luis Inc. hacer trampa al inicio).</p>
<h2>El Señor de los Anillos</h2>
<p>Malo si haces (revelar el código al inicio), malo si no haces (revelar el código al final). Aparentemente.</p>
<p>La verdadera causa del problema es que los cifrados usados en el ejemplo son reversibles. Es decir, si se conoce el método se puede pasar de un mensaje &#8220;en claro&#8221; a un mensaje &#8220;cifrado&#8221; y viceversa.<br />
Una vez fija la tabla, es posible ir y venir entre las dos formas sin ningún esfuerzo, quien posea la tabla poseerá todas las piezas del rompecabezas.</p>
<p>Incluso podríamos imaginar un sistema en donde los métodos de cifrado y descifrado sean distintos, revelaríamos el método de cifrado al inicio y revelamos el de descifrado al final. Aunque en apariencia más robusto que el esquema anterior, en realidad padece de los mismos problemas. Por ejemplo: el oponente podría descubrir por sí mismo el método de descifrado tomando ventaja durante el proceso.</p>
<p>La solución está en (redoble de tambores&#8230;) usar un sistema de cifrado que &#8220;no se pueda descifrar&#8221;. Siendo más precisos, una proceso para cifrar un mensaje que no se pueda revertir, por lo que no sea posible obtener el mensaje original a partir del mensaje en clave (aunque se conozca el proceso de cifrado).</p>
<p>De esta forma, al inicio del proceso los participantes se ponen de acuerdo en el proceso de cifrado, se da el mensaje en clave garantizando la inviolabilidad del mismo, y al no ser posible revertir el proceso se garantiza también el secreto.</p>
<p>En teoría se oye bien, pero ¿cómo obtener tal método? La respuesta es: mediante funciones de hash. Pero antes&#8230;</p>
<h2>Las dos torres</h2>
<p>Antes de explicar cómo obtener un método que no se pueda revertir, primero vamos a ver cómo obtener un método que sea &#8221;difícil&#8221; de revertir.</p>
<p>Ya en el rollo digital, lo primero que haremos será trabajar con números. Convertimos cada letra a un número como sigue:</p>
<pre>A B C D E F G H I J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26</pre>
<p>Así, por ejemplo, la palabra &#8220;WIKI&#8221; corresponde a (23 9 11 9).</p>
<p>El método de cifrado es:</p>
<ul>
<li>El número correspondiente a cada letra, se eleva a la quinta potencia, se divide entre 29 y se toma el resto para obtener el valor cifrado</li>
</ul>
<p>Por ejemplo, la letra V (que corresponde al número 22) se transforma en la M porque:</p>
<p>22<sup>5</sup> = 5153632  dividiendo entre 29 se obtiene 177711 y el resto de la división es 13, correspondiendo a la letra M.</p>
<p>Bajo este esquema, PEDRO se convierte, por ejemplo, en SVIOJ. El sistema es relativamente simple (con una calculadora se puede cifrar  un texto manualmente en unos par de minutos) pero es muy invertir el proceso.</p>
<p>Como reto, descifrar el mensaje ALBE (es decir, qué palabra de 4 letras se convierte, mediante el proceso descrito, en ALBE). La siguiente sección proporciona una forma de solución.</p>
<h2>El regreso del rey</h2>
<p>Supongamos que queremos descifrar la letra K (es decir, 11). Tenemos que hallar un número <em>x</em> tal que al elevarlo a la 5, dividir entre 29 y tomar el resto, el resultado sea 11. En otras palabras, resolver la ecuación de congruencia <em>x</em>^5 = 11 (mod 29), el cual ya no es un problema elemental de teoría de números y se conoce como el problema del logaritmo discreto.</p>
<p>Pero realmente no es necesario estudiar aritmética avanzada para descifrar el mensaje. El esquema sigue padeciendo de la misma debilidad: los mensajes con completamente reversibles. En otras palabras, no hay dos letras que se transformen o cifren en una misma. Así, como ya sabemos que la P se convierte en S, cada vez que aparezca una S en el mensaje cifrado sabremos que el original es P.</p>
<p>Como consecuencia, para descifrar el mensaje basta /construir/ la tabla nuevamente y se obtiene un diccionario para realizar la traducción en cualqueir sentido. Disponiendo de métodos electrónicos es cuestión de minutos reconstruir la tabla de cifrado</p>
<pre>A B C D E F G ...
A C K I V D P ...</pre>
<p>así, si recibiéramos el mensaje cifrado KADV, sabríamos que el original es CAFE, sin necesidad de hacer más cálculos.</p>
<p>Hay que aclarar un punto sutil. No estamos &#8220;descifrando&#8221; en el sentido de invertir el proceso de codificación (porque no calculamos el logaritmo discreto) lo cual es difícil, sino que hicimos trampa reconstruyendo todas las posibilidades de cifrado para obtener un diccionario. Pero.. ¿y si eso no fuera posible? Por cierto, la solución del reto en la sección anterior es AQUI (AQUI se cifra como ALBE).</p>
<h2>Matrix revoluciones</h2>
<p>Una función de hash es una función que es &#8220;fácil&#8221; de calcular, pero imposible de revertir por no ser &#8220;uno a uno&#8221;.</p>
<p>Supongamos que ahora el método de cifrado consiste en elevar al cubo, dividir entre 19 y tomar el resto.</p>
<p>Cuando hagamos la trampa de reconstruir el diccionario obtendremos:</p>
<pre>A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
A H H G K G A R G L A R L H L K K R S A H H G K G A</pre>
<p>Y nuestro truco habrá sido derrotado, porque si recibimos el mensaje HARL ya no sabremos si corresponde a la palabra BALO o CARO</p>
<p>La novedad es que este nuevo sistema ya no es &#8220;uno a uno&#8221; (correspondencia exacta entre un código y otro) sino que hay colisiones en el método. Por tanto, es realmente imposible saber a ciencia cierta el mensaje original</p>
<p>Dado que es imposible &#8220;descifrar&#8221; el mensaje ¿qué utilidad puede tener tal tipo de función? La respuesta es: certificación digital.</p>
<p>Si en el juego de adivinar colores, yo pensara AZUL acordando publicar el hash (cifrado) con el método de elevar al cubo y dividir entre 19, pondría en la pizarra: AAHR</p>
<p>Dado que hay muchas palabras que dan el mismo hash, específicamente, hay 625 diferentes palabras de 4 letras con el hash AAHR, Luis tendría que calcular todas las 625 combinaciones para poder adivinar mi color.</p>
<p>Quizás aquí convenga cambiar un poco el juego para hacer énfasis en los puntos finos de la situación. Si el juego consistiera en adivinar una palabra de 4 letras (no necesariamente un color), y digamos, yo pienso CABO, el hash que haré público será HAHL. Luis tiene que adivinar qué palabra de cuatro letras pensé, habiendo 625 diferentes posibilidades. Para él, saber el hash le es inútil (porque no puede usarlo para recuperar la palabra original dado que hay colisiones). De esta forma, el hash asegura la segunda condición del problema (mantiene el secreto), pero ¿qué hay de la tercera, que yo no pueda falsificar la respuesta?</p>
<p>Imaginemos que Luis por suerte propone CABO, la misma palabra que yo había pensado. Para hacer trampa, tendría yo que encontrar una palabra de 4 letras que tenga el mismo hash y en realidad no es difícil hacerlo: por ejemplo NABO, NANO, CANO, VANO, etc.</p>
<p>Sin embargo, lo que sucede es que la función que di como ejemplo NO es una buena función de hash, es una función muy simple para propósitos ilustrativos. Sin embargo hay funciones de hash que sí satisfacen el tercer criterio (la inviolabilidad del mensaje).</p>
<p>¿Porqué es una mala función de hash? La principal debilidad es que hay demasiadas colisiones, lo que proporciona bastante espacio de maniobra para generar nuevas combinaciones con el mismo hash. Es decir, hay mucha probabilidad de colisión. El enfoque de crear un diccionario para romper el hash no es de mucha utilidad ya que en aplicaciones el diccionario no contendría 26 letras sino que constaría de miles de millones de entradas.</p>
<p>Las funciones de hash usadas en aplicaciones reales son algoritmos muchísimo más complejos que los del ejemplo, imposibles de revertir y prácticamente imposible generar un mensaje falso que tenga el mismo hash que un mensaje dado. Dependiendo del algoritmo y de los parámetros que se usen, se obtienen diferentes grados de seguridad.</p>
<p>Por ejemplo, el hash MD5 se usa comúnmente para verificar que la descarga de un archivo sea correcta (si el hash del archivo descargado no coincide con el hash publicado en el sitio web, es que la descarga se realizó incorrectamente) funciona porque la probabilidad de que el archivo corrupto tenga el mismo hash que el archivo original es casi nula. Pero aunque es seguro para certificar la información en una descarga cualquiera en Internet, no sería apropiado para certificar una transferencia de millones de euros, en cuyo caso se usaría un hash mucho más fuerte (de mayor complejidad y que haga uso de mayor cantidad de recursos computacionales).</p>
<h2>La vida de Brian</h2>
<p>Una aplicación de certificación con hashes es la comprobación digital de identidad.</p>
<p>El problema es éste: yo tengo una cuenta en un sistema (digamos Wikipedia). Si por alguna razón alguien robara mi contraseña, podría suplantar mi &#8220;identidad&#8221; en el sistema y actuar en mi nombre. Incluso podría cambiar la pregunta que se usa para recuperar la información, cambiar la dirección de correo electrónica asociada a la cuenta. En otras palabras, yo perdería por completo la posibilidad de recuperarla.</p>
<p>Bueno, podría yo acudir a los administradores del sistema quienes podrían reasignarme una nueva contraseña para recuperar la cuenta. Pero el problema surge de nuevo: ¿cómo garantizar que efectivamente soy yo quien está pidiendo la ayuda?</p>
<p>Es decir, otra persona podría intentar hacerse pasar por mi, pidiendo ayuda para que se le reasigne una clave y entonces los administradores del sistema le entregarían las llaves del reino, pensando que me las entregan a mi. No pueden enviar tampoco una contraseña a la dirección de correo, porque podría haber sido alterada.</p>
<p>Siendo un problema de certificación, de nueva cuenta podemos resolverlo usando hashes públicos. Como bien se dice, la prevención es la mejor solución.</p>
<p>En este momento, selecciono una frase cualquiera, por ejemplo:</p>
<pre>Mira siempre el lado bueno de la vida</pre>
<p>y calculo su hash bajo un esquema criptográfico de alta seguridad conocido, por ejemplo, SHA-512. Entonces hago público hoy el hash (por ejemplo, incluyéndolo en mi página de usuario):</p>
<pre>82748725d9aabf69f9aded742f7e7faee94f6b9228b
767434eb4030fd4b8a9869503e90ee09700df8ddde0
929253cc07236d48f956a2de6eb30ab19085d47959</pre>
<p>indicando que es una certificación digital de mi identidad</p>
<p>Transcurre el tiempo y sucede el temido evento de que mi cuenta es robada, mis datos alterados, mi correo electrónico cambiado, etc. Acudo con los administradores del sistema pidiendo ayuda:</p>
<p style="padding-left:30px;"><strong>: Drini: </strong>Buenos días, necesito ayuda para recuperar mi cuenta que ha sido robada. ¿podrían asignarme una nueva contraseña?<br />
<strong> : Devs:</strong> No, porque podrías ser un impostor ¿quién nos garantiza que tú eres el dueño original de la cuenta?<br />
<strong> : Drini:</strong> Ah, porque tengo una certificación digital de mi identidad. El día 17 de julio de 2008 puse en mi página de usuario el hash SHA-512. El impostor no conoce la frase original pero yo sí, la cual es:<br />
&#8220;Mira siempre el lado bueno de la vida&#8221;<br />
<strong> : Devs:</strong> Ok, espera un par de minutos mientras calculamos el hash de esa frase.<br />
(&#8230;..)<br />
<strong> : Devs:</strong> ¡Coinciden! Eso nos prueba que eres el dueño de la cuenta, ¿a dónde quieres que enviemos la nueva contraseña?</p>
<p>Asunto resuelto. ¿porqué funciona el esquema? Porque aunque otra persona tenga posesión de mi cuenta, no podrá crear una frase que tenga el mismo hash que publiqué, debido a que estoy usando un hash de alta seguridad.</p>
<p>En realidad, el problema de los colores es una metáfora de esta situación. Poner el hash en mi página de usuario, equivale a seleccionar un color y mantenerlo secreto, hasta que llega un momento (el final del juego/la certificación de la identidad) en que revelo la frase original, garantizando que la respuesta es la misma que la seleccionada originalmente.</p>
<p style="padding-left:30px;">Para más información: [[<a href="http://en.wikipedia.org/wiki/Commitment_scheme" target="_blank">en:Commitment_scheme</a>]] pero ojo, que cualquiera puede editar la wikipedia de modo que no se puede confiar en su información.</p>
<p style="padding-left:30px;">Existen herramientas en línea para calcular y verificar hashes: [<a href="http://www.fileformat.info/tool/hash.htm" target="_blank">1</a>] y [<a href="http://www.tools4noobs.com/online_tools/hash/" target="_blank">2</a>]</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/55/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/55/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/55/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/55/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/55/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=55&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2008/06/16/funciones-hash/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
		<item>
		<title>cosas para hacer al instalar ubuntu</title>
		<link>http://drini.wordpress.com/2008/06/13/cosas-para-hacer-al-instalar-ubuntu/</link>
		<comments>http://drini.wordpress.com/2008/06/13/cosas-para-hacer-al-instalar-ubuntu/#comments</comments>
		<pubDate>Fri, 13 Jun 2008 03:41:26 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[linux]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/?p=53</guid>
		<description><![CDATA[Tuve que reinstalar todo mi linux recientemente. Aprovechando que ya me llegó mi CD de Kubuntu 8.04 por correo, decidí probarlo. Pero una instalación &#8220;tal cual&#8221; no es, al menos para mi, completamente adecuada.

Actualizar los repos. Probablemente las versiones que instales desde el CD no sean las más recientes, lo primero que hay que hacer [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Tuve que reinstalar todo mi linux recientemente. Aprovechando que ya me llegó mi CD de Kubuntu 8.04 por correo, decidí probarlo. Pero una instalación &#8220;tal cual&#8221; no es, al menos para mi, completamente adecuada.</p>
<ol>
<li><strong>Actualizar los repos. </strong>Probablemente las versiones que instales desde el CD no sean las más recientes, lo primero que hay que hacer es actualizar la lista de repos y ejecutar <strong>apt-get update.</strong> Pero ojo, antes de lanzarse a actualizar todo lo posible, primero hay que eliminar todo el software que no necesitemos (para evitar descargarlo nuevamente en vano). Ejemplos: drivers de Xorg para otras tarjetas, paquetes de Gnome y KDE no deseados, etc. Al final, ya podemos darle a <strong>apt-get upgrade</strong>.</li>
<li><strong>Instalar firefox. </strong>Y no sólo el programa, sino las extensiones necesarias: Delicious, Foxmarks, Adblock plus, por ejemplo. Instalar flash y activar la opción que permite escoger el lugar de cada descarga.</li>
<li><strong>Instalar vim</strong>. Aunque kubuntu instala una versión reducida, no se puede avanzar mucho sin un editor decente y la mejor forma es instalar vim directamente.</li>
<li><strong>Instalar fuentes tipográficas</strong>. Paquetes: msttcorefonts, ttf-gentium, ttf-liberation. Mínimo. De paso ajustar el antialiasing en el panel de control en KDE.</li>
<li><strong>Instalar software adicional:</strong> para las mates&#8230;
<ol>
<li><strong>Kviewshell</strong> para poder visualizar archivos djvu</li>
<li><strong>Kdvi</strong> para los&#8230; dvi</li>
<li><strong>texmacs </strong>para cuando ande a las carreras</li>
<li><strong>texlive-latex-base</strong> para cuando tenga calma</li>
<li><strong>kile</strong> para poder usar el anterior</li>
</ol>
</li>
</ol>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/53/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/53/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=53&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2008/06/13/cosas-para-hacer-al-instalar-ubuntu/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
		<item>
		<title>Generando particiones</title>
		<link>http://drini.wordpress.com/2008/05/27/generando-particiones/</link>
		<comments>http://drini.wordpress.com/2008/05/27/generando-particiones/#comments</comments>
		<pubDate>Tue, 27 May 2008 21:15:11 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[matemáticas]]></category>

		<category><![CDATA[programación]]></category>

		<category><![CDATA[python]]></category>

		<category><![CDATA[combinatoria]]></category>

		<category><![CDATA[algoritmos]]></category>

		<category><![CDATA[generadores]]></category>

		<category><![CDATA[particiones]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/?p=51</guid>
		<description><![CDATA[&#8230; o cómo aprendí a amar los generadores en Python y dejé de preocuparme.
En estos días mi trabajo en el doctorado involucra contar cuántos puntos con coordenadas enteras tienen ciertos &#8220;poliedros&#8221; en 12 dimensiones. Tales poliedros están determinados por las formas diferentes en que se puede descomponer un número como sumas ordenadas, es decir particiones. [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p style="text-align:right;"><em>&#8230; o cómo aprendí a amar los generadores en Python y dejé de preocuparme.</em></p>
<p>En estos días mi trabajo en el doctorado involucra contar cuántos puntos con coordenadas enteras tienen ciertos &#8220;poliedros&#8221; en 12 dimensiones. Tales poliedros están determinados por las formas diferentes en que se puede descomponer un número como sumas ordenadas, es decir particiones. Así, dado que 6=3+1+1+1, entonces [3,1,1,1] es una partición de 6.</p>
<p>Las distintas particiones de n=6 son</p>
<pre>[6] [5, 1] [4, 2] [4, 1, 1] [3, 2, 1] [3, 1, 1, 1]
[2, 2, 2] [2, 2, 1, 1] [2, 1, 1, 1, 1] [1, 1, 1, 1, 1, 1, 1]</pre>
<p>En la aplicación particular que estoy trabajando, únicamente nos importan particiones de longitud 3. Entonces de las anteriores sólo se considerarían</p>
<p>[4, 1, 1]<br />
[3, 2, 1]<br />
[2, 2, 2]</p>
<p>Como siempre es mejor usar la computadora para las tareas mecánicas, me propuse elaborar un programa en Python que genere particiones de un número entero.</p>
<p>El esquema básico es el siguiente:<span id="more-51"></span></p>
<ol>
<li>Recorrer todos los números <em>n</em>, <em>n</em>-1, <em>n</em>-2, .., 3, 2, 1  para ocupar la primera posición</li>
<li>Una vez fija la primera posición <em>k</em>,  el resto se genera &#8220;uniendo&#8221; esa primera posición con todas las particiones de <em>n-k</em>.</li>
</ol>
<p>Por ejemplo, si <em>n</em>=6,  y <em>k=4</em> entonces todas las particiones que inician con 4 se obtienen de las particiones de 2: [2] y [1,1], dando como resultado [4,2] y [4,1,1], ambas mencionadas arriba.</p>
<p>En particular, una partición es una lista, y el resultado del programa debe ser una lista de listas. Finalmente, aunque en mi aplicación sólo es necesario calcular particiones de longitud 3, me conviene poder calcular particiones de cualquier otra longitud fija.</p>
<p><strong>Bosquejo inicial</strong></p>
<pre><span style="color:#993300;"><span style="color:#333399;"># coding=latin1
def particiones(n):
    if n==1:  </span>                <span style="color:#808000;"> # Esto detiene la recursión, si n=1, la única partición es [1],
                               # por lo que la lista de las particiones es [ [1] ]
</span></span><span><span><span style="color:#993300;"><span style="color:#333399;">    </span></span></span></span><span style="color:#993300;"><span style="color:#333399;">    return [ [1] ]
    elif n&lt;1:
        return [] </span>         <span style="color:#808000;"># Por si acaso atrapar casos "raros". Si n=0, no hay particiones, regresar []
                           # de modo similar para n&lt;0.</span>
<span style="color:#333399;">    listaparticiones=[]</span>        <span style="color:#808000;"># incialmente no tenemos ninguna partición calculada</span><span style="color:#333399;">
    for k in range(n,0,-1):<span style="color:#808000;">      </span></span><span style="color:#808000;"># Aquí recorremos todos los valores k para el primer elemento</span><span style="color:#333399;">
        cola= particiones(n-k)<span style="color:#808000;">     </span></span><span style="color:#808000;"># generamos la lista de particiones de n-l</span><span style="color:#333399;">
        for x in cola:         <span style="color:#808000;">    </span></span><span style="color:#808000;"># y para cada una de ellas...</span><span style="color:#333399;">
</span></span><span><span><span style="color:#993300;"><span style="color:#333399;">    </span></span></span></span><span style="color:#993300;"><span style="color:#333399;">        particion= [k] + x      </span><span style="color:#808000;"># la unimos con el primer elemento</span><span style="color:#333399;">
            listaparticiones.append(particion)  <span style="color:#808000;"> # y la agregamos a la lista
</span>     return listaparticiones       <span style="color:#808000;"># al final devolvemos todas las que hayamos construido</span></span><span style="color:#333399;">

lista=particiones(5)<span style="color:#808000;">        # calcularemos las particiones de n=5...</span>
for p in particiones(5):<span style="color:#808000;">    # y luego las mostraremos</span>
print p</span></span></pre>
<p>Todo listo, corremos y&#8230;</p>
<pre><span style="color:#ff9900;">[4, 1]
[3, 1, 1]
[2, 2, 1]
[2, 1, 1, 1]
[1, 3, 1]
[1, 2, 1, 1]
[1, 1, 2, 1]
[1, 1, 1, 1, 1]</span></pre>
<p>Se ha omitido [5] porque la recursión termina cuando n&lt;0 la lista sobre la que se itera es vacía. Esto se soluciona cambiando</p>
<pre><span style="color:#993300;"><span style="color:#333399;">        elif n&lt;1:
                return [] </span></span></pre>
<p><span style="color:#000000;">por</span></p>
<pre><span style="color:#993300;"><span style="color:#333399;">        elif n&lt;1:
                return [ [] ] </span>         </span></pre>
<p>Sin embargo, algo ha salido mal, porque [1,3,1] no es partición. El problema es que el esquema original no contempla que las &#8220;colas&#8221; que generan las particiones de <em>n-k </em>no pueden iniciar con un entero mayor que la &#8220;cabeza&#8221; <em>k</em>.</p>
<p>Otro problema menos evidente y mucho más interesante, es que se están efectuando muchísimas recursiones, en cada paso manteniendo en memoria listas muy grandes de particiones de forma innecesaria (por ejemplo, hay 200 000 particiones de n=50, y al efectuar la recursión fácilmente se usarán varios megabytes de memoria para algo tan sencillo). Además, se hace necesario almacenar la lista de particiones en una variable para poder recorrerla, como en:</p>
<pre><span style="color:#993300;"><span style="color:#333399;">lista=particiones(5)
for p in particiones(5):
      print p</span></span></pre>
<p>La solución a ésto es descartar el enfoque rudimentario de hacer recursiones sobre listas y usar <strong>generadores.</strong></p>
<h2>Generadores en python</h2>
<p>Un generador es una forma conveniente de crear funciones que regresan valores pertenecientes a una lista sin tener que calcular toda la lista de antemano. En el ejemplo anterior, es necesario calcular TODA la lista de particiones</p>
<pre><span style="color:#993300;"><span style="color:#333399;">lista=particiones(5)</span></span></pre>
<p>antes de poder mostrar siquiera la primera. Sería mucho más conveniente que particiones() diera cada una de ellas al necesitarlas, sin necesidad de calcularlas todas de antemano, lo cual se obtiene mediante el uso de generadores.</p>
<p>Otro uso de los generadores es devolver los elementos de una lista <strong>infinita</strong>, y como matemáticos esto es muy útil, sobre todo si se quiere modelar series y sucesiones.</p>
<p>Por ejemplo, queremos generar una lista de las primeras <em>t</em> aproximaciones a la suma 1 + (1/2) + (1/3) + &#8230; + (1/n).  La función sería:</p>
<pre><span style="color:#333399;">def armonica():
     suma=0.0        # inicializamos valores
     n=0.0
     while True:   <strong># ciclo infinito!!
</strong>         n=n+1         # aumentamos la variable
         suma = suma + 1/n    # calculamos la nueva suma
         yield suma           # regresamos el nuevo valor</span></pre>
<p>El uso de <strong>yield</strong> en vez de <strong>return</strong> convierte a la función en un generador, que regresa sus valores de uno en uno en vez de todos al mismo tiempo.</p>
<p>Y el siguiente es un ejemplo de su uso:</p>
<pre><span style="color:#333399;">t=6
z=armonica()
for j in range(t):
     print z.next()</span></pre>
<p><span style="color:#000000;">resultando en </span></p>
<pre><span style="color:#ff9900;"><span style="color:#ff6600;">1.0                <span style="color:#808000;"># 1</span>
1.5                <span style="color:#808000;"># 1 + 1/2</span>
1.83333333333</span></span><span><span><span style="color:#ff9900;"><span style="color:#ff6600;">    <span style="color:#808000;">  # 1 + 1/2 + 1/3</span></span></span></span></span><span style="color:#ff9900;"><span style="color:#ff6600;">
2.08333333333      <span style="color:#808000;"># 1 + 1/2 + 1/3 + 1/4
</span>2.28333333333      </span></span><span><span><span style="color:#ff9900;"><span style="color:#ff6600;"><span style="color:#808000;"># 1 + 1/2 + 1/3 + 1/4 + 1/5</span></span></span></span></span><span style="color:#ff9900;"><span style="color:#ff6600;">
2.45               </span></span><span><span><span style="color:#ff9900;"><span style="color:#ff6600;"><span style="color:#808000;"># 1 + 1/2 + 1/3 + 1/4</span></span></span></span></span><span style="color:#ff9900;"><span style="color:#808000;"> + 1/5 + 1/6</span></span></pre>
<p>Siendo clave la línea</p>
<pre><span><span style="color:#333399;">print z.next()</span></span></pre>
<p>en la que calcula el siguiente término, sin necesidad de recalcular los anteriores y sin necesidad de calcular los siguientes (al no saber cuántos se le pedirán).</p>
<p>Por ejemplo, si queremos generar todas las aproximaciones hasta que excedamos 3 podemos usar:</p>
<pre><span style="color:#333399;">for x in armonica():
     print x
     if x &gt;3: break</span></pre>
<p>Este ejemplo es más ilustrativo, porque no sabemos ni siquiera cuántos elementos se calcularán, simplemente se calcula de uno en uno hasta obtener alguno que exceda 3. La línea <strong>for x in armonica(): </strong>está haciendo uso de que armonica() es un iterador, por lo que se puede recorrer de uno en uno como cuando se recorre range().</p>
<h2>De vuelta al problema</h2>
<p>Necesitamos entonces 2 cambios: usar generadores y establecer un tope (opcional) al elemento inicial, tope que es necesario para evitar obtener resultados del tipo [1, 3, 1, 1].</p>
<pre><span style="color:#333399;"><strong>def particiones(n, tope=None):</strong>     # tope es un parámetro opcional
    if tope==None: tope=n          # si no está presente, la cabeza de la partición puede ser
                                   # tan grande como n mismo
    if n==1:
        yield  [1]          # dado que ya no regresamos una "lista de listas"
    elif n&lt;1:               # sino sólo un elemento, ya no necesitamos los corchetes extra
        yield []
    else:                    # necesario pues a diferencia de return, la función no termina al
                             # al llegar a yield, sino que sólo se pausa
        <strong>for k in range(min(n,tope),0,-1): </strong>  # min(n,tope) impide que las cabezas sean mayores topes<strong>
</strong><strong>            for cola in particiones(n-k,tope=k):  #</strong> y cada cabeza es tope de las subllamadas
                particion= [k] + cola
                yield particion</span>
</pre>
<p>Notemos que ya <strong>no</strong> fue necesario usar variables auxiliares como <em>listaparticiones </em>y <em>colas</em> para almacenar las listas temporales, sino que el uso de generadores (yield) permite acceder a las funciones mismas como si fueran listas.</p>
<p>Usamos la función anterior como:</p>
<pre><span style="color:#333399;">for x in particiones(5):
        print x</span></pre>
<p>Obteniendo:</p>
<p><span style="color:#ff6600;">[5]<br />
[4, 1]<br />
[3, 2]<br />
[3, 1, 1]<br />
[2, 2, 1]<br />
[2, 1, 1, 1]<br />
[1, 1, 1, 1, 1]</span></p>
<p>O como en</p>
<pre><span style="color:#333399;">for x in particiones(6,tope=4):
    print x</span></pre>
<p>que resulta en</p>
<pre><span style="color:#ff6600;">[4, 2]
[4, 1, 1]
[3, 3]
[3, 2, 1]
[3, 1, 1, 1]
[2, 2, 2]
[2, 2, 1, 1]
[2, 1, 1, 1, 1]
[1, 1, 1, 1, 1, 1]</span></pre>
<p>Las cuales son las particiones de 6 sin elementos mayores a 4.</p>
<h2>Toques finales</h2>
<p>Casi estamos listos, sólo falta ahora filtrar de forma opcional aquellas particiones que tengan una longitud dada. Añadiremos un nuevo parámetro auxiliar &#8220;partes&#8221; que dirá el número de partes en que se divide n:</p>
<pre><span style="color:#333399;">def particiones(n, tope=None, <strong>partes=-1</strong>):
    # sólo usaremos "partes" cuando sea positiva, por eso el valor inicial de -1
    if tope==None: tope=n
    if n==1:
        yield  [1]
    elif n&lt;1:
        yield []
    else:
        for cabeza in range(min(n,tope),0,-1):
            for cola in particiones(n-cabeza,tope=cabeza,partes=partes-1):  # cada subllamada disminuye las partes en 1
                particion= [cabeza] + cola
                <strong>if (partes&lt;0) or ((partes&gt;0) and (len(particion)==partes) ):   </strong># cuando el número de partes no importa
                                                                                # o coincide con el número de partes requerido
                    yield particion                                # devolver la partición</span>
</pre>
<p>Dado que en cada etapa se filtran las particiones para devolver las que tienen el número de partes necesario, en las etapas más profundas de la recursión se regresan menos particiones y por tanto al construir las particiones totales al salir de las recursiones se hacen muchas menos concatenaciones, de modo que el programa corre mucho más rápido que si directamente se generaran todas y a la salida final se filtraran las que tienen el tamaño deseado.</p>
<p>El resultado de invocar a la función con</p>
<pre><span style="color:#333399;">for x in particiones(6, partes=3):
    print x</span></pre>
<p>es:</p>
<pre><span style="color:#ff6600;">[4, 1, 1]
[3, 2, 1]
[2, 2, 2]</span></pre>
<p>Podemos incluso combinar los parámetros. Así, pedimos las particiones de 10 cuya primera entrada no exceda de 6 y que tengan 4 partes:</p>
<pre><span style="color:#333399;">for x in particiones(10, partes=4, tope=6):
    print x</span></pre>
<p>obteniendo:</p>
<pre><span style="color:#ff6600;">[6, 2, 1, 1]
[5, 3, 1, 1]
[5, 2, 2, 1]
[4, 4, 1, 1]
[4, 3, 2, 1]
[4, 2, 2, 2]
[3, 3, 3, 1]
[3, 3, 2, 2]</span></pre>
<p>Y con eso damos por terminado el trabajo que queríamos.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/51/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/51/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=51&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2008/05/27/generando-particiones/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
		<item>
		<title>Búsqueda inversa Kile + kdvi</title>
		<link>http://drini.wordpress.com/2008/04/25/busqueda-inversa-kile-kdvi/</link>
		<comments>http://drini.wordpress.com/2008/04/25/busqueda-inversa-kile-kdvi/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 02:35:27 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[latex]]></category>

		<category><![CDATA[kile]]></category>

		<category><![CDATA[kdvi]]></category>

		<category><![CDATA[dvi]]></category>

		<category><![CDATA[tex]]></category>

		<category><![CDATA[inverse search]]></category>

		<category><![CDATA[kde]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/?p=48</guid>
		<description><![CDATA[Fixing longstanding bug with Kile+kdvi inverse search]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Desde hace tiempo, he notado que la búsqueda inversa de Kile+Kdvi. no funciona correctamente. La búsqueda inversa es un sistema en el cual, haciendo click con el botón medio del ratón en el archivo dvi, te lleva a la línea en el archivo fuente que corresponde a esa posición.</p>
<p>Para activar la búsqueda inversa, hay que agregar</p>
<p style="padding-left:30px;"><strong>\usepackage[active]{srcltx}</strong></p>
<p>en el preámbulo del documento tex. El kdvi activa sin problema la búsqueda inversa, y funciona muy bien con Kate como editor, el problema es que si se escoge Kile en las opciones de kdvi como editor, la búsqueda inversa siempre te lleva a la primera línea, lo cual realmente es inútil.</p>
<p>El problema se debe a una línea de comando incompleta usada por Kile para compilar el documento. La solución es ir a al menú de opciones, y en la configuración de Kile seleccionar en el árbol <strong>Tools|Build</strong> y posteriormente localizar <strong>LaTeX</strong> en el listado de comandos en la mitad de la pantalla. En la derecha aparecerá comando &#8220;latex&#8221;, y las opciones son</p>
<p style="padding-left:30px;"><strong>-interaction=nonstopmode &#8216;%source&#8217;</strong></p>
<p>Ahí se cambia la línea de las opciones a</p>
<p style="text-align:left;padding-left:30px;"><strong>-interaction=nonstopmode<span style="color:#ff0000;"> -src </span>&#8216;%source&#8217;</strong></p>
<p style="text-align:left;">con lo cual, al compilar los documentos, la búsqueda inversa funcionará tal y como debe.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=48&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2008/04/25/busqueda-inversa-kile-kdvi/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
		<item>
		<title>Harry Potter</title>
		<link>http://drini.wordpress.com/2008/02/11/harry-potter/</link>
		<comments>http://drini.wordpress.com/2008/02/11/harry-potter/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 20:54:36 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[libros]]></category>

		<category><![CDATA[books]]></category>

		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/2008/02/11/harry-potter/</guid>
		<description><![CDATA[Hace ya más de 10 años que se publicó el primer libro de Harry Potter. Han salido siete libros, cinco películas (de las cuales sólo he visto una en su totalidad). Y finalmente, después de tantos años y después de tanta gente, he leído uno de ellos del librero de mi esposa.
Me parece bueno, bastante [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hace ya más de 10 años que se publicó el primer libro de Harry Potter. Han salido siete libros, cinco películas (de las cuales sólo he visto una en su totalidad). Y finalmente, después de tantos años y después de tanta gente, he leído uno de ellos del librero de mi esposa.</p>
<p>Me parece bueno, bastante mejor que la correspondiente (primera) película (aunque no la vi en su totalidad). Me da la impresión que en la película no se trata a fondo ni se pone tanto énfasis en Voldemort como en la vida en la escuela de Harry, por lo que la trama de la película se siente más ligera y simplona. Así que sí, recomiendo el libro.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=40&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2008/02/11/harry-potter/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
		<item>
		<title>Veropedia</title>
		<link>http://drini.wordpress.com/2007/12/05/veropedia/</link>
		<comments>http://drini.wordpress.com/2007/12/05/veropedia/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 20:37:19 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[eswiki]]></category>

		<category><![CDATA[veropedia]]></category>

		<category><![CDATA[wikipedia]]></category>

		<category><![CDATA[GFDL]]></category>

		<category><![CDATA[libre]]></category>

		<category><![CDATA[mirror]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/2007/12/05/veropedia/</guid>
		<description><![CDATA[&#8230; y porqué te debería interesar &#8230;
Pasas mucho tiempo mejorando y puliendo un artículo de Wikipedia. Lo has dejado bonito. Quizás no es para destacado, pero sí lo wikificaste, lo extendiste, lo neutralizaste, le añadiste referencias. Pero en el futuro los guerreros de ediciones pueden arruinarlo. Puede llegar uno de los que buscan empujar su [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>&#8230; y porqué te debería interesar &#8230;</p>
<p style="margin-left:120px;"><font size="1">Pasas mucho tiempo mejorando y puliendo un artículo de Wikipedia. Lo has dejado bonito. Quizás no es para destacado, pero sí lo wikificaste, lo extendiste, lo neutralizaste, le añadiste referencias. Pero en el futuro los guerreros de ediciones pueden arruinarlo. Puede llegar uno de los que buscan empujar su punto de vista y arruinar la neutralidad&#8230; uno nunca sabe.</font></p>
<h2><span style="font-weight:bold;">¿Qué es Veropedia?</span></h2>
<p>Veropedia (<a href="http://veropedia.com" target="_blank">http://veropedia.com</a>) es un proyecto que busca almacenar copias &#8220;estables&#8221; de los artículos de Wikipedia. Artículos de calidad, con referencias, neutrales, de modo que se presente siempre una copia buena de los artículos, sin guerras de edición, sin vandalismo.<br />
Los veropedistas mejoramos artículos de Wikipedia, localizamos los artículos buenos ya existentes y los subimos a Veropedia, tales proceso se llama &#8220;veroificar&#8221; un artículo. Una vez en veropedia, los enlaces interwiki tienen 2 colores: verde y azul. Cuando el destino de un enlace ya se encuentra en Veropedia, el enlace se muestra en verde. Cuando el enlace es azul, significa que el destino aún no ha sido veroificado y por tanto el enlace te regresa a Wikipedia (donde puedes leer y mejorar el artículo).</p>
<h2>¿Y porqué debe importarme Veropedia?</h2>
<p>Qué bueno que preguntas, y éso es lo que quisiera platicarte en el resto de este ensayo.</p>
<p><span id="more-37"></span></p>
<p>Bueno, existen ya muchos clones de Wikipedia en la red. Por ejemplo, una búsqueda rápida muestra que [[es:Archivo binario]] está copiado en:</p>
<ul>
<li><font size="-1"><span class="a">wapedia.mobi/es/Archivo_binario</span></font></li>
<li><font size="-1"><span class="a">www.enciclonario.com/enciclopedia/Archivo_binario</span></font></li>
<li><font size="-1"><span class="a">es.wikisrc.org/wiki/Archivo_binario</span></font></li>
<li><font size="-1"><span class="a">www.babylon.com/definition/archivo_binario/Spanish</span></font></li>
<li><font size="-1"><span class="a">www.boonic.com/enciclopedia/69062.php</span></font></li>
<li><font size="-1"><span class="a">www.territorioscuola.com/wiki/es.wikipedia.php?title=Archivo_binario</span></font></li>
<li><font size="-1"><span class="a">www.dimelo.com/GS/SeeTheme.aspx?String=Archivo+binario</span></font></li>
<li><font size="-1"><span class="a">astrored.org/enciclopedia/wiki/Archivo_binario</span></font></li>
<li><font size="-1"><span class="a">www.songtranslator.net/wiki/wiki.php?title=Archivo_binario</span></font></li>
<li><font size="-1"><span class="a">www.wiki-pedia.pl/es/wiki/Archivo_binario.html</span></font></li>
<li><font size="-1"><span class="a">www.cetratec.org/mediawiki/index.php?title=Archivo_binario</span></font></li>
<li><font size="-1"><span class="a">www.encyklopediapolska.pl/es/wiki/Archivo_binario.html</span></font></li>
<li><font size="-1"><span class="a">www.oec.eu/archivo_binario_es.html</span></font></li>
<li><font size="-1"><span class="a">www.wiki-net.pl/es/wiki/Archivo_binario.html</span></font></li>
<li><font size="-1"><span class="a">es.wikimobs.com/index.php?title=archivo_binario</span></font></li>
<li><font size="-1"><span class="a">etcétera&#8230;.</span></font></li>
</ul>
<p>Todos esos sitios copian el contenido de Wikipedia y lo presentan en su sitio. Incluso algunos ni siquiera mencionan que fue tomado de Wikipedia (como cetratec). Bah. Parásitos. ¿Necesitamos <span style="font-style:italic;">otro más</span>? ¿porqué Veropedia es diferente?</p>
<p>En cada uno de los casos listados, <span style="font-style:italic;">se toma el trabajo y no se aporta nada de vuelta</span>. Sí, el contenido de Wikipedia es libre para reusarse (incluso para fines comerciales, por eso se permiten los sitios anteriores). Pero ninguno de ellos le proporciona un beneficio directo a Wikipedia.<span style="font-style:italic;"></span> Veropedia es diferente porque <span style="font-weight:bold;">Veropedia fomenta la mejora de los artículos en Wikipedia.</span></p>
<h2>¿Cómo ayuda Veropedia a Wikipedia?</h2>
<p>Veropedia no busca ser simplemente un clon de Wikipedia. <span style="font-weight:bold;"></span>Dado que el objetivo de Veropedia es coleccionar artículos buenos, los Veropedistas están constantemente mejorando artículos de Wikipedia para alcanzar los estándares buscados y poderlos añadir a Veropedia. No es posible editar artículos en Veropedia para mejorarlos, <span style="font-style:italic;">necesariamente deben mejorarse en Wikipedia antes de poder añadirlos a Veropedia</span>. De esta forma, Veropedia no es sólo una copia pasiva como las muchas existentes. Veropedia es una copia activa, fomentando que los veropedistas (que, de hecho, son wikipedistas veteranos). Mejorar Wikipedia es mejorar Wikipedia. Mejorar Wikipedia es mejorar Veropedia.</p>
<p>Así, Veropedia no es una copia mantenida por una empresa que sólo busca copiar el contenido de Wikipedia y obtener ganancias con la copia: <span style="font-weight:bold;">Veropedia está formada por wikipedistas veteranos</span>. A la cabeza del proyecto está Danny (Danny Wool) quien hasta el año pasado trabajaba para la Fundación Wikimedia. Los aspectos técnicos los llevan varios wikipedistas de la wiki inglesa (de donde surgió la idea), quienes participan en la Veropedia en inglés.</p>
<p>El compromiso que tiene Veropedia con los ideales de Wikipedia, se hace patente incluso en su portada, donde es prominente un enlace invitando a donar para apoyar a Wikipedia. ¿Cuántos clones hacen lo mismo?</p>
<h2>Pero.. Veropedia se beneficia gratuitamente del trabajo de los Wikipedistas ¿no?</h2>
<p>A diferencia de todos los sitios listados anteriormente, que sólo buscan un provecho comercial, Veropedia tiene por objetivo crear una copia estable de artículos buenos. Todos los sitios en los enlaces del inicio,</p>
<ul>        <font size="-1"></p>
<li>copian a Wikipedia</li>
<li>ponen publicidad</li>
<li>se benefician de Wikipedia</li>
<li>no aportan nada a Wikipedia</li>
<li>no fomentan el espíritu libre</li>
<li>incluso, algunos incluso tratan de ocultar el origen del contenido para aparentar que ellos mismos lo han escrito.</li>
<p></font></ul>
<p>Veropedia:</p>
<ul>        <font size="-1"></p>
<li>usa el contenido de Wikipedia</li>
<li>tiene mínima o nula publicidad</li>
<li>se beneficia de Wikipedia</li>
<li>fomenta la mejora de artículos de Wikipedia</li>
<li>fomenta el espíritu libre al atribuir claramente el origen del contenido así como la licencia</li>
<li>fomenta la llegada de editores a Wikipedia</li>
<p></font></ul>
<h2>Estoy en contra del uso de mi esfuerzo para fines comerciales.</h2>
<p>Papi, la licencia GFDL explícitamente lo permite, es parte de que el contenido sea <span style="font-style:italic;">libre</span>. Ahora, puede usarse de forma parasitaria como los otros clones de Wikipedia, o puede usarse de forma responsable y beneficiosa para todos. Criticar a Veropedia haciéndose de la vista gorda en los clones, es simplemente criticar por criticar.</p>
<p>Además, si tanto te repugna, te irrita, te enoja, la posibilidad de uso comercial de tu trabajo.. ¡no colabores en Wikipedia! Mejor créate una wiki donde todo tenga derechos reservados y se te tenga que pedir autorización para reusar tu contenido. Recuerda que el contenido libre tiene 3 permisos <span style="font-style:italic;">irrevocables</span>:</p>
<ul>        <font size="-1"></p>
<li>Permiso de copia</li>
<li>Permiso de modificación</li>
<li>Permiso de reuso para cualquier fin (sí, hasta para usos comerciales)</li>
<p></font></ul>
<p>Recuerda también que hay <a href="http://wikia.com" target="_blank"><em>ahem, otros sitios</em></a> (con ánimo de lucro y con el beneplácito de San Jimbo) que toman contenido de Wikipedia.</p>
<h2>Bueno, me interesa Veropedia. ¿Cómo ayudo?</h2>
<p style="text-align:center;"><span style="font-weight:bold;">Lo más importante que puedes hacer para ayudar a Veropedia,<br />
es mejorar los artículos de Wikipedia.</span></p>
<p style="text-align:left;">Sé que sueno muy repetitivo. Pero ése es el punto más importante. Es un círculo virtuoso de beneficio mutuo. El siguiente paso es obtener una cuenta en Veropedia. Entra a <a href="irc://irc.freenode.net/veropedia" target="_blank">#veropedia</a> en freenode, y pregúntale a Danny o a Eagle que te ayuden a sacar una cuenta. Platica con la gente del canal. Verás que todos son wikipedistas de abolengo, todos comprometidos con los principios de Wikipedia. La Veropedia en español (al momento de escribir ésto), aún no está abierta, pero sí está contemplado abrirla. Sólo estamos a la espera de que unos cuantos wikipedistas (digamos, cinco) muestren interés por participar, se comprometan a mejorar artículos de Wikipedia para subirlos al sistema, soliciten su cuenta, y entonces iniciará Veropedia en español.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/37/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/37/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=37&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2007/12/05/veropedia/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
		<item>
		<title>Biblioentrevista</title>
		<link>http://drini.wordpress.com/2007/11/10/biblioentrevista/</link>
		<comments>http://drini.wordpress.com/2007/11/10/biblioentrevista/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 21:57:26 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[eswiki]]></category>

		<category><![CDATA[wikipedia]]></category>

		<category><![CDATA[biblios]]></category>

		<category><![CDATA[entrevista]]></category>

		<category><![CDATA[WP:CAB]]></category>

		<category><![CDATA[honestidad]]></category>

		<category><![CDATA[experimento]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/2007/11/10/biblioentrevista/</guid>
		<description><![CDATA[
¿Qué harías ante una guerra de edición entre dos usuarios?
proteger la página para detener el conflicto, y bloquear si han excedido 3RR.


Si ves que un usuario, registrado o no, realiza un vandalismo, ¿qué acciones tomarías?, ¿y si reincide en el vandalismo?
Dependiendo del vandalismo, probablemente revertiría, o revertiría y bloquearía. Claro, esta pregunta es muy general [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><dl>
<dt><strong>¿Qué harías ante una guerra de edición entre dos usuarios?</strong></dt>
<dd>proteger la página para detener el conflicto, y bloquear si han excedido 3RR.</dd>
</dl>
<dl>
<dt><strong>Si ves que un usuario, registrado o no, realiza un vandalismo, ¿qué acciones tomarías?, ¿y si reincide en el vandalismo?</strong></dt>
<dd>Dependiendo del vandalismo, probablemente revertiría, o revertiría y bloquearía. Claro, esta pregunta es muy general y depende también del usuario (no es lo mismo que C&#8217;est moi se ponga loco y vandalice a que un usuario nuevo lo haga)</dd>
</dl>
<dl>
<dt><strong>Si un usuario copió total o parcialmente un texto con licencia GFDL y lo añade en un artículo de Wikipedia, ¿en cuál caso se le consideraría una violación a los derechos de autor y en cuál no?</strong></dt>
<dd>Cuando no cite apropiadamente las autorías, por ejemplo.</dd>
</dl>
<dl>
<dt><strong>¿Cuándo se considera correcto denunciar un vandalismo en <a href="http://es.wikipedia.org/wiki/Wikipedia:Vandalismo_en_curso" title="Vandalismo en curso">Wikipedia:Vandalismo en curso</a>?</strong></dt>
<dd>Nunca reporto ahí</dd>
</dl>
<dl>
<dt><strong>Si un usuario con el cual tienes diferencias de opinión en la edición de un artículo te falta a la wikipetiqueta, ¿qué harías?</strong></dt>
<dd>Me quejaría en IRC.</dd>
</dl>
<dl>
<dt><strong>Si te encuentras con un usuario registrado, del cual todas las ediciones son vandálicas y no edita desde hace cuatro meses, ¿lo bloquearías?, ¿por qué?</strong></dt>
<dd>No, no viene al caso.</dd>
</dl>
<dl>
<dt><strong>Si descubres que un artículo se encuentra copiado desde <a href="http://us.geocities.com/shinallatak/petroleo.htm" class="external text" title="http://us.geocities.com/shinallatak/petroleo.htm" rel="nofollow">esta</a> página web, ¿qué acciones tomarías?, ¿y si fuera desde <a href="http://es.encarta.msn.com/encyclopedia_761576221/Petr%C3%B3leo.html" class="external text" title="http://es.encarta.msn.com/encyclopedia_761576221/Petr%C3%B3leo.html" rel="nofollow">esta</a>?</strong></dt>
<dd>Los borraría inmediatamente (en ninguno de los dos casos los textos son o cumplen las condiciones de la licencia GFDL.</dd>
</dl>
<dl>
<dt><strong>Mientras vigilas los cambios recientes observas que una IP anónima crea <a href="http://es.wikipedia.org/wiki/Usuario:Tomatejc/Biblio_entrevista/Agust%C3%ADn_Romero" title="Tomatejc/Biblio entrevista/Agust�n Romero">este</a> artículo en el espacio de nombre principal, ¿qué harías? ¿y si lo hiciera un usuario registrado?</strong></dt>
<dd>Lo borraría, si lo recreara, le señalaría alguna página con información sobre porqué.</dd>
</dl>
<dl>
<dt><strong>Observa atentamente las siguientes páginas e imagina que son artículos que se encuentran en el espacio de nombre principal. Menciona las acciones que realizarías en cado uno de ser necesarias.</strong></dt>
</dl>
<ul>
<li><a href="http://es.wikipedia.org/wiki/Usuario:Tomatejc/Biblio_entrevista/Alejandro_Ortiz_Lunar" title="Tomatejc/Biblio entrevista/Alejandro Ortiz Lunar">Alejandro Ortiz Lunar</a>: Borrado.</li>
<li><a href="http://es.wikipedia.org/wiki/Usuario:Tomatejc/Biblio_entrevista/Tomate_P%C3%BArpura" title="Tomatejc/Biblio entrevista/Tomate Púrpura">Tomate Púrpura</a>: Borrado</li>
<li><a href="http://es.wikipedia.org/wiki/Usuario:Tomatejc/Biblio_entrevista/Sebasti%C3%A1n_R%C3%ADos_Tagliola" title="Tomatejc/Biblio entrevista/Sebastián R�os Tagliola">Sebastián Ríos Tagliola</a>: Borrado por bulo</li>
<li><a href="http://es.wikipedia.org/wiki/Usuario:Tomatejc/Biblio_entrevista/Cjetamot" title="Tomatejc/Biblio entrevista/Cjetamot">Cjetamot</a>: Trasladado a páginade usuario</li>
<li><a href="http://es.wikipedia.org/wiki/Usuario:Tomatejc/Biblio_entrevista/Trascendencia" title="Tomatejc/Biblio entrevista/Trascendencia">Trascendencia</a>: Borrado.</li>
<li><a href="http://es.wikipedia.org/wiki/Usuario:Tomatejc/Biblio_entrevista/Carolina_Gouverneur" title="Tomatejc/Biblio entrevista/Carolina Gouverneur">Carolina Gouverneur</a>: Borrado por promocional.</li>
</ul>
<dl>
<dt><strong>¿En qué tareas de bibliotecario, si acaso, anticiparías ayudar?</strong></dt>
<dd>Mi tarea principal es limpiar los copyvios mensualmente, ayudar con checkuser, el CRC y una dosis de patrullaje de cuando en cuando. (haría otras cosas también, pero no son &#8220;de bibliotecario).</dd>
</dl>
<dl>
<dt><strong>¿Consideras que haces suficiente mantenimiento como para necesitar los botones extra de bibliotecario?</strong></dt>
<dd>sí (pregunta tonta).</dd>
</dl>
<dl>
<dt><strong>De tus contribuciones en Wikipedia, ¿hay algunas de las que estás particularmente orgulloso? ¿Por qué?</strong></dt>
<dd><a href="http://es.wikipedia.org/wiki/Coeficiente_binomial" title="Coeficiente binomial">Coeficiente binomial</a>: <a href="http://es.wikipedia.org/w/index.php?title=Coeficiente_binomial&amp;oldid=10185931" class="external autonumber" title="http://es.wikipedia.org/w/index.php?title=Coeficiente_binomial&amp;oldid=10185931" rel="nofollow">[1]</a></dd>
</dl>
<dl>
<dt><strong>¿Has estado involucrado en algún conflicto sobre edición en el pasado o sientes que otros usuarios te han causado agobio? ¿Cómo has reaccionado y cómo reaccionarás en el futuro?</strong></dt>
<dd>Sí, en varios. Los conflictos suelen ser inevitables en un proyecto que participan tantas personas Depende de la situación, no siempre actúo de la misma forma.</dd>
</dl>
<hr />
<dl>
<dt><strong>Un bibliotecario ha bloqueado a un usuario y tú no estás de acuerdo con el bloqueo. ¿Cuál es la política de bloqueos, y decidirías seguirla?</strong></dt>
<dd>La política de bloqueos está en la página correspondiente. Podría inclinarme a desbloquear previo comentario con el otro biblio (aunque si es de los territoriales, mejor lo planteo en el café).</dd>
</dl>
<dl>
<dt><strong>Las políticas, ¿son algo que haya que seguir de manera estricta, o sencillamente algo que haya que tomar bajo consideración? ¿Cómo interpretas lo de &#8216;ignora todas las normas&#8217;?</strong></dt>
<dd>Las políticas lo son porque las seguimos, no las seguimos porque sean políticas. Lo de ignora las normas, lo interpreto como la clave para no caer bajo el peso de la burocracia. El tema lo he desarrollado en un <a href="http://drini.wordpress.com/2007/05/10/ignora-las-normas/" class="external text" title="http://drini.wordpress.com/2007/05/10/ignora-las-normas/" rel="nofollow">ensayo</a>.</dd>
</dl>
<dl>
<dt><strong>El usuario A y el usuario B están manteniendo una disputa. Por el momento, la disputa está limitada a sus páginas de discusión. El usuario B le dice al usuario A que no vuelva a dejarle un mensaje en su discusión. El usuario A le pone otro mensaje. El usuario B acude a ti (como bibliotecario) pidiendote que bloquees al usuario A. ¿Cómo procederías?</strong></dt>
<dd>Les digo que dejen de portarse como niños. El primero por molestarse, el otro por darle tanta importancia.</dd>
</dl>
<dl>
<dt><strong>Digamos que esto ocurre</strong></dt>
<dd>Te cruzas con un usuario que ha interferido en el buen desarrollo de la enciclopedia, que fue desbloqueado y procedió a perjudicar aún más a la enciclopedia. Te dice que de verdad ya no volverá a hacer nada malo, y que por favor le desbloquees. Dice que al más mínimo desliz suyo le bloquees. ¿Qué harías?</dd>
<dd>Lo que hice, fue plantear el caso en el café (drinitol pidió una segunda oportunidad, y por su historial mejor que se decida por consenso).</dd>
</dl>
<dl>
<dt><strong>Alguien solicita una semiprotección de un artículo sobre una tragedia/accidente/acontecimiento que acaba de ocurrir, debido al vandalismo de anónimos. Aún siguen saliendo nuevas noticias sobre la tragedia a nivel internacional y de manera regular. Mirando el historial, hay más o menos una edición por minuto, y la mayoría de ediciones (más del 50%) son de usuarios nuevos o anónimos. Estas ediciones parecen dividirse a su vez de manera proporcional entre ediciones válidas y vandalismos. ¿Proteges la página? ¿Por qué?</strong></dt>
<dd>No protejo, porque en ese caso, la página estará siendo fuertemente vigilada, y un vandalismo cada 2 minutos, revertido a los 2 segundos, no fuerza semiprotección.</dd>
</dl>
<dl>
<dt><strong>¿Qué diferencia hay entre una propuesta de borrado y una consulta de borrado?</strong></dt>
<dd>Las propuestas son la copia del sistema <em>prod</em> de la inglesa. Se etiqueta y si nadie retira durante ciertos días, se asume que todos están de acuerdo y se borra. La consulta es la votación.</dd>
</dl>
<dl>
<dt><strong>Las plantillas de wikiproyectos, empleadas correctamente en las discusiones de los artículos relacionados con el wikiproyecto, ¿son spam o no? (Lo siento, no me puedo resistir a añadir esta pregunta)</strong></dt>
<dd>sí. Y ya puestos a preguntas espinosas, se dice &#8220;ratón&#8221;.</dd>
</dl>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/35/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/35/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/35/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/35/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/35/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=35&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2007/11/10/biblioentrevista/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
		<item>
		<title>Es rtnemlaee itnatirre</title>
		<link>http://drini.wordpress.com/2007/10/20/es-rtnemlaee-itnatirre/</link>
		<comments>http://drini.wordpress.com/2007/10/20/es-rtnemlaee-itnatirre/#comments</comments>
		<pubDate>Sat, 20 Oct 2007 14:22:24 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[ciencia]]></category>

		<category><![CDATA[matemáticas]]></category>

		<category><![CDATA[memes]]></category>

		<category><![CDATA[religion]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/2007/10/20/es-rtnemlaee-itnatirre/</guid>
		<description><![CDATA[Sucede muchas veces que la gente escucha algo que le llama la atención y lo repite constantemente. Y lo repite sin detenerse a pensar si en realidad es cierto.Hablo de una noticia vieja (la he visto hace ya más de un año, pero hoy mismo día me la he topado dos veces), que cuando la [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Sucede muchas veces que la gente escucha algo que le llama la atención y lo repite constantemente. Y lo repite sin detenerse a pensar si en realidad es cierto.Hablo de una noticia vieja (la he visto hace ya más de un año, pero hoy mismo día me la he topado dos veces), que cuando la ví, me llamó mucho la atención. Y básicamente dice algo así.</p>
<p><span style="font-style:italic;">Cietra unversdiad ineglsa dsecubrio que si al escrbiir las palaabrs, la pirmera y la ulitma lertas etsán en su lgaur , no improta el oerdn de las dmeas, uno peude leer &#8220;calramnete&#8221;&#8230;</span></p>
<p>Cierta universidad inglesa descurió que si al escribir las palabras, la primera y la última letras están en su lugar no importa el orden de las demás, uno puede leer &#8220;claramente&#8221; las palabras sin necesidad de mucho esfuerzo, ya que el cerebro procesa por &#8220;palabras&#8221; en lugar de letra por letra.</p>
<p>Nunca he escuchado que digan cuál es la universidad, ni nadie que me lo cuenta en realidad ha leído tal artículo. Sin embargo, con una demostración similar a la anterior, todo mundo queda convencido.</p>
<p>¿Será? Pues&#8230; ¡NO!<br />
La afirmación es incorrecta y tiene su trampa. Cabe aclarar que ninguna de las personas que me mencionan tal hecho lo hace de mala fe, ya que viene acompañada de &#8220;eivdnceia&#8221;. Así que ellos no están conscientes de la pequeña trampa que a ellos mismos les han jugado.</p>
<p>La afirmación es esta:<br />
<span style="font-style:italic;">Basta que la primera y la última letra estén en posición, sin importar el orden de las demás, para que podamos reconocer &#8220;en segiuda&#8221; la palarba.<br />
</span>Bueno, si quiero probar que la afrimacóin es falsa, dbereía de dejar de dar eejmpols de que sí funciona.</p>
<p>Y sin más preámbulos&#8230;. regresar al título. ¡¡No es tan sencillo de leer!! A pesar de que la primera y la última letra están en su lugar. La pequeña trampa es que en todos los ejemplos que se han dado de muestra, las letras dseordneadas, en realidad no estaban <span style="font-style:italic;font-weight:bold;">tan</span> desordenadas.</p>
<p>La afirmación sólo es cierta si el grado de desorden de la palabra es pequeño. Uno puede preguntarse cómo es que uno puede medir qué tan desordenada está una palabra, y la respuesta viene en el curso básico de teoría de grupos, ya que una palabra desordenada es, a final de cuentas, una permutación de sus letras. Y toda permutación se puede expresar como producto de transposiciones, y se le puede asignar un número mínimo de inversiones, etc&#8230;<br />
(si a alguien le interesa, que me envíe un correo solicitando más detalles).</p>
<blockquote></blockquote>
<p>Así que el desorden de las letras &#8220;de enmedio&#8221; sí importa. <strong>Claro que dí muchos ejemplos que sí funcionan, y hasta ahora sólo he dado uno que no, bien podría ser la excepción</strong>. Por lo que aquí van otros ejemplos:<br />
<strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;"></span></strong></p>
<ul>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">¿Cmoo eacilpxr un mrgalio en un mdnuo ddnoe tdoo tneie enoicacilpxn?</span><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;"></span></strong></li>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">Doreitucsin ptnemasorgilee puqroe Aromy sainetsoa que mar y amar no se paidon uazilitr para una rmia</span></strong></li>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;"></span><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">Y así vomas atnalede, betos que ramen crtnoa la ctneirroe, itnemetnasecne asodartsarrs hicaa el pdasao</span></strong></li>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;"></span><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">Los aonmuls doreidicen caibmar la fhcea de la eugertna</span></strong></li>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;"></span><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">Asetige aetns de usrase</span></strong></li>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;"></span><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">El ptneicae dtrepseó htneirbmao</span></strong></li>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">La eidepolcicna lerbie<br />
</span></strong></li>
<li><strong><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;"></span><span class="pn-normal" style="font-family:Century Gothic,Century Gothic MT,Calibri,Helvetica,sans-serif,Arial;">Nsetoe que en cada lenia, la rlgea se clpmue</span></strong></li>
</ul>
<p><strong>Sí, en cada ejemplo la regla se cumple, </strong>la primera y la última letra están en posición, mientras que todas las demás están revueltas. Pero en mis ejemplos, los desórdenes no son pequeños (una o dos letras incorrectas), sino que he maximizado el número de inversiones (es decir, el mayor desórden posible) con las letras de enmedio, <strong>pero el resultado ya no se puede leer tan fácil como si estuvieran escritas correctamente, como decía la afirmación. </strong></p>
<p>Claro que todos los ejemplos fueron construidos con un método, (que no es difícil de descifrar), y que conociendo el método se pueden leer los ejemplos con relativa facilidad, pero lo importante es que no se pueden leer casi igual de rápido que si estuvieran correctamente.</p>
<p>También hay que tomar en cuenta que en el inglés (el lenguaje original del estudio), la mayoría de las palabras son de una o dos sílabas, mientras que en español, frecuentemente aparecen palabras de 2, 3 o 4 sílabas. Y claro, si hay menos letras, el desorden posible es menor (aunque también hay contraejemplos a la afirmación en inglés, pero esa es otra historia).</p>
<p>Así, la afirmación correcta es:</p>
<p align="center"><span style="font-weight:bold;">Si en una palabra, la primera y la última letra se dejan en su posición, y las demás letras se cambian <span style="font-style:italic;">ligeramente</span> de su posición, es posible entender la palabra sin mucho esfuerzo.</span></p>
<p>Eso ya no es tan impresionante ¿verdad? Y suena un poco tonto armar tanto alboroto por algo que es un tanto evidente. <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Como postdata (con un pequeño guiño a <a href="hict.blogspot.com" target="_blank">hein?</a>) ¿sabías que la palabra <em>crédulo</em> no está en el diccionario?:<br />
<span style="text-align:center; display: block;"><a href="http://drini.wordpress.com/2007/10/20/es-rtnemlaee-itnatirre/"><img src="http://img.youtube.com/vi/OruQy-X32O0/2.jpg" alt="" /></a></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=30&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2007/10/20/es-rtnemlaee-itnatirre/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/OruQy-X32O0/2.jpg" medium="image" />
	</item>
		<item>
		<title>Sobre traducciones de artículos destacados</title>
		<link>http://drini.wordpress.com/2007/10/07/sobre-traducciones-de-articulos-destacados/</link>
		<comments>http://drini.wordpress.com/2007/10/07/sobre-traducciones-de-articulos-destacados/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 18:48:28 +0000</pubDate>
		<dc:creator>drini</dc:creator>
		
		<category><![CDATA[eswiki]]></category>

		<category><![CDATA[wikipedia]]></category>

		<guid isPermaLink="false">http://drini.wordpress.com/2007/10/07/sobre-traducciones-de-articulos-destacados/</guid>
		<description><![CDATA[Un wikipedista se toma el trabajo (que no es nada simple) de escribir un gran artículo, referenciado, extenso, excelente. Un wikipedista aporta su trabajo bajo una licencia libre para que todos lo puedan aprovechar. Un wikipedista que mejora WIKIPEDIA (sí, wikipedia, el proyecto multilingüe) con su esfuerzo. El único detalle: no habla español.Un gran artículo [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Un wikipedista se toma el trabajo (que no es nada simple) de escribir un gran artículo, referenciado, extenso, excelente. Un wikipedista aporta su trabajo bajo una licencia <strong>libre para que todos lo puedan aprovechar</strong>. Un wikipedista que mejora <strong>WIKIPEDIA</strong> (sí, wikipedia, el proyecto multilingüe) con su esfuerzo. El único detalle: no habla español.Un gran artículo sí, con licencia libre para modificarlo y reusarlo, sí, que ayudaría a muchas wikipedias. Por tanto, y siendo contenido libre, lo traducimos y lo incorporamos <strong>mejorando mucho más wikipedia, ya que no sólo hay una copia excelente en un idioma, sino muchas copias en muchos idiomas</strong>. Un artículo destacado.</p>
<p>Se traduce, se incorpora a la versión en español. La Wikipedia en Español ahora <strong>tiene un artículo excelente más</strong>. En la wikipedia en español, hay un proceso por el cual se identifican los artículos excelentes, llamándolos &#8220;<em>destacados</em>&#8220;. Hay un nuevo artículo excelente (traducido sí, pero un artículo excelente a final de cuentas). Se propone identificarlo como &#8220;<em>artículo destacado</em>&#8221; ya que es un artículo bien escrito, referenciado, extenso.</p>
<p>Y la Voz clama:</p>
<blockquote><p><em>&#8220;¡no debemos reconocer tal excelente artículo como un excelente artículo, porque no fue escrito originalmente en español! ¡No debemos hacerlo porque <strong>al seguir la filosofía de contenido libre, y reusar buen material disponible</strong> para mejorar la wikipedia en español, no estamos mejorando wikipedia en español! Por tanto, debemos desalentar el reconocimiento de artículos provenientes de traducciones&#8221;.</em></p></blockquote>
<p>Y entonces la Voz turnó a votar en contra todos los excelentes artículos provenientes de traducciones, a pesar que son excelentes artículos, por el simple hecho de no haber sido escritos originalmente en español. Para justificar su posición, la voz<strong> sabotea wikipedia</strong>. La voz se escuda en reglamentaciones, leyes, políticas, dando más énfasis a la letra de la ley que a su espíritu. En ese momento, la Razón, quien de paso se encontró por el lugar, al conocer la situación, y al mirar que los Editores estaban confusos por el sagaz uso de las normas por la Voz para sabotear el objetivo del proyecto, les recordó una de las 5 reglas principales, contra las que ninguna otra política puede ir en contra:</p>
<blockquote><p><strong><em>Si una regla te impide mejorar wikipedia ¡ignora la regla!</em></strong></p></blockquote>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/drini.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/drini.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/drini.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/drini.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/drini.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/drini.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/drini.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/drini.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/drini.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/drini.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/drini.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/drini.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=drini.wordpress.com&blog=364888&post=29&subd=drini&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://drini.wordpress.com/2007/10/07/sobre-traducciones-de-articulos-destacados/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/drini-128.jpg" medium="image">
			<media:title type="html">drini</media:title>
		</media:content>
	</item>
	</channel>
</rss>