<font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://allcracks4soft.net/">cracks for soft</a><br><a href="http://cracksmachine.info/">cracksmachine</a><br><a href="http://cracksnseralsdb.com/">cracks serials db</a><br><a href="http://crackssearchdb.org/">crackssearchdb</a><br><a href="http://crutoshare.com/">download rapidshare files</a><br><a href="http://downloadcracksdb.com/">downloadcracksdb</a><br><a href="http://freecracks4all.info/">free cracks 4 all</a><br><a href="http://getserials.info/">download free serials</a><br><a href="http://holadll.com/">dola dll warez</a><br><a href="http://keygenmachine.biz/">keygen machine</a><br></font><?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>il libero</title>
	<atom:link href="http://www.miltonpividori.com.ar/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.miltonpividori.com.ar</link>
	<description>Blog de Milton Pividori</description>
	<lastBuildDate>Mon, 24 May 2010 19:04:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>¿Cuál es mi estrategia para ser un mejor desarrollador?</title>
		<link>http://www.miltonpividori.com.ar/2010/05/21/%c2%bfcual-es-mi-estrategia-para-ser-un-mejor-desarrollador/</link>
		<comments>http://www.miltonpividori.com.ar/2010/05/21/%c2%bfcual-es-mi-estrategia-para-ser-un-mejor-desarrollador/#comments</comments>
		<pubDate>Fri, 21 May 2010 20:07:18 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=866</guid>
		<description><![CDATA[Hace unos días, por twitter, me entero de un post de hace unos dos años de Angel &#8220;Java&#8221; López. ¿Qué hago para ser mejor en lo que me gusta? Algunos puntos que se mencionan, para reforzar o para comenzar a implementar si todavía no lo hago: Hay mejores desarrolladores que yo. Tengo que ver cómo [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos días, por twitter, me entero de <a href="http://ajlopez.wordpress.com/2008/09/21/codethinked-what-is-your-strategy-for-becoming-a-better-developer/">un post de hace unos dos años</a> de <a href="http://ajlopez.wordpress.com/">Angel &#8220;Java&#8221; López</a>. ¿Qué hago para ser mejor en lo que me gusta?</p>
<p>Algunos puntos que se mencionan, para reforzar o para comenzar a implementar si todavía no lo hago:</p>
<ul>
<li><strong>Hay mejores desarrolladores que yo</strong>. Tengo que ver cómo trabajan y así obtener algunos tips para superarme a mí mismo.</li>
<li><strong>Leer</strong>. Tanto blogs como código fuente de otros. Hay muchísimo conocimiento ahí afuera.</li>
<li><strong>Lo que aprendo y se, lo comparto</strong>. Esto ayuda muchísimo a reforzar el conocimiento. Si les muestro a los demás lo que pienso y hago puedo obtener valioso feedback para saber si realmente estoy haciéndolo bien. Además esto me puede ayudar a identificar problemas específicos y contar con la experiencia de otros para resolverlos.</li>
<li><strong>Hablar</strong>. Entrar en contacto con mi grupo local o en la facultad y dar una charla de lo que se. Además esto hace que los demás me conozcan. Pero sobre todo, como dice López, cuando enseño, aprendo. Interesante para los que se sientan llamados a la docencia.</li>
<li><strong>Practicar</strong>. Jugar e implementar algo para probar una idea. Luego publicarlo y mostrarlo a los demás. Por ejemplo escribir un intérprete: en esto Ángel López es experto, de vez en cuando escribe uno y lo publica en su blog.</li>
<li><strong>Aprender cosas nuevas</strong>. Ir más allá de lo que se. Un lenguaje, una plataforma, una técnica de programación, una metodología&#8230;</li>
</ul>
<p>Y si bien ya está implícito, yo agregaría uno más: siempre mantener un cierto <strong>aire de inconformismo</strong> con lo que hacemos. El software siempre se puede mejorar, siempre podemos ser un poco mejores en lo que hacemos.</p>
<p>¿Ustedes qué estrategia tienen?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2010/05/21/%c2%bfcual-es-mi-estrategia-para-ser-un-mejor-desarrollador/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Do you know Pope Benedict XVI?</title>
		<link>http://www.miltonpividori.com.ar/2010/04/26/do-you-know-pope-benedict-xvi/</link>
		<comments>http://www.miltonpividori.com.ar/2010/04/26/do-you-know-pope-benedict-xvi/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 17:04:07 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Películas/Videos]]></category>
		<category><![CDATA[Religión]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=850</guid>
		<description><![CDATA[En el medio de una oleada de noticias acusando a la Iglesia y al Papa por los terribles crímenes de algunos sacerdotes, me encontré con este original video. A primera vista, Juan Pablo II parece muy distinto a Benedicto XVI. Quizá pocos sepan que el Cardenal Joseph Ratzinger fue coautor de esa famosa frase sobre [...]]]></description>
			<content:encoded><![CDATA[<p>En el medio de una oleada de noticias acusando a la Iglesia y al Papa por los terribles crímenes de algunos sacerdotes, me encontré con este original video.</p>
<p>A primera vista, Juan Pablo II parece muy distinto a Benedicto XVI. Quizá pocos sepan que el Cardenal Joseph Ratzinger fue coautor de esa famosa frase sobre los judios: <em>&#8220;son nuestros hermanos mayores en la fe&#8221;</em>. O que fue la mano derecha de Juan Pablo II durante su pontificado, como prefecto de la Congregación para la Docrina de Fe. O que, después de 2001 cuando estos casos de pedofilia pasaron a las manos de dicha congregación, fue tan criticado por sus medidas de tolerancia cero, que incluso se lo llegó a considerar un enemigo de los Legionarios de Cristo por el caso del padre Marcial Maciel.</p>
<p>Me gustó el video porque seguramente la mayoría escucharon hablar de Benedicto XVI, pero muy pocos saben quién es Joseph Ratzinger, qué hizo y qué hace como Papa.</p>
<p><object width="100%" height="340"><param name="movie" value="http://www.youtube.com/v/KLnCmzQyb58&#038;hl=es_ES&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/KLnCmzQyb58&#038;hl=es_ES&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="100%" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2010/04/26/do-you-know-pope-benedict-xvi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>High and Dry, y el vecino molesto&#8230;</title>
		<link>http://www.miltonpividori.com.ar/2010/04/17/high-and-dry-y-el-vecino-molesto/</link>
		<comments>http://www.miltonpividori.com.ar/2010/04/17/high-and-dry-y-el-vecino-molesto/#comments</comments>
		<pubDate>Sun, 18 Apr 2010 00:17:07 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Música]]></category>
		<category><![CDATA[Películas/Videos]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=845</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/EoWzTGhUAkw&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/EoWzTGhUAkw&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2010/04/17/high-and-dry-y-el-vecino-molesto/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>¡Potencia la Vida!</title>
		<link>http://www.miltonpividori.com.ar/2010/03/04/%c2%a1potencia-la-vida/</link>
		<comments>http://www.miltonpividori.com.ar/2010/03/04/%c2%a1potencia-la-vida/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 02:03:40 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Películas/Videos]]></category>
		<category><![CDATA[Vida]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=837</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="100%" height="385"><param name="movie" value="http://www.youtube.com/v/hFAnthDcW1o&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/hFAnthDcW1o&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="100%" height="385"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2010/03/04/%c2%a1potencia-la-vida/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Una decisión</title>
		<link>http://www.miltonpividori.com.ar/2010/03/02/una-decision/</link>
		<comments>http://www.miltonpividori.com.ar/2010/03/02/una-decision/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 02:18:06 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Lecturas]]></category>
		<category><![CDATA[Vida]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=823</guid>
		<description><![CDATA[El otro día me encontré, como nos tiene acostumbrados Anibal Cuevas, con un excelente post sobre el matrimonio, que me pareció una muy buena idea compartirlo con ustedes. A veces encontramos en las parejas ésta concepción de lo que es el amor: &#8220;te amo porque así lo siento&#8221;. Según esta definición el amor es un [...]]]></description>
			<content:encoded><![CDATA[<p>El otro día me encontré, como nos tiene acostumbrados <a href="http://anibalcuevas.blogs.com/ser_audaces/">Anibal Cuevas</a>, con <a href="http://anibalcuevas.blogs.com/ser_audaces/2010/02/cuesti%C3%B3n-de-decisi%C3%B3n.html">un excelente post</a> sobre el matrimonio, que me pareció una muy buena idea compartirlo con ustedes.</p>
<p>A veces encontramos en las parejas ésta concepción de lo que es el amor: <em>&#8220;te amo porque así lo siento&#8221;</em>. Según esta definición el amor es un sentimiento. El problema con esta concepción es que los sentimientos son impredecibles: hoy sentimos algo, pero mañana quizá no. Los sentimientos quizá sean lo más inestable que tiene el hombre. Por lo tanto si el amor es un sentimiento, y si mi pareja dice que me ama, es porque ahora lo siente así, pero mañana o pasado los sentimientos se irán. En algún momento el o ella me faltará el respeto, me ofenderá, me decepcionará&#8230; y no hay forma de mantener los sentimientos en alto en esas situaciones. Entonces ¿qué pasó con el amor?</p>
<p>Por supuesto que en las parejas donde &#8220;el amor es un sentimiento&#8221; las cosas no son tan caóticas. Pero sí bastante confusas. A veces no se entiende por qué uno está con el otro, después uno está totalmente convencido, y otra vez desanimado, y así. Esto pasa cuando son los sentimientos los que dirigen.</p>
<p>Por supuesto que la parte sentimental es muy importante en el amor, pero esto es distinto a decir que el amor <em>es</em> un sentimiento. En realidad, <strong>el amor es una decisión</strong>. En vez de decir <em>&#8220;te amo porque así lo siento&#8221;</em>, digo <em>&#8220;te amo porque después de conocerte en todo este tiempo que pasamos juntos, he tomado la decisión de amarte&#8221;</em>. En este último caso, si la decisión es firme y fundamentada, una decepción u ofensa del otro no hace caer al amor, porque éste no depende de un sentimiento, es una decisión mía. Yo quiero amarte. Yo lo decido.</p>
<p>Estas son las palabras finales de Cuevas en el post citado:</p>
<blockquote><p>
[...] sin duda los sentimientos deben ocupar su lugar en el amor, pero nunca deben ser guía de decisiones. No debemos permitir que sea el corazón quien nos guíe, debemos ser nosotros quienes le guiemos a él. </p>
<p>Amar significa comprometerse a diario, no sólo cuando el sentimiento acompaña. Significa determinarse en mantener el compromiso, poner los medios para que lo que yo pueda hacer no falte. El amor no es sólo cuestión de sentimientos sino de decisión.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2010/03/02/una-decision/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TDD con Python</title>
		<link>http://www.miltonpividori.com.ar/2009/12/26/tdd-con-python/</link>
		<comments>http://www.miltonpividori.com.ar/2009/12/26/tdd-con-python/#comments</comments>
		<pubDate>Sat, 26 Dec 2009 14:42:06 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=804</guid>
		<description><![CDATA[Excelente serie de videos donde se muestra cómo hacer TDD con Python. Como dice Angel &#8220;Java&#8221; López en un post, cuando uno comienza a hacer TDD, luego no puede dejarlo. Además las herramientas utilizadas me encantaron, sobre todo pyTDDmon, que en una ventanita en colores rojo y verde nos indica el estado actual de los [...]]]></description>
			<content:encoded><![CDATA[<p>Excelente serie de videos donde se muestra cómo hacer TDD con Python. Como dice Angel &#8220;Java&#8221; López en <a href="http://msmvps.com/blogs/lopez/archive/2009/12/24/python_2D00_tdd_2D00_example.aspx">un post</a>, cuando uno comienza a hacer TDD, luego no puede dejarlo. Además las herramientas utilizadas me encantaron, sobre todo pyTDDmon, que en una ventanita en colores rojo y verde nos indica el estado actual de los tests de unidad.</p>
<p>Este es el primero de la serie:</p>
<p><object width="450" height="340"><param name="movie" value="http://www.youtube.com/v/sD6qzJNQEpE&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/sD6qzJNQEpE&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="340"></embed></object></p>
<p>Los demás videos los pueden encontrar <a href="http://www.youtube.com/watch?v=QTrGVf39Unk">en</a> <a href="http://www.youtube.com/watch?v=ATsCl00OyDU">estos</a> <a href="http://www.youtube.com/watch?v=YPDjWgYor0Y">links</a>.</p>
<p>Es muy buena la explicación de &#8220;Java&#8221; Lopez:</p>
<blockquote><p>
Implementa algo sencillo: código que dado un string con una URL, identificar el protocolo, el dominio, y el recurso que está contenida en esa dirección. En TDD, se va escribiendo el test, el código que pasa el test, y se va progresando de a poco. No hace falta escribir el código correcto y completo desde el principio. Como en otras tantas actividades, el “baby-step”, el “pequeños pasos” de avance, nos ayuda para ir incrementalmente produciendo el resultado esperado.</p>
<p>Noten el ciclo rojo-verde-refactor, el código mínimo que se agrega en cada tests (a veces, retornando valores puestos a mano, sólo para pasar los tests), refactorizando el test si hay código duplicado, las micro-decisiones de diseño que se van tomando, etc… Excelente trabajo para mostrar en video!
</p></blockquote>
<p>Además otra cosa interesante, no directamente relacionado con TDD pero si con las pruebas de unidad, es la cantidad de veces que el autor prueba distintas implementaciones sin preocuparse, ya que tiene toda una suite de tests para saber si la misma es válida. Eso es algo hermoso <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>En <a href="http://www.makinggoodsoftware.com">Making Good Software</a>, leí una vez un post muy interesante titulado <a href="http://www.makinggoodsoftware.com/2009/11/21/tdd-is-not-about-testing/">&#8220;TDD is not about testing!!!&#8221;</a> que me llamó mucho la atención al principio. Mucha gente piensa que escribir los tests primero es hacer TDD, lo cual es incorrecto. TDD es una práctica de diseño, y es todo un proceso:</p>
<p><a href="http://www.miltonpividori.com.ar/wp-content/uploads/2009/12/Test-driven_development.png"><img src="http://www.miltonpividori.com.ar/wp-content/uploads/2009/12/Test-driven_development-300x215.png" alt="Test-driven development" title="Test-driven development" width="300" height="215" class="aligncenter size-medium wp-image-805" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2009/12/26/tdd-con-python/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Beds are burning</title>
		<link>http://www.miltonpividori.com.ar/2009/12/07/beds-are-burning/</link>
		<comments>http://www.miltonpividori.com.ar/2009/12/07/beds-are-burning/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 03:26:37 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Películas/Videos]]></category>
		<category><![CDATA[Vida]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=798</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="450" height="340"><param name="movie" value="http://www.youtube.com/v/aBTZOg6l6cA&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/aBTZOg6l6cA&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="340"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2009/12/07/beds-are-burning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>El Matrimonio</title>
		<link>http://www.miltonpividori.com.ar/2009/12/03/el-matrimonio/</link>
		<comments>http://www.miltonpividori.com.ar/2009/12/03/el-matrimonio/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 02:55:06 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Religión]]></category>
		<category><![CDATA[Vida]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=787</guid>
		<description><![CDATA[Recién terminamos la reunión de comunidad en mi departamento. Hablamos sobre los distintos estados de vida que hay en la Iglesia, ya que nos tocó realizar el 3er encuentro del Proyecto Vocacional 2009, que tenía como título ¿Dónde hacemos concreta nuestra entrega? Esos tres estados de vida son el Matrimonio, el Sacerdocio y la Vida [...]]]></description>
			<content:encoded><![CDATA[<p>Recién terminamos la reunión de comunidad en mi departamento. Hablamos sobre los distintos estados de vida que hay en la Iglesia, ya que nos tocó realizar el 3er encuentro del Proyecto Vocacional 2009, que tenía como título <em>¿Dónde hacemos concreta nuestra entrega?</em></p>
<p>Esos tres estados de vida son el Matrimonio, el Sacerdocio y la Vida Consagrada. Me encantó el texto que hablaba sobre el sacramento del Matrimonio, y quería compartirlo con ustedes. Ahí va.</p>
<blockquote><p>
Y así resulta que tú eres para mí el sacramento, la posibilidad de encuentro con el amor de Dios, y yo lo soy para ti. Es Él quien en mí te ama, te comprende, te perdona&#8230; Y nunca soy más yo, más plenamente yo, que cuando es Él quien con mi vida, mis manos, mis labios y mi corazón se acerca a ti.</p>
<p>Y no termina aquí la realidad de este sacramento. Tú y yo, marido y mujer, somos sacramento para nuestros hijos. El primer “lugar” desde el que nuestro buen Dios se les va a acercar, les va a llamar, bendecir, proteger, hacer libres&#8230;</p>
<p>Y aún más: nuestro hogar, esta “primera” Iglesia, deberá ser para cuantos allí lleguen, posibilidad de encuentro con Dios. Un “lugar” desde el que nuestro Señor pueda acoger, comprender, escuchar y atender a cuantos vengan.</p>
<p>Él será en mí para ti la fuerza del don sin reservas, del perdón permanente, de la comprensión y de la ternura, de la exigencia y de la fidelidad. Él será en mí todo para ti y en ti todo para mí. El será cada día en mí una nueva oportunidad para ti, porque Él en mí siempre cree en ti y te espera y te ama.</p>
<p>Y los dos lo seremos para nuestros hijos y nuestro hogar lo será para todos.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2009/12/03/el-matrimonio/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Si usás Buildbot con Mercurial&#8230;</title>
		<link>http://www.miltonpividori.com.ar/2009/11/28/si-usas-buildbot-con-mercurial/</link>
		<comments>http://www.miltonpividori.com.ar/2009/11/28/si-usas-buildbot-con-mercurial/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 19:14:42 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Mercurial]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=749</guid>
		<description><![CDATA[&#8230; y la versión de Buildbot es la 0.7.11p3 (la última al momento de escribir este post) y Mercurial 1.3.1, que son las versiones que están en Karmic, quizá tengas un problema cuando el Build Slave intenta bajar el código del repositorio para comenzar el ciclo de compilación/testing. Buildbot permite configurar de varias formas el [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230; y la versión de <a href="http://buildbot.net/">Buildbot</a> es la 0.7.11p3 (la última al momento de escribir este post) y <a href="http://mercurial.selenic.com/">Mercurial</a> 1.3.1, que son las versiones que están en Karmic, quizá tengas un problema cuando el Build Slave intenta bajar el código del repositorio para comenzar el ciclo de compilación/testing.</p>
<div id="attachment_757" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.miltonpividori.com.ar/wp-content/uploads/2009/11/overview.png"><img src="http://www.miltonpividori.com.ar/wp-content/uploads/2009/11/overview-300x180.png" alt="Arquitectura de Buildbot" title="overview" width="300" height="180" class="size-medium wp-image-757" /></a><p class="wp-caption-text">Arquitectura de Buildbot</p></div>
<p>Buildbot permite <a href="http://djmitche.github.com/buildbot/docs/0.7.11/#Source-Checkout">configurar de varias formas el modo en que va a obtener el código fuente del proyecto y cómo realizará las actualizaciones subsiguientes</a>. Por ejemplo, el modo &#8220;update&#8221; hace que las operaciones de checkout/update se ejecuten en el directorio de trabajo, y no en uno independiente, como en el modo &#8220;copy&#8221; o &#8220;clobber&#8221;, que mantienen un directorio separado y limpio del repositorio (en el caso de Mercurial, &#8220;copia de trabajo&#8221; en el caso de Subversion) y hacen una copia del mismo para realizar la compilación (esto asegura que siempre se compile todo y que no influyan archivos generados en procesos anteriores, además de otros problemas menos comunes pero que existen).</p>
<p>El problema que estuve teniendo es cuando utilizo Mercurial. Al intentar traer el código fuente, Buildbot entra en un bucle infinito donde realiza el checkout (clone), borra el directorio, otra vez clone y asi&#8230; me pareció rarísimo el comportamiento. Versiones anteriores de Buildbot con versiones anteriores de Mercurial funcionan bien.</p>
<p>En uno de los pasos para realizar el checkout/update, Buildbot verifica si ha cambiado la URL del repositorio. Si esto es así, entonces hace clobbering, o sea, vuelve a bajar todos los cambios (checkout) y obviamente no realiza un update, aunque el modo no sea &#8220;clobbering&#8221;. Para saber si dicha URL ha cambiado, ejecuta un &#8220;hg paths default&#8221; en el directorio de trabajo y lo compara con la URL asignada en el archivo de configuración central del Build Master.</p>
<p>El bug está en que al ejecutar &#8220;hg paths default&#8221; Mercurial 1.3.1 devuelve el password oculto con asteriscos:</p>
<pre class="brush: bash;">
$ hg paths default 

http://miltondp:***@url.mi_proyecto.com/path/al/repo
</pre>
<p>&#8230; y, obviamente, la URL asignada en el archivo de configuración está completa (sin el password oculto). Al compararse ambas, son distintas, y por lo tanto siempre se hace clobbering.</p>
<p><span id="more-749"></span><br />
Rápidamente me fijé si Mercurial poseía alguna opción para mostrar el password en la salida de &#8220;hg paths&#8221;. No posee dicha opción por lo visto, pero me encontré con <a href="http://www.selenic.com/pipermail/mercurial-devel/2009-February/010529.html">un parche</a> que alguien envió alguna vez, el cual parece que nunca fue incluido. El mismo agrega la opción &#8220;&#8211;show-passwords&#8221; para mostrar la URL completa al ejecutar &#8220;hg paths&#8221;. Lo pueden bajar <a href="http://www.miltonpividori.com.ar/files/mercurial_commands.patch">aquí</a>. El archivo a parchear es <em>&#8220;/usr/lib/pymodules/python2.6/mercurial/commands.py&#8221;</em>.</p>
<p>También hay que parchear Buildbot para que utilice esta nueva opción al comparar los repositorios. Este otro parche lo pueden bajar desde <a href="http://www.miltonpividori.com.ar/files/buildbot_commands.patch">este lugar</a>. Tener en cuenta que el archivo a parchear tiene el mismo nombre que el de Mercurial. El path del mismo es <em>&#8220;/usr/lib/python2.6/dist-packages/buildbot/slave/commands.py&#8221;</em></p>
<p>No se olviden de reiniciar el servicio de Buildbot, y de borrar los archivos .pyc de Python (por lo visto a veces funciona aunque no lo borremos). Ahora el ciclo funciona como uno espera:</p>
<p><a href="http://www.miltonpividori.com.ar/wp-content/uploads/2009/11/buildbot.png"><img src="http://www.miltonpividori.com.ar/wp-content/uploads/2009/11/buildbot-257x300.png" alt="buildbot" title="buildbot" width="257" height="300" class="aligncenter size-medium wp-image-763" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2009/11/28/si-usas-buildbot-con-mercurial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Desnutrición en Argentina</title>
		<link>http://www.miltonpividori.com.ar/2009/11/27/desnutricion-en-argentina/</link>
		<comments>http://www.miltonpividori.com.ar/2009/11/27/desnutricion-en-argentina/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 22:29:00 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[Películas/Videos]]></category>
		<category><![CDATA[Vida]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=766</guid>
		<description><![CDATA[Me pasaron un excelente video que me gustaría compartir con ustedes. Habla el Dr. Abel Albino. Hace pensar y exige sentirse responsable para hacer algo. La frase: &#8220;Cuando uno ve la pobreza, la miseria y hasta la injusticia, tiene dos maneras de actuar: tratar de buscar al culpable, o aceptar la cuota de responsabilidad que [...]]]></description>
			<content:encoded><![CDATA[<p>Me pasaron un excelente video que me gustaría compartir con ustedes. Habla el Dr. Abel Albino. Hace pensar y exige sentirse responsable para hacer algo.</p>
<p><object width="450" height="340"><param name="movie" value="http://www.youtube.com/v/QL4P9YfO1JI&#038;hl=es_ES&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/QL4P9YfO1JI&#038;hl=es_ES&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="340"></embed></object></p>
<p>La frase: <em>&#8220;Cuando uno ve la pobreza, la miseria y hasta la injusticia, tiene dos maneras de actuar: tratar de buscar al culpable, o aceptar la cuota de responsabilidad que a cada uno nos cabe como miembros de esta sociedad y ver de qué manera podemos dar una mano [...] Todos debemos hacer lo que nos corresponde hacer y un poquito más.&#8221;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2009/11/27/desnutricion-en-argentina/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
