<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.7" -->
<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>Ebarbeito</title>
	<link>http://enrique.barbeito.org</link>
	<description>Página personal de Enrique Barbeito García</description>
	<pubDate>Sat, 26 Jan 2008 18:55:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.7</generator>
	<language>es-es</language>
			<item>
		<title>cat, tac y rev</title>
		<link>http://enrique.barbeito.org/blog/cat-tac-y-rev/</link>
		<comments>http://enrique.barbeito.org/blog/cat-tac-y-rev/#comments</comments>
		<pubDate>Mon, 25 Apr 2005 22:12:15 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=512</guid>
		<description><![CDATA[  Una de las cosas que suelen caracterizar a los sistemas de la familia UNIX es la gran capacidad de modularizar tareas en utilidades independientes de tal modo que hayan programas que realicen una/pocas cosa/s en concreto y que funcionen perfetamente bien. De otro modo, no se explicaría con tanta lógica la posibilidad de disponer, [...] ]]></description>
			<content:encoded><![CDATA[<p> Una de las cosas que suelen caracterizar a los sistemas de la familia UNIX es la gran capacidad de modularizar tareas en utilidades independientes de tal modo que hayan programas que realicen una/pocas cosa/s en concreto y que funcionen perfetamente bien. De otro modo, no se explicaría con tanta lógica la posibilidad de disponer, de serie en cualquier <acronym title="GNU\'s Not Unix!">GNU</acronym>/Linux, programas como <pre class="php">tac</pre> o <pre class="php">rev</pre> (claro, también el seguramente más conocido <pre class="php">cat</pre> bastante más útil y común que los anteriores).</p>
<p><pre class="php">cat</pre> y <pre class="php">tac</pre> son utilidades que se encuentran dentro del paquete <em><acronym title="GNU\'s Not Unix!">GNU</acronym> Core Utilities</em>, <a href="http://www.gnu.org/software/coreutils" title="Coreutils">coreutils</a> para los amigos. Respecto a <pre class="php">rev</pre>, se puede encontrar dentro del paquete <a href="http://www.kernel.org/pub/linux/utils/util-linux/" title="Index of /pub/linux/utils/util-linux">util-linux</a>.</p>
<p>En cuanto al primero de ellos, <pre class="php">cat</pre>, simplemente decir que generalmente sirve para imprimir uno o varios ficheros concatenados; es el más común de los tres binarios comentados y seguramente sea conocido por la mayoría, sino la totalidad, de personas familiarizadas con el uso de sistemas Linux. <pre class="php">tac</pre> tiene el mismo propósito que su <em>hermano mayor</em>, <pre class="php">cat</pre>, pero con la peculiaridad de que invierte el flujo.</p>
<p>Su practicidad a primera vista no supera más de lo meramente anecdótico pero, cuidado, no subestimemos al lado oscuro de la fuerza (?). Ahí van un par de ejemplos para ilustrar un poco. Vamos a crear un par de ficheros más tontos que esta anotación:</p>
<pre class="codigoUnix">$ echo -e "hellonworld" &gt; say.hello
$ echo -e "goodnbye" &gt; say.bye</pre>
<p>Ahora concatenemos el contenido de ambos e imprimamos el resultado por la pantalla:</p>
<pre class="codigoUnix">$ cat say.hello say.bye
hello
world
good
bye</pre>
<p>En fin, pues allá va la gracia de <pre class="php">tac</pre>; repitamos el proceso pero invirtiendo el flujo automáticamente:</p>
<pre class="codigoUnix">$ cat say.hello say.bye |tac
bye
good
world
hello</pre>
<p>Curioso ¿no? Pues para los amantes del rizar el rizo tenemos a <pre class="php">rev</pre> para poner la guinda final. El objetivo de esta utilidad es invertir los caracteres de cada una de las líneas que bien le enviamos a través de uno o varios ficheros o directamente por la entrada estándar. Un par de ejemplos siguiendo los anteriores:</p>
<pre class="codigoUnix">$ cat say.hello say.bye |rev
olleh
dlrow
doog
eyb

$ cat say.hello say.bye |tac |rev
eyb
doog
dlrow
olleh</pre>
<p>Ahí queda eso, un par de utilidades &#8220;100% <acronym title="Last In First Out"><acronym title="Last In, First Out">LIFO</acronym></acronym>&#8221; donde las haya y una muestra de las maravillas que se <em>esconden</em> tras nuestro <em>basto e infinito</em> sistema operativo. Ahora fuera coñas, se recomienda echar un ojo a las utilidades que incorpora el buen (y vital) paquete coreutils (es <em>úniq</em>o, de verdad de la buena :))
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/cat-tac-y-rev/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DBDesigner 4 en castellano</title>
		<link>http://enrique.barbeito.org/blog/dbdesigner-4-en-castellano/</link>
		<comments>http://enrique.barbeito.org/blog/dbdesigner-4-en-castellano/#comments</comments>
		<pubDate>Mon, 14 Mar 2005 23:02:46 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=498</guid>
		<description><![CDATA[  Y después de la anterior nota comentando las virtudes de este entorno visual para el fácil diseño de bases de datos, veamos la posibilidad que hay de conseguir traducir el entorno al castellano. Decir que por el momento he estado probando la versión de DBDesigner 4 para GNU/Linux (aunque también tengo intenciones de emplearlo [...] ]]></description>
			<content:encoded><![CDATA[<p> Y después de <a href="http://blog.enrique.barbeito.org/archivos/2005/03/14/dbdesigner-4-diseno-de-bases-de-datos/" title="DBDesigner 4 - diseño de bases de datos">la anterior nota</a> comentando las virtudes de este entorno visual para el fácil diseño de bases de datos, veamos la posibilidad que hay de conseguir traducir el entorno al castellano. Decir que por el momento he estado probando la versión de DBDesigner 4 para <acronym title="GNU\'s Not Unix!">GNU</acronym>/Linux (aunque también tengo intenciones de emplearlo en <acronym title="Microsoft">MS</acronym>. Windows) así que lo que diré a continuación es aplicable a este sistema, e imagino que extrapolable a <acronym title="Microsoft">MS</acronym>. Windows.</p>
<p>Por defecto, a la hora de instalar la aplicación, ésta nos muestra la interfaz en tres idiomas posibles: Inglés (predeterminado), Alemán y Francés. En un primer instante, parece que no es posible disponer del programa en nuestro idioma ya que, además, en la <a href="http://www.fabforce.net/dbdesigner4/" title="fabFORCE.net - DBDesigner 4">página principal</a> no se encuentra ningún paquete de localización ni nada que se le asemeje. Buscando un poco en Google he llegado hasta <a href="http://www.mysql-hispano.org/index.php?m=read&#038;id=206" title="DBDesigner4 en español">esta página</a> dentro del portal <a href="http://www.mysql-hispano.org" title="MySQL Hispano - La comunidad de usuarios de MySQL">MySQL-Hispano</a> en la que se puede descargar una actualización del fichero de traducciones que tiene DBDesigner 4 con la adición de un cuarto idioma: el castellano :-)</p>
<p>Los pasos a seguir para disponer de una configuración local de la aplicación traducida al castellano son:</p>
<ol>
<li>Descargar el fichero <a href="http://www.mysql-hispano.org/recursos/dbdesigner_es_v1.0.zip" title="dbdesigner_es_v1.0.zip">dbdesigner_es_v1.0.zip</a>, cortesía de <em>Eduardo</em>, usuario registrado del portal <em>MySQL-Hispano</em>.</li>
<li>Situarnos en el directorio <pre class="php">~/.DBDesigner4/</pre>. Éste se crea la primera vez que se ejecuta la aplicación.</li>
<li>Descomprimir el fichero <pre class="php">dbdesigner_es_v1<span style="color: #cc66cc;">.0</span>.zip</pre> en el directorio anterior. Este fichero comprimido consta de tres ficheros: <pre class="php">Language.ini</pre>, <pre class="php">DBDesigner4_Translations.ini</pre> y <pre class="php">DBDesigner4_Translations.txt</pre>; éstos deben quedar en el directorio <pre class="php">~/.DBDesigner4/</pre>, reemplazando a los tres ficheros existentes con dichos nombres.</li>
<li>Ahora solo queda ejecutar DBDesigner 4 (comando <pre class="php">startdbd</pre>) y pinchar en el menú de opciones: <em>Options</em> -&gt; <em>DBDesigner Options</em>. Justo en la ventana que aparece hay un marco llamado &#8220;<em>Program Language</em>&#8221; con una caja de opciones que, si la desplegamos ahora, veremos que está disponible la selección de los tres idiomas de serie más el castellano (<em>Spanish</em>). Seleccionamos y guardamos cambiados, ya está :-)</li>
</ol>
<p>Decir que la interfaz no está del todo preparada para albergar las traducciones pues no se ha preveido el crecimiento de las cadenas de texto en otros idiomas, como el castellano, quedándose a veces corta la superficie de los formularios para contener las cadenas de texto castellanizadas. Pero en fin, no deja de ser una gran ventaja para muchos el disponer de la interfaz traducida ¿no? :-) Desde aquí agradecerle enormemente el tiempo dedicado a Eduardo para que podamos utilizar la aplicación en nuestro idioma. ¡Gracias!</p>
<p>[ <strong>actualización @ 00:15</strong>: Gracias <a href="http://blog.enrique.barbeito.org/archivos/2005/03/14/dbdesigner-4-diseno-de-bases-de-datos/#comment-4967" title="Comentario por Yearofthedragon - Martes , 15/3/2005 @ 00:02">este comentario</a> aparecido en la anterior nota mientras escribía ésta, me entero de que ¡ya hay alguien trabajando en la traducción de la documentación de DBDesigner 4 al castellano! El proceso actualmente se encuentra en un 50% y se puede ver en <a href="http://vidaartificial.com/DBDesigner4/" title="DBDesigner 4 - Documentación Online">esta página</a>. Además, para traducir la interfaz se puede utilizar este fichero: <a href="http://vidaartificial.com/DBDesigner4/dbdesigner_es_v1.9.zip" title="dbdesigner_es_v1.9.zip">dbdesigner_es_v1.9.zip</a>, aparentemente más actualizado que el anteriormente comentado. ]
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/dbdesigner-4-en-castellano/feed/</wfw:commentRss>
		</item>
		<item>
		<title>emerge moo</title>
		<link>http://enrique.barbeito.org/blog/emerge-moo/</link>
		<comments>http://enrique.barbeito.org/blog/emerge-moo/#comments</comments>
		<pubDate>Sun, 20 Feb 2005 17:47:27 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Gentoo</category>

		<category>Trucos</category>

		<guid isPermaLink="false">/?p=493</guid>
		<description><![CDATA[  Vía Giingo topo con ésto:
# emerge moo

  Gentoo (Linux)
 _______________________
&#60; Have you mooed today? &#62;
 -----------------------
           ^__^
           (oo)_______
            (__)    [...] ]]></description>
			<content:encoded><![CDATA[<p> Vía <a href="http://giingo.org/index.php?p=55" title="Have you mooed today?">Giingo</a> topo con ésto:</p>
<pre class="codigoUnix"># emerge moo

  Gentoo (Linux)
 _______________________
&lt; Have you mooed today? &gt;
 -----------------------
           ^__^
           (oo)_______
            (__)       )//
                ||----w |
                ||     ||

Calculating dependencies
emerge: there are no ebuilds to satisfy "moo".</pre>
<p>Hace como dos semanas ya lo había visto en otro sitio (que no consigo recordar :( ) pero no lo probé al no tener en aquel momento disponible <pre class="php">emerge</pre>. Nada más, tenía ganas de ponerlo también yo por aquí :-) Esta curiosa orden es la versión <a href="http://www.gentoo.org" title="Gentoo Linux">Gentoo</a> del comando original que incorpora el apt-get de <a href="http://www.debian.org" title="Debian - The Universal Operating System">Debian</a> jeje</p>
<pre class="codigoUnix"># apt-get moo
         (__)
         (oo)
   /------/
  / |    ||
 *  /---/
    ~~   ~~
...."Have you mooed today?"...</pre>
<p>Pero qué grande que es el Software Libre. Parece que la vaca es animal sagrado en muchas culturas jejeje. Sin irnos muy lejos, en Gentoo disponemos de <a href="http://www.gentoo.org/main/en/about.xml" title="About Gentoo Linux">Larry the cow</a> (oficial del proyecto Gentoo Linux) y <a href="http://breakmygentoo.net/archives/cat_barry_the_cow.html" title="Barry The Cow">Barry the cow</a> (idea de <a href="http://www.breakmygentoo.net/" title="breakmygentoo">breakmygentoo</a> ;-)). Los dibujos <acronym title="American Standard Code for Information Interchange">ASCII</acronym> que muestran <pre class="php">emerge moo</pre> y <pre class="php">apt-get moo</pre> están sacados, me parece, del paquete <a href="http://www.nog.net/~tony/warez/cowsay.shtml" title="cowsay and cowthink">cowsay</a>:</p>
<pre class="codigoUnix">$ cowsay -f default.cow "emerge moo" 2&gt;/dev/null
 ____________
&lt; emerge moo &gt;
 ------------
           ^__^
           (oo)_______
            (__)       )/
                ||----w |
                ||     ||

$ cowsay -f satanic.cow "apt-get moo" 2&gt;/dev/null
 _____________
&lt; apt-get moo &gt;
 -------------
     
        (__)
         (/)
  /-------/
 / | 666 ||
*  ||----||
   ~~    ~~</pre>
<p>Demonios, pingüinos, vacas, &#8230; <a href="http://linux.ciberaula.com/articulo/fauna_software_libre/" title="La fauna del Software Libre">La fauna del Software Libre</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/emerge-moo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Apagar sin ser root</title>
		<link>http://enrique.barbeito.org/blog/apagar-sin-ser-root/</link>
		<comments>http://enrique.barbeito.org/blog/apagar-sin-ser-root/#comments</comments>
		<pubDate>Sun, 20 Feb 2005 16:15:49 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=492</guid>
		<description><![CDATA[  Hace unas semanas buscaba la manera de apagar / reiniciar mi escritorio directamente desde una sesión abierta como usuario no root. La verdad que hay muchas, tal vez la más sencilla sea utilizando sudo dando permiso a/los usuario/s !root que quieras. Al final me dio por usar la siguiente forma, encontrada en esdebian (?):
# [...] ]]></description>
			<content:encoded><![CDATA[<p> Hace unas semanas buscaba la manera de apagar / reiniciar mi <strong>escritorio</strong> directamente desde una sesión abierta como <em>usuario no root</em>. La verdad que hay muchas, tal vez la más sencilla sea utilizando <a href="http://www.courtesan.com/sudo/" title=" Sudo Main Page">sudo</a> dando permiso a/los usuario/s <abbr title="no">!</abbr>root que quieras. Al final me dio por usar la siguiente forma, encontrada en <del><a href="http://www.esdebian.org/article.php?story=20021130171001441" title="Como apagar si ser root">esdebian</a></del> (<abbr title="Enlace roto">?</abbr>):</p>
<pre class="codigoUnix"># groupadd shutdown
# chgrp shutdown /sbin/shutdown /sbin/reboot /sbin/halt
# chmod u+s,o-rwx /sbin/shutdown /sbin/reboot /sbin/halt
# ln -s /sbin/halt /usr/bin/halt
# ln -s /sbin/reboot /usr/bin/reboot
# ln -s /sbin/shutdown /usr/bin/shutdown

# vi /etc/group
   shutdown:x:407:root,enrique</pre>
<p>Lo sé, no es elegante que digamos y, a priori, da <em>un poco de mal rollo</em> pero lo cierto es que está bastante bien para mi portátil; además es <em> 100% estándar</em> (en el sentido de que no necesitas de herramientas adicionales). Hace poco <a href="http://sigt.net" title="SigT">SigT</a> propuso otra forma, bastante cómoda :), para hacer lo mismo con menos esfuerzo: [ <a href="http://sigt.net/archivo/acpid-ni-halt-ni-shutdown-ni-ostias.xhtml" title="ACPID: Ni halt, ni shutdown ni ostias">aquí</a> ] la solución.</p>
<p>Y además <a href="http://blog.enrique.barbeito.org/archivos/2003/05/04/ctrlaltsup-halt/" title="Ctrl+Alt+Sup &gt;&gt; HALT">ya se habló</a> de las tres teclas mágicas. No hay de qué quejarse, existen multitud de <em>métodos</em> así que, hagan sus apuestas, ¿cómo os gusta apagar / reiniciar el escritorio?
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/apagar-sin-ser-root/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Agilizando Adobe Reader 6.0</title>
		<link>http://enrique.barbeito.org/blog/agilizando-adobe-reader-60/</link>
		<comments>http://enrique.barbeito.org/blog/agilizando-adobe-reader-60/#comments</comments>
		<pubDate>Sat, 12 Feb 2005 11:10:44 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=487</guid>
		<description><![CDATA[  A continuación pongo un pequeño truco, al menos ya comentado en pjorge, que puede resultar muy útil para aquellos usuarios del lector de PDFs Adobe Acrobat Reader 6.0 para sistemas Windows.

Dirigirse al dirctorio C:Archivos de programa\Adobe\Acrobat 6.0\Reader\plug_ins\
Seleccionar y cortar todo el contenido existente excepto los ficheros EWH32.api, printme.api y search.api
Pegar el conjunto de directorios [...] ]]></description>
			<content:encoded><![CDATA[<p> A continuación pongo un pequeño truco, al menos ya comentado en <a href="http://pjorge.com/archivo/2004/12/18/17:57:45/" title="Instrucciones para que Acrobat Reader 6 cargue más rápido">pjorge</a>, que puede resultar muy útil para aquellos usuarios del lector de PDFs <em>Adobe Acrobat Reader 6.0</em> para sistemas Windows.</p>
<ol>
<li>Dirigirse al dirctorio <pre class="php">C:Archivos de programa\Adobe\Acrobat <span style="color: #cc66cc;">6.0</span>\Reader\plug_ins\</pre></li>
<li>Seleccionar y cortar todo el contenido existente excepto los ficheros <pre class="php">EWH32.api</pre>, <pre class="php">printme.api</pre> y <pre class="php">search.api</pre></li>
<li>Pegar el conjunto de directorios y ficheros cortados anteriormente al directorio <pre class="php">Optional</pre> que se encuentra justo en el mismo nivel que <pre class="php">plug_ins</pre> (es decir, en: <pre class="php">C:Archivos de programa\Adobe\Acrobat <span style="color: #cc66cc;">6.0</span>\Reader\Optional\</pre>)</li>
<li>Y ya está. Faltaría ejecutar Adobe Reader, ver que siga funcionando y comprobar con satisfacción la velocidad con que ahora arranca.</li>
</ol>
<p>Sé que la versión 6.0 ya no es la actual. Todavía no he probado la 7.0 puesto que tengo instalado la 6 y no tengo necesidad / curiosidad de cambiar. No sé qué tal funciona la 7.0 ni tampoco si sigue siendo tan lentorra como su predecesora versión, pero tal vez funcione este truquillo &#8211;quién sabe&#8211; El tema sería probarlo y, si no convence el resultado, dejarlo todo tal y como estaba en un principio.</p>
<p>Por cierto, para usuarios de Adobe Acrobat 6.0 Professional, la jugada es un poco distinta. Sobre todo porque hay que dejar donde están algunos plugins más para poder siguiendo generar ficheros <acronym title="Portable Document Format">PDF</acronym>.
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/agilizando-adobe-reader-60/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Macromedia Flash Player en Linux</title>
		<link>http://enrique.barbeito.org/blog/macromedia-flash-player-en-linux/</link>
		<comments>http://enrique.barbeito.org/blog/macromedia-flash-player-en-linux/#comments</comments>
		<pubDate>Sun, 31 Oct 2004 20:28:56 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=444</guid>
		<description><![CDATA[  Hoy en día &#8211;en realidad desde hace ya mucho&#8211; es posible instalar semi-automáticamente el pertinente plugin de Flash para poder cargar del todo sitios web con esta tecnología incrustada. Ya sea gracias a los paquetes que hay preparados para casi cualquier distribución, donde no tienes más que teclear una sencilla instrucción para que tu [...] ]]></description>
			<content:encoded><![CDATA[<p> <em>Hoy en día</em> &#8211;en realidad desde hace ya mucho&#8211; es posible instalar <em>semi-automáticamente</em> el pertinente plugin de Flash para poder cargar del todo sitios web con esta tecnología incrustada. Ya sea gracias a los paquetes que hay preparados para casi cualquier distribución, donde no tienes más que teclear una sencilla instrucción para que tu manejador de paquetes se ponga en marcha, o mediante el script en BASH que el propio tarball de M. Flash Player trae consigo, donde no hay más que ejecutarlo.</p>
<p>Otra opción es instalarlo manualmente pues, en realidad (y salvaguardando posibles prerrequisitos para echar a andar el plugin), se trata únicamente de copiar dos ficheros al directorio de plugins de nuestro navegador. Personalmente siempre lo he venido haciendo así &#8211;hasta que me cambié a Gentoo Linux, momento en el cual emerge pasó a hacerlo por mí&#8230;&#8211; Para instalarlo manualmente no tenemos más que:</p>
<ul>
<li>Descargar el tarball de marras, de [ <a href="http://fpdownload.macromedia.com/get/shockwave/flash/english/linux/7.0r25/install_flash_player_7_linux.tar.gz" title="install_flash_player_7_linux.tar.gz">aquí</a> ] A día de hoy, se trata de la versión 7,0,25,0 del Macromedia Flash Player 7 precompilado para x86</li>
<li>Desempaquetarlo:
<pre>$ tar xvfz install_flash_player_7_linux.tar.gz
install_flash_player_7_linux/
install_flash_player_7_linux/flashplayer.xpt
install_flash_player_7_linux/libflashplayer.so
install_flash_player_7_linux/flashplayer-installer
install_flash_player_7_linux/Readme.htm
install_flash_player_7_linux/Readme.txt</pre>
</li>
<li>Copiar &#8211;como usuario root&#8211; los ficheros flashplayer.xpt y libflashplayer.so al directorio plugins/</code> de nuestro navegador (basado en Mozilla). En mi caso se trataría del directorio /usr/lib/MozillaFirefox/plugins/
<pre># cp flashplayer.xpt libflashplayer.so /usr/lib/MozillaFirefox/plugins/</pre>
</li>
</ul>
<p>Desde la versión 6.0r81 hasta la actual del plugin de flash se requiere la librería compartida /usr/lib/libstdc++-libc6.2-2.so.3 (en mi caso, enlace simbólico a /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so).
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/macromedia-flash-player-en-linux/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Corrector de ortografía con OpenOffice.org</title>
		<link>http://enrique.barbeito.org/blog/corrector-de-ortografia-con-openofficeorg/</link>
		<comments>http://enrique.barbeito.org/blog/corrector-de-ortografia-con-openofficeorg/#comments</comments>
		<pubDate>Sun, 10 Oct 2004 17:23:06 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=433</guid>
		<description><![CDATA[  La ortografía, ese conjunto de normas que regulan la perfecta escritura de cualquier lengua escrita&#8230; No lo niego, me gusta la ortografía: leer y escribir textos que estén redactados correctamente. En fin, al menos se intenta porque sé que siempre cometo alguna que otra falta de ortografía. Personalmente suelo pasar un corrector ortográfico a [...] ]]></description>
			<content:encoded><![CDATA[<p> La ortografía, ese conjunto de normas que regulan la perfecta escritura de cualquier lengua escrita&#8230; No lo niego, me gusta la ortografía: leer y escribir textos que estén redactados correctamente. En fin, al menos se intenta porque sé que siempre cometo alguna que otra <em>falta de ortografía</em>. Personalmente suelo pasar un corrector ortográfico a (casi) todos los textos que escribo en esta página. Más que <em>pasar un corrector</em>&#8230; me limito a pegar el texto sobre un procesador de textos (normalmente <a href="http://www.abisource.com/" title="AbiWord">AbiWord</a>) que venga complementado con algún corrector ortográfico y un diccionario para su uso (normalmente <a href="http://aspell.sourceforge.net/" title="GNU Aspell"><acronym title="GNU\'s Not Unix!">GNU</acronym> Aspell</a>) y a corregir &#8220;a ojo&#8221; las faltas de ortografía que quedan señaladas con esa característica línea en rojo. Lo hago así porque frecuentemente utilizo etiquetas <acronym title="HyperText Markup Language">HTML</acronym>, palabras reservadas de algún lenguaje, terminología de otras lenguas (inglés) o símbolos que me hacen muy lenta la revisión si voy palabra por palabra marcada con el corrector. Así que lo hago &#8220;a ojo&#8221; y soy consciente de que se me deben pasar infinidad de faltas ortográficas.</p>
<p>La instalación de OpenOffice.org viene desacompañada de diccionarios para el corrector ortográfico que éste lleva incorporado. El motivo lo desconozco, seguramente no sea otro que la de no aumentar <em>absurdamente</em> el tamaño del paquete final, dejando a elección del usuario la descarga y uso del diccionario que le venga en falta.</p>
<p>Yo normalmente utilizo la combinación Abiword + Aspell(es) &#8211;combinación perfecta y ágil para quienes no necesiten más que un procesador de textos sin demasiadas florituras&#8211; pero hoy me ha dado por utilizar el procesador de textos de OpenOffice para pasar a ordenador unos ejercicios de bases de datos que tengo que presentar el miércoles. Así que antes de nada, he querido poner a punto el corrector de ortografía (muy importante cuando, además de escribir, se trata de presentar cualquier tipo de informe ¿no?). Tengo OpenOffice.org instalado tanto en mi Gentoo Linux como en mi Microsoft Windows XP Professional (<em>and Always Ripped</em>) Edition. Si nunca te has preguntado cómo demonios agregar diccionarios a tu OpenOffice (difícil no hacerlo&#8230;) aquí tienes una pequeña explicación de cómo hacerlo en ambos sistemas operativos.</p>
<p><a id="more-433"></a></p>
<p>En Windows la cosa es casi transparente, puesto que existe una aplicación, escrita en Borland Delphi por <em>Lee Corbin</em>, llamada <a href="http://www.ooodocs.org/dictinstall/es/" title="Instalador de Diccionarios OpenOffice.org">DictInstall</a> con la que automatizar tanto el proceso de descarga de diccionarios (en cualquier idioma soportado por <acronym title="OpenOffice.org">OOo</acronym>) como la instalación de los mismos. Todo consiste en descargar el programita, que no requiere instalación alguna, descomprimirlo en algún directorio y ejecutarlo. Es seguir los pasos. En uno de ellos se descargará la lista de idiomas y te pedirá que selecciones los que deseas instalar para el corrector. Una vez termines el proceso, podrás abrir cualquier aplicación de la <em>suite</em> y si tienes activada la opción de revisar la ortografía automáticamente, verás cómo a cada burrada ortográfica que cometes se queda subrayada en rojo ;-)</p>
<p>En Linux el tema no es tan <em>mágico</em> como en Windows que, por arte de magia, ¡tachááán! ya tenemos corrector (¡Ala! ¡¡Alegría!!). <strong>No</strong>, el mundo no funciona así por arte de magia. ¡Aquí somos tipos muy duros, coño! Gente sin complejos, que quiere saber qué está pasado, por qué pasa y cómo es posible. Sí, así somos ¡¡Oh yeah!! La información = poder, Free your Mind y todas esas gilipolleces. Bueno&#8230; XD después de la rayada del día, la cosa trata de descargar un ficherito con el diccionario en cuestión y editar un archivo en el que le especificaremos qué diccionarios deseamos integrar a la suite ofimática:</p>
<ol>
<li>Descargar el diccionario. Se trata de un fichero <em>zip</em> o <em>tar.gz</em>. En enlace directo al diccionario de castellano (es_ES) lo tenéis [ <a href="http://ftp.services.openoffice.org/pub/OpenOffice.org/contrib/dictionaries/es_ES.zip" title="es_ES.zip">aquí</a> ]. Interesados en otras lenguas mover el pompis (recordar: ¡somos mega duros! ¡¡quien quiera peces, a mojarse el pompis, ostia puta!!)</li>
<li>El procedimiento lo podemos ejecutar de dos modos: global (como usuario root, integrar el diccionario/s para todos los usuarios) o local (para un solo usuario). Yo lo he hecho global. Tengo instalado Ximian OpenOffice 1.1.57 en /opt/Ximian-OpenOffice/. Hay que cambiarse de subdirectorio /user/wordbook a donde esté instalado OpenOffice (/opt/Ximian-OpenOffice/user/wordbook/), descomprimir el fichero que nos acabamos de bajar (es_ES.zip) y editar el fichero dictionary.lst para añadir una línea para nuestro diccionario:
<pre class="codigo"># cd /opt/Ximian-OpenOffice/user/wordbook/
# unzip ~/es_ES.zip
# echo "DICT es ES es_ES" >> dictionary.lst
[ # rm README_es_ES.txt ]
</pre>
<p>Si se desea hacer de modo local, lo único que cambia es el directorio en el que descomprimir el fichero es_ES.zip. En mi caso en ~/.xopenoffice/1.1.1/user/wordbook/</li>
</ol>
<p>Útil e inocuo para todo el mundo. Diccionarios OpebOffice.org: <em>póntelo, pónselo</em>.
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/corrector-de-ortografia-con-openofficeorg/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ximian OpenOffice</title>
		<link>http://enrique.barbeito.org/blog/ximian-openoffice/</link>
		<comments>http://enrique.barbeito.org/blog/ximian-openoffice/#comments</comments>
		<pubDate>Mon, 14 Jun 2004 09:04:29 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Gentoo</category>

		<category>Trucos</category>

		<guid isPermaLink="false">/?p=395</guid>
		<description><![CDATA[  Para quienes trabajen con este paquete ofimático, OpenOffice.org, seguramente les interese saber que existe una versión ximianizada, Ximian OpenOffice.org, la cual mejora el aspecto de la suite.
Ahí va un pequeño truco para compilar Ximian OpenOffice en español, a través de Portage. Existen un par de ebuilds llamados openoffice-ximian, para compilar por tu cuenta la [...] ]]></description>
			<content:encoded><![CDATA[<p> Para quienes trabajen con este paquete ofimático, <a href="http://www.openoffice.org/" title="openoffice.org/">OpenOffice.org</a>, seguramente les interese saber que existe una versión <em><a href="www.ximian.com" title="Ximian">ximian</a>izada</em>, <a href="http://ooo.ximian.com/" title="Ximian OpenOffice.org">Ximian OpenOffice.org</a>, la cual mejora el aspecto de la suite.</p>
<p>Ahí va un pequeño truco para compilar <em>Ximian OpenOffice</em> en español, a través de <a href="http://www.gentoo.org" title="Gentoo">Portage</a>. Existen un par de ebuilds llamados <a href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/*checkout*/app-office/openoffice-ximian/ChangeLog" title="ChangeLog for app-office/openoffice-ximian">openoffice-ximian</a>, para compilar por tu cuenta la suite, y <a href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/*checkout*/app-office/openoffice-ximian-bin/ChangeLog" title="ChangeLog for app-office/openoffice-ximian-bin">openoffice-ximian-bin</a>, para descargar e instalar los binarios ya preparados. Pues para compilarlo en español hacemos:</p>
<pre class="codigoUnix">LANGUAGE="34" emerge openoffice-ximian</pre>
<p>Una vez hecho esto, comenzaremos a descargar las fuentes y a desempaquetarlas. Una vez llegado a este punto podremos ver con satisfacción lo siguiente:</p>
<pre class="codigoUnix">&gt;&gt;&gt; Source unpacked.
 * Configuring OpenOffice.org with language support for Spanish...</pre>
<p>:-)</p>
<p><em>La clave</em> como se puede suponer es ese código numérico, que hace referencia al lenguaje que nos atañe. Hurgando un poco en en interior del último ebuild hasta el momento para Ximian OpenOffice, openoffice-ximian-1.1.59.ebuild, he encontrado el listado completo de estos números con su correspondiente lenguaje asociado (busqué por Google alguna página que mantuviera algún tipo de listado sobre el tema pero no he conseguido hallar nada), aquí lo tenemos por si en algún momento pueda hacer falta:</p>
<ul>
<li>01 - Inglés (<em>predeterminado</em>)</li>
<li>03 - Portugués</li>
<li>07 - Ruso</li>
<li>30 - Griego</li>
<li>31 - Holandés</li>
<li>33 - Francés</li>
<li><strong>34 - Español</strong></li>
<li>35 - Finlandés</li>
<li><strong>37 - Catalán</strong></li>
<li>39 - Italiano</li>
<li>42 - Checo</li>
<li>43 - Eslovaco</li>
<li>45 - Danés</li>
<li>46 - Sueco</li>
<li>48 - Polaco</li>
<li>49 - Alemán</li>
<li>55 - Brasileño</li>
<li>66 - Tailandés</li>
<li>77 - Estonio</li>
<li>81 - Japonés</li>
<li>82 - Coreano</li>
<li>86 - Chino Simplificado (PRC)</li>
<li>88 - Chino Tradicional (taiwán)</li>
<li>90 - Turco</li>
<li>91 - Hindi</li>
<li>96 - Árabe</li>
<li>97 - Hebreo</li>
</ul>
<p>He destacado con negrita aquellos que son de habla común en España, aunque faltan el Gallego o el Euskera.</p>
<p>Y ya puestos, recomendar a todos los que nos da por (re)compilarlo todo el marcar en el fichero <a href="http://blog.enrique.barbeito.org/archives/2003/09/26/control-de-paquetes-individualmente/" title="Control de paquetes individualmente">/etc/make.profile/packages</a> el ebuild app-office/openoffice-ximian-1.1.57 (en el caso de tener compilada la versión 1.1.57; mi caso) para que cada vez que obtengamos una nueva versión para Ximian OpenOffice no nos aparezca en el listado de paquetes a actualizar a la hora de hacer, por ejemplo, un emerge -UDp world</p>
<pre class="codigoUnix">nano /etc/make.profile/packages

    =app-office/openoffice-ximian-1.1.57</pre>
<p>OpenOffice es, casi sin dudarlo, el paquete que más tiempo de compilación requiere. Sin ir más lejos, aquí va el tiempo que a mí me tardó en <a href="http://blog.enrique.barbeito.org/archives/2003/06/06/ya-tengo-porttil/" title="Ya tengo portátil :)">el portátil</a>:</p>
<pre class="codigoUnix"># genlop -t openoffice-ximian |tail -n 3
     Sat Jun  5 10:12:53 2004 &gt;&gt;&gt; app-office/openoffice-ximian-1.1.57
       merge time: 18 hours, 15 minutes and 15 seconds.</pre>
<p>Jeje, personalmente no veo viable actualizar este paquete cada vez que cambiamos, por ejemplo, de la versión 1.1.55 a la 1.1.57 o a la 1.1.59. Casi que es más apropiado &#8220;congelar&#8221; la actualización de OpenOffice hasta que aparezca la versión 2.0 (al menos en mi caso hasta esas fechas que no pienso actualizar jeje)
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/ximian-openoffice/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8220;Colgado&#8221; a los árboles</title>
		<link>http://enrique.barbeito.org/blog/colgado-a-los-rboles/</link>
		<comments>http://enrique.barbeito.org/blog/colgado-a-los-rboles/#comments</comments>
		<pubDate>Tue, 10 Feb 2004 10:56:38 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=322</guid>
		<description><![CDATA[  En fin&#8230; hoy parepce que tenemos el día tontorrón, así que os voy a mostrar otro par de utilidades en línea de comandos que, si no las conocíais ya, me imagino que os podrán llegar a ser útiles en algún momento.
Árbol de directorios
Si queremos (o necesitamos) echar un vistazo global/recursivo al contenido de un [...] ]]></description>
			<content:encoded><![CDATA[<p> En fin&#8230; hoy parepce que tenemos el día tontorrón, así que os voy a mostrar otro par de utilidades en línea de comandos que, si no las conocíais ya, me imagino que os podrán llegar a ser útiles en algún momento.</p>
<h5>Árbol de directorios</h5>
<p>Si queremos (o necesitamos) echar un vistazo global/recursivo al contenido de un determinado directorio, podemos echar mano de una simple utilidad, que seguramente deberemos instalar, llamada <a href="http://mama.indstate.edu/users/ice/tree/" target="nwindow" title="Tree homepage">tree</a>. Su manejo es bastante sencillo pudiendo combinar varios de los múltiples parámetros que incorpora. Vamos a ver varios ejemplos de uso y, ya puestos, a jugar un poco con el bucle for:</p>
<ul>
<li>Creemos antes de nada un entorno de directorios controlado para hacer nuestras pruebas con tree:
<div class="codigoUnix">$ mkdir prueba; cd prueba<br />
$ for dir in $(yes |head -n 5); do mkdir $(date +%N); done;<br />
$ for dir in *; do cd $dir; mkdir -p $(date +%N)/$(date +%N)/$(date +%N); cd ../; done;</div>
</li>
<li>Bueno&#8230; si queremos ver qué leches hemos hecho con lo anterior, no tenemos más que valernos de tree. El uso más sencillo es lanzarlo tal cual:
<pre class="codigoUnix">$ tree .
.
|-- 672348000
|   `-- 723915000
|       `-- 729028000
|           `-- 734024000
|-- 680732000
|   `-- 743132000
|       `-- 748515000
|           `-- 753526000
|-- 690045000
|   `-- 769044000
|       `-- 783853000
|           `-- 807869000
|-- 698223000
|   `-- 816492000
|       `-- 822773000
|           `-- 827684000
`-- 706366000
    `-- 836198000
        `-- 841585000
            `-- 846557000

20 directories, 0 files
</pre>
</li>
<li>Si queremos que no nos muestre toda la jerarquía de ficheros que contiene el directorio listado, podemos especificar hasta qué nivel listar. Gracias al parámetro -L
<pre class="codigoUnix">$ tree . -L 2
.
|-- 672348000
|   `-- 723915000
|-- 680732000
|   `-- 743132000
|-- 690045000
|   `-- 769044000
|-- 698223000
|   `-- 816492000
`-- 706366000
    `-- 836198000

10 directories, 0 files
</pre>
</li>
<li>Si no nos interesa saber el total de directorios y ficheros listados (por ejemplo, porque queremos volcar solo el árbol de directorios, sin nada más, a un fichero de texto) podemos emplear la opción &#8211;noreport
<pre class="codigoUnix">$ tree . -L 3 --noreport > misficheros

$ cat misficheros
.
|-- 672348000
|   `-- 723915000
|       `-- 729028000
|-- 680732000
|   `-- 743132000
|       `-- 748515000
|-- 690045000
|   `-- 769044000
|       `-- 783853000
|-- 698223000
|   `-- 816492000
|       `-- 822773000
|-- 706366000
|   `-- 836198000
|       `-- 841585000
`-- misficheros
</pre>
<p>Ahí está, ha omitido la última línea en ejemplos anteriores.</li>
<li>Los límites los podéis poner vosotros. Este fichero puede ser útil a la hora de escribirse algún script casero donde necesitemos el número de directorios contenidos en un determinado directorio. Del mismo modo para conocer los ficheros.
<pre class="codigoUnix">$ cat sacaFiles.sh</pre>
<pre class="codigo"><a href="archives/000337.php" title="sacaFiles.sh">ver anotación</a> del script <em>sacaFiles.sh</em></pre>
<pre class="codigoUnix">$ sh sacaFiles.sh -d
El directorio /home/neuronal/prueba tiene 20 directorios.</pre>
</li>
<li>Si te parezco un puto pedante de mierda, entonces a man tree le odiarás con todas tus ganas (él lo sabe y nos lo dice todo :))</li>
</ul>
<p><a id="more-322"></a></p>
<h5>Árbol de procesos</h5>
<p>De modo parecido, podemos ver un listado de procesos vivos, en árbol. Hasta ahora utilizada un ps f, pero hace unos días conocí a un tal pstree (forma parte del paquete <a href="http://psmisc.sourceforge.net/" title="PSmisc - Main Page">psmisc</a>). Veamos un <em>medio ejemplo</em> y dejemos aquí el tema:</p>
<pre class="codigoUnix">$ pstree
init-+-5*[agetty]
     |-aio/0
     |-bonobo-activati
     |-cron
     |-[...]
     |-gpm
     |-idesk-+-gedit
     |       `-xmule---xmule---xmule
     |-ifplugd
     |-kblockd/0
     |-khubd
     |-kjournald
     |-klogd
     |-knodemgrd_0
     |-kseriod
     |-ksoftirqd/0
     |-kswapd0
     |-login---bash---startx---xinit-+-X
     |                               `-sh-+-fluxbox-+-MozillaFirebird---[....]
     |                                    |         |-2*[aterm---bash---su---bash]
     |                                    |         |-aterm---bash---pstree
     |                                    |         |-aterm---bash
     |                                    |         |-aterm---bash---more
     |                                    |         `-sylpheed-claws
     |                                    |-unclutter
     |                                    |-wmclockmon
     |                                    |-wmcpuload
     |                                    |-wmmemload
     |                                    |-wmnetload
     |                                    |-wmupmon
     |                                    `-xscreensaver
     |-master-+-pickup
     |        `-qmgr
     |-[...]</pre>
<p>He dicho <em>medio ejemplo</em> porque he querido cortar toda la salida para que fuera un poco más corta. Donde hayan &#8220;[&#8230;]&#8221; quiere decir que sigue y habían más procesos en su lugar.</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/colgado-a-los-rboles/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Una función para extracción de tu IP en Internet</title>
		<link>http://enrique.barbeito.org/blog/una-funcin-para-extraccin-de-tu-ip-en-internet/</link>
		<comments>http://enrique.barbeito.org/blog/una-funcin-para-extraccin-de-tu-ip-en-internet/#comments</comments>
		<pubDate>Tue, 10 Feb 2004 06:30:13 +0000</pubDate>
		<dc:creator>Enrique Barbeito García</dc:creator>
		
		<category>Trucos</category>

		<guid isPermaLink="false">/?p=320</guid>
		<description><![CDATA[  Aquí va otro pequeño gran truco para los amantes de la línea de comandos. Esta anotación va dedicada a aquellos incrédulos que piensan que eso de trabajar en modo texto está pasado de moda y no sirve de nada. Preparaos para entumeceros ante la potencia y enorme flexibilidad que ofrece la shell.
Veamos qué de [...] ]]></description>
			<content:encoded><![CDATA[<p> Aquí va otro <em>pequeño gran truco</em> para los amantes de la línea de comandos. Esta anotación va dedicada a aquellos incrédulos que piensan que eso de trabajar <em>en modo texto</em> está pasado de moda y no sirve de nada. Preparaos para entumeceros ante la potencia y enorme flexibilidad que ofrece <em>la shell</em>.</p>
<p>Veamos qué de fácil es averiguar, bajo una terminal de texto, con qué dirección <acronym title="Internet Protocol">IP</acronym> estamos conectados a Internet, gracias a <a href="http://www.cg.tuwien.ac.at/~prikryl/wget.html" target="nwindow" title="GNU wget">wget</a>:</p>
<blockquote><div class="codigoUnix">$ wget -O - -q http://www.whatismyip.com | grep -i title | awk &#8216;{print $4}&#8217;<br />
62.42.88.53</div>
</blockquote>
<p>¿Mola o no mola? (joder, si decís que no es para asesinaros :\) Pues bueno, se me ha ocurrido crearme una sencilla función en mi <pre class="php">~/.bash_profile</pre> para poder disponer de ella siempre que necesite sacar la <acronym title="Internet Protocol">IP</acronym> que tenga actualmente. No tenemos más que editar el pertinente fichero y añadir;</p>
<p><pre class="bash"><span style="color: #b1b100;">function</span> miIP <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
     <span style="color: #0000ff;">kIP=</span>`wget -O - -q http://www.whatismyip.com | \
     grep -i title | \
     awk <span style="color: #ff0000;">'{print $4}'</span>`
     <span style="color: #000066;">echo</span> <span style="color: #0000ff;">$kIP</span>
<span style="color: #66cc66;">&#125;</span></pre></p>
<p>Guardamos cambios y salimos. Cada vez que iniciemos nuestra cuenta de usuario dispondremos de otra útil orden: miIP. También se puede guardar en otro fichero (miIP por ejemplo) y <i>acoplar</i> a la actual shell que tengamos abierta, con: <pre class="php">source miIP</pre></p>
<p>Bueno, pues eso :-)
</p>]]></content:encoded>
			<wfw:commentRss>http://enrique.barbeito.org/blog/una-funcin-para-extraccin-de-tu-ip-en-internet/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
