<?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 &#187; GNU/Linux</title>
	<atom:link href="http://www.miltonpividori.com.ar/category/gnulinux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.miltonpividori.com.ar</link>
	<description>Blog de Milton Pividori</description>
	<lastBuildDate>Mon, 02 Jan 2012 04:12:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ubuntu, impresoras idénticas, udev</title>
		<link>http://www.miltonpividori.com.ar/2011/02/22/ubuntu-impresoras-identicas-udev/</link>
		<comments>http://www.miltonpividori.com.ar/2011/02/22/ubuntu-impresoras-identicas-udev/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 13:47:49 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=1004</guid>
		<description><![CDATA[Hace un tiempo, en la empresa de mi viejo, compramos dos impresoras Samsung ML-1665. Son impresoras láser y se están utilizando para imprimir facturas. La máquina de la caja, a la cual están conectadas, tiene Ubuntu 10.04. Después de seguir un excelente howto para instalarlas, la primera fue detectada correctamente y comenzó a funcionar a [...]]]></description>
			<content:encoded><![CDATA[<p>Hace un tiempo, en la empresa de mi viejo, compramos dos impresoras Samsung ML-1665. Son impresoras láser y se están utilizando para imprimir facturas. La máquina de la caja, a la cual están conectadas, tiene Ubuntu 10.04. Después de seguir un excelente <a href="http://ubuntuforums.org/showthread.php?t=341621">howto</a> para instalarlas, la primera fue detectada correctamente y comenzó a funcionar a la perfección.</p>
<p>Al conectar la segunda impresora, exactamente igual que la primera, la detección fue también satifactoria. Aunque surgió un pequeño gran problema: al imprimir sobre ésta última, la impresión se realizaba sobre la primera. Observando la configuración de ambas, me percaté de que tenían exactamente el mismo Device URI.</p>
<p>La solución fue bastante rápida: editar el archivo /etc/cups/printers.conf, y cambiar el device URI, que era algo así como &#8220;usb:/Samsung&#8230;&#8221; por &#8220;file:/dev/usblp0&#8243;, y la otra impresora por &#8220;file:/dev/usblp1&#8243;. Con esto el problema fue resuelto y todo comenzó a funcionar como uno esperaba. Aunque no tardó en surgir otro inconveniente.</p>
<p><span id="more-1004"></span><br />
Después de un tiempo de estar funcionando todo de mil maravillas, la cajera me comenta un día que, para sorpresa de ella, las facturas A se imprimían en la impresora para las facturas B, y viceversa. Me había comentado que no fue mucho problema, ya que simplemente cambió las hojas y tema resuelto. Pero desde ese mismo instante no me quedé muy tranquilo.</p>
<p>Después de un tiempo recibo una nueva llamada: las impresoras estaban enloquecidas. Todos los días, al encender la PC, los puertos se cambiaban. Lo que en el principio era una pequeña molestia, ahora se estaba transformando en una situación bastante irritante. No estaba seguro cómo solucionarlo, así que por lo tanto intenté una actualización del sistema, lo que en apariencias lo había solucionado. Duró uno o dos meses más hasta que el problema reapareció.</p>
<p>Entonces esa vez me puse a buscar un poco más, a preguntar, y me encontré con <a href="http://en.wikipedia.org/wiki/Udev">udev</a>. Este componente del kernel Linux, encargado de gestionar dispositivos, permite, entre muchas cosas, crear reglas para: nombrarlos de una forma distinta (cambiar &#8220;sda1&#8243; por &#8220;mi_disco&#8221;), agregar links simbólicos cuando se cumplan ciertas condiciones, ejecutar comandos ante ciertos eventos, y mil cosas más.</p>
<p>Lo que tuve que hacer, entonces, es buscar algún tipo de información en los atributos de cada impresora, que sea único para la misma. Para esto utilicé el comando udevadm:</p>
<pre class="brush: bash; title: ; notranslate">
$ udevadm info -a -p  $(udevadm info -q path -n /dev/usblp0)

[...]

  looking at parent device '/devices/pci0000:00/0000:00:1d.3/usb5/5-2':
    KERNELS==&quot;5-2&quot;
    SUBSYSTEMS==&quot;usb&quot;
    DRIVERS==&quot;usb&quot;
    ATTRS{configuration}==&quot;&quot;
    ATTRS{bNumInterfaces}==&quot; 1&quot;
    ATTRS{bConfigurationValue}==&quot;1&quot;
    ATTRS{bmAttributes}==&quot;c0&quot;
    ATTRS{bMaxPower}==&quot;  0mA&quot;
    ATTRS{urbnum}==&quot;1368&quot;
    ATTRS{idVendor}==&quot;04e8&quot;
    ATTRS{idProduct}==&quot;3301&quot;
    ATTRS{bcdDevice}==&quot;0100&quot;
    ATTRS{bDeviceClass}==&quot;00&quot;
    ATTRS{bDeviceSubClass}==&quot;00&quot;
    ATTRS{bDeviceProtocol}==&quot;00&quot;
    ATTRS{bNumConfigurations}==&quot;1&quot;
    ATTRS{bMaxPacketSize0}==&quot;16&quot;
    ATTRS{speed}==&quot;12&quot;
    ATTRS{busnum}==&quot;5&quot;
    ATTRS{devnum}==&quot;2&quot;
    ATTRS{version}==&quot; 1.10&quot;
    ATTRS{maxchild}==&quot;0&quot;
    ATTRS{quirks}==&quot;0x0&quot;
    ATTRS{authorized}==&quot;1&quot;
    ATTRS{manufacturer}==&quot;Samsung Electronics Co., Ltd.&quot;
    ATTRS{product}==&quot;ML-1660 Series&quot;
    ATTRS{serial}==&quot;Z526BKDZ800022B.&quot;
</pre>
<p>El atributo <em>serial</em> es el que difiere en cada impresora, por lo tanto utilicé éste para crear un archivo <em>/etc/udev/rules.d/impresoras.rules</em> con las siguientes reglas:</p>
<pre class="brush: bash; title: ; notranslate">
SUBSYSTEMS==&quot;usb&quot;, ATTRS{product}==&quot;ML-1660 Series&quot;, ATTRS{serial}==&quot;Z526BKAZ301606A.&quot;, SYMLINK+=&quot;impr_fa&quot;
SUBSYSTEMS==&quot;usb&quot;, ATTRS{product}==&quot;ML-1660 Series&quot;, ATTRS{serial}==&quot;Z526BKDZ800022B.&quot;, SYMLINK+=&quot;impr_fb&quot;
</pre>
<p>Una vez guardado el archivo, hacen un &#8220;service udev reload&#8221;, desenchufan y vuelven a enchufar las impresoras, y verán que aparecen los dispositivos &#8220;impr_fa&#8221; e &#8220;impr_fb&#8221;. Ahora estos serán siempre fijos y aputarán siempre al mismo dispositivo físico (en teoría, les cuento en unos meses). Tal cual lo que estaba buscando. Si hacemos un &#8220;ls&#8221; vemos:</p>
<pre class="brush: bash; title: ; notranslate">
$ ls -l /dev/impr*
lrwxrwxrwx 1 root root 7 2011-02-22 07:34 /dev/impr_fa -&gt; usb/lp1
lrwxrwxrwx 1 root root 7 2011-02-22 10:25 /dev/impr_fb -&gt; usb/lp0
</pre>
<p>Pueden encontrar más información sobre cómo escribir reglas udev en <a href="http://reactivated.net/writing_udev_rules.html">este link</a>. A mí me vino muy bien para las impresoras, pero se podrían hacer cosas interesantes con pendrives y otros dispositivos.</p>
<p>Cuando les mostré esto a <a href="http://www.cesarsandrigo.com.ar/">César</a> y a <a href="http://nacho.larrateguy.com.ar/">Nacho</a>, nos preguntábamos si en Windows será posible hacer algo similar. Una de las respuestas fue: <em>&#8220;estas cosas [impresoras enloquecidas] no pasan en Windows&#8221;</em> <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  y <em>&#8220;seguramente debe tener alguna forma de configurarlo&#8221;</em>. Solo por curiosidad: ¿alguien tiene alguna información al respecto?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2011/02/22/ubuntu-impresoras-identicas-udev/feed/</wfw:commentRss>
		<slash:comments>1</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; title: ; notranslate">
$ 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>sl: Steam Locomotive</title>
		<link>http://www.miltonpividori.com.ar/2009/05/06/sl-steam-locomotive/</link>
		<comments>http://www.miltonpividori.com.ar/2009/05/06/sl-steam-locomotive/#comments</comments>
		<pubDate>Wed, 06 May 2009 15:08:25 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Humor]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=650</guid>
		<description><![CDATA[¿Nunca escribieron LS o sl cuando en realidad quisieron ejecutar &#8220;ls&#8221; en la terminal? Bueno, si les pasó, habrán visto que en Ubuntu salta el siguiente mensaje: La primera vez que lo vi me pareció extraño, así que instalé el paquete &#8220;sl&#8221; como me sugería. La descripción del paquete es esta: Me imagino que tendrán [...]]]></description>
			<content:encoded><![CDATA[<p>¿Nunca escribieron <em>LS</em> o <em>sl</em> cuando en realidad quisieron ejecutar &#8220;ls&#8221; en la terminal? Bueno, si les pasó, habrán visto que en Ubuntu salta el siguiente mensaje:</p>
<pre class="brush: plain; title: ; notranslate">
$ sl
El programa «sl» no está instalado actualmente.  Puede instalarlo escribiendo:
sudo apt-get install sl
bash: sl: orden no encontrada
</pre>
<p>La primera vez que lo vi me pareció extraño, así que instalé el paquete &#8220;sl&#8221; como me sugería. La descripción del paquete es esta:</p>
<pre class="brush: plain; title: ; notranslate">
Correct you if you type `sl' by mistake
Sl is a program that can display animations aimed to correct you
if you type 'sl' by mistake.
SL stands for Steam Locomotive.
</pre>
<p>Me imagino que tendrán ahora la intriga de qué es lo que pasa si ejecutan &#8220;sl&#8221;. Simplemente tengan cuidado <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2009/05/06/sl-steam-locomotive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Netboot install con dnsmasq</title>
		<link>http://www.miltonpividori.com.ar/2009/04/09/netboot-install-con-dnsmasq/</link>
		<comments>http://www.miltonpividori.com.ar/2009/04/09/netboot-install-con-dnsmasq/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 21:15:01 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=625</guid>
		<description><![CDATA[Tengo en mi casa un Pentium III de 800 MHz con 128 MBs de RAM. Es de César y la vamos a utilizar para el proyecto. No tiene lectora de CD y no tiene soporte para bootear por la red. Les muestro en este post lo que tuve que hacer para instalar Ubuntu Server en [...]]]></description>
			<content:encoded><![CDATA[<p>Tengo en mi casa un Pentium III de 800 MHz con 128 MBs de RAM. Es de César y la vamos a utilizar para el proyecto. No tiene lectora de CD y no tiene soporte para bootear por la red. Les muestro en este post lo que tuve que hacer para instalar Ubuntu Server en una máquina así, de esta forma si lo tienen que hacer se ahorran trabajo.</p>
<p><span id="more-625"></span></p>
<h3>Escenario</h3>
<p>La máquina que tendrá el servidor DHCP, TFTP y compartirá Internet es mi notebook, que se llama <em>wasabi</em> (a mí si me gusta el nombre <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> ). La PC target se llamará <em>tellus</em>. Desde mi notebook me conecto a un router via wifi (el cual me brinda Internet), y a tellus por cable. La interfaz de la primer conexión es wlan0, y la de la segunda eth0.</p>
<h3>Procedimiento</h3>
<h4>wasabi</h4>
<ul>
<li>En wasabi solamente es necesario tener dnsmasq instalado (hará de servidor DHCP y además tiene un server TFTP incluido).</li>
<li>La IP de wasabi será 192.168.0.1</li>
<li>Editamos las opciones en /etc/dnsmasq.conf. Agregamos las siguientes lineas (asegúrense de que el archivo no tenga otras opciones conflictivas activadas):</li>
</ul>
<pre class="brush: plain; title: ; notranslate">
listen-address=192.168.0.1
interface=eth0

dhcp-no-override
dhcp-range=192.168.0.30,192.168.0.60,12h

dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/var/ftpd
</pre>
<ul>
<li>Coloquen el CD de Ubuntu Server (o la versión que sea) en su lectora, y copien los archivos necesarios para realizar la instalación por red:</li>
</ul>
<pre class="brush: plain; title: ; notranslate">
$ sudo cp -ar /media/cdrom0/install/netboot/* /var/ftpd
</pre>
<ul>
<li>Otra opción al paso anterior es bajarse los archivos desde Internet, para <a href="http://archive.ubuntu.com/ubuntu/dists/intrepid/main/installer-i386/current/images/netboot/netboot.tar.gz">Intrepid</a> o para <a href="http://archive.ubuntu.com/ubuntu/dists/jaunty/main/installer-i386/current/images/netboot/netboot.tar.gz">Jaunty</a> por ejemplo.</li>
<li># sudo service dnsmasq restart</li>
<li>En este punto ya tenemos andando dnsmasq, como servidor DHCP, DNS y TFTP.</li>
<li>Activamos IP Masquerading:</li>
</ul>
<pre class="brush: plain; title: ; notranslate">
# echo 1 &gt; /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
</pre>
<ul>
<li>Como les dije, tellus no puede bootear directamente por red, así que es necesario crear un disquette con <a href="http://www.rom-o-matic.net/">gPXE</a>. Tienen que elegir el modelo de placa de red exacto de la máquina target (tellus en este caso) para poder bootear, traer la imagen desde wasabi y arrancar la instalación. Una vez bajada, pueden grabarla en un disquette (que difícil conseguir un disquette estos días&#8230; y uno que ande) con <a href="http://www.manpagez.com/man/1/dd/">dd</a> en GNU/Linux o <a href="http://www.chrysocome.net/rawwrite">rawwritewin</a> en Windows.</li>
</ul>
<h4>tellus</h4>
<ul>
<li>Colocan el disquette creado y bootean desde él. Deberían ver cómo la máquina target pide una IP y arranca el instalador de Ubuntu.</li>
</ul>
<p>Listo, eso es todo. Un inconveniente que tuve fue resuelto con la opción &#8220;dhcp-no-override&#8221; que les mostré arriba, para dnsmasq. Resulta que en modo normal no arma paquetes DHCP del todo estándar, y que hacían tellus no pueda encontrar la opción de &#8220;archivo de booteo&#8221; al recibir el paquete DHCP.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2009/04/09/netboot-install-con-dnsmasq/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Agregar números de página a un PDF</title>
		<link>http://www.miltonpividori.com.ar/2008/12/02/agregar-numeros-de-pagina-a-un-pdf/</link>
		<comments>http://www.miltonpividori.com.ar/2008/12/02/agregar-numeros-de-pagina-a-un-pdf/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 01:15:13 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=454</guid>
		<description><![CDATA[Tengo un libro en PDF que no tiene los números de página, y como lo voy imprimiendo de a poco (por miedo a imprimirlo completamente y dejarlo tirado), con el objetivo de abrochar al final todas las páginas o encuadernarlo, hay riesgo de que algún día se me caigan todas las hojas o se me [...]]]></description>
			<content:encoded><![CDATA[<p>Tengo un libro en PDF que no tiene los números de página, y como lo voy imprimiendo de a poco (por miedo a imprimirlo completamente y dejarlo tirado), con el objetivo de abrochar al final todas las páginas o encuadernarlo, hay riesgo de que algún día se me caigan todas las hojas o se me despapele y no sepa cómo ordenarlo rápidamente.</p>
<p>Intenté agregarles el número de página con OpenOffice.org, usando el plugin <a href="http://extensions.services.openoffice.org/project/pdfimport">pdfimport</a>. Parece que el funcionamiento consiste en convertir el PDF a un documento de Draw. El problema es que no encontré, por lo menos en forma directa, cómo agregar un pie de página en esta aplicación.</p>
<p>Me encontré con <a href="http://forums.debian.net/viewtopic.php?t=30598">una solución</a> que explica cómo hacer todo con un script (usa pdftk) y un poco de OpenOffice.org. No se si es la solución más rápida, directa y obvia, pero ahora mi PDF tiene los números de página.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2008/12/02/agregar-numeros-de-pagina-a-un-pdf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Características futuras de Ubuntu</title>
		<link>http://www.miltonpividori.com.ar/2008/04/29/caracteristicas-futuras-de-ubuntu/</link>
		<comments>http://www.miltonpividori.com.ar/2008/04/29/caracteristicas-futuras-de-ubuntu/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 12:24:58 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=206</guid>
		<description><![CDATA[Hoy me encontré en el Planet GNOME con un post con esta imagen. Quizá alguna futura versión de NetworkManager&#8230;]]></description>
			<content:encoded><![CDATA[<p>Hoy me encontré en el <a href="http://planet.gnome.org/">Planet GNOME</a> con un post con esta imagen. Quizá alguna futura versión de NetworkManager&#8230;</p>
<p><a href='http://www.miltonpividori.com.ar/wp-content/uploads/2008/04/zealous_autoconfig.png'><img src="http://www.miltonpividori.com.ar/wp-content/uploads/2008/04/zealous_autoconfig.png" alt="" title="zealous_autoconfig" width="500" height="142" class="alignleft size-full wp-image-207" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2008/04/29/caracteristicas-futuras-de-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FLISOL 2008</title>
		<link>http://www.miltonpividori.com.ar/2008/04/27/flisol-2008/</link>
		<comments>http://www.miltonpividori.com.ar/2008/04/27/flisol-2008/#comments</comments>
		<pubDate>Sun, 27 Apr 2008 15:44:25 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=205</guid>
		<description><![CDATA[Estoy Estaba escribiendo el post desde la FLISOL 2008. No estamos estábamos haciendo muchas instalaciones, pero si probando algunas cosas con los chicos, compartiendo algunos conocimientos, hablando&#8230; Estas son algunas de las cosas interesantes que vimos: Transferir paquetes .deb hacia otras máquinas Mariano comentó esto, y lo investigamos un poquito. Es una idea para los [...]]]></description>
			<content:encoded><![CDATA[<p><del datetime="2008-04-27T15:13:24+00:00">Estoy</del> Estaba escribiendo el post desde la FLISOL 2008. No <del datetime="2008-04-27T15:17:21+00:00">estamos</del> estábamos haciendo muchas instalaciones, pero si probando algunas cosas con los chicos, compartiendo algunos conocimientos, hablando&#8230;</p>
<p>Estas son algunas de las cosas interesantes que vimos:</p>
<p><span id="more-205"></span></p>
<h3>Transferir paquetes .deb hacia otras máquinas</h3>
<p>Mariano comentó esto, y lo investigamos un poquito. Es una idea para los usuarios de Ubuntu que tienen que actualizar cada 6 meses. Cuando lo hacen, tienen que instalarse los paquetes que usaban, y eso lleva tiempo. Pero el problema es que uno instala los que se acuerda, después cuando necesita urgentemente editar un archivo SVG, recuerda que no instaló Inkscape, y sumado a una conexión no muy rápida (o si uno está con la notebook en un lugar sin acceso a Internet), se vuelve molesto.</p>
<p>Otra aplicación podría ser en un evento como la FLISOL: Sería bueno tener una instalación con todos los codecs y demás cosas necesarias que no vienen por default. Una vez hecho, se pasarían los paquetes a las demás instalaciones, así quedan iguales.</p>
<p>En la máquina que tiene todos los paquetes instalados ejecutamos:</p>
<pre>
$ dpkg --get-selections > selecciones
</pre>
<p>Tomamos el archivo <em>selecciones</em> y lo llevamos a las demás máquinas. Allí ejecutamos:</p>
<pre code="bash">
$ sudo dpkg --set-selections < selecciones
$ sudo apt-get dselect-upgrade
</pre>
<p>De esta forma se instalan los paquetes que estaban en la instalación original. Si queremos que estén instalados exactamente los mismos paquetes, podemos hacer:</p>
<pre code="bash">
$ sudo dpkg --clear-selections
$ sudo dpkg --set-selections < selecciones
$ sudo apt-get dselect-upgrade
</pre>
<p>El <em>--clear-selections</em> marca a todos los paquetes no esenciales para desinstalar. Así, al hacer un <em>--set-selections</em> marcamos los paquetes que queremos instalar, por lo tanto quedarán los mismos que en la instalación original.</p>
<p>Cabe aclarar que todo esto es teoría <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Para no estar bajando los paquetes de Internet en todas las máquinas (por ejemplo en la FLISOL), y si no se ha configurado un servidor donde adquirirlos, entonces podríamos bajarlos primero en una máquina. Los mismos se almacenan en <em>/var/cache/apt/archives</em>. Luego, en las demás máquinas, copiamos los archivos .deb en la misma ubicación.</p>
<h3>Transferencia de archivos fácil</h3>
<p>Si tienen dos máquinas conectadas a una red, y no han instalado/configurado Samba, ni SSH, ni NFS... ¿cómo transfieren un archivo? Bueno, una solución es usar <strong>netcat</strong>. Ejecutamos esto en la máquina que lo va a recibir:</p>
<pre code="bash">
$ nc -l -p 8080 > archivo.tar.bz2
</pre>
<p>Y esto en la máquina que lo va a enviar:</p>
<pre code="bash">
$ nc ipDestino 8080 < archivo.tar.bz2
</pre>
<p>Por supuesto, no hay barras de progreso ni nada. Hay que ir viendo con un <em>ls -l</em> el tamaño del archivo en la máquina destino. Cuando éste deja de crecer, entonces la transferencia ha finalizado <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2008/04/27/flisol-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GNU/Linux y el disco duro</title>
		<link>http://www.miltonpividori.com.ar/2008/01/17/gnulinux-y-el-disco-duro/</link>
		<comments>http://www.miltonpividori.com.ar/2008/01/17/gnulinux-y-el-disco-duro/#comments</comments>
		<pubDate>Thu, 17 Jan 2008 22:57:01 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=189</guid>
		<description><![CDATA[Hace unos meses salió una noticia, por varios medios, que apuntaban a Ubuntu un supuesto problema con los discos duros de las laptops. Investigué un poco (sólo un poco) sobre los discos duros modernos. Los nuevos discos tienen una tecnología &#8220;load/unload&#8221;, en contraposición con CSS (Contact Start-Stop). En ésta última, las cabezas de los discos, [...]]]></description>
			<content:encoded><![CDATA[<p>Hace unos meses salió una noticia, por varios medios, que apuntaban a Ubuntu un supuesto problema con los discos duros de las laptops.</p>
<p>Investigué un poco (sólo un poco) sobre los discos duros modernos. Los nuevos discos tienen una tecnología &#8220;load/unload&#8221;, en contraposición con CSS (Contact Start-Stop). En ésta última, las cabezas de los discos, al no estar éste en uso, quedan sobre la superficie del disco. Si hay movimiento de la laptop cuando ésta está encendida por ejemplo, esas cabezas pueden dañar el disco, entre otros problemas que tiene esta tecnología. En cambio con &#8220;load/unload&#8221;, la cabeza se mueve a un área especial, reduciendo el riesgo de dañar la superficie. En una laptop (móvil) esto es beneficioso. Otras ventajas son una mayor densidad de datos en los discos, mayor durabilidad (lo que dije antes) y menor consumo de energía.</p>
<p>Hay un límite en la cantidad de estos movimientos que un disco puede hacer, después del cual pueden aparecer problemas. Generalmente los discos duros actuales soportan unos 600.000 (más algunos, menos otros).</p>
<p>En la página del <a href="https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695">bug de Ubuntu</a>, se menciona la <a href="http://paul.luon.net/journal/hacking/BrokenHDDs.html">experiencia de una persona</a> con GNU/Linux y estos discos duros. Fea experiencia. En aproximadamente 2 años, usando dos laptops, una como servidor y la otra como workstation, tuvo que cambiar el disco rígido 4 veces. Otro tipo, como se puede leer en <a href="https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695/comments/200">este comentario</a>, perdió su disco en sólo 7 meses.</p>
<p>Recién estaba en Ubuntu Gutsy, la distro que utilizo, y el disco realizaba estos movimientos bastante seguido (no saqué cuentas, pero era mucho). Hay veces que parece tranquilizarse un poco, pero en algunos momentos, en un período de 10 minutos, realiza aproximadamente 20 de estos movimientos. Reinicié en Windows Vista Home Premium (que vino con la compra de la laptop), y ahora estoy escribiendo el post allí. El disco se encuentra mucho más tranquilo. Realiza esos movimientos de la cabeza, pero no tan exageradamente. Además la temperatura se mantiene normal (45-48 grados). Todo esto me da un poco de bronca, la verdad.</p>
<p>Bueno, creo que este post será más que interesante para los que usan el sistema operativo del pingüino en sus laptops.</p>
<p><span id="more-189"></span><br />
Al parecer GNU/Linux no se lleva bien con estos discos. Realiza este parkeo, pero rápidamente la cabeza vuelve sobre la superficie (debido quizá a algún logger, o proceso que frecuentemente accede al disco), lo que causa una cantidad exagerada de estos movimientos en un tiempo determinado, y que lleva a reducir bastante la vida útil de los discos duros. Habrán visto que <strong>el bug está confirmado</strong> en varias distribuciones, y en el caso de Ubuntu <strong>la importancia es crítica</strong>.</p>
<p>Un usuario, en los innumerables comentarios, deja constancia de que no tiene ese problema en Hardy Heron. Dice que no sufre de los parkeos excesivos (que <em>no aumentan</em>), pero no dice nada sobre la temperatura. Ahora, la solución real a este problema (como dice alguien allí), no es que no se realicen estos movimientos de la cabeza del disco, sino que no se hagan en forma tan excesiva como en GNU/Linux. Las soluciones que se ofrecen son, en vez de soluciones reales o fixes, workarounds. La gente de Debian, por ejemplo, a &#8220;corregido&#8221; este error de esta forma.</p>
<p>Así que mientras esperamos una solución verdadera, podemos aplicar el fix que se meciona <a href="https://bugs.launchpad.net/ubuntu/+source/acpi-support/+bug/59695/comments/14">aquí</a>, como indica la descripción del bug en Ubuntu (que por cierto, deberían leerla antes de hacer algo).</p>
<p>Notarán que los parkeos se detienen totalmente (por lo menos en mi disco), pero la temperatura del mismo aumenta. Este aumento también podría afectar la vida útil del disco si llega a ser muy excesivo. Esto es porque se deshabilita APM (Advanced Power Management) en el disco rígido.</p>
<p>Estaría bueno que si alguien con una laptop está usando Ubuntu Hardy Heron, nos de más información al respecto, ya que esto parece más un problema del kernel que otra cosa, y quizá en la nueva versión se haya corregido.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2008/01/17/gnulinux-y-el-disco-duro/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>OpenWrt en mi router Linksys</title>
		<link>http://www.miltonpividori.com.ar/2007/10/16/openwrt-en-mi-router-linksys/</link>
		<comments>http://www.miltonpividori.com.ar/2007/10/16/openwrt-en-mi-router-linksys/#comments</comments>
		<pubDate>Tue, 16 Oct 2007 18:18:10 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software Libre]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=166</guid>
		<description><![CDATA[Me animé a instalarlo. Ahora mi router Linksys WRT54GL v1.1 (los que comienzan su número de serie con CL7B) corre una distribución GNU/Linux, OpenWrt. Cuando comencé a averiguar sobre la posibilidad de cambiar mi firmware por un GNU/Linux, me topé con varias cositas que hacían abstenerme. Por ejemplo, en la página oficial animaban a actualizarlo [...]]]></description>
			<content:encoded><![CDATA[<p><center><img src='http://www.miltonpividori.com.ar/wp-content/uploads/2007/10/openwrt-logo.png' alt='openwrt-logo.png' /></center></p>
<p>Me animé a instalarlo. Ahora mi router Linksys WRT54GL v1.1 (los que comienzan su número de serie con CL7B) corre una distribución GNU/Linux, <a href="http://openwrt.org/">OpenWrt</a>. Cuando comencé a averiguar sobre la posibilidad de cambiar mi firmware por un GNU/Linux, me topé con varias cositas que hacían abstenerme. Por ejemplo, en la página oficial animaban a actualizarlo vía web, diciendo que era lo más fácil&#8230; pero en otros lugares, <a href="http://www.linux.com/articles/47159">como  en Linux.com</a>, recomendaban utilizar este método fácil sólo para los impacientes y valientes <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  Aunque en el ejemplo no utilizaban exactamente este modelo, y el artículo es un poco viejo.</p>
<p>Luego me topé con <a href="http://tbcorp.homeip.net/blog/?p=545">esta otra página</a>. El tipo simplemente decía que si tenés un WRT54GL y querés instalarle <a href="http://downloads.openwrt.org/kamikaze/release.txt">OpenWrt Kamikaze</a> (la última versión liberada), lo hagas por la interfáz web y listo. Nada de tftp, ni boot_wait. Así que me animé. Me bajé <a href="http://downloads.openwrt.org/kamikaze/7.09/brcm-2.4/openwrt-wrt54g-2.4-squashfs.bin">esta imagen</a> (notar que tiene la versión 2.4 del kernel, ya que la 2.6 tiene problemas con wireless), chequeé que el md5 sea correcto, fui a la página para actualizar el firmware, elegí el archivo, y Upgrade&#8230;</p>
<p><span id="more-166"></span><br />
Mientras la barra de progreso aumentaba, yo rogaba que no se corte la luz o algo así. Fue lindo ver el mensaje &#8220;Successfully upgraded&#8221; al final. Sin embargo eso no me dejó del todo tranquilo. Intenté ingresar via web, pero no funcionó&#8230; luego recordé que esta imagen oficial no trae <a href="http://x-wrt.org/">webif</a>. Como decían las instrucciones, me conecté via telnet a la dirección del router. Anduvo perfectamente. Así que cambié el password del root y automáticamente se activó ssh y se desactivó telnet.</p>
<p>Tuve que desenchufar y volver a conectar la energía en el modem, ya que aparentemente cambió la MAC del router, y no se conectaba a Internet. Después de eso todo anduvo perfectamente.</p>
<p>El paso siguiente fue activar, inmediatamente, boot_wait. Es una opción del router, que activa algo así como un boot loader. Tarda un poco más en bootear, pero nos habilita a cambiar fácilmente (en teoría) el firmware via TFTP.</p>
<p>OpenWrt tiene un manejador de paquetes tipo APT: ipkg. Con &#8220;ipkg install algo&#8221; instalan los programas, igual que en cualquier distro basada en Debian. De esta forma instalé webif, ya que la imagen que me bajé (la oficial) no lo traía por defecto. Si quieren una imagen que sí lo traiga, pueden pegarle un vistazo a <a href="http://downloads.x-wrt.org/xwrt/kamikaze/7.09/">esta web</a>. Son las imágenes del proyecto <a href="http://x-wrt.org/">X-Wrt</a>.</p>
<p>Si bien todavía no está estable para Kamikaze, webif está muy bueno. Pueden ver algunos <a href="http://www.bitsum.com/xwrt/">screenshots acá</a>. Desde aquí se pueden acceder a gráficas, estado, manejo de paquetes, reglas iptables, logs, cron, opciones generales del sistema, de la red, edición de archivos, etc&#8230; muy completo. También es posible tenerlo en varios lenguajes, simplemente instalando los paquetes correspondientes.</p>
<p>Sin embargo, aunque todavía no lo he explorado mucho, el firmware oficial de Linksys parecía brindar más facillidad para realizar algunas tareas como, por ejemplo, filtrado por MAC. En OpenWrt también se puede, obviamente, pero me refiero a webif: no parece facilitar las cosas para realizar ese tipo de filtrado.</p>
<h2>Configuración</h2>
<p>Esta buena la idea de <a href="http://wiki.openwrt.org/OpenWrtDocs/NetworkInterfaces#head-d919851d8688ecac0e1444fc8bc3ef688fd041e5">bridging</a>. Pero complicó, por lo visto, algunas cosas. Digo &#8220;por lo visto&#8221; porque no tengo muchos conocimientos de configuración de redes. Cuando quería filtrar tráfico de la interfaz wl0 (wireless) no funcionaba. Después de una serie de pruebas concluí que el bridge complicaba las cosas, por lo tanto lo quité, y simplemente ruteo los paquetes entre la red cableada a la inalámbrica. Ahora las reglas iptables funcionan.</p>
<p>Mis archivos de configuración cambiados son:</p>
<p>/etc/config/network:</p>
<pre lang="">
#### VLAN configuration
config switch eth0
        option vlan0    "0 1 2 3 5*"
        option vlan1    "4 5"

#### Loopback configuration
config interface loopback
        option ifname   "lo"
        option proto    static
        option ipaddr   127.0.0.1
        option netmask  255.0.0.0

#### LAN configuration
config interface lan
        #option type    bridge
        option ifname   "eth0.0"
        option proto    static
        option ipaddr   192.168.1.1
        option netmask  255.255.255.0

#### WiFi configuration
config interface wifi
        option ifname   wl0
        option proto    static
        option ipaddr   192.168.2.1
        option netmask  255.255.255.0

#### WAN configuration
config interface        wan
        option ifname   "eth0.1"
        option proto    dhcp
</pre>
<p>/etc/config/wireless:</p>
<pre lang="">
config wifi-device  wl0
        option type     broadcom
        option channel  5
        option distance 10
        option disabled 0

config wifi-iface
        option device   wl0
        option network  wifi
        option mode     ap
        option ssid     wasabi-depto
        option encryption       psk2
        option key      laClave
        option hidden   0
        option isolate  0
        option bgscan   0
</pre>
<p>/etc/config/dhcp:</p>
<pre lang="">
config dhcp
        option interface        wifi
        option start    100
        option limit    150
        option leasetime        12h

config dhcp
        option interface        lan
        option start    100
        option limit    150
        option leasetime        12h

config dhcp
        option interface        wan
        option ignore   1
</pre>
<p>Entre otras cosas, para permitir forward entre la red wireless e Internet y la red cableada, agregamos al archivo /etc/firewall.user esto:</p>
<pre lang="">
### WLAN Forwarding
# Entre clientes de la red wireless
iptables -A FORWARD -i wl0 -o wl0 -j ACCEPT

# Acceso a Internet desde la red wireless
iptables -A FORWARD -i wl0 -o eth0.1 -j ACCEPT

# Acceso a los hosts de la red cableada y viceversa
iptables -A FORWARD -i wl0 -o eth0.0 -j ACCEPT
iptables -A FORWARD -i eth0.0 -o wl0 -j ACCEPT
</pre>
<p>Una cosita que no encontré (en las opciones de webif) es el bloqueo de la interfaz web a todo lo que venga desde la conexión wireless, como sí está en el firmware oficial. Eso no es un problema, ya que al contar con iptables, simplemente bloqueo el acceso a webif y también a SSH:</p>
<pre lang="">
iptables -A input_rule -p tcp -i wl0 --dport 22 -j DROP
iptables -A input_rule -p tcp -i wl0 --dport 80 -j DROP
</pre>
<p>En el firmware oficial, esta protección está en nivel de aplicación, no a niver kernel como aquí.</p>
<p>Otras cositas que hice fue quitar los paquetes relacionados con ppp, ya que no los necesito. A esto se lo puede hacer desde la interfaz web, es muy sencillo:</p>
<p><center><img src='http://www.miltonpividori.com.ar/wp-content/uploads/2007/10/installed_packages.png' alt='installed_packages.png' /></center></p>
<p>En la misma sección se listan todos los paquetes disponibles que se pueden instalar. También es posible agregar nuevos repositorios o instalar un paquete remotamente.</p>
<h2>Algunos problemas y sus soluciones</h2>
<p>Para poder acceder a las opciones del router a través de webif o SSH desde la facultad u otro lugar con acceso a Internet, utilizaba updatedd. En la sección &#8220;DynDNS&#8221; de webif se prepara todo automáticamente al indicar qué servicio queremos utilizar. Yo utilizo <a href="http://freedns.afraid.org/">FreeDNS</a>, y no está disponible para este servicio. No me había preocupado mucho por esto, así que simplemente saqué una cuenta en DynDNS y listo.</p>
<p>Tengo que aclarar que esto no funcionó muy bien. Las opciones que setea automáticamente webif no son las correctas. Sin embargo, una vez corregido el problema, aparentemente updatedd no se fija, antes de actualizar, si la IP realmente cambió. De esta forma realiza actualizaciones innecesarias, y así la gente de DynDNS terminó por bloquear mi cuenta temporalmente. Dudo que al cambiar la IP realice la actualización, simplemente parece ejecutarse al inicio y no queda ningún proceso en background&#8230;</p>
<p>La solución fue directamente quitar updatedd y utilizar un simplemente script desde cron:</p>
<pre lang="bash">
#!/bin/sh
#FreeDNS updater script

UPDATEURL="http://freedns.afraid.org/dynamic/update.php?TjdnR25nZTBWNXhlTEN0OXJrMks6MjM1Mzc2MA=="
DOMAIN="router.miltonpividori.com.ar"

registered=$(nslookup $DOMAIN|tail -n2|grep A|sed 's/Address: //g'|cut -f1 -d ' ')
current=$(ifconfig eth0.1 | sed -e '/inet/!d' -e 's/.*addr://' -e 's/[ ].*//')

[ "$current" != "$registered" ] &#038;&#038; {
        wget -q -O /dev/null $UPDATEURL
        logger "IP actualizada en freedns.afraid.org"
}
</pre>
<h2>Otras cosas interesantes</h2>
<p>Otras de las cositas que me interesaron es un cliente <a href="http://es.wikipedia.org/wiki/Network_Time_Protocol">NTP</a>. De esta forma al iniciar el router la hora es sincronizada. No funciona si se utiliza simplemente el comando date para setearla: se borrará al reiniciar el router. Me pareció interesante este servicio, así en los logs, por ejemplo, queda registrada la hora correcta de los accesos, fallas, y demás cositas.</p>
<p>Finalmente, aclaro que hay bastante documentación al respecto. Por ahí no es tan exacta, y cuesta encontrarla, sobre todo porque Kamikaze es un versión bastante nueva, y a veces al leer algunas instrucciones se ve que todavía no fueron actualizadas para esta versión.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2007/10/16/openwrt-en-mi-router-linksys/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Drivers de ATI mejorados</title>
		<link>http://www.miltonpividori.com.ar/2007/09/18/drivers-de-ati-mejorados/</link>
		<comments>http://www.miltonpividori.com.ar/2007/09/18/drivers-de-ati-mejorados/#comments</comments>
		<pubDate>Tue, 18 Sep 2007 19:17:58 +0000</pubDate>
		<dc:creator>miltondp</dc:creator>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.miltonpividori.com.ar/?p=153</guid>
		<description><![CDATA[Hoy se me dio por probar los nuevos (y &#8220;mejoradísimos&#8221; como algún sitio de noticias decía por ahí) drivers de AMD, versión 8.41.7. En VivaLinux decían que &#8220;las ganancias en el desempeño son hasta del 90% en ciertos títulos OpenGL.&#8221;. No pude aguantarme Sin embargo no están recomendados por AMD para, por ejemplo, placas Mobility [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy se me dio por probar los nuevos (y &#8220;mejoradísimos&#8221; como algún sitio de noticias decía por ahí) drivers de AMD, versión 8.41.7. En <a href="http://www.vivalinux.com.ar/soft/por-fin-mejores-drivers-ati.html">VivaLinux</a> decían que &#8220;las ganancias en el desempeño son hasta del 90% en ciertos títulos OpenGL.&#8221;. No pude aguantarme <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Sin embargo no están recomendados por AMD para, por ejemplo, placas Mobility (la que tengo en mi laptop). Pero no importa&#8230; funcionan en lo esencial (ya les muestro los resultados), y además el mes que viene sale Gutsy Gibbon (o sea, reinstalación). Los posibles problemas que pueden haber, como con la salida de TV, no me asustan mucho. En todo caso volveré a los anteriores, pero valió la pena comprobar que realmente han mejorado mucho.</p>
<p>Antes de comenzar con todo el proceso de instalación (que pueden encontrar en <a href="http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide#Method_2:_Install_the_8.41.7_Driver_Manually">ésta guía</a>), hice unas <strong>pruebas con los drivers viejos (8.34.8)</strong> que vienen en Feisty, con la utilidad <em>fgl_glxgears</em> y <em>glxgears</em>. Con la primera, la media de <strong>cuadros por segundo</strong> fue de <strong>320</strong>, con la ventana en tamaño normal. Con los <strong>drivers nuevos</strong> los valores suben a <strong>490</strong> fps. Una mejora del 53% aproximadamente.</p>
<p>Con la utilidad glxgears las mejoras son del 60%. Muy buena la ganancia en el desempeño. Y encima ahora AMD ha liberado las especificaciones, y esta desarrollando un driver libre con Novell. Fue un gran acierto adquirir un placa ATI <img src='http://www.miltonpividori.com.ar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.miltonpividori.com.ar/2007/09/18/drivers-de-ati-mejorados/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

