<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.1" -->
<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/"
	>

<channel>
	<title>Pedro Guridi Blog</title>
	<link>http://www.pipiten.com.ar</link>
	<description>Pythonizado..</description>
	<pubDate>Thu, 04 Oct 2007 19:41:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.2.1</generator>
	<language>en</language>
			<item>
		<title>Free Burma</title>
		<link>http://www.pipiten.com.ar/archives/14</link>
		<comments>http://www.pipiten.com.ar/archives/14#comments</comments>
		<pubDate>Thu, 04 Oct 2007 19:41:29 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/14</guid>
		<description><![CDATA[


]]></description>
			<content:encoded><![CDATA[<p><!-- Free Burma! Image --><br />
<a href="http://www.free-burma.org" target="_blank"><img src="http://freeburma.s3.amazonaws.com/free_burma_03.jpg" alt="Free Burma!" border="0" /></a><br />
<!-- End Free Burma! Image --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/14/feed</wfw:commentRss>
		</item>
		<item>
		<title>ISO rechaza a OOXML como estÃ¡ndar :)</title>
		<link>http://www.pipiten.com.ar/archives/13</link>
		<comments>http://www.pipiten.com.ar/archives/13#comments</comments>
		<pubDate>Wed, 05 Sep 2007 04:43:11 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/13</guid>
		<description><![CDATA[PorquÃ© OOXML no debe ser aceptado como estÃ¡ndar?:
OpenXML no es abierto.
Para que un formato pueda ser considerado abierto, ha de estar libre de regalÃ­a o condiciÃ³n alguna por patentes, y no puede ser controlado por una Ãºnica empresa (&#8230;que ademÃ¡s en este caso cuenta con un amplio historial de amenazas a sus competidores mediante patentes [...]]]></description>
			<content:encoded><![CDATA[<p>PorquÃ© OOXML no debe ser aceptado como estÃ¡ndar?:</p>
<p><strong>OpenXML no es abierto.</strong></p>
<p>Para que un formato pueda ser considerado abierto, ha de estar libre de regalÃ­a o condiciÃ³n alguna por patentes, y no puede ser controlado por una Ãºnica empresa (&#8230;que ademÃ¡s en este caso cuenta con un amplio historial de amenazas a sus competidores mediante patentes de software). Por otro lado, el formato en cuestiÃ³n debe ser multiplataforma por naturaleza. <strong>Office OpenXML no cumple ninguna de esas condiciones.</strong></p>
<p><strong>OpenXML no es estÃ¡ndar.</strong></p>
<p>Un estÃ¡ndar debe estar totalmente documentado pÃºblicamente. AdemÃ¡s, su proceso de estandarizaciÃ³n (ECMA) deberÃ­a haber garantizado que todas las patentes de los proponentes del mismo fueran desveladas y licenciadas como mÃ­nimo en tÃ©rminos RAND. Finalmente, es necesario que una propuesta de estÃ¡ndar ISO cumpla y no contradiga los estÃ¡ndares ISO ya preexistentes para no obligar a &#8220;reinventar la rueda&#8221;.<strong><br />
OpenXML no cumple ninguna de esas condiciones.</strong></p>
<p><strong>OpenXML no es XML.</strong></p>
<p>Para que un formato de representaciÃ³n de informaciÃ³n pueda ser considerado XML, Ã©ste debe plasmar Ã­ntegramente dicha informaciÃ³n en estructuras XML. Para que algo se denomine XML no basta con que que simplemente utilice etiquetas XML cuando en ellas guarda informaciÃ³n en formatos binarios, con cÃ³digos de control e incluso dependiente de plataformas concretas. En resumen, debe validar el estÃ¡ndar XML.</p>
<p><strong>Office OpenXML no cumple estas condiciones.</strong></p>
<p>Los resultados oficiales muestran que OOXML ha sido derrotado en la fase DIS 29500 del proceso de aprobaciÃ³n en ISO. Un total de 15 paÃ­ses miembros Participantes de ISO han votado en contra de la especificaciÃ³n, mientras que 17 lo han hecho a favor (la mayorÃ­a nuevas incorporaciones como participantes) y cerca de una decena se han abstenido. En total la propuesta de Microsoft ha conseguido un 53% de los votos cuando necesitaba mÃ¡s de un 66% para obtener asÃ­ el consenso requerido por ISO. En el recuento de miembros Observadores mÃ¡s Participantes, Microsoft tampoco ha reunido el consenso necesario que estaba establecido en un 75% de los votos eliminando las abstenciones&#8221;.</p>
<p><a href="http://www.noooxml.org/petition-es/"> 					Dile NO al formato de Microsoft Office como estÃ¡ndar ISO! </a></p>
<p><img src="http://www.openxml.info/images/stories/ooxmlspec.jpg" title="Especificacion de OOXML impresa" alt="Especificacion de OOXML impresa" align="left" height="391" width="194" /></p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">Especificacion de OOXML impresa</p>
<p align="left">Via:  <a href="http://www.openxml.info" title="openxml.info">openxml.info</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/13/feed</wfw:commentRss>
		</item>
		<item>
		<title>No a la matriculaciÃ³n obligatoria en informÃ¡tica</title>
		<link>http://www.pipiten.com.ar/archives/12</link>
		<comments>http://www.pipiten.com.ar/archives/12#comments</comments>
		<pubDate>Mon, 03 Sep 2007 13:40:45 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/12</guid>
		<description><![CDATA[La matriculaciÃ³n obligatoria para los profesionales informÃ¡ticos de la provincia de Santa Fe es solo uno de los movimientos que se estÃ¡n viendo en varias partes del paÃ­s.Ya hay antecedentes sobre lo innecesario y perjudicial de una ley de matriculaciÃ³n restrictiva.
En provincias como en CÃ³rdoba, donde la ley tiene 20 aÃ±os, solo se usa de [...]]]></description>
			<content:encoded><![CDATA[<p>La matriculaciÃ³n obligatoria para los profesionales informÃ¡ticos de la provincia de Santa Fe es solo uno de los movimientos que se estÃ¡n viendo en varias partes del paÃ­s.Ya hay antecedentes sobre lo innecesario y perjudicial de una ley de matriculaciÃ³n restrictiva.</p>
<p>En provincias como en CÃ³rdoba, donde la ley tiene 20 aÃ±os, solo se usa de manera arbitrarÃ­a al momento de querer llegar a una licitaciÃ³n.</p>
<p>Es necesario que este tipo de medidas restrictivas no vean la luz dado que generarÃ­an un perjuicio para la sociedad.</p>
<p>En la provincia de Santa Fe <a href="http://noalamatricula.files.wordpress.com/2007/05/concejo_profesionales_informatica_aprobado_por_senadores.pdf">la ley</a> tiene media sanciÃ³n de Senadores y ahora estÃ¡ en la cÃ¡mara de diputados. Estamos tratando de ser escuchados para que no cometa un grave error para la provincia. La matriculaciÃ³n obligatoria no sÃ³lo no ofrece ninguna soluciÃ³n al problema de mejorar la calidad de los servicios informÃ¡ticos, sino que ademÃ¡s conspira contra este mismo objetivo, contra el desarrollo de la tecnologÃ­a informÃ¡tica en los lugares en los que se la exige, y contra la libertad de los ciudadanos.</p>
<p><a href="http://noalamatricula.wordpress.com/about/"><img src="http://noalamatricula.files.wordpress.com/2007/06/banner_468x60.jpg" title="No a la matricula!" alt="No a la matricula!" align="absmiddle" height="60" width="468" /></a></p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">&nbsp;</p>
<p align="left">Via: <a href="http://noalamatricula.wordpress.com/about/" title="http://noalamatricula.wordpress.com/about/">http://noalamatricula.wordpress.com/about/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/12/feed</wfw:commentRss>
		</item>
		<item>
		<title>Back from holidays</title>
		<link>http://www.pipiten.com.ar/archives/11</link>
		<comments>http://www.pipiten.com.ar/archives/11#comments</comments>
		<pubDate>Tue, 14 Aug 2007 01:44:05 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/11</guid>
		<description><![CDATA[No han habido posts durante casi 1 mes, debido a que me tome mis vacaciones (olvide postear eso antes..), y estuve 20 dias paseando por Brasil.  Ahora ya de vuelta al trabajo, volvere a retomar la actividad del Blog ;).  Aqui pueden ver algunas fotos: http://picasaweb.google.es/pipiten/Brasil .
]]></description>
			<content:encoded><![CDATA[<p>No han habido posts durante casi 1 mes, debido a que me tome mis vacaciones (olvide postear eso antes..), y estuve 20 dias paseando por Brasil.  Ahora ya de vuelta al trabajo, volvere a retomar la actividad del Blog ;).  Aqui pueden ver algunas fotos: <a href="http://picasaweb.google.es/pipiten/Brasil" title="http://picasaweb.google.es/pipiten/Brasil">http://picasaweb.google.es/pipiten/Brasil</a> .</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/11/feed</wfw:commentRss>
		</item>
		<item>
		<title>Tomar screenshot desde Python</title>
		<link>http://www.pipiten.com.ar/archives/10</link>
		<comments>http://www.pipiten.com.ar/archives/10#comments</comments>
		<pubDate>Wed, 11 Jul 2007 10:34:28 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/10</guid>
		<description><![CDATA[Â¿Como tomar un screenshot de toda la pantalla? 
Usando la API GDK Pixbuf. La salida puede ser en PNG o JPEG, en el caso del ultimo es posible elegir la calidad pasando como parÃ¡metro al metodo gdk.Pixbub save() un valor entre 0 y 100.

# Entre &#34;png&#34; o &#34;jpeg&#34;
 formato = &#34;jpeg&#34;
 ancho = gtk.gdk.screen_width&#40;&#41;
 alto [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Â¿Como tomar un screenshot de toda la pantalla? </strong></p>
<p>Usando la API GDK Pixbuf. La salida puede ser en PNG o JPEG, en el caso del ultimo es posible elegir la calidad pasando como parÃ¡metro al metodo gdk.Pixbub save() un valor entre 0 y 100.</p>

<div class="wp_syntax"><div class="code"><pre class="python"><span style="color: #808080; font-style: italic;"># Entre &quot;png&quot; o &quot;jpeg&quot;</span>
 formato = <span style="color: #483d8b;">&quot;jpeg&quot;</span>
 ancho = gtk.<span style="color: black;">gdk</span>.<span style="color: black;">screen_width</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
 alto = gtk.<span style="color: black;">gdk</span>.<span style="color: black;">screen_height</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
 screenshot = gtk.<span style="color: black;">gdk</span>.<span style="color: black;">Pixbuf</span>.<span style="color: black;">get_from_drawable</span><span style="color: black;">&#40;</span>
              gtk.<span style="color: black;">gdk</span>.<span style="color: black;">Pixbuf</span><span style="color: black;">&#40;</span>gtk.<span style="color: black;">gdk</span>.<span style="color: black;">COLORSPACE_RGB</span>, <span style="color: #008000;">True</span>, <span style="color: #ff4500;">8</span>, ancho, alto<span style="color: black;">&#41;</span>,
              gtk.<span style="color: black;">gdk</span>.<span style="color: black;">get_default_root_window</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>,
              gtk.<span style="color: black;">gdk</span>.<span style="color: black;">colormap_get_system</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>,
              <span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span>, <span style="color: #ff4500;">0</span>, ancho, alto<span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># Pixbuf tiene un mÃ©todo save</span>
<span style="color: #808080; font-style: italic;"># Nota: el formato png no soporta el argumento &quot;quality&quot;</span>
 screenshot.<span style="color: black;">save</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;screenshot.&quot;</span> + formato, formato,  <span style="color: black;">&#123;</span><span style="color: #483d8b;">&quot;quality&quot;</span>: <span style="color: #483d8b;">&quot;20&quot;</span><span style="color: black;">&#125;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Advertencia: Si planea utilizar este codigo en un bucle, o muchas veces dentro del programa, serÃ­a mejor agregar el siguiente cÃ³digo para evitar un desborde de memoria (considerando el tamaÃ±o del bitmap de esas proporciones), segÃºn un bug detallado aquÃ­: <a href="http://www.async.com.br/faq/pygtk/index.py?req=show&amp;file=faq08.004.htp">[www.async.com.br]</a>.</p>

<div class="wp_syntax"><div class="code"><pre class="python"><span style="color: #ff7700;font-weight:bold;">del</span> screenshot
<span style="color: #dc143c;">gc</span>.<span style="color: black;">collect</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>TraducciÃ³n al espaÃ±ol de: <a href="http://faq.pygtk.org/index.py?req=show&amp;file=faq23.036.htp">faq.pygtk.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/10/feed</wfw:commentRss>
		</item>
		<item>
		<title>Activando subwoofer Dell 9400 en Feisty</title>
		<link>http://www.pipiten.com.ar/archives/8</link>
		<comments>http://www.pipiten.com.ar/archives/8#comments</comments>
		<pubDate>Tue, 10 Jul 2007 10:49:43 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[Dell]]></category>

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

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/8</guid>
		<description><![CDATA[Quienes posean una laptop Dell 9400 con Ubuntu (probablemente funcione en otros modelos tambiÃ©n), habrÃ¡n notado que por defecto solo funcionan los parlantes frontales. Para activar los &#8220;subwoofers&#8221; abre el archivo /etc/modprobe.d/alsa-base como root:
gksudo gedit /etc/modprobe.d/alsa-base
Y agrega al final:
options snd-hda-intel model=ref
Luego reiniciar, y ya deberÃ­an disfrutar a pleno del sonido ;).
(Asegurarse de que en el [...]]]></description>
			<content:encoded><![CDATA[<p>Quienes posean una laptop Dell 9400 con Ubuntu (probablemente funcione en otros modelos tambiÃ©n), habrÃ¡n notado que por defecto solo funcionan los parlantes frontales. Para activar los &#8220;subwoofers&#8221; abre el archivo /etc/modprobe.d/alsa-base como root:</p>
<pre>gksudo gedit /etc/modprobe.d/alsa-base</pre>
<p>Y agrega al final:</p>
<pre>options snd-hda-intel model=ref</pre>
<p>Luego reiniciar, y ya deberÃ­an disfrutar a pleno del sonido ;).</p>
<p>(Asegurarse de que en el control de volÃºmen, el canal &#8220;LFE&#8221; estÃ¡ activado.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/8/feed</wfw:commentRss>
		</item>
		<item>
		<title>Traducir aplicaciones PyGTK/Glade</title>
		<link>http://www.pipiten.com.ar/archives/7</link>
		<comments>http://www.pipiten.com.ar/archives/7#comments</comments>
		<pubDate>Tue, 10 Jul 2007 10:01:14 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/7</guid>
		<description><![CDATA[Si tienes programas realizados en Python/Glade, puede ser Ãºtil internacionalizarlos, el texto de los menÃºs/mensajes/botones, etc, se mostrarÃ¡ en el idioma definido en el sistema.
Herramientas utilizadas:

PyGtk
Glade 
Python 2.3 
GNU gettext 
Gtk+ 2.4.1 
Libglade 2.4.0

Extrayendo los mensajes de Glade:
NecesitarÃ¡s de intltool, una utilidad para internacionalizar documentos en XML. Si usas Debian alcanza con teclear:


apt-get install intltool

El [...]]]></description>
			<content:encoded><![CDATA[<p>Si tienes programas realizados en Python/Glade, puede ser Ãºtil internacionalizarlos, el texto de los menÃºs/mensajes/botones, etc, se mostrarÃ¡ en el idioma definido en el sistema.</p>
<p><strong>Herramientas utilizadas:</strong></p>
<ul>
<li>PyGtk</li>
<li>Glade <span class="anchor" id="line-22"></span></li>
<li>Python 2.3 <span class="anchor" id="line-23"></span></li>
<li>GNU gettext <span class="anchor" id="line-24"></span></li>
<li>Gtk+ 2.4.1 <span class="anchor" id="line-25"></span></li>
<li>Libglade 2.4.0</li>
</ul>
<p><strong>Extrayendo los mensajes de Glade:</strong></p>
<p class="line874">NecesitarÃ¡s de intltool, una utilidad para internacionalizar documentos en XML. Si usas Debian alcanza con teclear:<br />
<span class="anchor" id="line-31"></span><span class="anchor" id="line-32"></span></p>
<p class="line867"><span class="anchor" id="line-33"></span></p>
<pre>apt-get install intltool<span class="anchor" id="line-34"></span></pre>
<p><span class="anchor" id="line-35"></span><span class="anchor" id="line-36"></span></p>
<p class="line874">El programa intltool-extract extrae las cadenas de texto de un archivo glade (en el ejemplo &#8220;miprograma.glade&#8221;) y genera un archivo .h (en el ejemplo &#8220;miprograma.h&#8221;):<br />
<span class="anchor" id="line-39"></span><span class="anchor" id="line-40"></span></p>
<p class="line867"><span class="anchor" id="line-41"></span></p>
<pre>intltool-extract --type="gettext/glade" miprograma.glade</pre>
<p class="line867">&nbsp;</p>
<p>No se necesita editar el archivo .h, serÃ¡ leido por xgettext.</p>
<p><strong>Generando archivo de traducciÃ³n:</strong></p>
<pre>xgettext -k_ -kN_ -o mensajes.pot *.py *.h<span class="anchor" id="line-50"></span></pre>
<p><span class="anchor" id="line-51"></span><span class="anchor" id="line-52"></span>CrearÃ¡ un archivo de traducciÃ³n &#8220;mensajes.pot&#8221; a partir de los codigos fuente python y de los archivos .h generados por intltool-extract</p>
<p><strong>Creando archivos de traducciÃ³n:</strong></p>
<p class="line874">Para que sea posible crear traducciones para diferentes idiomas es necesario crear un archivo para cada una. Para esto se utiliza msginit.</p>
<p class="line874">En este ejemplo msginit crea el archivo es_ES.po adecuado para la traduccion al espaÃ±ol:<br />
<span class="anchor" id="line-61"></span><span class="anchor" id="line-62"></span></p>
<p class="line867"><span class="anchor" id="line-63"></span></p>
<pre>msginit -i mensajes.pot -l es_ES<span class="anchor" id="line-64"></span></pre>
<p><span class="anchor" id="line-65"></span><span class="anchor" id="line-66"></span></p>
<p class="line874">Una vez traducido el archivo es_ES.po es necesario generar el archivo que serÃ¡ utilizado por el programa:<br />
<span class="anchor" id="line-68"></span><span class="anchor" id="line-69"></span></p>
<p class="line867"><span class="anchor" id="line-70"></span></p>
<pre>msgfmt es_ES.po -o po/pt/LC_MESSAGES/miprograma.mo<span class="anchor" id="line-71"></span></pre>
<p><span class="anchor" id="line-72"></span><span class="anchor" id="line-73"></span><br />
No importa el nombre del directorio donde se coloque el archivo *.mo, pero la estructura del directorio tiene que ser <span class="anchor" id="line-75"></span>&lt;directorio&gt;/&lt;locale&gt;/LC_MESSAGES/&lt;nombre-de-programa&gt;.mo. Donde &lt;locale&gt; <span class="anchor" id="line-76"></span>es algo como es o es_ES.</p>
<p><strong> Hacer que el programa reconozca las traducciones :</strong></p>
<p>Tipicamente un programa de python usando libglade tendrÃ¡ strings para <span class="anchor" id="line-81"></span>ser traducidas tanto en el programa python como en el arquivo <span class="anchor" id="line-82"></span>glade. Para lidiar con los strings en las fuentes python se puede usar el <span class="anchor" id="line-83"></span>mÃ³dulo gettext. Todos los strings a ser traducidas deven usar el <span class="anchor" id="line-84"></span>mÃ©todo gettext de ese mÃ³dulo:</p>

<div class="wp_syntax"><div class="code"><pre class="python"> <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #dc143c;">gettext</span>.<span style="color: #dc143c;">gettext</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Texto a ser traducido&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Es mucho mas prÃ¡ctico usar el formato _(&lt;string&gt;), pero para eso se <span class="anchor" id="line-92"></span>debe definir _ como gettext.gettext:</p>

<div class="wp_syntax"><div class="code"><pre class="python"> _ = <span style="color: #dc143c;">gettext</span>.<span style="color: black;">gettextprint</span> _<span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Texto a ser traducido&quot;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Normalmente los archivos con mensajes de traducciÃ³n van en  <span class="anchor" id="line-102"></span>&#8220;/usr/share/locale&#8221;, pero mientras tanto este desarrollando su programa es <span class="anchor" id="line-103"></span>bastante Ãºtil tenerlos en un directorio local, algo como &#8220;i18n&#8221; o &#8220;po&#8221;:</p>
<pre dir="ltr" id="CA-21fc6ce92d0064fe8a651f0e34e417d89fa7f71a_002" lang="en"><span class="line"><span class="ID">APP</span><span class="Operator">=</span><span class="String">&#8216;miprograma&#8217;</span></span>

<span class="line"><span class="ID">DIR</span><span class="Operator">=</span><span class="String">&#8216;po&#8217;</span></span></pre>
<p>Un ejemplo mas completo serÃ­a:</p>

<div class="wp_syntax"><div class="code"><pre class="python"><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">gettext</span>
&nbsp;
APP=<span style="color: #483d8b;">'miprograma'</span>
DIR=<span style="color: #483d8b;">'po'</span>
&nbsp;
<span style="color: #dc143c;">gettext</span>.<span style="color: black;">bindtextdomain</span><span style="color: black;">&#40;</span>APP, DIR<span style="color: black;">&#41;</span>
<span style="color: #dc143c;">gettext</span>.<span style="color: black;">textdomain</span><span style="color: black;">&#40;</span>APP<span style="color: black;">&#41;</span>
&nbsp;
_ = <span style="color: #dc143c;">gettext</span>.<span style="color: #dc143c;">gettext</span>
&nbsp;
gtk.<span style="color: black;">glade</span>.<span style="color: black;">bindtextdomain</span><span style="color: black;">&#40;</span>APP, DIR<span style="color: black;">&#41;</span>
gtk.<span style="color: black;">glade</span>.<span style="color: black;">textdomain</span><span style="color: black;">&#40;</span>APP<span style="color: black;">&#41;</span>
&nbsp;
gui = gtk.<span style="color: black;">glade</span>.<span style="color: black;">XML</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;miprograma.glade&quot;</span><span style="color: black;">&#41;</span>
.....</pre></div></div>

<p>Del original en <a href="http://www.pythonbrasil.com.br/moin.cgi/InternacionalizePyGtk">portugues</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/7/feed</wfw:commentRss>
		</item>
		<item>
		<title>Lanzar programa python desde C</title>
		<link>http://www.pipiten.com.ar/archives/6</link>
		<comments>http://www.pipiten.com.ar/archives/6#comments</comments>
		<pubDate>Tue, 10 Jul 2007 09:12:39 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/6</guid>
		<description><![CDATA[Para llamar a un programa escrito en python, desde un programa en C, necesitas instalar el paquete python-devel en Linux.
Ejemplo codigo C,  lanzando &#8220;miprograma.py&#8221;:

#include &#60;stdio.h&#62;
#include &#60;python2.5&#62;
int main&#40;int argc, char *argv&#91;&#93;&#41;
&#123;
  Py_Initialize&#40;&#41;;
  FILE * f;
  f = fopen&#40;&#34;miprograma.py&#34;, &#34;r&#34;&#41;;
  PyRun_SimpleFile&#40;f, &#34;miprograma.py&#34;&#41;;
  Py_Finalize&#40;&#41;;
  return 0;
&#125;

Para compilar usar:
$ gcc -Wall -O2 [...]]]></description>
			<content:encoded><![CDATA[<p>Para llamar a un programa escrito en python, desde un programa en C, necesitas instalar el paquete python-devel en Linux.</p>
<p>Ejemplo codigo C,  lanzando &#8220;miprograma.py&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="c"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;python2.5&gt;</span>
<span style="color: #993333;">int</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> argc, <span style="color: #993333;">char</span> *argv<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  Py_Initialize<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  FILE * f;
  f = fopen<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;miprograma.py&quot;</span>, <span style="color: #ff0000;">&quot;r&quot;</span><span style="color: #66cc66;">&#41;</span>;
  PyRun_SimpleFile<span style="color: #66cc66;">&#40;</span>f, <span style="color: #ff0000;">&quot;miprograma.py&quot;</span><span style="color: #66cc66;">&#41;</span>;
  Py_Finalize<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>Para compilar usar:</p>
<p>$ gcc -Wall -O2  -I/usr/include/python2.5/ -c programa.c -o programa.o<br />
$ gcc -Xlinker -lpython2.5 programa.o -lm -L/usr/lib/python2.5/config/libpython2.5.a  -o programa</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/6/feed</wfw:commentRss>
		</item>
		<item>
		<title>Contar letras,  vocales y consonantes</title>
		<link>http://www.pipiten.com.ar/archives/5</link>
		<comments>http://www.pipiten.com.ar/archives/5#comments</comments>
		<pubDate>Tue, 10 Jul 2007 08:41:17 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/5</guid>
		<description><![CDATA[Un programa en python para contar las vocales y consonantes en un texto.

# -*- coding: cp1252 -*-
# Cuenta las letras, vocales y consonantes de un texto
# 03/2007 - Marco AndrÃ© - marco@sociesc.org.br
# 07/2007 - Pedro Guridi - pipiten@gmail.com
texto = &#34;&#34;&#34;Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod
tempor incidunt ut labore et dolore magna [...]]]></description>
			<content:encoded><![CDATA[<p>Un programa en python para contar las vocales y consonantes en un texto.</p>

<div class="wp_syntax"><div class="code"><pre class="python"><span style="color: #808080; font-style: italic;"># -*- coding: cp1252 -*-</span>
<span style="color: #808080; font-style: italic;"># Cuenta las letras, vocales y consonantes de un texto</span>
<span style="color: #808080; font-style: italic;"># 03/2007 - Marco AndrÃ© - marco@sociesc.org.br</span>
<span style="color: #808080; font-style: italic;"># 07/2007 - Pedro Guridi - pipiten@gmail.com</span>
texto = <span style="color: #483d8b;">&quot;&quot;</span><span style="color: #483d8b;">&quot;Lorem ipsum dolor sit amet, consectetur adipisici elit, sed eiusmod
tempor incidunt ut labore et dolore magna aliqua. Ut enim ad minimveniam,
quis nostrud exercitation ullamco laboris nisi ut aliquid ex ea
commodi consequat.&quot;</span><span style="color: #483d8b;">&quot;&quot;</span>
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Contar Letras - Vocales y Consonantes&quot;</span>
texto = texto.<span style="color: black;">lower</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span> <span style="color: #808080; font-style: italic;">#convierte a minÃºsculas</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#remover espacios, lineas y sÃ­mbolos de puntuacion</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot; &quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;n&quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;.&quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;!&quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;?&quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;,&quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;;&quot;</span>,<span style="color: #483d8b;">&quot;&quot;</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">#remover acentos</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ã¡&quot;</span>,<span style="color: #483d8b;">&quot;a&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ã &quot;</span>,<span style="color: #483d8b;">&quot;a&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ã£&quot;</span>,<span style="color: #483d8b;">&quot;a&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ã©&quot;</span>,<span style="color: #483d8b;">&quot;e&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ãª&quot;</span>,<span style="color: #483d8b;">&quot;e&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ã­&quot;</span>,<span style="color: #483d8b;">&quot;i&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ã³&quot;</span>,<span style="color: #483d8b;">&quot;o&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ã´&quot;</span>,<span style="color: #483d8b;">&quot;o&quot;</span><span style="color: black;">&#41;</span>
texto = texto.<span style="color: black;">replace</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;Ãº&quot;</span>,<span style="color: #483d8b;">&quot;u&quot;</span><span style="color: black;">&#41;</span>
vocales = <span style="color: #ff4500;">0</span>
consonates = <span style="color: #ff4500;">0</span>
<span style="color: #ff7700;font-weight:bold;">for</span> caracter <span style="color: #ff7700;font-weight:bold;">in</span> texto:
    <span style="color: #ff7700;font-weight:bold;">if</span> caracter <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #483d8b;">'aeiou'</span>:
       vocales = vocales + <span style="color: #ff4500;">1</span>
    <span style="color: #ff7700;font-weight:bold;">else</span>:
       consonantes = consonantes + <span style="color: #ff4500;">1</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Vocales: %d&quot;</span> %vocales
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Consonantes: %d&quot;</span> %consonantes
<span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">&quot;Total de letras: %d - %d&quot;</span> %<span style="color: black;">&#40;</span><span style="color: #008000;">len</span><span style="color: black;">&#40;</span>texto<span style="color: black;">&#41;</span>, <span style="color: black;">&#40;</span>vocales+consonantes<span style="color: black;">&#41;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Original en <a href="http://www.pythonbrasil.com.br/moin.cgi/ContaLetras">portugues</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/5/feed</wfw:commentRss>
		</item>
		<item>
		<title>Indigencia lexical</title>
		<link>http://www.pipiten.com.ar/archives/4</link>
		<comments>http://www.pipiten.com.ar/archives/4#comments</comments>
		<pubDate>Sun, 08 Jul 2007 06:50:42 +0000</pubDate>
		<dc:creator>Pedro Guridi</dc:creator>
		
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.pipiten.com.ar/archives/4</guid>
		<description><![CDATA[Traduccion al espaÃ±ol del portuguÃ©s:
Un vendedor,
EscuchÃ³ decir que Brasil sufrÃ­a de una grave falta de palabras. En un programa de TV, vio una escritora lamentando que no se leÃ­an libros en esa tierra, por eso las palabras estaban en falta. El mal tenÃ­a hasta nombre de bautismo, como cualquier dolencia grande, &#8220;indigencia lexical&#8221;. El comerciante [...]]]></description>
			<content:encoded><![CDATA[<p>Traduccion al espaÃ±ol del <a href="http://pihisall.wordpress.com/2007/06/30/indigencia-lexical">portuguÃ©s:</a></p>
<p>Un vendedor,</p>
<p dir="ltr" style="text-align: left">EscuchÃ³ decir que Brasil sufrÃ­a de una grave falta de palabras. En un programa de TV, vio una escritora lamentando que no se leÃ­an libros en esa tierra, por eso las palabras estaban en falta. El mal tenÃ­a hasta nombre de bautismo, como cualquier dolencia grande, &#8220;indigencia lexical&#8221;. El comerciante no perdiÃ³ tiempo en tener una idea fantÃ¡stica. TomÃ³ el diccionario, mesa y cartulina y saliÃ³ al mercado a buscar espacio entre los vendedores ambulantes. Entre una banca de relojes y otra de lencerÃ­a instalÃ³ la suya: una mesa, el diccionario y una cartulina en la cual se leÃ­a:</p>
<p dir="ltr" style="text-align: left">&nbsp;</p>
<p dir="ltr" style="text-align: left">&#8220;HistriÃ³nico - apenas R$ 0,50!&#8221;</p>
<p dir="ltr" style="text-align: left">&nbsp;</p>
<p dir="ltr" style="text-align: left">Pasaron casi 4 horas hasta que el primero de mas de 50 curiosos parase y preguntase.</p>
<p dir="ltr" style="text-align: left">&nbsp;</p>
<p dir="ltr" style="text-align: left">- Â¿Que es lo que estÃ¡ vendiendo?</p>
<p dir="ltr" style="text-align: left">&nbsp;</p>
<p dir="ltr" style="text-align: left">- Palabras,  mi seÃ±or. La promociÃ³n del dÃ­a es histriÃ³nico a 50 centavos como dice la placa.</p>
<p dir="ltr" style="text-align: left">&nbsp;</p>
<p dir="ltr" style="text-align: left">- Usted no puede vender palabras. Ellas no son suyas. Las palabras son de todos.</p>
<p dir="ltr" style="text-align: left"> <a href="http://www.pipiten.com.ar/archives/4#more-4" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pipiten.com.ar/archives/4/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
