<?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>AaronMR</title>
	<atom:link href="http://www.aaronmr.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.aaronmr.com</link>
	<description>Ingeniero Informatico</description>
	<lastBuildDate>Thu, 20 May 2010 20:38:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
   <image>
    <title>AaronMR</title>
    <url>http://www.gravatar.com/avatar/80beb5866b8474ec2e34142e169669a1?s=48&amp;d=http%3A%2F%2Fwww.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536</url>
    <link>http://www.aaronmr.com</link>
   </image>
		<item>
		<title>LaTex en Mac &#8211; Texmaker + PDFLaTex</title>
		<link>http://www.aaronmr.com/2010/05/latex-en-mac-texmaker-pdflatex/</link>
		<comments>http://www.aaronmr.com/2010/05/latex-en-mac-texmaker-pdflatex/#comments</comments>
		<pubDate>Thu, 20 May 2010 20:16:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[PFC]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=563</guid>
		<description><![CDATA[Estos días ando escribiendo la memoria del proyecto de fin de carrera y he estado usando Microsoft Office, pero me han recomendado que use LaTex ya que dicen por ahí que para estas cosas es lo mejor que hay, que me va a solucionar muchos problemas que el Office me va a dar. Voy a [...]]]></description>
			<content:encoded><![CDATA[<p>Estos días ando escribiendo la memoria del proyecto de fin de carrera y he estado usando Microsoft Office, pero me han recomendado que use LaTex ya que dicen por ahí que para estas cosas es lo mejor que hay, que me va a solucionar muchos problemas que el Office me va a dar. Voy a hacerles caso y a ponerme a hacer la memoria en LaTex, sólo espero que no me de más dolores de cabeza esto que el Office porque si no, me cambio sin pensarlo dos veces.</p>
<p>Como editor de LaTex voy a usar Texmaker que he visto muchos sitios donde lo recomiendan, así que vamos a proceder a descargarlo desde la página oficial.</p>
<blockquote><p><a href="http://www.xm1math.net/texmaker/download.html#macosx">http://www.xm1math.net/texmaker/download.html#macosx</a></p></blockquote>
<p>Voy a instalar la version "MacOsx &gt;=10.6 64 bit".<span id="more-563"></span></p>
<p style="text-align: left;">Cuando descarguemos y ejecutemos la aplicación por primera vez veremos una pantalla como la siguiente:</p>
<p style="text-align: center;"><img style="display: block; margin-left: auto; margin-right: auto; border: 0px initial initial;" title="Captura de pantalla 2010-05-20 a las 21.08.15" src="http://www.aaronmr.com/wp-content/uploads/2010/05/Captura-de-pantalla-2010-05-20-a-las-21.08.15.png" alt="" width="540" height="406" /></p>
<p>Esta es la pinta que tiene este programa, ahora vamos a instalar el "The MacTeX-2009 Distribution" que es lo que nos va a hacer falta para la compilación de nuestro documento.......  ¿?¿?  Compilación?????  te estaras preguntando, pues sip, el código LaTex se compila y ahora vamos a ver un sencillo ejemplo, pero antes descargamos e instalamos el siguiente archivo:</p>
<blockquote><p><a href="http://mirror.ctan.org/systems/mac/mactex/MacTeX.mpkg.zip">http://mirror.ctan.org/systems/mac/mactex/MacTeX.mpkg.zip</a></p></blockquote>
<p>Una vez lo tengamos instalado en nuestro Mac, tendremos que seleccionar en el Textmaker la opción de compilacion PDFLaTex, tal y como se muestra en la siguiente captura.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-573" title="Captura de pantalla 2010-05-20 a las 21.08.23" src="http://www.aaronmr.com/wp-content/uploads/2010/05/Captura-de-pantalla-2010-05-20-a-las-21.08.23.png" alt="" width="540" height="395" /></p>
<p>Una vez hecho esto, vamos a compilar un pequeño ejemplo como el que está a continuación:</p>
<blockquote>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;"><!--StartFragment-->% Definimos el estilo del documento</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\documentclass[12pt,A4,spanish]{book}</p>
<p style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;">
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">% Definimos los mrgenes de la pgina</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\usepackage[lmargin=2.5cm,rmargin=1.5cm,tmargin=3.0cm,bmargin=3.0cm]{geometry}</p>
<p style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;">
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">% Utilizamos el paquete para gestionar acentos</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\usepackage[utf8]{inputenc}</p>
<p style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;">
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">% Utilizamos el paquete para utilizar espaol</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\usepackage[spanish]{babel}</p>
<p style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;">
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">%para usar las tildes</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\usepackage[spanish]{babel}</p>
<p style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;">
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">%Empieza el documento</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\begin{document}</p>
<p style="-qt-paragraph-type: empty; -qt-block-indent: 0; text-indent: 0px; margin: 0px;">
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">% Definimos titulo, autor, fecha, generamos titulo e indice de contenidos</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\title{DESARROLLO DE UN SISTEMA DE TELECONTROL Y TELEPRESENCIA}</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\author{AARON MARTINEZ ROMERO}</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\date{Facultad de Informática.\\</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">Universidad de Las Palmas de G.C.}</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">\end{document}</p>
</blockquote>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">En los comentarios podéis ver una pequeña explicación sobre lo que significa cada línea. Si introducimos este trozo de código en el Textmaker y compilamos, nos va a generar un documento PDF con esta pinta:</p>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">
<p style="text-indent: 0px; text-align: left; margin: 0px;"><img class="aligncenter size-full wp-image-575" title="Captura de pantalla 2010-05-20 a las 21.35.41" src="http://www.aaronmr.com/wp-content/uploads/2010/05/Captura-de-pantalla-2010-05-20-a-las-21.35.41.png" alt="" width="566" height="771" />De momento tiene muy buena pinta el LaTex y el Textmaker, así que vamos a darle un voto de confianza y vamos a ver de lo que es capaz....</p>
<p style="text-indent: 0px; text-align: left; margin: 0px;">Saludos....</p>
<blockquote>
<p style="-qt-block-indent: 0; text-indent: 0px; -qt-user-state: 0; margin: 0px;">
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/05/latex-en-mac-texmaker-pdflatex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuevo test de navegacion usando la vision 360 en el IUCTC</title>
		<link>http://www.aaronmr.com/2010/05/nuevo-test-de-navegacion-usando-la-vision-360-en-el-iuctc/</link>
		<comments>http://www.aaronmr.com/2010/05/nuevo-test-de-navegacion-usando-la-vision-360-en-el-iuctc/#comments</comments>
		<pubDate>Thu, 20 May 2010 18:55:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PFC]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Robotica]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=561</guid>
		<description><![CDATA[Otro avance significativo del proyecto, esta vez probando la navegacion mediante la camara de vision 360. Aun no es del todo perfecto pero vamos mejorandolo poco a poco.

Saludos.
]]></description>
			<content:encoded><![CDATA[<p>Otro avance significativo del proyecto, esta vez probando la navegacion mediante la camara de vision 360. Aun no es del todo perfecto pero vamos mejorandolo poco a poco.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/cxwmmJ2v6qY&amp;hl=es_ES&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/cxwmmJ2v6qY&amp;hl=es_ES&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/05/nuevo-test-de-navegacion-usando-la-vision-360-en-el-iuctc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1º Test de navegacion con la interfaz &#8211; IUCTC</title>
		<link>http://www.aaronmr.com/2010/05/1%c2%ba-test-de-navegacion-con-la-interfaz-iuctc/</link>
		<comments>http://www.aaronmr.com/2010/05/1%c2%ba-test-de-navegacion-con-la-interfaz-iuctc/#comments</comments>
		<pubDate>Sun, 09 May 2010 14:36:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PFC]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Robotica]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=553</guid>
		<description><![CDATA[Este vídeo es el primer test que he hecho con casi todo ya montado y totalmente funcional, en resumen estoy usando el robot de telepresencia, las gafas de vision HMD 5DT 800 con el sensor InertiaCube2 para el movimiento de la cabeza, para el control de la cámara estoy usando lo que fué el cañon [...]]]></description>
			<content:encoded><![CDATA[<p>Este vídeo es el primer test que he hecho con casi todo ya montado y totalmente funcional, en resumen estoy usando el robot de telepresencia, las gafas de vision HMD 5DT 800 con el sensor InertiaCube2 para el movimiento de la cabeza, para el control de la cámara estoy usando lo que fué el cañon gauss, que ha pasado a mejor vida y se ha convertido en la cabeza de Willy.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/nf5WFiVJmtQ&amp;hl=es_ES&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/nf5WFiVJmtQ&amp;hl=es_ES&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Para ser el primer test ha ido mejor de lo que me esperaba, he arreglado varios fallos que tenían las librerias, sobre todo fallos de liberación de memoria que anda que no dan problemas esas cosas y también punteros que no controlaba del todo bien. Una vez arreglado todo eso, la aplicación se ha vuelto mucho más estable y fiable.</p>
<p>Lo proximo que voy a hacer es escribir un nuevo driver para Player para poder usar las cámaras Logitech Sphere, que resulta que la versión nueva de la cámara trae nuevo hardware y el driver que actualmente tiene el player 2.1.1 no la soporta.</p>
<p>Saludos..</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/05/1%c2%ba-test-de-navegacion-con-la-interfaz-iuctc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Probando la futura cabeza de Willy &#8212; HMD 800 &amp; InertiaCube2 &amp; Cañon Gauss</title>
		<link>http://www.aaronmr.com/2010/04/probando-la-futura-cabeza-de-willy-hmd-800-inertiacube2-canon-gauss/</link>
		<comments>http://www.aaronmr.com/2010/04/probando-la-futura-cabeza-de-willy-hmd-800-inertiacube2-canon-gauss/#comments</comments>
		<pubDate>Thu, 29 Apr 2010 15:57:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PFC]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Robotica]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=551</guid>
		<description><![CDATA[Vídeo de la prueba que he realizado con la futura cabeza para Willy ( Pioneer3AT ).
La base en cuestión es de un proyecto que tenía en casa arrimado que hice para la universidad, concretamente para la asignatura de Control de Procesos por Computador ( CPC ). Es un cañon gauss con punteros laser, su función [...]]]></description>
			<content:encoded><![CDATA[<p>Vídeo de la prueba que he realizado con la futura cabeza para Willy ( Pioneer3AT ).</p>
<p>La base en cuestión es de un proyecto que tenía en casa arrimado que hice para la universidad, concretamente para la asignatura de Control de Procesos por Computador ( CPC ). Es un cañon gauss con punteros laser, su función era la de localizar un objetivo con los láseres y triangular su posición, de ahí que tenga 2 láseres, y con el cañón se disparaba un proyectil de acero que acertaba en el objetivo, la verdad que funcionó a medias ya que la placa de adquisición de datos que estabamos usando, no soportaba los altos voltajes que eran alrededor de unos 300 voltios en continua.</p>
<p>Bueno al caso, he reciclado la estructura para añadirla a mi proyecto de fin de carrera para hacer una especie de cabeza, el cañón será remplazado por una webcam con una lente gran angular.</p>
<p style="text-align: center;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/xR3UrLjWuVU&amp;hl=es_ES&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/xR3UrLjWuVU&amp;hl=es_ES&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p style="text-align: left;">La placa de control que uso para mover la estructura es una scc-32, que es una controladora que permite 32 servos, la estoy programando en C++ y además he escrito un pequeño driver para PLayer&amp;Stage para poder usarla con la interfaz PTZ que viene en Player, de momento todo tiene muy buena pinta.</p>
<p style="text-align: left;">Otro día pongo un vídeo del cañon gauss en funcionamiento.</p>
<p style="text-align: left;">Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/04/probando-la-futura-cabeza-de-willy-hmd-800-inertiacube2-canon-gauss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mostrar el resaltado de sintaxis con el vim &#8211; GNU Linux &#8211; Ubuntu</title>
		<link>http://www.aaronmr.com/2010/04/mostrar-el-resaltado-de-sintaxis-con-el-vim-gnu-linux-ubuntu/</link>
		<comments>http://www.aaronmr.com/2010/04/mostrar-el-resaltado-de-sintaxis-con-el-vim-gnu-linux-ubuntu/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 14:00:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PFC]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=542</guid>
		<description><![CDATA[Para los que programamos directamente desde el terminal, es indispensable el resaltado de sintaxis para poder ver el código de forma adecuada y poder comprender mejor como esta estructurado el codigo. Si has llegado hasta aquí es que necesitas activar esta función en el editor vim, vamos a ello.
Antes que nada asegúrate de que tienes [...]]]></description>
			<content:encoded><![CDATA[<p>Para los que programamos directamente desde el terminal, es indispensable el resaltado de sintaxis para poder ver el código de forma adecuada y poder comprender mejor como esta estructurado el codigo. Si has llegado hasta aquí es que necesitas activar esta función en el editor vim, vamos a ello.</p>
<p>Antes que nada asegúrate de que tienes el vim instalado, parece una tontería pero cosas peores se han visto <img src='http://www.aaronmr.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .</p>
<blockquote><p>$ sudo apt-get install vim</p></blockquote>
<p>Una vez instalado si no lo tenías vamos a abrir un fichero para editarlo a ver que tal se vé sin resaltado de sintaxis, en mi caso sería de esta forma.</p>
<p><img class="aligncenter size-medium wp-image-544" title="Imagen 4" src="http://www.aaronmr.com/wp-content/uploads/2010/04/Imagen-4-300x260.png" alt="" width="300" height="260" /></p>
<p>Aunque aparezca una ventana de <strong>Mac</strong>, es linux ya que estoy conectandome por <strong>ssh</strong> a otro equipo que tiene <strong>Ubuntu Server</strong>.</p>
<p>Ahora vamos a ver que tal queda con el resaltado de sintaxis el mismo archivo, para ello primero tenemos que activar esta funcionalidad en el <strong>vim</strong>, hacemos el siguiente cambio:</p>
<blockquote><p>$ sudo vim /etc/vim/vimrc</p></blockquote>
<p>Localizamos la línea que contiene <strong>syntax on</strong>:</p>
<blockquote><p>" Vim5 and later versions support syntax highlighting. Uncommenting the next<br />
" line enables syntax highlighting by default.<br />
<strong>" syntax on</strong></p></blockquote>
<p>y descomentamos</p>
<blockquote><p>" Vim5 and later versions support syntax highlighting. Uncommenting the  next<br />
" line enables syntax highlighting by default.<br />
<strong>syntax on</strong></p></blockquote>
<p>Además quiero que el fondo de la pantalla de edición salga oscura, con lo que localizamos:</p>
<blockquote><p>" If using a dark background within the editing area and syntax highlighting<br />
" turn on this option as well<br />
<strong>" set background=dark</strong></p></blockquote>
<p>y lo descomentamos:</p>
<blockquote><p>" If using a dark background within the editing area and syntax  highlighting<br />
" turn on this option as well<br />
<strong>set background=dark</strong></p></blockquote>
<p>salimos de la edicion del archivo con " :wq ". Haciendo todo esto veríamos el mismo archivo de la siguiente forma:</p>
<p><img class="aligncenter size-medium wp-image-545" title="Imagen 5" src="http://www.aaronmr.com/wp-content/uploads/2010/04/Imagen-5-300x260.png" alt="" width="300" height="260" /></p>
<p>Mucho mejor y más bonito y claro....</p>
<p>Saludos.</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/04/mostrar-el-resaltado-de-sintaxis-con-el-vim-gnu-linux-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como arreglar el autocompletado del terminal&#8230; Ubuntu 9.10</title>
		<link>http://www.aaronmr.com/2010/03/como-arreglar-el-autocompletado-del-terminal-ubuntu-9-10/</link>
		<comments>http://www.aaronmr.com/2010/03/como-arreglar-el-autocompletado-del-terminal-ubuntu-9-10/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 20:10:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PFC]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=535</guid>
		<description><![CDATA[Hoy me he encontrado con una cosa curiosa, resulta que el autocompletado del terminal no funcionaba, algo indispensable para mi a estas alturas de la vida. Ha dejado de funcionar de buenas a primeras y no tengo ni idea de por que, pero la forma para volverlo a poner en funcionamiento es asi:
Abres en un [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy me he encontrado con una cosa curiosa, resulta que el autocompletado del terminal no funcionaba, algo indispensable para mi a estas alturas de la vida. Ha dejado de funcionar de buenas a primeras y no tengo ni idea de por que, pero la forma para volverlo a poner en funcionamiento es asi:</p>
<p>Abres en un editor de texto el /etc/bash.bashrc</p>
<blockquote><p>$ sudo vim /etc/bash.bashrc</p></blockquote>
<p>y buscas las siguientes líneas:</p>
<blockquote><p># enable bash completion in interactive shells<br />
#if [ -f /etc/bash_completion ]; then<br />
#    . /etc/bash_completion<br />
#fi</p></blockquote>
<p>Para volver a poner a funcionar el autocompletado descomentamos esas líneas dejandolas asi:</p>
<blockquote><p># enable bash completion in interactive shells<br />
if [ -f /etc/bash_completion ]; then<br />
. /etc/bash_completion<br />
fi</p></blockquote>
<p>cerramos el terminal y lo volvemos a abrir, de esta forma ya carga el nuevo terminal con esta nueva configuración, ya podemos seguir con nuestra vida normal gracias al autocompletado.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/03/como-arreglar-el-autocompletado-del-terminal-ubuntu-9-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Una mala idea&#8230;  sudo apt-get remove libjpeg62,</title>
		<link>http://www.aaronmr.com/2010/03/una-mala-idea-sudo-apt-get-remove-libjpeg62/</link>
		<comments>http://www.aaronmr.com/2010/03/una-mala-idea-sudo-apt-get-remove-libjpeg62/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 14:15:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PFC]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=528</guid>
		<description><![CDATA[He estado estos dias jugando un poco con la libreria libjpeg intentando aprender como comprime imagenes y como las descomprime, podeis ver el post aqui. Pues bien me he visto en la necesidad de que al comprimir una imagen no la quiero en archivo sino en memoria para poder hacer cosas con esos datos, ya [...]]]></description>
			<content:encoded><![CDATA[<p>He estado estos dias jugando un poco con la libreria <strong>libjpeg</strong> intentando aprender como comprime imagenes y como las descomprime, podeis ver el post <a href="http://www.aaronmr.com/2010/03/compresion-de-imagenes-con-libjpeg/">aqui</a>. Pues bien me he visto en la necesidad de que al comprimir una imagen no la quiero en archivo sino en memoria para poder hacer cosas con esos datos, ya sea alguna edición en la imagen o mandarla a otro ordenador por medio de sockets, investigando un poco resulta que la version que viene instalada por defecto en el ubuntu la version <strong>libjpeg62</strong>, no permite hacer esto ya que cuando configuras la salida del proceso de compresión, solo te deja pasarle un fichero, se podria pasar a memoria haciendo inventos raros pero bueno, hay que intentar usar las nuevas funcionalidades de las librerias. En las versiones nuevas de esta librería parece que han hecho caso a las sugerencias y ya existe la posibilidad de almacenar el resultado de la compresión en memoria algo que me sería de gran utilidad.</p>
<p>Me descargue el código fuente de<a href="http://www.ijg.org/"> http://www.ijg.org/</a> y antes de compilarlos, se me ocurrió la brillante idea de desinstalar antes la otra versión de la librería, no me pregunteis por que pero lo hice, fui a la consola e introduje valientemente el comando:</p>
<blockquote><p>$ sudo apt-get remove libjpeg62</p></blockquote>
<p>pues bien a partir de ese momento empezaron a pasar cosas raras, tan raras que pense que quizas reiniciando iria mejor el linux, pero mi sorpresa fue que no me arrancó la interfaz grafica, en este caso el <strong>xfce</strong>, y cual fue mi otra sorpresa cuando entre a mi sesión y estuve viendo que paso y resulta que no habia casi nada instalado, que pasada.....</p>
<p>La historia completa despues del salto --&gt;</p>
<p><span id="more-528"></span></p>
<p>Una vez restaurado casi todo de nuevo e instalado todo lo que habia instalado, investigando resulta que cuando desinstalas la libreria libjpeg62, el chaval te dice que se van a desinstalar varios paquetes (la lista aparece a continuación), nada más y nada menos que <strong>120</strong> paquetes entre ellos el <strong>totem, xfce4, synaptic, nautilus, thunar</strong>..... etc etc etc, que desastre....</p>
<blockquote><p>s$ sudo apt-get remove libjpeg62</p>
<p style="padding-left: 30px;">Leyendo lista de paquetes... Hecho<br />
Creando árbol de dependencias<br />
Leyendo la información de estado... Hecho<br />
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.<br />
libfreebob0 libsm-dev libwildmidi0 linux-headers-2.6.31-14 libice-dev x11proto-xext-dev libdaemons-ruby1.8 libdc1394-22<br />
libatk1.0-dev debhelper libwxbase2.8-dev intltool-debian x11proto-kb-dev libglib2.0-dev libsoundtouch1c2 libcvaux1<br />
x11proto-xinerama-dev x11proto-render-dev libjack0 libopenspc0 libxi-dev libxrender-dev po-debconf libfftw3-3 libxdmcp-dev<br />
libsysfs-dev libpng12-dev libfontconfig1-dev libmail-sendmail-perl x11proto-composite-dev tango-icon-theme xtrans-dev libx264-67<br />
x11proto-core-dev libxcursor-dev gettext libcelt0 cvs libqtcore4 x11proto-randr-dev x11proto-damage-dev libxcb-render-util0-dev<br />
libavformat-dev libxext-dev freepats libxdamage-dev x11proto-input-dev libffado1 libfreetype6-dev x11proto-fixes-dev libcv1<br />
libpthread-stubs0-dev libxau-dev libpthread-stubs0 a2ps libkate1 libcdaudio1 libxcomposite-dev libmimic0 libavcodec-dev<br />
libxml++2.6-2 psutils libxrandr-dev libexpat1-dev openoffice.org-l10n-en-gb vlc-plugin-pulse html2text libdirac0c2a<br />
libpixman-1-dev libxft-dev libx11-dev libtar libxcb-render0-dev libxfixes-dev liblog4r-ruby1.8 libxcb1-dev libavutil-dev<br />
linux-headers-2.6.31-14-generic libaudio2 libxinerama-dev wx2.8-headers libsys-hostname-long-perl libofa0 libmms0 libiptcdata0<br />
openoffice.org-l10n-es wdiff</p>
<p style="padding-left: 30px;">Utilice «apt-get autoremove» para eliminarlos.</p>
<p style="padding-left: 30px;"><strong>Los siguientes paquetes se ELIMINARÁN:</strong><br />
apturl desktop-base eog exo-utils firefox firefox-3.5 firefox-3.5-branding gedit ghostscript gksu gnome-icon-theme gnome-keyring<br />
gstreamer0.10-plugins-good gtk2-engines-xfce gvfs gvfs-backends imagemagick libbonoboui2-0 libcairo2-dev libcanberra-gtk-module<br />
libcanberra-gtk0 libcupsimage2 libcv-dev libcvaux-dev libdirectfb-dev libdirectfb-extra libdjvulibre21 libexo-0.3-0 libgail-common<br />
libgail18 libgcr0 libgd2-noxpm libgksu2-0 libglade2-0 libgnome-desktop-2-11 libgnome2-0 libgnome2-canvas-perl libgnome2-perl<br />
libgnomecanvas2-0 libgnomeui-0 libgphoto2-2 libgraphviz4 libgs8 libgtk2-perl libgtk2.0-0 libgtk2.0-bin libgtk2.0-dev libgtkhtml2-0<br />
libgtksourceview2.0-0 libhighgui-dev libhighgui1 libjasper-dev libjasper1 libjpeg-progs libjpeg62 libjpeg62-dbg libjpeg62-dev<br />
liblaunchpad-integration1 libmagickcore2 libmagickwand2 libmng1 libnautilus-extension1 libnotify1 libpango1.0-dev libqtgui4<br />
librsvg2-2 librsvg2-common libsdl-image1.2 libsexy2 libthunar-vfs-1-2 libtiff4 libtiff4-dev libtiffxx0c2 libtotem-plparser12<br />
libunique-1.0-0 libvte9 libwmf0.2-7 libwnck22 libwxgtk2.8-0 libwxgtk2.8-dev libxfcegui4-4 nautilus nautilus-dropbox<br />
notification-daemon notify-osd obex-data-server orage policykit-1-gnome python-glade2 python-gnome2 python-gnomecanvas python-gtk2<br />
python-gtkhtml2 python-gtksourceview2 python-vte software-properties-gtk synaptic thunar thunar-volman totem totem-mozilla<br />
totem-plugins ubufox vlc xfce4 xfce4-appfinder xfce4-mixer xfce4-panel xfce4-session xfce4-settings xfce4-utils xfce4-volumed<br />
xfdesktop4 xfprint4 xfwm4 xfwm4-themes xscreensaver xscreensaver-data xulrunner-1.9.1 zenity<br />
0 actualizados, 0 se instalarán, 120 para eliminar y 0 no actualizados.<br />
Se liberarán 274MB después de esta operación.<br />
¿Desea continuar [S/n]?</p></blockquote>
<p style="padding-left: 30px;"><strong>Ni se os ocurra decirle que si porque sino os lo vais a pasar muy pero que muy bien.....  chiquito desastre.....</strong></p>
<p style="padding-left: 30px;">Otro dia posteare como se instala la version nueva del <strong>libjpeg</strong>, creo que es la version 8.</p>
<p style="padding-left: 30px;">Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/03/una-mala-idea-sudo-apt-get-remove-libjpeg62/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Compresion de imagenes con libjpeg.</title>
		<link>http://www.aaronmr.com/2010/03/compresion-de-imagenes-con-libjpeg/</link>
		<comments>http://www.aaronmr.com/2010/03/compresion-de-imagenes-con-libjpeg/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 18:10:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PFC]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=504</guid>
		<description><![CDATA[Trabajando en el proyecto me he visto en la necesidad de realizar compresión a imagenes que capturo con una webcam desde el robot, para mandarlas a la aplicación cliente para poder visualizar lo que ve el robot para poder controlarlo a distancia. Actualmente lo estaba haciendo sin compresión alguna ya que todas las aplicaciones se [...]]]></description>
			<content:encoded><![CDATA[<p>Trabajando en el proyecto me he visto en la necesidad de realizar compresión a imagenes que capturo con una webcam desde el robot, para mandarlas a la aplicación cliente para poder visualizar lo que ve el robot para poder controlarlo a distancia. Actualmente lo estaba haciendo sin compresión alguna ya que todas las aplicaciones se ejecutaban en la misma máquina y no tenia problemas con la transmisión de datos e imagenes.</p>
<p>Investigando un poco por internet sobre la libreria de imagenes libjpeg he encontrado algunos ejemplos y los he modificado un poco para mis necesidades pero a continuación paso a explicar un pequeño ejemplo que te permite abrir un archivo .jpg, y comprimirla en otro archivo .jpg. Recordar que un archivo jpg es una imagen comprimida, si la abrimos en nuestro programa debemos de tener en cuenta que para poder usarla para otros programas e incluso para comprimirla de nuevo, primero debemos de descomprimirla.</p>
<p>Código y ejemplo después del salto --&gt;</p>
<p><span id="more-504"></span></p>
<p>A simple vista no parece muy útil pero para alguien que empieza y para usarlo como ejemplo de uso y aprender como se hace esta muy bien.</p>
<blockquote><p>#include &lt;stdio.h&gt;<br />
#include &lt;jpeglib.h&gt;<br />
#include &lt;stdlib.h&gt;</p>
<p>/* we will be using this uninitialized pointer later to store raw, uncompressd image */<br />
unsigned char *raw_image = NULL;</p>
<p>/* dimensions of the image we want to write */<br />
int width = 640;<br />
int height = 480;<br />
int bytes_per_pixel = 3;   /* or 1 for GRACYSCALE images */<br />
int color_space = JCS_RGB; /* or JCS_GRAYSCALE for grayscale images */</p>
<p>/**<br />
* read_jpeg_file Reads from a jpeg file on disk specified by filename and saves into the<br />
* raw_image buffer in an uncompressed format.<br />
*<br />
* \returns positive integer if successful, -1 otherwise<br />
* \param *filename char string specifying the file name to read from<br />
*<br />
*/</p>
<p>int read_jpeg_file( char *filename )<br />
{<br />
/* these are standard libjpeg structures for reading(decompression) */<br />
struct jpeg_decompress_struct cinfo;<br />
struct jpeg_error_mgr jerr;<br />
/* libjpeg data structure for storing one row, that is, scanline of an image */<br />
JSAMPROW row_pointer[1];</p>
<p>FILE *infile = fopen( filename, "rb" );<br />
unsigned long location = 0;<br />
int i = 0;</p>
<p>if ( !infile )<br />
{<br />
printf("Error opening jpeg file %s\n!", filename );<br />
return -1;<br />
}<br />
/* here we set up the standard libjpeg error handler */<br />
cinfo.err = jpeg_std_error( &amp;jerr );<br />
/* setup decompression process and source, then read JPEG header */<br />
jpeg_create_decompress( &amp;cinfo );<br />
/* this makes the library read from infile */<br />
jpeg_stdio_src( &amp;cinfo, infile );<br />
/* reading the image header which contains image information */<br />
jpeg_read_header( &amp;cinfo, TRUE );<br />
/* Uncomment the following to output image information, if needed. */<br />
/*--<br />
printf( "JPEG File Information: \n" );<br />
printf( "Image width and height: %d pixels and %d pixels.\n", cinfo.image_width, cinfo.image_height );<br />
printf( "Color components per pixel: %d.\n", cinfo.num_components );<br />
printf( "Color space: %d.\n", cinfo.jpeg_color_space );<br />
--*/<br />
/* Start decompression jpeg here */<br />
jpeg_start_decompress( &amp;cinfo );</p>
<p>/* allocate memory to hold the uncompressed image */<br />
raw_image = (unsigned char*)malloc( cinfo.output_width*cinfo.output_height*cinfo.num_components );<br />
/* now actually read the jpeg into the raw buffer */<br />
row_pointer[0] = (unsigned char *)malloc( cinfo.output_width*cinfo.num_components );<br />
/* read one scan line at a time */<br />
while( cinfo.output_scanline &lt; cinfo.image_height )<br />
{<br />
jpeg_read_scanlines( &amp;cinfo, row_pointer, 1 );<br />
for( i=0; i&lt;cinfo.image_width*cinfo.num_components;i++)<br />
raw_image[location++] = row_pointer[0][i];<br />
}<br />
/* wrap up decompression, destroy objects, free pointers and close open files */<br />
jpeg_finish_decompress( &amp;cinfo );<br />
jpeg_destroy_decompress( &amp;cinfo );<br />
free( row_pointer[0] );<br />
fclose( infile );<br />
/* yup, we succeeded! */<br />
return 1;<br />
}</p>
<p>/**<br />
* write_jpeg_file Writes the raw image data stored in the raw_image buffer<br />
* to a jpeg image with default compression and smoothing options in the file<br />
* specified by *filename.<br />
*<br />
* \returns positive integer if successful, -1 otherwise<br />
* \param *filename char string specifying the file name to save to<br />
*<br />
*/<br />
int write_jpeg_file( char *filename )<br />
{<br />
struct jpeg_compress_struct cinfo;<br />
struct jpeg_error_mgr jerr;</p>
<p>/* this is a pointer to one row of image data */<br />
JSAMPROW row_pointer[1];<br />
FILE *outfile = fopen( filename, "wb" );</p>
<p>if ( !outfile )<br />
{<br />
printf("Error opening output jpeg file %s\n!", filename );<br />
return -1;<br />
}<br />
cinfo.err = jpeg_std_error( &amp;jerr );<br />
jpeg_create_compress(&amp;cinfo);<br />
jpeg_stdio_dest(&amp;cinfo, outfile);</p>
<p>/* Setting the parameters of the output file here */<br />
cinfo.image_width = width;<br />
cinfo.image_height = height;<br />
cinfo.input_components = bytes_per_pixel;<br />
cinfo.in_color_space = color_space;<br />
/* default compression parameters, we shouldn't be worried about these */</p>
<p>jpeg_set_defaults( &amp;cinfo );<br />
cinfo.num_components = 3;<br />
//cinfo.data_precision = 4;<br />
cinfo.dct_method    = JDCT_FLOAT;<br />
jpeg_set_quality(&amp;cinfo, 15, TRUE);<br />
/* Now do the compression .. */<br />
jpeg_start_compress( &amp;cinfo, TRUE );<br />
/* like reading a file, this time write one row at a time */<br />
while( cinfo.next_scanline &lt; cinfo.image_height )<br />
{<br />
row_pointer[0] = &amp;raw_image[ cinfo.next_scanline * cinfo.image_width *  cinfo.input_components];<br />
jpeg_write_scanlines( &amp;cinfo, row_pointer, 1 );<br />
}<br />
/* similar to read file, clean up after we're done compressing */<br />
jpeg_finish_compress( &amp;cinfo );<br />
jpeg_destroy_compress( &amp;cinfo );<br />
fclose( outfile );<br />
/* success code is 1! */<br />
return 1;<br />
}</p>
<p>int main()<br />
{<br />
char *infilename = "test.jpg", *outfilename = "test_out.jpg";</p>
<p>/* Try opening a jpeg*/<br />
if( read_jpeg_file( infilename ) &gt; 0 )<br />
{<br />
/* then copy it to another file */<br />
if( write_jpeg_file( outfilename ) &lt; 0 ) return -1;<br />
}<br />
else return -1;<br />
return 0;<br />
}</p></blockquote>
<p>Este programa de ejemplo hace una llamada a la funcion " read_jpeg_file() " que nos abre un fichero " test.jpg ", lo descomprime y mete el resultado en un buffer (raw_image). A continuación hace una llamada a la función " write_jpeg_file() " que se encarga de comprimir la imagen y almacenarla en un archivo " test_out.jpg ".</p>
<p>Para modificar el ratio de compresión usamos esta función:</p>
<blockquote><p>jpeg_set_quality(&amp;cinfo, 15, TRUE);</p></blockquote>
<p>la cual nos comprime a una calidad del 15% la imagen cinfo, para variar el ratio de compresión modificamos el 2º parametro, los valores que acepta son de 0 .. 100.</p>
<p>A continuación una imagen jpg y su resultado a una compresion de 10.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-516" title="test" src="http://www.aaronmr.com/wp-content/uploads/2010/03/test.jpg" alt="" width="425" height="279" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-518" title="test_out" src="http://www.aaronmr.com/wp-content/uploads/2010/03/test_out.jpg" alt="" width="424" height="298" /></p>
<p>donde la imagen sin compresion ocupa 69 KB y la comprimida 13 KB, interesante resultado.</p>
<p>Para compilar este programa lo haremos de la siguiente forma:</p>
<blockquote><p>$ gcc jpeg_sample.c -o jpeg_sample -ljpeg</p></blockquote>
<p>Fuente: http://www.cim.mcgill.ca/~junaed/libjpeg.php</p>
<p>Lo que voy a hacer ahora es introducir estas funciones justo antes del envío de la imagen y justo despues de la recepción de la imagen en mi proyecto de fin de carrera, esperemos que de esta forma consiga muchos mas fotogramas por segundo sin el problema del ancho de banda, ya ire informando de los avances...</p>
<p>Saludos y gracias por la atención.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/03/compresion-de-imagenes-con-libjpeg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Listado de todos los archivos del PC -&gt; a un archivo&#8230;..  En Mac y Linux</title>
		<link>http://www.aaronmr.com/2010/03/listado-de-todos-los-archivos-del-pc-a-un-archivo-en-mac-y-linux/</link>
		<comments>http://www.aaronmr.com/2010/03/listado-de-todos-los-archivos-del-pc-a-un-archivo-en-mac-y-linux/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 17:37:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Trabajo]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=497</guid>
		<description><![CDATA[Ya comente en el anterior post el por qué necesitaba hacer esto, la cuestion es que lo hice en Windows porque es lo que usan aquí. En este post vamos a ver como hacer lo mismo pero en linux y Mac que es lo que yo más suelo utilizar.
He estado investigando y resulta que el [...]]]></description>
			<content:encoded><![CDATA[<p>Ya comente en el <a href="http://www.aaronmr.com/2010/03/listado-de-todos-los-archivos-del-pc-a-un-fichero-en-windows/">anterior post</a> el por qué necesitaba hacer esto, la cuestion es que lo hice en Windows porque es lo que usan aquí. En este post vamos a ver como hacer lo mismo pero en linux y Mac que es lo que yo más suelo utilizar.</p>
<p>He estado investigando y resulta que el comando tree no esta para estos Sistemas Operativos, o por lo menos no lo he encontrado así que vamos a conseguir lo mismo que con el tree pero usando una combinación de comandos y parametros.</p>
<p>Código y ejemplo después del salto --&gt;<span id="more-497"></span></p>
<p>Hay que decir que existe el comando find que ademas de buscar un fichero y hacer alguna acción, nos devuelve la estructura jerarquica del directorio consultado, pero no nos devuelve una estructura parecida al tree de Windows.</p>
<blockquote><p>$ find prueba/</p>
<p>prueba/<br />
prueba//maki1<br />
prueba//maki1/sfsdfsdfsdfdsf<br />
prueba//maki2<br />
prueba//maki3<br />
...</p></blockquote>
<p>Navegando por internet encontre una serie de comandos encadenados que nos genera lo que nosotros queremos, este comando es el siguiente:</p>
<blockquote><p>$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/    /' -e 's/-/|/'</p></blockquote>
<p>Es un pedazo de comando pero esto nos genera lo siguiente:</p>
<blockquote><p>|-maki1<br />
|---maki1_1<br />
|-----maki1_1_1<br />
|---sfsdfsdfsdfdsf<br />
|-maki2<br />
|-maki3<br />
...</p></blockquote>
<p>Vamos a explicar un poquito más que es lo que tiene el comando y de que se compone y cómo hace todo lo que hace.</p>
<p>Lo primero que hay que darse cuenta de que son realmente 3 comandos que estan conectados entre sí por medios de pipes "|", estos 3 comandos se encargan de:</p>
<blockquote><p>ls -R -&gt; mostrar un listado del contenido de un directorio, el -R es para darle recursividad, es decir que entre en todos los directorios que cuelgan del directorio en el que estamos.</p>
<p>grep ":$" -&gt; nos permite encontrar ciertas cadenas de texto o patrones en un archivo de texto. En este caso todas aquellas que posean el nombre del directorio en el que estamos realizando la busqueda.</p>
<p>sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/    /' -e 's/-/|/'  -&gt; es un comando que nos permite editar cadenas de texto de un fichero de entrada. El parametro -e es para ejecutar un script, que es lo que esta a continuación y debe de tener el formato 's/regexp/replacement/'  es decir, regexp = a la expresion que estamos buscando para reemplazar, replacement = la expresion que vamos a poner cuando reemplacemos regexp.</p></blockquote>
<p>Ahora si queremos guardar lo que nos genere estos comandos a un archivo, simplemente añadimos "&gt; nombre de archivo" y ya tenemos listo el sistema para guardar el arbol de directorios en un fichero.</p>
<blockquote><p>$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/     /' -e 's/-/|/' &gt; lista_directorio.txt</p></blockquote>
<p>Saludos a todos y espero que os sirva de utilidad....</p>
<p>PD: Tened en cuenta el tema de los permisos y todo eso, si quereis hacer esto desde la raiz seguramente vais a tener que hacerlo con permisos de superususario, es decir:</p>
<blockquote><p>$ sudo ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/      /' -e 's/-/|/' &gt; lista_directorio.txt</p></blockquote>
<p>Bye bye...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/03/listado-de-todos-los-archivos-del-pc-a-un-archivo-en-mac-y-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Listado de todos los archivos del PC -&gt; a un fichero&#8230; En Windows</title>
		<link>http://www.aaronmr.com/2010/03/listado-de-todos-los-archivos-del-pc-a-un-fichero-en-windows/</link>
		<comments>http://www.aaronmr.com/2010/03/listado-de-todos-los-archivos-del-pc-a-un-fichero-en-windows/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 11:13:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Trabajo]]></category>
		<category><![CDATA[Universidad]]></category>

		<guid isPermaLink="false">http://www.aaronmr.com/?p=493</guid>
		<description><![CDATA[Hoy en el trabajo me han estado preguntando si conocia algún programa para generar un listado completo de carpetas y archivos que tiene un CD, ya que les interesa almacenar este listado en una base de datos para saber donde está X archivo o saber que contiene un CD determinado.
Pensando un poco y conociendo algun [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en el trabajo me han estado preguntando si conocia algún programa para generar un listado completo de carpetas y archivos que tiene un CD, ya que les interesa almacenar este listado en una base de datos para saber donde está X archivo o saber que contiene un CD determinado.</p>
<p>Pensando un poco y conociendo algun que otro comando de consola pues me pregunte si no seria posible generar tal listado sin necesidad de instalar un programa de terceros. La respuesta es que sí, si se puede y ahora vamos a ver cómo:</p>
<p>Código y ejemplo después del salto --&gt;<span id="more-493"></span></p>
<p>En Windows accedemos a la consola:</p>
<blockquote><p>Inicio -&gt; Ejecutar  y tecleamos cmd y le damos a Aceptar.</p></blockquote>
<p>O bien:</p>
<blockquote><p>Bonotin Inicio + R y tecleamos cmd y le damos a Aceptar.</p></blockquote>
<p>Una vez en la consola si queremos ver la ayuda para conocer que comandos posee el sistema tecleamos:</p>
<blockquote><p>c:\&gt; help/?</p></blockquote>
<p>Pues bien hay un comando en Windows llamado tree que te genera un arbol de directorios, además este comando tiene una serie de parámetros que nos permiten añadir funcionalidades como por ejemplo el /F y el /A.</p>
<p>El /F nos muestra además de los directorios, los ficheros que contienen, el /A obliga a usar ASCII en lugar de caracteres extendidos.</p>
<p>Si además queremos guardar lo que nos genera en pantalla en un archivo usaremos "&gt; nombre_archivo". Uniendo todo nos quedaría de esta forma:</p>
<blockquote><p>c:\&gt; tree /f /a &gt; listado.txt</p></blockquote>
<p>Si ejecutamos este comando nos va a generar un fichero que va a contener un listado completo de todas las carpetas y archivos que contiene el disco duro C.</p>
<p>Espero que os sirva de utilidad.</p>
<p>Saludos.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aaronmr.com/2010/03/listado-de-todos-los-archivos-del-pc-a-un-fichero-en-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
