<?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>Linux, Java y programación &#187; artículos</title>
	<atom:link href="http://casidiablo.net/category/articulos/feed/" rel="self" type="application/rss+xml" />
	<link>http://casidiablo.net</link>
	<description>Blog de Java, Programación y Linux</description>
	<lastBuildDate>Fri, 11 Nov 2011 05:41:21 +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>Mi experiencia como freelance; pros, contras y cómo empezar</title>
		<link>http://casidiablo.net/freelance-pros-contras/</link>
		<comments>http://casidiablo.net/freelance-pros-contras/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 05:20:27 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[odesk]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3868</guid>
		<description><![CDATA[Hace ya más de 8 meses que trabajo como freelance y quisiera compartir con ustedes mi punto de vista respecto a este tipo de trabajos. Primero veremos las herramientas existentes para convertirse en freelance sin salir de casa (e incluso, sin tener contactos previos), y posteriormente mencionaré los pros y los contras. Así que si [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Ffreelance-pros-contras%252F%22%2C%20%22shorturl%22%3A%20%22http%3A%2F%2Fbit.ly%2FhoOXoP%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Mi%20experiencia%20como%20freelance%3B%20pros%2C%20contras%20y%20c%C3%B3mo%20empezar%22%20%7D);"></div>
<p>Hace ya más de 8 meses que trabajo como freelance y quisiera compartir con ustedes <strong>mi</strong> punto de vista respecto a este tipo de trabajos. Primero veremos las herramientas existentes para convertirse en freelance sin salir de casa (e incluso, sin tener contactos previos), y posteriormente mencionaré los pros y los contras. Así que si quieres ser freelance y eres estudiante o simplemente no eres tan bueno con las relaciones sociales, este artículo te podría servir.</p>
<h3>¿Cómo empezar?</h3>
<p>Existen sitios en Internet que se dedican exclusivamente a eso: servir como puente entre contratistas freelance (programadores, diseñadores, traductores, etc.) y empresas o personas que requieren de dichos servicios. Las más importantes actualmente que recuerdo son: <a href="http://www.odesk.com/">oDesk</a>, <a href="http://www.elance.com/">elance.com</a>, <a href="http://www.freelancer.com/">Freelancer</a>, <a href="http://www.getacoder.com/">GetACoder</a>, entre otras. Actualmente trabajo usando oDesk, así que es la herramienta bajo la cual voy a dar mi punto de vista.</p>
<p>Este tipo de empresas son ideales para iniciar en el mundo del freelancing, puesto que no es necesario tener ningún tipo de experiencia previa y hace mucho más fácil la búsqueda de clientes. Antes que nada, <strong>¿cómo funcionan este tipo de empresas?</strong> bueno, es básicamente una bolsa de empleo online:</p>
<ul>
<li>Usted, como freelance, crea un perfil que es básicamente un Currículum Vitae virtual (tipo LinkedIn).</li>
<li>Los empleadores publican empleos de diversos tipos (PHP, Java, Android, iPhone, traducciones, etc.)</li>
<li>Usted puede aplicar a los trabajos que considere apropiados, con lo cual se inicia un proceso de selección.</li>
<li>Si gana un contrato, se define el modo de pago: por horas o a precio fijo. El precio por horas es contabilizado por un software especial, que básicamente nos monitorea mientras estemos trabajando.</li>
<li>Se recibe pagos de diversas maneras: una tarjeta débito de Payoneer, consignaciones directas a nuestra cuenta bancaria, Paypal, Moneybookers, etc.</li>
</ul>
<h3>Pros del trabajo como freelance</h3>
<ol>
<li><strong>Rentabilidad:</strong> sin duda alguna es más rentable que el trabajo convencional. O al menos debe serlo en países latino americanos, en donde el trabajo como programador no es tan bien remunerado como debería ser. No voy a entrar en detalles de mis ganancias pero, para que se haga una idea, desde que trabajo como freelance estoy ganando un 300% más que antes. Además, hay que tener en cuenta que me faltan décadas para ser experto, lo cual quiere decir que cualquier programador novato como yo puede tener ganancias considerables.</li>
<li><strong>No necesita ser profesional:</strong> al menos en Colombia (supongo que pasa en todas partes), cuando se busca trabajo y no se tiene un título de profesional, los empleadores se aprovechan de esto y pagan lo que les venga en gana. Cualquier excusa es buena para limitar los ingresos del programador (ser aún estudiante, no tener experiencia previa, no tener bonitas piernas, etc.). Este tipo de problemas no existen en empresas como oDesk: lo contratan porque saben que tiene conocimientos y capacidades de hacer el trabajo, y le pagan en base a esto. De hecho, usted decide cuanto le pagan.</li>
<li><strong>Menos monotonía:</strong> una de las razones por las cuales se pierde el gusto por el trabajo es la monotonía. La rutina se vuelve insoportable, lo cual afecta notablemente la productividad, perdemos el interés por lo que estamos haciendo, etc. Trabajando como freelance, el 90% de los proyectos no duran más de 3 meses, y por ende siempre se están haciendo y aprendiendo cosas nuevas.</li>
<li><strong>Trabajar en casa:</strong> ¿Tiene que cumplir un horario? ¿Tiene que madrugar? ¿Odia el transporte público? <span style="text-decoration: line-through;">¿No le gusta bañarse?</span> Pues bien, por esas razones me encanta mi nuevo estilo de vida. Antes dormía cuatro horas diarias, ahora duermo siete o más. Mi oficina queda a un metro de la cama. Cuando estoy aburrido juego con <strong>mi perro</strong>; cuando estoy cansado duermo en <strong>mi cama</strong>; y lo más importante: cuando hago mis necesidades fisiológicas <strong>voy a mi baño</strong> (todo sin despeinarme, vea usted!).</li>
<li><strong>Cambio constante de jefes:</strong> ¿odia a su jefe? ¿que tal si pudiera cambiar de jefe cada dos meses? la verdad no tengo queja alguna del 80% de los jefes que he tenido, pero no está mal saber que se puede cambiar de jefe cada contrato.</li>
<li><strong>La poligamia es legal!</strong> Es decir, puede tener tantos proyectos activos como su cuerpo resista. Incluso, si trabaja de manera normal, puede hacer trabajos extras como freelance. Esto va de la mano con la monotonía. Cuando me aburro de un proyecto, simplemente me pongo a trabajar en otro, etc.</li>
<li><strong>Las hojas de vida pierden importancia</strong>: los Currículum Vitae son sin duda un requisito para cualquier entrevista de trabajo. Es tal su importancia que incluso mientras estamos en la escuela (colegio, para los más afortunados) nos enseñan cómo preparar hojas de vida. La tendencia es a inflar la hoja de vida: entre más estudios tengamos, entre más experiencia laboral, entre más posgrados, etc., mucho mejor. Pues bien, para las personas con poca experiencia, pocos estudios, etc., trabajar como freelance es una gran ventaja ya que el CV pierde bastante peso, y lo que importa es lo que realmente sabes (que es demostrable como hablaré en otro post).</li>
</ol>
<h3>Contras</h3>
<ol>
<li><strong>Posible inestabilidad:</strong> cuando se trabaja con un contrato normal, se tiene un puesto seguro (o casi). Incluso si no hay mucho (o nada) por hacer, uno sigue recibiendo un sueldo fijo. Por otro lado, trabajar como freelance implica estar constantemente buscando un nuevo proyecto&#8230; y en ocasiones pueda que hayan espacios prolongados de tiempo en los cuales no se tenga ningún proyecto activo. Personalmente, lo que más he durado como &#8216;desempleado&#8217; siendo freelance ha sido 6 días. Nada grave, pero no está demás tenerlo en cuenta.</li>
<li><strong>Interacción con otras personas:</strong> lo más probable es que tenga que trabajar solo. ¿A quien jugará bromas o le contará esos chistes malos que se sabe? ¿Con quien va a hablar del partido de fútbol del domingo? Interactuar con la gente es algo que, definitivamente hace falta, y es un espacio que la mayoría de los perros no pueden llenar.</li>
<li><strong>Trabajar en casa:</strong> sí, también tiene sus contras. Es posible distraerse fácilmente: el hijo pidiendo ayuda para una tarea, el perro mordiéndonos los zapatos, la TV, una olla quemándose en la cocina, etc. Lo recomendable en este caso es tener un estudio, con un ambiente propicio para el trabajo y lejos de la mayor cantidad de distracciones posible.</li>
<li><strong>Es necesario saber inglés:</strong> o al menos en el 98% de los casos. Si no habla y/o escribe inglés de una manera decente, es difícil que consiga nuevos contratos. Tenga en cuenta que la mayoría de los clientes son estadounidenses, ingleses o árabes (que hablan inglés, claro).</li>
</ol>
<p>Hay aún muchos temas por tratar al respecto, sin embargo no quiero sobrecargar este artículo. Dependiendo de la respuesta que tenga podría publicar en detalle cómo funciona oDesk, además de dar algunos consejos para sacarle el mejor provecho y aclarar más dudas.</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/freelance-pros-contras/feed/</wfw:commentRss>
		<slash:comments>139</slash:comments>
		</item>
		<item>
		<title>Recuperar archivos eliminados usando Foremost [configuración manual]</title>
		<link>http://casidiablo.net/restaurar-archivos-eliminados-accidentalmente/</link>
		<comments>http://casidiablo.net/restaurar-archivos-eliminados-accidentalmente/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 05:58:39 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[archivos]]></category>
		<category><![CDATA[carving]]></category>
		<category><![CDATA[eliminados]]></category>
		<category><![CDATA[ext2]]></category>
		<category><![CDATA[ext3]]></category>
		<category><![CDATA[ext4]]></category>
		<category><![CDATA[foremost]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[recovery]]></category>
		<category><![CDATA[recuperar]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[undelete]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3487</guid>
		<description><![CDATA[¡Hola a todos! Hace un par de días perdí la partición donde tenía mi /home. Afortunadamente pude recuperar el 98% de los archivos que necesitaba. Es decir, en realidad no me interesaba recuperar imágenes, música, etc&#8230; lo único importante era recuperar los archivos PHP con los que había estado trabajando. Aclaro esto puesto que esta [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Frestaurar-archivos-eliminados-accidentalmente%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Recuperar%20archivos%20eliminados%20usando%20Foremost%20%5Bconfiguraci%C3%B3n%20manual%5D%22%20%7D);"></div>
<p style="text-align: justify;">
<p style="text-align: justify;">¡Hola a todos! Hace un par de días perdí la partición donde tenía mi /home. Afortunadamente pude recuperar el 98% de los archivos <em>que necesitaba</em>. Es decir, en realidad no me interesaba recuperar imágenes, música, etc&#8230; lo único importante era recuperar los archivos PHP con los que había estado trabajando.</p>
<p style="text-align: justify;">Aclaro esto puesto que esta entrada se va a enfocar en la configuración manual de <a href="http://foremost.sourceforge.net/">Foremost</a>, un programa para hacer carving, de tal manera que rescatemos solamente aquello que realmente nos interesa. Existen otros programas, pero este fue el que realmente me ayudó en esos momentos de pánico.</p>
<p style="text-align: justify;">¿Cómo funciona? Foremost trabaja con imágenes generadas con dd o particiones directamente, y se basa en el análisis de encabezados y footers de los archivos para &#8216;extraer&#8217; lo que se pueda salvar.</p>
<div class="nota"><strong>Importante:</strong> si has eliminado accidentalmente algún archivo lo primero, después de blasfemar un rato, es evitar hacer cualquier tipo de escritura de datos sobre la misma. Esto es porque tus datos en realidad aún están allí, y el único riesgo que tienen de ser eliminados es que se sobrescriban datos en el mismo sector en donde se encuentran.</div>
<p><span id="more-3487"></span></p>
<p style="text-align: justify;">Dicho esto, tienes dos opciones:</p>
<ul style="text-align: justify;">
<li>Si tienes otra partición con suficiente espacio para almacenar un backup de la partición a ser tratada, puedes usar el comando dd y luego trabajar sobre esa imagen. <a href="http://casidiablo.net/crear-un-backup-o-imagen-del-disco-duro/">En esta entrada se explica con más detalle cómo hacer esto</a>.</li>
<li style="text-align: justify;">Si no tienes espacio (tal como me ocurrió a mi), puedes trabajar directamente sobre la partición (i.e. el archivo /dev/sdaX ó /dev/hdbX, etc.). Solo ten en mente que NO deberías montar dicha partición, al menos no en modo de lectura-escritura.</li>
</ul>
<p style="text-align: justify;">
<h3>Instalación de Foremost</h3>
<p style="text-align: justify;">La instalación es bastante sencilla ya que Foremost se incluye en prácticamente todos los repositorios de cualquier distribución. Así que puedes usar tu gestor de paquetes preferido. Siendo tan sencilla la instalación por repositorios, solo me queda mostrar la instalación manual que es incluso más sencilla&#8230; descargamos la última versión de Foremost (1.5.6 al momento de escribir esta entrada), descomprimimos, compilamos e instalamos:</p>
<div class="consola">wget http://foremost.sourceforge.net/pkg/foremost-1.5.6.tar.gz<br />
tar xfzv foremost-1.5.6.tar.gz<br />
cd foremost-1.5.6<br />
make &amp;&amp; make install</div>
<p style="text-align: justify;">
<h3>Ejemplo básico de uso de Foremost</h3>
<p style="text-align: justify;">El siguiente comando de ejemplo es un de los tantos cientos de miles que te encontrarás en la red&#8230; no me enfocaré mucho en este aspecto porque ya se encuentra muy bien documentado:</p>
<div class="consola">foremost -t pdf -i imagen.iso -o pdfs-recuperados</div>
<p style="text-align: justify;">Básicamente le estamos diciendo al Foremost que busque archivos de tipo PDF en el archivo de imagen (creado con dd) imagen.iso y que los guarde en pdfs-recuperados. Lo único que nos interesa recalcar en este punto es que Foremost tiene un set de archivos predefinidos de los cuales conoce su header y footer (como los PDFs en este caso); este set se compone de los archivos más comunes (imágenes  y videos en diferentes formatos, archivos de office, zips, etc.) Pero&#8230; ¿qué pasa con otro tipo de archivos menos comunes? Tranquilo, ya vamos para allá <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p style="text-align: justify;">
<h3>Ejemplo de configuración del Foremost</h3>
<p style="text-align: justify;">Foremost puede ser configurado mediante un archivo (por defecto: <code>/etc/foremost.conf</code>) de tal manera que no tengamos que especificar el tipo de archivo a buscar y, lo que es mejor, podemos definir nuestros propios tipos de archivos. En nuestro ejemplo, te meterás en mis zapatos, te imaginarás que has perdido el trabajo de tres días y que tu objetivo es rescatar unos cuantos archivos de PHP.</p>
<p style="text-align: justify;">Entonces&#8230; ¿por donde comenzar? Bien&#8230; lo primero es echar un vistazo al archivo /etc/foremost.conf en donde puedes encontrar patrones de búsqueda para diferentes tipos de archivo (de hecho, son las que usa Foremost cuando usamos el flag <code>-t</code>). La sintáxis de estos patrones es sencilla y consta de una sola línea; esta línea tiene los siguientes parámetros separados por espacios o tabulaciones:</p>
<ul>
<li>Extensión del archivo&#8230; ¿debo explicar esto?</li>
<li>Definir si se debe hacer distinción entre mayúsculas y minúsculas al buscar el header y footer del archivo. Pon &#8216;y&#8217; si deseas que sea case-sensitive o &#8216;n&#8217; en caso contrario.</li>
<li>Tamaño máximo del archivo.</li>
<li>Encabezado: lo que se debe buscar en los encabezados de los archivos; puede ser especificado en texto plano o, mejor aún, en hexadecimal.</li>
<li>Footer (opcional): lo que se debe buscar al final de los archivos; puede ser especificado en texto plano o, mejor aún, en hexadecimal.</li>
</ul>
<p style="text-align: justify;">Por ejemplo, este es uno de los que se encuentra configurados por defecto en el Foremost:</p>
<p><code>jpg          y          20000000          \xff\xd8\xff\xe1          \xff\xd9</code></p>
<p style="text-align: justify;">Básicamente busca archivos con extensión .jpg y con un tamaño máximo de 20000000 bytes. Además especifica uno de los posibles encabezados que un archivo tipo JPEG puede tener (<code>\xff\xd8\xff\xe1</code>) y su footer (<code>\xff\xd9</code>).</p>
<p style="text-align: justify;">Como puedes ver, el encabezado y el footer pueden ser especificados en hexadecimal. Esto es bastante útil ya que en muchos casos no necesitamos simples archivos de texto sino que podríamos querer recuperar uno binario. En cualquier caso, es recomendable usar hexadecimal&#8230; pero ¿cómo se qué debo poner? Bien&#8230; recuerda que tu misión es recuperar los archivos PHP, así que&#8230; ¿qué tal si creamos uno para ver cómo se ve en hexadecimal?</p>
<p style="text-align: justify;">Creamos entonces un archivo con el siguiente contenido y lo guardamos como <em>test.php</em>:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
if($meLoTire){
	echo &quot;o_O mode-panic:on&quot;;
}
?&gt;</pre>
<p style="text-align: justify;">Ahora debemos abrir este archivo con algún editor hexadecimal. Si usas Gnome, Ghex es una buena opción (sino, también)&#8230; lo instalas desde los repositorios y con él abres el archivo que acabas de crear&#8230; este lucirá así:</p>
<p><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/ghex.png"><img class="aligncenter size-full wp-image-3499" title="ghex" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/ghex.png" alt="ghex" width="640" height="469" /></a></p>
<p style="text-align: justify;">¡Ahora ya podemos configurar Foremost como expertos, puesto que ya sabemos qué hexadecimales poner! Cada caracter del archivo que creamos equivale a un valor en hexadecimal y nos interesa enfocarnos en la representación hexadecimal de &#8220;&lt;?php&#8221; puesto que así comienzan los archivos en los que estamos interesados.</p>
<p style="text-align: justify;">Así que para este caso, los hexadecimales son 3C, 3F, 70, 68 y 70. Por lo tanto podemos crear un nuevo patrón dentro de /etc/foremost.conf que luzca algo así:</p>
<p><code>php y 100000 \x3C\x3F\x70\x68\x70</code></p>
<p style="text-align: justify;">Si queremos ser más precisos podemos especificar el footer:</p>
<p><code>php y 100000 \x3c\x3f\x70\x68\x70 \7d\0a\3f\x3e</code></p>
<p style="text-align: justify;">Fíjate que he definido un footer bastante concreto que hará que Foremost busque archivos que finalicen con un &#8216;}&#8217; seguido de un &#8216;Enter&#8217; (retorno de carro) y finalmente con &#8220;?&gt;&#8221;. Una vez hayamos terminado de configurar los patrones con los que queramos iniciar la búsqueda, guardamos y cerramos el archivo.</p>
<p style="text-align: justify;">Puesto que es el archivo por defecto no es necesario especificarlo al momento de ejecutar Foremost. Esto por supuesto implica que puedes crear un archivo con patrones en cualquier otro lado, y en tales casos debes referencialo con el flag -c. ¡Que comience el carving!</p>
<div class="consola">foremost -i /dev/sda1 -o ~/recuperados/</div>
<p style="text-align: justify;">Como puedes ver, no especificamos ningún tipo  de archivo así que Foremost se enfocará en aquellos configurados en el archivo .conf. Además, en este caso estamos especificando directamente la partición. Esto podría llevar un rato, así que tienes tiempo de leer algo entretenido ¿qué tal esta bonita <a href="http://www.gentoo.org/doc/en/vi-guide.xml">guía sobre Vi</a>? ¿o esta otra sobre un hermoso <a href="http://www.gentoo.org/doc/en/gentoo-freebsd.xml">Gentoo/BSD</a>?</p>
<p style="text-align: justify;">Una vez Foremost haya terminado su trabajo&#8230; el tuyo apenas comienza. Aunque Foremost es un excelente programa, los resultados no pueden ser 100% confiables (¿hay algo que lo sea?). Y para empeorar las cosas, Foremost NO recupera los nombres de los archivos. En vez de ello, crea una secuencia de archivos numéricos con la extensión; cosas como 8392383874.php ó 239492782.php ¿chévere, no?</p>
<p style="text-align: justify;">Todo parece que pasaremos un buen rato jugando con nuestro querido amigo GREP; y es que este maravilloso comando puede ser realmente útil en estos casos. Así que aquí van algunos comandos que te podrían servir:</p>
<ul>
<li style="text-align: justify;"><code>grep busqueda changos.ext</code><br />
Busca la cadena &#8216;busqueda&#8217; dentro del archivo changos.ext</li>
<li style="text-align: justify;">¿qué tal una búsqueda en todos los archivos? Esto podría servir para nuestro caso de los PHP:<br />
<code>cat *.php | grep -l cosa_a_buscar</code></li>
<li style="text-align: justify;">¿y si queremos buscar un string en varios archivos que se encuentran en diferentes directorios? Este comando es de los que más uso a diario:<br />
<code>find /ruta/ -exec grep -l cosa_a_buscar {} \;</code></li>
</ul>
<p style="text-align: justify;">
<h3>Cosas por considerar</h3>
</p>
<p style="text-align: justify;">
<ul>
<li style="text-align: justify;">Existe una gran probabilidad que los datos recuperados no estén del todo bien formados. Por ejemplo, podrían tener &#8220;basura&#8221; dentro. Esto es posible de corregir en archivos de texto, ya que solo necesitas un editor decente y un par de minutos para &#8220;ver qué te sirve&#8221;.</li>
<li style="text-align: justify;">Si los archivos recuperados tienen basura dentro, es mejor usar editores de texto en consola que no se quejan tanto al momento de editarlos. Gedit simplemente no los abre.</li>
<li style="text-align: justify;">Algunas veces los archivos quedan fragmentados; esto es, en un archivo recuperado queda una parte de lo que buscas, y en otro queda el restante. Por esto, es bastante útil que uses herramientas como Meld (excelente por cierto).  Considera este ejemplo de la vida real: en el archivo blablaa.php tenía parte inicial del archivo mientras que en blebelbel.php tenía el resto:</li>
</ul>
<p style="text-align: center;"><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/meld_1280.png"><img class="size-full wp-image-3501 aligncenter" title="meld_640" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/12/meld_640.png" alt="meld_640" width="640" height="331" /></a></p>
<p style="text-align: justify;">Esto es difícil de notar &#8216;a ojo&#8217;, por lo que puedo decir que Meld me salvó el trasero una vez más (y de paso se ganó una donación). Así, combinando el trabajo de Foremost y la ayuda de Meld pude recuperar prácticamente todo lo que necesitaba.</p>
<p style="text-align: justify;">Pero, te repito, si fuesen archivos binarios los que quieres rescatar la cosa sería mucho más difícil. En este caso, &#8216;la basura&#8217; se puede identificar fácilmente dentro del archivo, y de la misma manera se puede eliminar. En una archivo binario sin embargo es un poco más difícil.</p>
<p style="text-align: justify;">
<h3>Otros buenos programas con propósitos similares</h3>
</p>
<p style="text-align: justify;">
<ul>
<li><a href="http://www.cgsecurity.org/wiki/PhotoRec">TestDisk (aka, PhotoRec)</a></li>
<li><a href="http://www.digitalforensicssolutions.com/Scalpel/">Scalpel</a></li>
<li><a href="http://www.student.dtu.dk/~s042078/magicrescue/">Magic Rescue</a></li>
<li><a href="http://www.sleuthkit.org/autopsy/desc.php">Sleuth Kit y Autopsy</a></li>
<li><a href="http://www.sleuthkit.org/">Sleuthkit</a></li>
</ul>
<p><br/><br/><br/></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/restaurar-archivos-eliminados-accidentalmente/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Usando b43 para tarjetas inalámbricas BCM43xx en Linux</title>
		<link>http://casidiablo.net/usando-b43-para-tarjetas-inalambricas-bcm4312-en-linux/</link>
		<comments>http://casidiablo.net/usando-b43-para-tarjetas-inalambricas-bcm4312-en-linux/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 02:40:36 +0000</pubDate>
		<dc:creator>Cortex</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[noticias]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[b43]]></category>
		<category><![CDATA[broadcom]]></category>
		<category><![CDATA[inalambrica]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3476</guid>
		<description><![CDATA[Hola a todos! Otra vez Cortex, que llevaba un buen rato sin pasarse por aquí. Para los que aún no se han enterado, el día de hoy se hizo estable la versión 2.6.32 del kernel Linux. Como siempre, incluyendo múltiples mejoras, varios añadidos y correcciones. Por mencionar algunas de las cosas nuevas, encontraremos soporte 3D [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fusando-b43-para-tarjetas-inalambricas-bcm4312-en-linux%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Usando%20b43%20para%20tarjetas%20inal%C3%A1mbricas%20BCM43xx%20en%20Linux%22%20%7D);"></div>
<p>Hola a todos!</p>
<p>Otra vez <strong>Cortex</strong>, que llevaba un buen rato sin pasarse por aquí.</p>
<p>Para los que aún no se han enterado, el día de hoy se hizo <strong>estable la versión 2.6.32 del kernel Linux</strong>. Como siempre, <a title="What's new in Linux 2.6.32" href="http://www.h-online.com/open/features/What-s-new-in-Linux-2-6-32-872271.html">incluyendo múltiples mejoras, varios añadidos y correcciones</a>. Por mencionar algunas de las cosas nuevas, encontraremos soporte 3D para los chips gráficos Radeon más nuevos (algo que sé que muchos estaban esperando) así como soporte para KMS, Devtmpfs con lo cual se pretende tener un Linux independiente de Udev, mejoras en el sistema de archivos Btrfs, mejor manejo de memoria y mucho más.</p>
<p>Algo que todos los usuarios de tarjetas inalámbricas <strong>BCM43xx</strong> estabamos esperando, era el soporte de éste chipset por el driver <strong>b43.</strong> ¿Motivos? Muchos. Por ejemplo, no podíamos poner nuestra tarjeta en modo monitor y eso ya es mucho que decir.</p>
<p>En ésta nueva versión del kernel, ya hay soporte para éste tipo de chipsets y lo más recomendable es hacer la migración inmediata. No hay comparación alguna con el driver <strong>broadcom-sta</strong>, se nota un mejor funcionamiento, algo que los usuarios Windows podían disfrutar desde hace un buen rato ya.</p>
<p>Veamos como podemos disfrutar de éste driver.</p>
<p>Lo primero, es decir, que se necesita hacer uso de la versión <strong>2.6.32</strong> de Linux; ninguna versión anterior servirá. Si aún no te animas a compilar tus kernel personalizados (algo de lo que habíamos hablado <a title="Trabajando con el Kernel Linux (I)" href="http://casidiablo.net/trabajando-con-el-kernel-linux-i/">I</a> <a title="Trabajando con el Kernel Linux (II)" href="http://casidiablo.net/trabajando-con-el-kernel-linux-ii/">II</a> <a title="Trabajando con el Kernel Linux (III) – Buscando drivers de dipositivos PCI" href="http://casidiablo.net/identificando-drivers-pci-kernel-linux/">III</a>), la opción que te queda es esperar a que los desarrolladores de tu distribución incluyan el paquete precompilado con ésta versión. Si usas la ramas estables, probablemente pasará un buen tiempo antes de que ésto ocurra.</p>
<div class="nota">Éste driver <strong>sólo</strong> soporta los nuevos dispositivos <em>BCM43xx IEEE 802.11G,</em> pero no los viejos <em>IEEE 802.11B. </em>Éstos son soportados por el driver <strong>b43legacy</strong>. Para saber si tu tarjeta broadcom ya es soportada por éste driver, <a title="B43 PCI Devices" href="http://wireless.kernel.org/en/users/Drivers/b43#Known_PCI_devices">revisa aquí.</a></div>
<p>El proceso lo llevaré acabo desde mi <strong>Gentoo</strong>.</p>
<p>1. Instalamos <strong>gentoo-sources-2.6.32</strong></p>
<div class="consola">emerge &#8211;sync<br />
ACCEPT_KEYWORDS=&#8221;~arch&#8221; emerge -av gentoo-sources</div>
<p>2. Configuramos el kernel normalmente y agregamos el soporte</p>
<pre> Device Drivers --&gt;
   Network device support --&gt;
     Wireless LAN
       [*] Wireless LAN (IEEE 802.11)
       &lt;*&gt;   Broadcom 43xx wireless support (mac80211 stack)
       [ ]     Broadcom 43xx PCMCIA device support
       [*]     Broadcom 43xx debugging</pre>
<p>3. Compilamos, copiamos kernel a /boot y modificamos GRUB</p>
<div class="consola">make &amp;&amp; make modules_install<br />
mount /boot<br />
cp arch/x86_64/bzImage /boot/gentoo-2.6.32<br />
vim /boot/grub/grub.conf</div>
<p>4. Una vez instalado el kernel, procedemos a instalar <strong>b43-fwcutter</strong> y el firmware. La versión que incluye <strong>hoy</strong>, tu distribución, no te servirá. Descarguemos la versión en desarrollo</p>
<div class="consola">git clone http://git.bu3sch.de/git/b43-tools.git<br />
cd b43-tools/fwcutter<br />
make<br />
cd ..</div>
<div class="nota"><strong>Nota:</strong> En caso de que recibas un error, debido a la falta de la librería cURL, recompila <em>dev-util/git</em> con el USE flag <strong>curl</strong>.</div>
<p>5. Descarguemos e instalemos el firmware</p>
<div class="consola">export FIRMWARE_INSTALL_DIR=&#8221;/lib/firmware&#8221;<br />
wget http://downloads.openwrt.org/sources/broadcom-wl-4.178.10.4.tar.bz2<br />
tar xjf broadcom-wl-4.178.10.4.tar.bz2<br />
cd broadcom-wl-4.178.10.4/linux<br />
sudo ../../fwcutter/b43-fwcutter -w &#8220;$FIRMWARE_INSTALL_DIR&#8221; wl_apsta.o</div>
<p>6. Reiniciamos</p>
<p>Una vez hayamos terminado de reiniciar, como root comprobamos que la interfaz esté funcionando:</p>
<div class="consola">iwconfig<br />
ifconfig wlan1 up<br />
iwlist wlan1 scan</div>
<p>¡Eso es todo! ¡A disfrutar <em>sanamente</em> del modo monitor!</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/usando-b43-para-tarjetas-inalambricas-bcm4312-en-linux/feed/</wfw:commentRss>
		<slash:comments>41</slash:comments>
		</item>
		<item>
		<title>JBoss Seam Framework + Laboratorio de iniciación</title>
		<link>http://casidiablo.net/jboss-seam-framework-introduccion/</link>
		<comments>http://casidiablo.net/jboss-seam-framework-introduccion/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 07:14:03 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[ejercicios en java]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[AJAX]]></category>
		<category><![CDATA[bpm]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[ejb3]]></category>
		<category><![CDATA[how-to]]></category>
		<category><![CDATA[j2ee]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[jsf]]></category>
		<category><![CDATA[manual]]></category>
		<category><![CDATA[seam]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3422</guid>
		<description><![CDATA[Seam es un proyecto desarrollado por JBoss, cuyo lider es Gavin King. Es un completo framework para la creación de aplicaciones web 2.0 que unifica varias tecnologías como AJAX, Enterprise Java Beans (EJB3), Java Server Faces (JSF), Java Portlets and Business Process Management (BPM), Hibernate, y mucho más. De la Wikipedia: Seam introduce el concepto [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fjboss-seam-framework-introduccion%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22JBoss%20Seam%20Framework%20%2B%20Laboratorio%20de%20iniciaci%C3%B3n%09%22%20%7D);"></div>
<p style="text-align: justify;"><a href="http://www.seamframework.org/">Seam</a> es un proyecto desarrollado por JBoss, cuyo lider es Gavin King. Es un completo framework para la creación de aplicaciones web 2.0 que unifica varias tecnologías como AJAX, Enterprise Java Beans (EJB3), Java Server Faces (JSF), Java Portlets and Business Process Management (BPM), Hibernate, y mucho más.</p>
<p style="text-align: justify;">De la Wikipedia:</p>
<p style="text-align: justify; padding-left: 30px;"><em>Seam introduce el concepto de contextos. Cada componente de Seam existe dentro de un contexto. El contexto conversacional por ejemplo captura todas las acciones del usuario hasta que éste sale del sistema o cierra el navegador &#8211; inclusive puede llevar un control de múltiples pestañas y mantiene un comportamiento consistente cuando se usa el botón de regresar de el navegador.</em></p>
<p style="text-align: justify; padding-left: 30px;"><em>Tú puedes automáticamente generar una aplicación web de altas, bajas, cambio y modificaciones a partir de una base de datos existente utilizando una herramienta de linea de comandos llamada seam-gen incluida con el framework.</em></p>
<p style="text-align: justify; padding-left: 30px;"><em>El desarrollo WYSIWYG es facilitado a través del uso de las JBoss Tools, que es un conjunto de plug-ins diseñados para el entorno integrado de desarrollo Eclipse. Seam puede ser integrado con las bibliotecas de componentes JSF JBoss RichFaces o con ICEsoft ICEFaces. Ambas bibliotecas poseen soporte para AJAX.</em></p>
<p style="text-align: justify;">Actualmente soporta varios contenedores de aplicaciones como JBoss 4 o 5, IBM Websphere, BEA WebLogic, Oracle OC4J y por supuesto Apache Tomcat.</p>
<p style="text-align: justify;">Puedes encontrar ejemplos de proyectos creados con seam y listos para ejecutar dentro del directorio examples de la aplicación.</p>
<p style="text-align: justify;"><strong>Referencias y documentación:</strong></p>
<ul>
<li><a href="http://www.seamframework.org/Home">Página oficial de Seam Framework</a></li>
<li><a href="http://www.jboss.com/products/seam/">Página del producto JBoss Seam</a></li>
<li><a href="http://docs.jboss.com/seam/latest/reference/en-US/html/index.html">Documentación Online mantenida por la comunidad</a></li>
<li><a href="http://docs.jboss.com/seam/">Documentación de JBoss Seam</a></li>
<li><a href="http://www.infoq.com/articles/jboss-seam">Introduction to JBoss Seam [artículo en InfoQ]</a></li>
</ul>
<p style="text-align: justify;">
<h3>Laboratorio de JBoss Seam Framework</h3>
</p>
<p style="text-align: justify;">Con el siguiente laboratorio se pretende dar un punto de partida a la creación de aplicaciones usando Seam. El laboratorio está enfocado al desarrollo sobre Eclipse, que es el IDE que recomiendo para trabajar con Seam.</p>
<p style="text-align: justify;">Este laboratorio está enfocado al uso de Seam para JBoss, aunque con pocas o sin modificaciones puede funcionar en Apache Tomcat. Recordemos además que Seam también soporta los contenedores IBM Websphere, BEA WebLogic y Oracle OC4J.</p>
<p style="text-align: justify;">Nota: todas las pruebas se realizaron sobre Linux (<a href="http://casidiablo.net/category/gentoo/">Gentoo</a> amd64) y <a href="http://opensolaris.org">OpenSolaris</a> 9.6. Sin embargo, hacerlo en Windows con los mismos pasos no debería presentar problemas; solo se debe tener cuidado con las rutas donde se guarden los archivos usados.</p>
<p style="text-align: justify;">
<h3>Prerequisitos</h3>
</p>
<ul>
<li><span style="background-color: #ffffff;"><a href="http://eclipse.org">Eclipse 3.4 o 3.5</a></span></li>
<li><span style="background-color: #ffffff;"><a href="http://seamframework.org/Download">La última versión de JBoss Seam</a> (la más reciente al momento de escribir este documento es la 2.2.0).</span></li>
<li><span style="background-color: #ffffff;"><a href="http://labs.jboss.com/jbossas/downloads/">La última versión de Jboss Server</a> (la más reciente al momento de escribir este documento es la 5.1.0).</span></li>
<li><span style="background-color: #ffffff;">Un gestor de bases de datos. En mi caso he usado MySQL, aunque hay soporte para muchos otros gestores. No olvides además descargar el conector JDBC, en mi caso el mysql-connector-java-bin.jar.</span></li>
</ul>
<p><span id="more-3422"></span></p>
<p style="text-align: justify;">
<h3>Instalación</h3>
</p>
<p style="text-align: justify;">Para instalar Seam y JBoss basta con descomprimir los paquetes que descarguemos de Internet. Yo recomiendo hacerlo en la carpeta /opt en sistemas UNIX/Linux, o directamente en C:/ en sistemas Windows.</p>
<p style="text-align: justify;">
<h3>Creación de un proyecto base para Eclipse</h3>
</p>
<p style="text-align: justify;">SeamFramework nos proporciona una herramienta de línea de comandos para la generación de proyectos base. Vamos al directorio donde lo instalamos y ejecutamos:</p>
<div class="consola">./seam setup</div>
<p style="text-align: justify;">Ahora debemos responder a cada una de las preguntas que nos hace; muchas de ellas las debemos dejar por defecto, así que nos concentraremos solo en aquellas en donde tengamos que cambiar. Resumiendo:</p>
<ul>
<li>El directorio donde se creará el proyecto:
<div class="consola">[input] Enter the directory where you want the project to be created (should not contain spaces) [/home/funtoo/projects] [/home/funtoo/projects]<br />
/home/funtoo/Poli/Componentes/seam-framework/workspace</div>
</li>
<li>El directorio donde se encuentra el JBoss AS:
<div class="consola">[input] Enter your JBoss AS home directory [C:/Program Files/jboss-5.1.0.GA] [C:/Program Files/jboss-5.1.0.GA]<br />
/opt/jboss-5.1.0.GA/</div>
</li>
<li>El nombre del proyecto:
<div class="consola">[input] Enter the project name [myproject] [myproject]<br />
holaseam</div>
</li>
<li>Vamos a desarrollar nuestra aplicación como EAR:
<div class="consola">[input] Is this project deployed as an EAR (with EJB components) or a WAR (with no EJB support)? [war] (ear, [war])<br />
ear</div>
</li>
<li>Definimos el nombre del paquete en base de la aplicación:
<div class="consola">[input] Enter the base package name for your Java classes [com.mydomain.holaseam] [com.mydomain.holaseam]<br />
org.ejemplo.seam</div>
</li>
<li>Los que hacen referencia a los Session Beans o Test Cases los podemos dejar como nos lo pongan. El gestor de base de datos; en este caso usé mysql aunque debería ser practicamente transparente:
<div class="consola">[input] What kind of database are you using? [hsql] ([hsql], mysql, derby, oracle, postgres, mssql, db2, sybase, enterprisedb, h2)<br />
mysql</div>
</li>
<li>Ingresamos la ruta en donde se encuentra el driver JDBC:
<div class="consola">[input] Enter the filesystem path to the JDBC driver jar [] []<br />
/opt/conectores/mysql-connector-java-5.0.8-bin.jar</div>
</li>
<li>Ahora debemos definir la URL de conexión a la base de datos. En este caso, he creado una base de datos llamada ejemplo, y por lo tanto la URL quedaría así:
<div class="consola">[input] Enter the JDBC URL for your database [jdbc:mysql:///test] [jdbc:mysql:///test]<br />
jdbc:mysql://localhost:3306/ejemplo</div>
</li>
<li>Con esta opción se ejecutará un script llamado import.sql cada vez que hagamos un deploy del proyecto. Dicho archivo deberá tener los scripts necesarios para crear tablas y registros. Puesto que en este laboratorio poco vamos a usar MySQL, puedes poner lo que quieras; pero es importante tener en cuenta esta opción a la hora de desarrollar un proyecto.
<div class="consola">[input] Do you want to recreate the database tables and execute import.sql each time you deploy? [n] (y, [n])<br />
y</div>
</li>
</ul>
<p style="text-align: justify;">Ya que hemos configurado lo que será el proyecto, es hora de crearlo. Ejecutamos el comando:</p>
<div class="consola">./seam create-project</div>
<p style="text-align: justify;">Esto creará un proyecto base que puedes abrir con Eclipse, y eso es justo lo que haremos a continuación.</p>
<p style="text-align: justify;">Abrimos eclipse y nos aseguramos que el workspace sea el mismo directorio en el que creamos el proyecto desde Seam. Vamos a la creación de un nuevo proyecto Java:</p>
<p style="text-align: center;"><img title="seam-screenshot" alt="seam-screenshot" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_005.png" width="540" height="402" /></p>
<p style="text-align: justify;">Le damos el mismo nombre que a nuestra aplicación Seam (en este caso holaseam):</p>
<p style="text-align: center;"><img title="seam-screenshot" alt="seam-screenshot" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_006.png" width="524" height="736" /></p>
<p>Y puesto que ya existe un proyecto creado en el workspace muchas de las opciones ya aparecen asignadas. Hacemos clic en Next y vemos que ya hay una estructura de directorios creada con la base del proyecto Seam.</p>
<p style="text-align: center;"><img title="seam-screenshot" alt="seam-screenshot" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_007.png" width="639" height="714" /></p>
<p style="text-align: justify;">Hacemos clic en Finish, y ya podemos comenzar a editar y modificar el proyecto.</p>
<p style="text-align: center;"><img title="seam-screenshot" alt="seam-screenshot" title="screenshot_008" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_008.png" width="573" height="364" /></p>
<p style="text-align: justify;">
<h3>Despliegue del proyecto</h3>
</p>
<p style="text-align: justify;">Primero debemos iniciar el servicio de JBoss. Para ello ejecutamos el archivo run.sh (run.bat en Windows) del directorio bin de Jboss. Este dejará el servicio web corriendo por defecto en el puerto 8080.</p>
<p style="text-align: justify;">Para hacer el despliegue sobre JBoss, usamos un archivo Ant que se generó junto con el proyecto. Dicho archivo nos permite ejecutar tests, hacer (re)despliegues, generar el JavaDoc, entre otras. Así que habrímos el archivo build.xml y nos aseguramos que la vista Outline esté abierta:</p>
<p style="text-align: center; "><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_009.png"><img title="seam-screenshot" alt="seam-screenshot"  src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_009.png" width="600" /></a></p>
<p>Dentro de la vista Outline podemos ver los componentes del archivo build.xml y podemos ejecutarlos con Ant. En este caso, buscamos el componente deploy, hacemos clic derecho, Run As, y Ant Build.</p>
<p style="text-align: center; "><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_010.png"><img title="seam-screenshot" alt="seam-screenshot"  src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_010.png" width="600" /></a></p>
<p style="text-align: justify;">Algunas veces se generan errores al hacer el despliegue:</p>
<p style="text-align: center;"><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_011.png"><img title="seam-screenshot" alt="seam-screenshot"  title="screenshot_011" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_011.png" width="478" height="232" /></a></p>
<p style="text-align: justify;">Si es tu caso, deberás eliminar los archivos y directorios que tengan el nombre del proyecto del directorio deploy en JBoss. En mi caso los elimino con este comando:</p>
<div class="consola">rm -rf /opt/jboss-5.1.0.GA/server/default/deploy/holaseam*</div>
<p style="text-align: justify;">Si todo sale bien, cuando hagamos de nuevo deploy veremos algo como esto:</p>
<p style="text-align: center;"><img title="seam-screenshot" alt="seam-screenshot" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_012.png" width="600" /></p>
<p style="text-align: justify;">Es hora de probar la aplicación. Abrimos el navegador en la dirección: http://localhost:8080/holaseam/</p>
<p style="text-align: center;"><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_013.png"><img title="seam-screenshot" alt="seam-screenshot" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_013.png" width="712" height="618" /></a></p>
<p style="text-align: center;"><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_014.png"><img title="seam-screenshot" alt="seam-screenshot" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_014.png" width="712" height="618" /></a></p>
<p style="text-align: center;"><a href="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_015.png"><img title="seam-screenshot" alt="seam-screenshot"  src="http://casidiablo.net/wordpress/wp-content/uploads/2009/11/screenshot_015.png" width="712" height="618" /></a></p>
<p style="text-align: justify;">
<h3>Descargar versión en PDF</h3>
</p>
<p><a href="http://casidiablo.net/descargar/Laboratorio+JBoss+Seam" class="tooltip download" title="Descargar versión en PDF de este artículo">Descargar</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/jboss-seam-framework-introduccion/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Trabajando con el Kernel Linux (III) &#8211; Buscando drivers de dipositivos PCI</title>
		<link>http://casidiablo.net/identificando-drivers-pci-kernel-linux/</link>
		<comments>http://casidiablo.net/identificando-drivers-pci-kernel-linux/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 19:30:57 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[dispositivos]]></category>
		<category><![CDATA[drivers]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[pci]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3363</guid>
		<description><![CDATA[Contribuyendo a la excelente labor de mi amigo Cortex, vamos con este pequeño artículo. Una de las tareas más dispendiosas a la hora de configurar el kernel es determinar qué opción/driver activar para determinado dispositivo. La idea de este artículo es dar a conocer una excelente herramienta online que nos permitirá conocer mejor nuestro sistema, [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fidentificando-drivers-pci-kernel-linux%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Trabajando%20con%20el%20Kernel%20Linux%20%28III%29%20-%20Buscando%20drivers%20de%20dipositivos%20PCI%22%20%7D);"></div>
<p style="text-align: justify;"><em>Contribuyendo a la excelente labor de mi amigo <a href="http://casidiablo.net/author/c0rtex/">Cortex</a>, vamos con este pequeño artículo.</em></p>
<p style="text-align: justify;">Una de las tareas más dispendiosas a la hora de configurar el kernel es determinar qué opción/driver activar para determinado dispositivo. La idea de este artículo es dar a conocer una excelente herramienta online que nos permitirá conocer mejor nuestro sistema, y de paso saber los nombres de los drivers que podemos usar por cada dispositivo.</p>
<p style="text-align: justify;">La página en cuestión es <a href="http://kmuto.jp/debian/hcl/">http://kmuto.jp/debian/hcl/</a> y contiene una base de datos de IDs de dispositivos PCI, que nos permite consultar información acerca de nuestros dispositivos y los drivers que los controlan.</p>
<h3>Uso</h3>
<p style="text-align: justify;">Para usarlo debemos ejecutar el siguiente comando:</p>
<div class="consola">lspci -n</div>
<p style="text-align: justify;">y copiamos la salida en el area de texto que aparece al entrar a <a href="http://kmuto.jp/debian/hcl/">http://kmuto.jp/debian/hcl/</a>; hacemos clic en el botón Comprobar y obtendremos un listado de dispositivos vs. nombre del driver.</p>
<p style="text-align: justify;">Por ejemplo, mi laptop tiene una ranura para insertar memorias SD; el nombre de dicho dispositivo es <em>R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter</em> y el driver es <code>sdhci-pci</code>.</p>
<p style="text-align: center;"><img style="border:1px solid;" title="driver linux sdhci-pci" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/10/screenshot_030.png" alt="pantallazo del driver" /></p>
<p style="text-align: justify;">Con dicha información, podemos hacer una búsqueda (presionando la tecla /) en la configuración del kernel (cuando hacemos un <code>make menuconfig</code>):</p>
<p style="text-align: center;"><img class="size-full wp-image-3365 aligncenter" title="screenshot_031" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/10/screenshot_031.png" alt="screenshot_031" width="698" height="391" /></p>
<p style="text-align: justify;">El resultado es la ubicación exacta de la opción que debes habilitar para tener tu dispositivo funcionando:</p>
<p style="text-align: center;"><img class="size-full wp-image-3366 aligncenter" title="screenshot_032" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/10/screenshot_032.png" alt="screenshot_032" width="689" height="386" /></p>
<p style="text-align: justify;">Eso es todo. Ahora podemos estar seguros de escoger el driver adecuado y podemos compilar nuestro kernel normalmente.</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/identificando-drivers-pci-kernel-linux/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Trabajando con el Kernel Linux (II)</title>
		<link>http://casidiablo.net/trabajando-con-el-kernel-linux-ii/</link>
		<comments>http://casidiablo.net/trabajando-con-el-kernel-linux-ii/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 14:00:02 +0000</pubDate>
		<dc:creator>Cortex</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[camara]]></category>
		<category><![CDATA[compilación]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[sysctl]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3306</guid>
		<description><![CDATA[Anterior artículo&#8230; Continuando con la serie de posts dedicados al Kernel, hoy vamos a hablar sobre las cámaras web y la herramienta sysctl. Cámaras Web En la actualidad, el kernel tiene muy buen soporte para las cámaras web, tanto las integradas como las externas. Basado en mi experiencia, nunca he tenido ningún problema con dispositivos [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Ftrabajando-con-el-kernel-linux-ii%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Trabajando%20con%20el%20Kernel%20Linux%20%28II%29%22%20%7D);"></div>
<p><a title="Trabajando con el Kernel Linux (I)" href="http://casidiablo.net/trabajando-con-el-kernel-linux-i/">Anterior artículo&#8230;</a></p>
<p>Continuando con la serie de posts dedicados al Kernel, hoy vamos a hablar sobre las cámaras web y la herramienta <strong>sysctl</strong>.</p>
<h2>Cámaras Web</h2>
<p style="text-align: center"><img class="alignnone size-full wp-image-3324" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/09/webcam_pinguino.jpg" alt="webcam_pinguino" width="214" height="195" /></p>
<p>En la actualidad, el kernel tiene muy buen soporte para las cámaras web, tanto las integradas como las externas. Basado en mi experiencia, nunca he tenido ningún problema con dispositivos de captura de video en Linux aunque me imaginó que en algún hardware habrá incompatibilidades. La ventaja es que los desarrolladores del kernel cada día trabajan por mejorarlo y desarrollando controladores para maximizar el soporte en la mayor cantidad de máquinas posibles.<span id="more-3306"></span></p>
<p>Lo primero que debemos hacer es identificar la <em>referencia</em> del dispositivo. Si tienes un portatil y lo que buscas es hacer funcionar la cámara integrada que trae, usando el <a title="Linux UVC driver and tools" href="http://linux-uvc.berlios.de/">driver UVC</a> sería suficiente:</p>
<pre>Device Drivers  ---&gt;
     &lt;*&gt; Multimedia support  ---&gt;
          [*]   Video capture adapters  ---&gt;
               [*]   Autoselect pertinent encoders/decoders and other helper chips
               [*]   V4L USB devices  ---&gt;
                    &lt;*&gt;   USB Video Class (UVC)
                          [*]     UVC input events device support</pre>
<p>Ahora, en caso de que la cámara sea externa debes conectarla y hacer un <strong>lsusb</strong>. Hay tantos modelos disponibles que sería difícil hacer una guía definitiva, además de que ya existe un <a title="Linux Webcam HOWTO" href="http://www.tldp.org/HOWTO/Webcam-HOWTO/">completo HOWTO que explica esto</a>. Lo que haré, será mostrar un ejemplo haciendo uso de una vieja cámara <strong>Genius</strong> que tengo. Si la conecto y hago un <strong>dmesg</strong> puedo ver la información del dispositivo:</p>
<div class="consola">[ 4601.153221] usb 5-1: New USB device found, idVendor=093a, idProduct=2471<br />
[ 4601.153228] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0<br />
[ 4601.153235] usb 5-1: Product: CIF Single Chip<br />
[ 4601.153241] usb 5-1: Manufacturer: Pixart Imaging Inc.</div>
<p>Ahora <strong>lsusb</strong>:</p>
<div class="consola">Bus 005 Device 003: ID 093a:2471 Pixart Imaging, Inc.</div>
<p>Teniendo el <strong>ID</strong>, debemos buscar cuál es el módulo necesario para esta cámara. <a title="GSPCA V4L2 - Webcams" href="http://moinejf.free.fr/webcam.html">Aquí tienes una larga lista</a> de IDs con su respectivo módulo. Si buscamos también en la <a title="Linux Kernel Driver DataBase" href="http://cateee.net/lkddb">base de datos de drivers del kernel</a> veremos la <a href="http://cateee.net/lkddb/web-lkddb/USB_GSPCA_PAC207.html">configuración</a> que debemos hacer y el módulo a activar. El driver en cuestión es: <strong>gspca_pac207.</strong></p>
<pre>&lt;*&gt;   GSPCA based webcams  ---&gt;
     &lt;M&gt;   Pixart PAC207 USB Camera Driver</pre>
<p>Si compilaste como módulo no olvides agregarlo al inicio del sistema (si es lo que deseas). En Gentoo con OpenRC y Baselayout 2:</p>
<div class="consola"># echo &#8216;modules_2_6=&#8221;${modules_2_6} gspca_pac207&#8243;&#8216; &gt;&gt; /etc/conf.d/modules</div>
<p>Para esta cámara es necesario tener instalada la librería <strong>v4l (Video 4 Linux)</strong>.</p>
<div class="consola"># emerge -av media-libs/libv4l</div>
<div class="nota">En general, este es el proceso para todos las cámaras, aunque en algunas puede haber variaciones. Con los enlaces que expuse anteriormente debe ser suficiente para encontrar la información relativa a tu hardware.</div>
<p>Y listo. Reiniciamos con el nuevo kernel y usamos cualquier programa como <strong>cheese</strong> para comprobar que todo funciona bien.</p>
<h2>Sysctl</h2>
<p>A raíz de un <a title="arpunk" href="http://casidiablo.net/trabajando-con-el-kernel-linux-i/#comment-7291">comentario de arpunk</a>, he decidido posponer uno de los temas que iba a tocar en este artículo y hablar sobre <strong>sysctl.</strong></p>
<p>El kernel Linux es tan flexible que te permite modificar la manera en que trabaja, dinámicamente, a través del comando <em>sysctl</em>. Sysctl provee de una interfaz que permite examinar y cambiar cientos de parámetros en núcleos Linux y BSD. Gracias a esta herramienta podemos modificar y optimizar el kernel sin tener que recompilarlo. Los cambios son realizados inmediatamente e incluso pueden ser definidos como persistentes, de manera que continúen después de reiniciar.</p>
<p>Para ver los parámetros actuales del kernel en ejecución:</p>
<div class="consola">sysctl -a<br />
sysctl -n vm.swappiness</div>
<p>Con el segundo lo que hacemos es ver el valor de un determinado parámetro, en este caso <strong>vm.swappiness</strong>. Suponiendo que quisiéramos decirle al kernel que <a title="Swappiness" href="http://kerneltrap.org/node/3000">use más la memoria RAM que la swap</a> ó habilitar el <em>forwarding</em> en IPv4, bastaría con cambiar el valor de estas <em>variable</em>s:</p>
<div class="consola">sysctl vm.swappiness=10<br />
sysctl net.ipv4.conf.all.forwarding=1</div>
<p>Recuerda que las modificaciones que hagas con este comando serán temporales, y la próxima vez que reinicies el sistema se cargarán los valores por defecto. Para cambiar este comportamiento, hay que editar el archivo <em>/etc/sysctl.conf</em></p>
<div class="consola">echo &#8216;net.ipv4.conf.all.forwarding=1&#8242; &gt;&gt; /etc/sysctl.conf</div>
<p><strong>Básicamente</strong> eso es sysctl. El tema podría tornarse más extenso pero la idea de estos artículos, es tan sólo, recopilar conceptos en torno al kernel Linux. Para más información <a title="man sysctl" href="http://linux.die.net/man/8/sysctl">man sysctl</a>.</p>
<p>Hasta aquí por hoy. En el próximo artículo hablaremos un poco de optimizaciones para el procesador y de otras buenas prácticas a la hora de compilar el núcleo.</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/trabajando-con-el-kernel-linux-ii/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Trabajando con el Kernel Linux (I)</title>
		<link>http://casidiablo.net/trabajando-con-el-kernel-linux-i/</link>
		<comments>http://casidiablo.net/trabajando-con-el-kernel-linux-i/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 16:12:14 +0000</pubDate>
		<dc:creator>Cortex</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[compilación]]></category>
		<category><![CDATA[configuración]]></category>
		<category><![CDATA[ide]]></category>
		<category><![CDATA[lcd]]></category>
		<category><![CDATA[microfono]]></category>
		<category><![CDATA[pantalla]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3256</guid>
		<description><![CDATA[Hola a todos! Otra vez yo, Cortex, que hace un buen rato no me pasaba por aquí. Hoy me gustaría hablar sobre un tema en el que seguro todos tenemos muchas lagunas, configurar el kernel. Si alguna vez has instalado ó intentando instalar Gentoo te habrás dado cuenta que en el ritual de instalación debes [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Ftrabajando-con-el-kernel-linux-i%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Trabajando%20con%20el%20Kernel%20Linux%20%28I%29%22%20%7D);"></div>
<p>Hola a todos! Otra vez yo, <strong>Cortex</strong>, que hace un buen rato no me pasaba por aquí.</p>
<p><img style="float: right" src="http://casidiablo.net/wordpress/wp-content/uploads/2009/07/logo-gentoo.png" alt="" width="147" height="155" />Hoy me gustaría hablar sobre un tema en el que seguro todos tenemos muchas lagunas,<strong> configurar el kernel</strong>. Si alguna vez has instalado ó intentando instalar Gentoo te habrás dado cuenta que en el <em>ritual</em> de instalación debes de compilar tu propio núcleo, incluyendo también la configuración del mismo. Desde mi experiencia, este suele ser un punto en el que la mayoría de usuarios se quedan; es cierto que también existe <strong>genkernel</strong>, una herramienta que facilita por completo este proceso  pero que también, entre otras cosas, ralentiza mucho el arranque.</p>
<p>Casi la totalidad de distribuciones Linux, incluyen en su sistema un kernel con soporte para la mayor cantidad de hardware posible y en el booteo hay un <em>script</em> que se encarga de identificar el perfil del equipo en cuestión y cargar los módulos respectivos (sonido, disco, sistemas de archivos, etc.). Este sistema me parece excelente, puesto que sobretodo al usuario nuevo le ahorra mucho trabajo a la hora de poner a funcionar su distribución, pero como dije anteriormente no es lo más óptimo, <strong>sobretodo si queremos el mejor rendimiento posible.</strong><span id="more-3256"></span></p>
<p>No pretendo con esta entrada crear una guía completa de configuración del kernel. Primero, porque mis conocimientos en este tema son limitados, o sino que lo diga <a title="It Should Work..." href="http://vierito.es/wordpress"><strong>Javi</strong></a>, que siempre le toca aguantarse mis quejas porque no me funcionan bien las cosas <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Y segundo, porque todos tenemos necesidades diferentes y puede que algunos necesiten soporte para determinadas cosas que otros no. Lo que sí me gustaría es hablar sobre buenas prácticas a la hora de trabajar con el núcleo y sobre problemas muy comunes que surgen cuando hacemos una configuración desde 0, como dispositivos que no funcionan, entre otras cosas. <strong>El post está abierto a cualquier aporte/mejora/correción que quieran hacer</strong>.</p>
<h2>Brillo en pantallas LCD</h2>
<p>Son varias las personas que alguna vez me han preguntado como pueden hacer funcionar las teclas para definir la intensidad del brillo de la pantalla. Si usas portatil, habrás notado que es una funcionalidad demasiado útil y que además es muy maluco tener que trabajar únicamente con el brillo que el laptop <em>haya decidido definir al ser encendido</em>.</p>
<ul>
<li><strong>Lo primer es activar el controlador:</strong></li>
</ul>
<pre>Device Drivers  ---&gt;
     Graphics Support ---&gt;
          [*] Lowlevel video output switch controls
          [*] Backlight &amp; LCD device support  ---&gt;
               &lt;*&gt;   Lowlevel LCD controls
               &lt;*&gt;     Platform LCD controls
               -*-   Lowlevel Backlight controls
               &lt;*&gt;     Generic (aka Sharp Corgi) Backlight Drive
      Display device support  ---&gt;
           &lt;*&gt; Display panel/monitor support</pre>
<ul>
<li><strong>Ahora nos dirigimos a las opciones de ACPI y activamos el manejo de video:</strong></li>
</ul>
<pre>Power management and ACPI options  ---&gt;
     [*] ACPI (Advanced Configuration and Power Interface) Support  ---&gt;
          &lt;*&gt;   Video</pre>
<p>Y con esto bastaría recompilar para disfrutar del brillo <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h2>/proc/config.gz</h2>
<p>Una opción que quizás muchos no conocen es la de poder acceder a la configuración del kernel en ejecución a través del archivo <em>/proc/config.gz</em>. Actívemosla y curémosnos en salud ante la pérdida del preciado <em>.config</em>.</p>
<pre>General setup  ---&gt;
     &lt;*&gt; Kernel .config support
     [*]   Enable access to .config through /proc/config.gz</pre>
<p>Para disponer del archivo de configuración:</p>
<div class="consola">zcat /proc/config.gz &gt; .config</div>
<h2>Sonido como módulo</h2>
<p>Entre los problemas más comunes en Linux está el sonido. Sobretodo si trabajamos con versiones de ALSA muy viejas ya que nos toca recurir a <em>hacks</em> ó pasar parámetros a la hora de cargar los módulos. <strong>Por si no está claro para alguien</strong>, <strong>ALSA</strong> (Advanced Linux Sound Architecture) a grosso modo, es el encargado de la gestión del sonido en Linux, reemplazando al obsoleto OSS. No es la única opción, pero sí la mejor en la mayoría de los casos.</p>
<p>Existen 3 formas de instalar ALSA:</p>
<ul>
<li>Desde los drivers del kernel (estáticamente)<em></em></li>
<li>Desde los drivers del kernel (módulo)</li>
<li>Drivers externos (<a href="http://www.alsa-project.org/main/index.php/Main_Page">alsa-drivers</a>)</li>
</ul>
<p>La más recomendada es la segunda. Las ventaja de compilar el sonido como módulo es que no tenemos que preocuparnos de identificar cual es el controlador apropiado para nuestra tarjeta, sino, simplemente dejar hacer su trabajo a <em>alsaconf</em> y usar <em>alsamixer</em> para definir el volumen. Aparte de que también se obtiene un mejor rendimiento.</p>
<p><a href="http://wonkabar.org/2009/09/01/three-ways-to-install-alsa-drivers/">Si quieres profundizar un poco en el tema puedes leer este artículo.</a></p>
<p>No pondré aquí las opciones que se  necesitan activar en el núcleo, puesto que en la <a title="ALSA - Gentoo" href="http://www.gentoo.org/doc/es/alsa-guide.xml">documentación de Gentoo</a> está todo perfectamente explicado. Más bien hablemos sobre los <strong>micrófonos integrados</strong>, esos que a veces resulta tan difícil hacer funcionar.</p>
<div class="nota">Si se ha compilado el núcleo como se explica en el anterior enlace, y además, se está usando la última versión de ALSA (<strong>recomendado</strong>) el micrófono ya debe de funcionar, sólo falta configurarlo.</div>
<p>Abrimos en una shell <strong>alsamixer</strong> y presionando la tecla Tabulador nos movemos a los <strong>dispositivos de Captura</strong>. Debemos cambiar en <em>Input Source, Mic</em> por <em>Front Mic</em> y también verificar que los dispositivos <em>Capture</em> y <em>Digital</em> no están mudos y además que tengan el volumen al 100%.</p>
<p>Guardamos la configuración</p>
<div class="consola"># alsactl store</div>
<p>Ahora abrimos cualquier aplicación para captura de audio y probamos con los dispositivos disponibles a ver cual funciona. <strong>Eso es todo.</strong></p>
<p>No quiero alargar más el post, de momento es suficiente. Más adelante veremos como podemos hacer funcionar las <strong>cámaras web</strong> en Linux y algunas otras cosas.</p>
<p>Cualquier comentario será bien recibido, ¡Hasta pronto!</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/trabajando-con-el-kernel-linux-i/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Cómo ayudar a otros a migrar a Gnu/Linux</title>
		<link>http://casidiablo.net/como-ayudar-a-otros-a-migrar-a-gnulinux/</link>
		<comments>http://casidiablo.net/como-ayudar-a-otros-a-migrar-a-gnulinux/#comments</comments>
		<pubDate>Mon, 31 Aug 2009 15:20:11 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[beryl-compiz]]></category>
		<category><![CDATA[juegos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software libre]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.casidiablo.net/wordpress/index.php/2008/04/14/como-ayudar-a-otros-a-migrar-a-gnulinux/</guid>
		<description><![CDATA[Hay una línea que separa a los usuarios de sistemas operativos Gnu/Linux en dos grandes grupos. Por un lado están los que al usarlo se llenan de alegría, satisfacción, conocimientos, espíritu de ayuda y un altruismo maravilloso; gente que no critica sin tener conocimientos ni fundamentos (que no se mete donde no debe); gente que [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fcomo-ayudar-a-otros-a-migrar-a-gnulinux%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22C%C3%B3mo%20ayudar%20a%20otros%20a%20migrar%20a%20Gnu%2FLinux%22%20%7D);"></div>
<p style="text-align: justify;">Hay una línea que <strong>separa a los usuarios de sistemas operativos Gnu/Linux</strong> en dos grandes <em>grupos</em>. Por un lado están los que al usarlo se llenan de alegría, satisfacción, conocimientos, espíritu de ayuda y un altruismo maravilloso; gente que no critica sin tener conocimientos ni fundamentos (que no se mete donde no debe); gente que le gusta ayudar, probar, intentar, fracasar, volver a intentar, aprender, vivir. Por otro lado están los “<em>otros</em>”, personas egocéntricas y que sin conocer mucho de “que va el rollo” <a href="http://www.casidiablo.net/wordpress/index.php/2007/11/09/los-ubuntistas-creidos-y-los-linuxeros-puristas/">ya se sienten parte de la “elite”</a>; usan distribuciones solo por el placer de burlarse de los que usan Windows.</p>
<p style="text-align: justify;">Es una línea <strong>muy delgada</strong>, casi imperceptible, y por tanto corremos el riesgo de pasar de un lado al otro a veces sin darnos cuenta. Este artículo es para los usuarios Gnu/Linux del primer grupo, gente altruista y con sed de conocimientos. Ese altruismo hace que nos convirtamos en “<em>evangelizadores</em>” (por llamarlo de alguna manera); personas con ganas de transformar para bien a nuestros amigos y hermanos. Siendo así, hablaremos un poco del <em>cómo ayudar a otras personas  a conocer el maravilloso mundo de Gnu/Linux</em>, <strong>SIN recurrir a tontos métodos que nos hacen quedar siempre mal</strong> (como hacer críticas destructivas, presionar, imponer, insultar, etc.).</p>
<h3>Puntos a tener en cuenta antes de intentar convencer a alguien de migrar a Linux</h3>
<ul>
<li style="text-align: justify;">Nunca olvides la máxima: cada quien está en la libertad de usar el sistema operativo con el que se sienta bien; eso prima sobre todas las cosas.</li>
<li style="text-align: justify;">Es necesario tener en cuenta los conocimientos, personalidad y edad de la otra persona. No es lo mismo encarar a una ama de casa, que a un estudiante, o a un ingeniero de sistemas.</li>
<li style="text-align: justify;">NO intentes convertir a todos tus amigos de un solo tajo (el que mucho abarca, poco aprieta). <strong>Comienza por los más abiertos e inteligentes</strong>, y unos pocos a la vez. Es importante que ellos se sientan acompañados, puesto que el cambio puede ser difícil al principio&#8230; de lo contrario con el primer problema que se les presente, van a ir corriendo asustados de nuevo hacia Windows.</li>
<li>Ten en cuenta que <strong>estás gastando de tu tiempo para ayudar a alguien</strong>, si no te sientes bien haciéndolo no lo hagas. Si te sientes bien, hazlo con el mayor de los gustos&#8230; o ¿porqué si tienes que apresurarte para repararle el Windows XP de tu novia cada 2 meses? <span style="text-decoration: line-through;">¿tan rico te la chupa?</span> NO, hombre! <strong><a href="http://aceitunassinhueso.com/2007/01/30/plataforma-anti-soporte-gratuito-a-microsoft/">No más soporte a Microsoft</a></strong>. ¡Aprovecha ese tiempo ayudando de verdad a la gente; aprendiendo y enseñando!</li>
<li style="text-align: justify;">NO lo intentes con personas que: NO tienen ganas de aprender, que son necias, que son perezosas, troles, que son tercas o que no te caen bien. O dicho de otra forma&#8230;</li>
<li style="text-align: justify;">&#8230; intenta convencer a los usuarios que sean inteligentes, que tengan sed de conocimientos, que sean pacientes, personas cercanas a ti (amigos, parientes, a tu novi@(s), etc.), personas a las que les deseas el bien (porque eso es Linux: un bien).</li>
<li style="text-align: justify;"><strong>Olvídate por un momento de decir “puedes modificar el código fuente”</strong>. NO es recomendable hacerlo. Por ejemplo, si le dices a tu abuelita que si usa Linux va a poder modificar los drivers de la tarjeta wireless para inyectar paquetes, que además podrá recompilar el kernel cada vez que lo desee, y que puede de paso aprender programación C++ avanzada leyendo los fuentes de programas de terceros, muy seguramente <strong>NO va a entender NADA</strong>, y en el peor de los casos buscará al cura del pueblo para que te exsorcise.
<p>Ese cuento del <em>código fuente úsalo</em> con las personas adecuadas: ingenieros de software, empresas en busca de servicios, estudiantes de programación, etc. No tiene sentido hacerlo con todas las personas.</li>
</ul>
<p><span id="more-882"></span></p>
<p style="text-align: justify;">Atraer usuarios al “otro lado” es una tarea más difícil de lo que parece. Millones de personas usan sistemas operativos de Microsoft pensando (ingenuamente) que es su única alternativa; otros han oído hablar pestes de los sistemas Linux de personas que han tenido malas experiencias. Sea cual sea el problema, lo mejor es siempre identificarlo antes de actuar/hablar.</p>
<h3>Analicemos los diferentes problemas y  cómo solucionarlos</h3>
<p><em><strong>1. La ignorancia</strong></em></p>
<p style="text-align: justify;">Muchas personas sencillamente NO conocen otras alternativas. El monopolio actual de Microsoft <strong>ha puesto un grueso velo de ignorancia</strong> en los ojos de estos ingenuos usuarios, y por tanto NO debemos juzgar a estas personas, simplemente porque NO tienen la culpa de ello.</p>
<p style="text-align: justify;"><em>¿Cómo afrontar este problema?</em> La solución a la ignorancia es la educación. Debemos intentar explicar de la forma más amena posible algunos puntos:</p>
<ul>
<li><a href="http://www.casidiablo.net/wordpress/index.php/2008/03/13/¿que-es-eso-de-linux-¿porque-usar-linux/">¿Qué es Linux?</a></li>
<li><a href="http://www.nierox.com/2008/02/06/que-se-puede-hacer-en-linux-y-no-en-windows-o-mac/">Qué se puede hacer con Linux</a></li>
<li><a href="http://kerberoserverus.blogspot.com/2007/05/10-razones-por-las-cual-no-usar-linux.html">Qué NO se puede hacer con Linux</a></li>
<li><a href="http://www.ecualug.org/?q=2007/aug/29/porqu_migrar_linux">Porque es bueno migrar a Linux</a></li>
</ul>
<p style="text-align: justify;">Es importante que tengas unas buenas bases de conocimientos acerca de estos puntos. Hacer que una persona migre hacia Linux no es tarea fácil. Es necesario hablar con seguridad, demostrar satisfacción, hacer que la otra persona se pregunte “¿porqué diablos este tipo está tan feliz de esa cosa Linux?”.</p>
<p><em><strong>2. Incultura y piratería</strong></em></p>
<p style="text-align: justify;">Linux es gratis! Sí, ¿y qué? Windows también lo es. Puedes comprar un CD por 5.000 pesos (2.5 US$, ó 1.6 Euros) en cualquier tienda, sin pagar ningún tipo de licencia. Incluso es posible descargarlo de Internet sin costo alguno. Puedes hacer copias y hacer con ellas lo que te apetezca. Mucha gente lo hace conscientemente, y <strong>no le avergüenza hacerlo (a mi tampoco)</strong>.</p>
<p style="text-align: justify;">Que Microsoft cobre por sus productos <strong>no es el problema</strong>; ellos han diseñado sistemas operativos, suites ofimáticas, diferentes programas, incluso hardware; y por tanto tienen derecho a cobrar lo que se les venga en gana por dichos servicios. <strong>No hay nada de malo en ello</strong>, independientemente de si nos dan libertades o no.</p>
<p style="text-align: justify;">El meollo del asunto está en “<em>Qué tan cultos somos</em>” y “<em>Qué clase de ejemplo estamos dando a nuestros amigos, hijos y futuras generaciones</em>”. <strong>Nos hemos convertido en LADRONES</strong>, y parece que no nos importa ello. <strong>Eso es INCULTURA</strong>.</p>
<p style="text-align: justify;">Afortunadamente es posible cambiar. Tenemos una maravillosa alternativa libre y gratuita: usar sistemas operativos Gnu/Linux. Sistemas que podemos copiar, regalar, vender, modificar, compartir y todo lo que se te venga a la cabeza, sin que esto nos convierta en piratas. <strong>Es importante aclarar eso a los demás</strong>, y si detectas que la persona a la que intentas explicarle esto le importa poco o nada el ser <span style="text-decoration: line-through;">un ladrón</span> pirata: ignórala, seguramente perderás tu valioso tiempo. Habla con personas que valgan la pena.</p>
<p><em><strong>3. Linux NO es anticuado – Aprovecha los recursos</strong></em></p>
<p style="text-align: justify;">Mucha gente cree que Linux aún es una consola negra y lúgubre en donde todo hay que hacerlo con comandos. ¡Usa los recursos que tengas disponibles! Enséñales el Linux que tienes instalado en tu laptop, muéstrales un <a href="http://es.youtube.com/results?search_query=compiz+fusion&amp;search_type=">vídeo de Compiz Fusion</a> de los <a href="http://es.youtube.com/watch?v=bvnQE1EAEZY">tantos</a> <a href="http://es.youtube.com/watch?v=Fz7lfUa711k">que</a> <a href="http://www.youtube.com/watch?v=Yx9FgLr9oTk">hay</a>. ¡Muchas cosas entran por los ojos! Esos bonitos efectos visuales son como un imán que atrae a nuevos usuarios, o al menos logran captar la atención y robarle una sonrisa de incredulidad a los que lo ven.</p>
<p style="text-align: justify;">Muestra a los demás que visualmente Linux es superior a muchos otros sistemas operativos. Que no tenemos nada, absolutamente nada, que envidiarle a ningún otro sistema operativo. Tú ya lo sabes, ¡es hora de que los demás lo sepan también!</p>
<p><strong>4. Software</strong></p>
<p style="text-align: justify;">Es importante hacer entender a la gente que no va a necesitar de Windows. Y en este punto es bueno que conozcas <a href="http://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Linux/Equivalencias_Windows_en_Linux">el software equivalente de Windows en Linux</a> (para las aplicaciones más comunes), para lo cual hay bastantes listados y tablas en Internet.</p>
<p style="text-align: justify;">Como sabrás tenemos <a href="www.openoffice.org/">suites ofimáticas</a>, <a href="http://www.gnome.org/projects/evolution/">gestores de correo</a>, <a href="http://www.genbeta.com/2008/04/14-guia-de-inicio-linux-mensajeria-instantanea">herramientas para mensajería instantánea</a>, <a href="http://www.genbeta.com/2008/04/02-guia-de-inicio-linux-navegadores-web">navegadores web</a>, <a href="http://www.transmissionbt.com/">gestores</a> <a href="http://ktorrent.org/">de</a> <a href="http://azureus.sourceforge.net/">descargas</a> <a href="http://www.amule.org/">P2P</a> <a href="http://www.lphant.com/">y Torrents</a>, y un largo etc.</p>
<p style="text-align: justify;">Se trata más de desinformación por parte de los usuarios de Windows, pero para eso estamos: ¡para educar!</p>
<p><em><strong>5. Los juegos</strong></em></p>
<p style="text-align: justify;">Aquí voy a hacer una pausa y a ponerme la mano en el corazón. Sí, está bien sí hay juegos para Gnu/Linux, pero (hay que reconocerlo) no tan atractivos como los de Windows. El problema radica principalmente en los desarrolladores de juegos, que solo sacan versiones para sistemas operativos de Microsoft.</p>
<p style="text-align: justify;">Frente a este problema tenemos dos opciones: <strong>1. configuramos los juegos de Windows para que corran sobre Linux</strong>, para lo cual podemos hacer uso de:</p>
<ul>
<li><strong>Wine (Wine Is Not an Emulator)</strong> <a href="http://www.winehq.org/" target="_blank">http://www.winehq.org</a></li>
<li style="text-align: justify;"><strong>Wine Doors</strong> <a href="http://www.wine-doors.org/" target="_blank">http://www.wine-doors.org</a> Wine Doors es una aplicación open source diseñada para instalar una gran variedad de software para Windows usando Wine.</li>
<li style="text-align: justify;"><strong>PlayOnLinux</strong> <a href="http://www.playonlinux.com/" target="_blank">http://www.playonlinux.com</a> Play on Linux, te ofrece algunos scripts que automatizan el proceso de instalación y configuración de juegos en Linux, usando Wine</li>
<li><strong>Cedega</strong> <a href="http://www.cedega.com/" target="_blank">http://www.cedega.com </a></li>
<li><strong>Crossover Games (cxgames)</strong><a href="http://www.codeweavers.com/" target="_blank"> http://www.codeweavers.com</a></li>
</ul>
<p>O (segundo) <strong>podemos simplemente usar los juegos que están desarrollados para ejecutarse directamente sobre Gnu/Linux</strong>, o que como en el caso de <a href="www.enemyterritory.com/">Enemy Territory: Quake Wars</a> solo requieren algo de configuración extra para correrlos directamente (sin emuladores).</p>
<p style="text-align: center"><img title="etqw" src="http://i270.photobucket.com/albums/jj96/Casidiablo/enemyterritoryquakewarsjd3.jpg" alt="etqw" width="450" height="338" /></p>
<p>Existen bastantes juegos y la mayoría son libres y/o gratuitos, así que no hay excusa.</p>
<h3>Recursos útiles</h3>
<ul>
<li style="text-align: justify;">Para llamar la atención (suena feo, pero así es), nada mejor que pasarse por el <a href="http://es.youtube.com/results?search_query=compiz+fusion&amp;search_type=">Youtube y buscar vídeos</a> de <a href="http://www.compiz-fusion.org">Compiz Fusion</a>. Este tipo de software no es productivamente funcional, pero debemos reconocer que atraen gente. ¡Pero ojo! Este recurso NO es útil si se lo muestras a alguien a quien no le interese la apariencia de su sistema, o empresas que buscan rendimiento, seguridad y robustez.</li>
<li style="text-align: justify;">Es necesario conocer las diferentes tipos de distribuciones que existen. Está bien, tu Ubuntu te sirve para lo que necesitas, pero hay otras muchas distribuciones deseosas de que las pruebes. Esto no solo sirve para encontrar tu distro ideal, sino que te permite conocer qué ofrece cada distro. De esta forma podrás recomendar la distro adecuada a la persona adecuada. Hablo de eso con <a title="Que linux elejir ? cual sugerir ?" href="http://www.casidiablo.net/wordpress/index.php/2007/12/18/que-distribucion-linux-elijo-cual-sugerir/">más detalle en este artículo</a>.</li>
<li style="text-align: justify;">Una buena herramienta que puedes usar es <a href="http://www.zegeniestudios.net/ldc/"><em>Linux Distribution Chooser</em></a>, el cual tiene un sistema en el que puedes diligenciar un formulario y que al final te sugerirá, según su criterio, cual distro es la más adecuada para ti.</li>
<li style="text-align: justify;">El servicio de<a href="https://shipit.ubuntu.com/"> entrega de CD-ROMs de Ubuntu gratis de Canonical</a>, es una muy buena herramienta para ti y tus amigos. Pero úsalo adecuadamente. Es normal (y sano) que te guardes un CD para ti, como recuerdo y copia de seguridad; pero la idea es que REGALES Y COMPARTAS los demás a tus amigos. Es necesario que sientan que es DE VERDAD GRATIS Y LIBRE, y que sientes un placer enorme al compartirlos con los demás.</li>
</ul>
<h3>Enlaces interesantes</h3>
<ul>
<li><strong>En busca de respuestas</strong>
<ul>
<li><a href="http://www.casidiablo.net/wordpress/index.php/2008/03/13/¿que-es-eso-de-linux-¿porque-usar-linux/">¿Qué es eso de Linux? ¿Porqué usar Linux?</a></li>
<li><a href="http://www.casidiablo.net/wordpress/index.php/2007/12/18/que-distribucion-linux-elijo-cual-sugerir/">¿Qué distro elij? ¿Cuál sugiero a mis amigos? </a></li>
<li><a href="http://www.elblogdemaverick.com/?p=9">Por qué LINUX es mejor (part. 1)</a><strong> </strong>[<a title="Puesto que Maverick cerró el blog :(" href="http://cmaverick.wordpress.com/2006/09/07/por-que-linux-es-mejor-part-1/">o aquí</a>]</li>
<li><a href="http://www.elblogdemaverick.com/?p=11">Por qué LINUX es mejor (part. 2)</a><strong> </strong>[<a title="Puesto que Maverick cerró el blog :(" href="http://cmaverick.wordpress.com/2006/09/13/por-que-linux-es-mejor-part-2/">o aquí</a>]</li>
<li><a href="http://especulando.wordpress.com/2007/10/05/8-razones-por-las-que-los-usuarios-windows-no-cambian-a-linux/">8 razones por las que los usuarios Windows no cambian a Linux</a></li>
<li><a href="http://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Linux/Equivalencias_Windows_en_Linux">Tabla de equivalencias softwareWindows en Linux</a></li>
<li><a href="http://www.linuxscrew.com/2007/11/22/windows-software-linux-software/">Windows Software &lt;=&gt; Linux Software</a></li>
</ul>
</li>
<li><strong>En busca de distribuciones</strong>
<ul>
<li><a href="http://perso.wanadoo.es/jedisoft/webs/minilinux.html" target="_blank">Lista de minidistribuciones de Linux</a></li>
<li><a href="http://www.zegeniestudios.net/ldc/" target="_blank">Realizar un formulario interactivo para saber cuál es la distribución que más se ajusta a nuestros intereses</a></li>
<li><a title="Ver entrada" href="http://www.casidiablo.net/wordpress/index.php/2007/07/03/comparando-distros-de-linux/" target="_blank">Comparar distribuciones</a></li>
<li><a href="http://es.wikipedia.org/wiki/Distribuciones_de_Linux" target="_blank">Distribuciones de Linux en la wikipedia</a></li>
<li><a title="Ir a la web Oficial" href="http://distrowatch.com/" target="_blank">DistroWatch,</a> <a title="Ir a la web Oficial" href="http://distrowatch.com/" target="_blank">para saber qué distros son las más populares</a></li>
<li><a href="https://foro.elhacker.net/index.php/topic,127980.0.html">FAQ : ¿Qué distribución elijo?</a></li>
</ul>
</li>
<li><strong>Respecto a Juegos sobre Linux</strong>
<ul>
<li><a href="http://jfibergran.wordpress.com/2008/02/11/play-on-linux/">Play on Linux </a></li>
<li><a href="http://rangit.com/software/top-8-linux-games-of-2007/">Top 25 Linux Games &#8211; Top 25 Juegos en Linux</a></li>
<li><a href="http://www.linuxhispano.net/juegos/">Linux Hispano Juegos</a></li>
<li><a href="http://www.linuxjuegos.com/">LinuxJuegos.com</a></li>
<li><a href="http://blog.linuxoss.com/2008/04/12/winecedegacrossover-games-windows-gaming-on-linux/">Wine/Cedega/Crossover Games: Windows Gaming on Linux</a></li>
<li><a href="http://www.juegoslinux.com/">Juegos Linux</a></li>
</ul>
</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/como-ayudar-a-otros-a-migrar-a-gnulinux/feed/</wfw:commentRss>
		<slash:comments>70</slash:comments>
		</item>
		<item>
		<title>[How-to] Instalar Firefox 3.5 RC en Gentoo</title>
		<link>http://casidiablo.net/how-to-instalar-firefox-3-5-rc-en-gentoo/</link>
		<comments>http://casidiablo.net/how-to-instalar-firefox-3-5-rc-en-gentoo/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 13:28:27 +0000</pubDate>
		<dc:creator>Cortex</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3079</guid>
		<description><![CDATA[Hola a todos, mi nombre es Juan Esteban (Cortex), y al igual que mi amigo Cristian uso la meta-distribución Gentoo Linux. Para los que no lo sabían la organización Mozilla anda trabajando actualmente en la versión 3.5 del navegador Firefox y hace un par de días se encuentra disponible la versión Release Candidate 2, la [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fhow-to-instalar-firefox-3-5-rc-en-gentoo%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22%5BHow-to%5D%20Instalar%20Firefox%203.5%20RC%20en%20Gentoo%22%20%7D);"></div>
<p>Hola a todos, mi nombre es <strong>Juan Esteban</strong> (<a title="Cortex" href="http://www.dragonjar.org/author/c0rt3x"><strong>Cortex</strong></a>), y al igual que mi amigo <strong>Cristian</strong> uso la <em>meta-distribución</em> <strong><a title="Gentoo" href="http://casidiablo.net/category/gentoo/">Gentoo Linux</a>. </strong>Para los que no lo sabían la organización Mozilla anda trabajando actualmente en la versión 3.5 del navegador Firefox y hace un par de días se encuentra disponible la versión Release Candidate 2, la cual incluye ya múltiples mejoras y agregados.</p>
<p>Entre sus nuevas funciones podemos destacar:</p>
<ul>
<li>La posibilidad de ver videos sin hacer uso de plugins ó reproductores externos.</li>
<li>La disponibilidad del modo de navegación privado y la herramienta para limpiar el historial, la cual ha sido actualizada, permitiendo seleccionar también el rango de tiempo del cual se hará la limpieza.</li>
<li>Controlar los resultados de la barra de localización haciendo uso de caracteres especiales.</li>
<li><a title="Firefox 3.5" href="http://www.mozilla.com/en-US/firefox/3.5/whatsnew/">Mucho más&#8230;</a></li>
</ul>
<p>Ahora bien, veamos como podemos instalarlo en Gentoo.</p>
<h3>1. Actualizar el árbol de Portage</h3>
<p>Lo primero es actualizar el árbol de Portage para poder hacer uso del ebuild de Firefox 3.5 RC2.</p>
<div class="consola">emerge &#8211;sync</div>
<p>Para verificar si ya se encuentra disponible el ebuild en nuestro directorio de Portage, podríamos hacerlo de la siguiente manera:</p>
<div class="consola">ls -l /usr/portage/www-client/mozilla-firefox-bin/ | grep 3.5</div>
<h3>2. Desenmascarar el paquete</h3>
<p>Al ser una versión aún <em>inestable</em> el paquete viene por defecto enmascarado así que debemos primero desenmascararlo para poder hacer uso de él.</p>
<div class="consola">touch /usr/portage/profiles/package.unmask # En caso de que no tengas el archivo creado<br />
echo &#8216;&gt;=www-client/mozilla-firefox-bin-3.1_alpha1&#8242; &gt;&gt; /usr/portage/profiles/package.unmask</div>
<div class="nota">Advertencia: Recuerda que aún es una versión de pruebas y no debería de ser usada sino para eso, probar. Además los bugs que detectes no deben ser reportados al Bugzilla de Gentoo sino directamente a Mozilla.</div>
<h3>3. Instalar Firefox 3.5 RC2</h3>
<p>De momento <strong>sólo se encuentra disponible el paquete precompilado</strong>. Para instalarlo con el idioma español podríamos editar nuestro archivo <code>/etc/make.conf</code> y agregarle la línea:</p>
<div class="consola">LINGUAS=&#8221;es es_ES&#8221;</div>
<p>En caso de que sólo quieras hacerlo temporalmente y sólo para este paquete ó agregar también el soporte para otros idiomas, puedes anteponer la línea escrita anteriormente al emerger el paquete.</p>
<p>Ahora sí, instalemos:</p>
<div class="consola">emerge -av =mozilla-firefox-bin-3.5_rc2</div>
<div class="nota">Nota: Recuerda agregar un = antes del paquete para especificarle cual es la versión que queremos instalar, si no lo haces te aparecerá que el ebuild no existe.</div>
<h3>4. Ejecutar Firefox</h3>
<p>En <strong>Gnome</strong> se encuentra en el menú Aplicaciones -&gt; Internet -&gt; Mozilla Firefox (bin). Sí, el que tiene el ícono más colorido <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Con esto terminamos. Espero les sirva, y además espero escribir más seguido <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Saludos!</p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/how-to-instalar-firefox-3-5-rc-en-gentoo/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>El cocinero que instaló Debian GNU/Linux y túvo éxito</title>
		<link>http://casidiablo.net/el-cocinero-que-instalo-debian-gnulinux-y-tuvo-exito/</link>
		<comments>http://casidiablo.net/el-cocinero-que-instalo-debian-gnulinux-y-tuvo-exito/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 12:39:00 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://www.casidiablo.net/wordpress/?p=346</guid>
		<description><![CDATA[Escribir un libro de cocina, es una gran bondad que nos brinda un cocinero, pues nos da la posibilidad de aprender a comer y a su vez de brindar placeres a nuestros amigos o seres queridos; también ofrece la posibilidad del progreso social y económico, pues en él, no sólo están las instrucciones para cocinar [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fel-cocinero-que-instalo-debian-gnulinux-y-tuvo-exito%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22El%20cocinero%20que%20instal%C3%B3%20Debian%20GNU%2FLinux%20y%20t%C3%BAvo%20%C3%A9xito%22%20%7D);"></div>
<p style="text-align: justify;"><img style="float:left;margin:5px;" title="debian-pastel" src="http://casidiablo.net/wordpress/wp-content/uploads/2008/02/debian-pastel.jpg" alt="debian-pastel" width="350" height="262" />Escribir un libro de cocina, es una gran bondad que nos brinda un cocinero, pues nos da la posibilidad de aprender a comer y a su vez de brindar placeres a nuestros amigos o seres queridos; también ofrece la posibilidad del progreso social y económico, pues en él, no sólo están las instrucciones para cocinar sino para trabajar, para vivir. La comida es el combustible del hombre.</p>
<p style="text-align: justify;">No soportaría que las recetas de cocina fueran textos proscritos, patentados y ocultos a la humanidad. Creo que nadie lo toleraría; nos quitarían el derecho a alimentarnos, a disfrutar, a vivir. ¿Acaso puede existir alguien tan perverso como para adjudicarse derechos sobre las papas fritas, el arroz cocido o la sopa de verduras?</p>
<p style="text-align: justify;">Los cocineros solemos ser gente arriesgada, que experimenta y busca por el mundo sabores y posibles combinaciones que nos den el plato perfecto. Un cocinero de verdad, jamás oculta el saber, disfruta tanto compartiendo una receta como preparando el plato mismo. El mejor cocinero no es aquel que más recetas conoce y se las guarda, sino el que es capaz de compartir; es decir, el que tiene la capacidad de enseñar y dar. No es un cocinero aquel que sabe preparar deliciosos manjares pero lo hace sólo para él y no muestra su talento al mundo, a sus amigos o clientes.<span id="more-346"></span></p>
<p style="text-align: justify;">Dado esto, algún día me dí cuenta que si compartía mis programas como comparto mis recetas, me convertía en una mala persona, infringía leyes y aparentemente, le vulneraba los derechos de autor a algunas personas o empresas. Pero, ¿cómo es posible que compartir sea algo malo? ¿por qué el dar es ilegal?. Si yo no podía dar mis recetas me sentía miserable y frustrado. No dar mis programas que al fin y al cabo sólo son información, me hacía sentir malvado. Así que decidí hacer algo para cambiar esto.</p>
<p style="text-align: justify;">Comencé a buscar por el mundo como cuando se busca una especia extraña, buscando esa receta o esa fórmula para poder dar y recibir sin convertirme en delincuente. Además creo que si tienes algo bueno y lo das, eres muy bueno y si tienes algo malo y lo das eres muy malo; es decir, que si le doy a alguien un programa de computador que es malo porque me impide compartir y ser libre, lo estoy esclavizando. Si tengo un manjar, lo doy. Si tengo un veneno, lo tiro. Esa es la lógica del cocinero.</p>
<p style="text-align: justify;">Así descubrí que existían programas de computador que no sólo se podían utilizar sino que todos podíamos conocer su receta y compartirla con los demás. En otras palabras, el sueño de un cocinero, algo como no sólo servir el plato sino enseñar a prepararlo.</p>
<h3>Quién dijo que fuera fácil</h3>
<p style="text-align: justify;">No escogí el software libre y GNU/Linux porque fuera fácil. Lo escogí porque es libre y puedo ser un mejor ser humano si lo uso y mejor aún si lo comparto y difundo. Pero no es de asustarse, pues si lo pude hacer yo que soy cocinero y disfruto entre sartenes, woks y cuchillos ¿por qué no tú que eres ingeniero, matemático, cineasta o arquitecto?</p>
<p style="text-align: justify;">El camino es caminando y sólo es cuestión de seguir. Al principio intenté con lo que pensé que era más sencillo, es decir programas que supuestamente lo hacían todo por mi. Descubrí un sistema operativo llamado SUSE que me parecía muy similar a lo que había trabajado. Lo instalé según las instrucciones que traía en un libro gordo y pude hacer muchas cosas. Sin embargo me dí cuenta que no era absolutamente libre y me sentí decepcionado. Así que decidí abandonarlo y seguir en busca del platillo especial de libertad. Me enteré que lo más cercano a la libertad era un sistema llamado Debian, que estaba soportado por miles de programadores y usuarios libertarios, pero que tenía la fama de ser el sistema operativo de los hackers, los gurús y toda la gente que sólo vive para el oficio de los computadores. Recordé la conversación con un comensal científico que alguna vez me dijo: Si lo hizo un humano como Einstein ¿por qué no lo puedo hacer yo que tengo el mismo cerebro?.</p>
<p style="text-align: justify;">Tuve mucha suerte a elegir Debian como mi distribución de GNU/Linux. Ahora me doy cuenta que no sólo es el sistema operativo más robusto y estable que jamás he tenido sino el más libre, manejable y fácil de usar, aunque llegar a este punto me ha costado cierto trabajo y esfuerzo. Pero recuerdo a Don Quijote cuando dijo: &#8220;La libertad, Sancho, es uno de los más preciosos dones que a los hombres dieron los cielos; con ella no pueden igualarse los tesoros que encierra la tierra ni el mar encubre; por la libertad, así como por la honra, se puede y debe aventurar la vida, y, por el contrario, el cautiverio es el mayor mal que puede venir a los hombres&#8221;. Así que el esfuerzo que he invertido es un costo mínimo para conseguir ser libre.</p>
<p style="text-align: justify;">Parece dramático, pero ser libre desde el uso de las herramientas, es el primer paso para conseguir la libertad, pues la libertad además de ser contagiosa, se esparce por la vida como la sangre. Y así como soy libre en el uso de software, quise libertarme de mi teléfono celular y lo logré. Quise libertarme de los noticieros de televisión y lo logré. Creo que la bella locura de ser libre, le ha dado un nuevo impulso a mi creatividad.</p>
<p style="text-align: justify;">Para ayudar a contagiar al mundo de los no informáticos, estoy preparando mi libro &#8220;El Cocinero que instaló GNU/Debian y tuvo éxito&#8221; como una guía para personas no técnicas que quieran empezar a conseguir su libertad desde el uso de ese magnifico sistema operativo y que hasta ahora no se han atrevido por la mitificación de la que se ha encargado la misma comunidad, que por fallas de comunicación cierra las puertas al ciudadano y al usuario final de programas informáticos, que son la base para que la sociedad se libere de las multinacionales del software y la comunicación, quienes distribuyen sus programas y mensajes diseñados para que la gente se embelese con el supuesto uso fácil y cesen cada vez más la capacidad de asombro y el ejercicio de analizar y aprender.</p>
<p style="text-align: justify;">Mi libro es un manual para más que &#8220;dummies&#8221;, que lleva al lector paso a paso por el proceso de instalación de un sistema GNU/Debian con bastantes referencias y aclaraciones de cada proceso que se dan por sentados en la mayoría de los manuales, pues asume que todos sabemos qué es un &#8220;sector de arranque&#8221; o una &#8220;partición&#8221;. Para mi libro todos los lectores son cocineros que no tienen ni la más remota idea de los componentes de su computador y necesitan que un amigo los lleve de la mano por este proceso, la mayor de las veces, tortuoso e incierto.</p>
<h3>¿Y qué le falta para sacarlo del horno?</h3>
<p style="text-align: justify;">Pues la verdad, no mucho, está casi todo cocido y dorado. Espero la salida de &#8220;Etch&#8221;, la próxima versión de Debian que está &#8220;Congelada&#8221; en el momento de escribir esta reseña, (es decir está en la etapa previa a ser lanzado como estable, según el procedimiento de Debian). Otra cosa importante es conseguir el patrocinador o editor que desee publicarla en papel, según las condiciones de la licencia Documento-GPL o Creative Commons. Esto es sumamente importante para que el medio no contradiga el mensaje. Por eso y mucho más:</p>
<h3>¡Viva el GNU/Linux!</h3>
<div class="nota"><strong>Nota</strong>: Este artículo fue escrito por <strong><a href="mailto:fredyrivera@gmail.com">Fredy Rivera</a></strong>. Lo publiqué hace ya bastante, pero no he resistido las ganas de traerlo al presente para recordarlo, puesto que me parece una historia hermosa y fascinante.</div>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/el-cocinero-que-instalo-debian-gnulinux-y-tuvo-exito/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
	</channel>
</rss>

