<?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>Delirium Coder</title>
	<atom:link href="http://blog.deliriumcoder.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.deliriumcoder.com</link>
	<description>Por que nunca antes fue ahora y otras obviedades...</description>
	<lastBuildDate>Sun, 03 Jun 2012 12:42:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Un giro de ciento ochenta grados</title>
		<link>http://blog.deliriumcoder.com/2012/05/un-giro-de-ciento-ochenta-grados/</link>
		<comments>http://blog.deliriumcoder.com/2012/05/un-giro-de-ciento-ochenta-grados/#comments</comments>
		<pubDate>Thu, 10 May 2012 07:00:52 +0000</pubDate>
		<dc:creator>aroshni</dc:creator>
				<category><![CDATA[Cultura]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[Kindle]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=615</guid>
		<description><![CDATA[
A pesar de haber sido bastante reticente a la hora de pasar del formato papel al digital he de reconocer que en los últimos días mi opinión ha dado un giro de ciento ochenta grados. Esto se debe principalmente al hecho de haber comprado cuatro libros digitales (específicamente los cuatro primeros títulos de la premiada Game Of Thrones en Inglés) ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.deliriumcoder.com/wp-content/uploads/2012/05/kindle_logo.jpg"><img class="aligncenter size-medium wp-image-616" title="kindle_logo" src="http://blog.deliriumcoder.com/wp-content/uploads/2012/05/kindle_logo-300x146.jpg" alt="kindle for android" width="300" height="146" /></a></p>
<p>A pesar de haber sido bastante reticente a la hora de pasar del formato papel al digital he de reconocer que en los últimos días mi opinión ha dado un giro de ciento ochenta grados. Esto se debe principalmente al hecho de haber comprado cuatro libros digitales (específicamente los cuatro primeros títulos de la premiada Game Of Thrones en Inglés) con la intención de utilizar la aplicación Kindle para Android proceder a su relajada lectura.</p>
<p>Aplicación que me ha dejado gratamente asombrada por diversos motivos, empezando por la <strong>aplastante superioridad</strong> en lo que a experiencia de usuario se refiere si lo comparamos con otros formatos tradicionales como .pdf, .chm o incluso el papel.</p>
<p>Entre otras cosas puedes aumentar o disminuir el tamaño de la fuente, ampliar o reducir el interlineado, reducir márgenes e incluso cambiar el color del texto y el fondo. La aplicación te permite ir al índice o a cualquier otro punto en cualquier momento, de esta manera podemos llegar a cualquier punto del libro sin tener que pasar una página tras otra.</p>
<p>Una vez llegados a este punto tienes la posibilidad de desplazarte a <strong>cualquier punto</strong> del libro con un sólo <em>tap</em>, algo que viene estupendamente para poder echar un ojo a un apéndice, mapas o cualquier otro tipo de contenido que el autor haya decidido incluir en su obra.</p>
<p>Algo que me ha sorprendido a la par que me ha enamorado es la capacidad de la aplicación para ofrecernos la definición de cualquier palabra que queramos con un simple gesto. Esta utilidad es especialmente útil ya que no solo es <strong>cómodo y rápido</strong> sino que además nos permite a lectores que como yo solemos leer en inglés olvidarnos del uso de google translator o similares.</p>
<p>En el supuesto de tener que salir del libro abandonando así la lectura de forma precipitada no tienes que preocuparte de memorizar la página por la que ibas leyendo ya que al volver a encender el dispositivo o cargar la aplicación volverá a situarte en tu punto de lectura anterior incluso habiendo cerrado el libro.</p>
<p>La cuenta de Kindle Amazon te permite añadir todos los dispositivos que quieras y descargar los libros que hemos comprado a todos los dispositivos vinculados. Por lo tanto, el servicio dispone de una <strong>utilidad de sincronización</strong> que nos permite ir al punto de lectura más avanzado del último dispositivo desde el que leímos por última vez un determinado título sin importar el tipo de dispositivo.</p>
<p>Ha sido tan <strong>positiva</strong> la experiencia que estoy pensando en adquirir un dispositivo Kindle desde la misma Amazon para disfrutar de largos periodos de lectura sin necesidad de recarga de la batería gracias a la tecnología de tinta electrónica, pero de eso ya hablaré en otra entrada.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2012/05/un-giro-de-ciento-ochenta-grados/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Cómo ganar 100.000,00€ anuales programando</title>
		<link>http://blog.deliriumcoder.com/2012/03/como-ganar-100-00000e-anuales-programando/</link>
		<comments>http://blog.deliriumcoder.com/2012/03/como-ganar-100-00000e-anuales-programando/#comments</comments>
		<pubDate>Fri, 02 Mar 2012 07:34:29 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Atlassian]]></category>
		<category><![CDATA[Trabajo]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=602</guid>
		<description><![CDATA[
NOTA ACLARATORIA: Este post fue escrito para ser publicado en Genbetadev ayer pero no se publicó por discrepancia de opiniones entre un servidor y la dirección del blog.
No, hoy no es veintiocho de diciembre, el calendario marca el uno dos de marzo para todo el día. No, no nos hemos fumado nada extraño ni nos hemos comido unos hongos en ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.deliriumcoder.com/wp-content/uploads/2012/03/atlassian.jpg"><img src="http://blog.deliriumcoder.com/wp-content/uploads/2012/03/atlassian.jpg" alt="" title="atlassian" width="460" height="271" class="aligncenter size-full wp-image-603" /></a></p>
<p><strong>NOTA ACLARATORIA</strong>: Este post fue escrito para ser publicado en Genbetadev ayer pero no se publicó por discrepancia de opiniones entre un servidor y la dirección del blog.</p>
<p>No, hoy no es veintiocho de diciembre, el calendario marca el <del datetime="2012-03-02T08:02:20+00:00">uno</del> dos de marzo para todo el día. No, <strong>no nos hemos fumado nada</strong> extraño ni nos hemos comido unos hongos en mal estado, estamos en perfectas condiciones físicas y mentales.</p>
<p>En <del datetime="2012-03-02T08:00:21+00:00">Genbetadev</del> DeliriumCoder <strong>somos programadores</strong>, como tú, y por ello sabemos que es lo que te interesa y sabemos que es lo que quieres, lo mismo que nosotros, en esta casa tenemos la fea manía de comer a diario, y eso es algo que se está poniendo <strong>muy complicado</strong> últimamente.</p>
<p>A parte de eso, con la bendita crisis nuestras condiciones laborales se están viendo aun <strong>más mermadas si cabe</strong>. Pero&#8230; ¿qué puedo hacer yo como programador para mejorar mi situación y seguir disfrutando de mi apasionante profesión pero además con dignidad y cobrando un sueldo de <strong>100.000,00€</strong> anuales?</p>
<p>Sencillo, solo has de <strong>continuar leyendo</strong> esta entrada.</p>
<p><span id="more-602"></span></p>
<h2>Déjate de rollos y enséñame la yesca</h2>
<p>Los <a href="http://www.genbetadev.com/gestores-de-contenido/jira-5-en-profundidad-resena-desde-la-misma-atlassian">creadores de JIRA 5</a>, es decir, <a href="http://www.atlassian.com/">Atlassian</a>, van a enviar un equipo de <strong>cinco personas</strong> por Europa para <strong>buscar y contratar</strong> a quince programadores <strong>Java</strong> y <strong>JavaScript</strong> y una de las cuatro paradas de este equipo va a ser España gracias al <strong>enorme esfuerzo</strong> de su embajador en nuestro país <a href="http://tritter.com/david_bonilla">@david_bonilla</a>.</p>
<p>Van a ofrecer entrevistas no solo en nuestro suelo sino que además van a hacerlo un <strong>fin de semana incluyendo el sábado</strong> para que los compañeros y compañeras de gremio que viven bajo el <strong>fustigo del látigo</strong> puedan acudir a la entrevista sin mayores consecuencias ni problemas.</p>
<h3>¿Pero donde, y cuando?</h3>
<p>Pues en Madrid los días <strong>26, 27 y 28 de Abril</strong> (jueves, viernes y sábado) hemos podido ponernos en contacto con gente de Atlassian que nos informa que <strong>aún no tienen</strong> un lugar confirmado pero que están trabajando en ello. Desde este blog <strong>informaremos</strong> en cuanto haya confirmación del lugar del evento.</p>
<h3>Yo no me creo nada, ¿estos de Atlassian quienes son?</h3>
<p>Atlassian es una compañía de software con base en Sydney (Australia) que desarrolla <strong>productos para empresas y desarrolladores de software independientes</strong>. Seguro que conoces sus productos, algunos como <a href="http://www.atlassian.com/software/jira/overview">JIRA</a> están vastamente implantados en el mercado de la gestión de proyectos.</p>
<h2>Ok, tienes mi atención entremos en materia</h2>
<p>Siempre estamos quejándonos de lo ruinoso de nuestro sector, de <strong>lo mal pagados que estamos</strong>, o de lo <a href="http://www.genbetadev.com/trabajar-como-desarrollador/reforma-laboral-bienvenido-al-mundo-de-la-consultoria-informatica">precario de nuestro trabajo</a>.</p>
<p>Pues bien, el mismo <a href="http://es.wikipedia.org/wiki/Atlas_(mitolog%C3%ADa)">Atlas</a> nos brinda la <strong>oportunidad de nuestra vida</strong>, una oportunidad real de trabajar en una gran <em>startup</em> al estilo de <strong>Silicon Valley</strong> y encima <strong>vienen a recogernos a nuestra casa</strong>.</p>
<p>Y no solo eso, se encargan de recogernos por Madrid en un &#8220;<em><strong>bus Geek</strong></em>&#8221; para acercarnos al lugar del evento pero la cosa no acaba ahí.</p>
<h3>Atlassian is different</h3>
<p>Las condiciones del puesto son las siguientes:</p>
<ul>
<li><strong>Salario alrededor de los 100.000,00€.</strong> Yo nunca he visto tanta pasta junta ¿y tú?. El embajador de la compañía en nuestro país, el infame David Bonilla, ha confirmado con el responsable de talento de Atlassian que ese es el salario que ofrecen por un <strong>programador Java Senior</strong></li>
<li><strong>Se hacen cargo de ABSOLUTAMENTE TODO.</strong> Incluida la mudanza de todas tus cosas y tu familia al exótico continente oceánico y de un montón de gastos &#8220;<em>de viaje</em>&#8221; más</li>
<li><strong>En quince días tienes respuesta.</strong> ¿Alguna vez has hecho un apply para Google, Oracle o Microsoft?, entonces sabes de lo que estoy hablando aquí</li>
<li><strong>Perder de vista a los políticos españoles.</strong> Esta es sin duda la mejor, no tener que tragarte los discursos de estos impresentables #HazteFan</li>
</ul>
<p>Como todo, no todo va a ser bonito y con nubes de algodón, vivir y trabajar en Australia tiene sus cosas malas como por ejemplo:</p>
<ul>
<li><strong>Está a tomar por saco</strong>. Las 30 horas de avión no se las salta ni Urdangarin</li>
<li><strong>Puedes morir devorado por un cocodrilo</strong>. Como los del National Geographic</li>
<li><strong>O por un tiburón mientras haces surf en las costas de Sydney.</strong> Con lo que ello conlleva, si, la muerte</li>
<li><strong>O lo que es peor, por un Koala asesino desquiciado</strong>. ¿Me vais captando no?</li>
</ul>
<h3>¿Y cómo es el proceso?</h3>
<p>Lo primero, visitar la <a href="http://kcy.me/79k7">página de registro al evento</a> donde podréis apuntaros tanto al evento de presentación de la compañía (jueves 26) como a las entrevistas del viernes y el sábado.</p>
<p>También debéis de enviar vuestro <strong>CV</strong> y por supuesto, <strong>en Inglés</strong>, en Australia el castellano castizo no se lleva nada. Si vuestro CV pasa el corte, os enviaran una <strong>prueba técnica para realizar en casa</strong>.</p>
<p>Si superáis la prueba técnica se pondrán en contacto con vosotros para <strong>concertar fecha y hora para vuestra entrevista</strong>. Si superáis la entrevista, estáis dentro y vuestro máximo problema ahora será pensar como sujetaros al suelo para no caeros de cabeza al vació <strong>¡que en Australia están al revés en el globo terráqueo!</strong></p>
<p>Además David Bonilla estará presente el próximo día 24 de Marzo en la Code Motion (donde Atlassian es patrocinador, como lo fué en la Spring I/O y en la Apache Barcamp entre otros) y podrás acribillarlo a preguntas y tomarte unas cañitas con él.</p>
<h2>Conclusión</h2>
<p>Oportunidades como esta no llegan todos los días, mi consejo es que todos los que podáis la aprovechéis aunque sea solo por la experiencia de trabajar en una compañía dinámica y al estilo de las grandes de Silicon Valley y viváis para contarlo.</p>
<p>Recomiendo que os paséis por el link de más abajo que hay una <strong>F.A.Q</strong> donde se explica todo perfectamente y donde hay más pistas e información.</p>
<p>Más información | <a href="http://kcy.me/79oa">Anuncio oficial del embajador de Atlassian en España</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2012/03/como-ganar-100-00000e-anuales-programando/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Redimensionar a la alza una partición ext4 sobre LVM2</title>
		<link>http://blog.deliriumcoder.com/2011/08/redimensionar-a-la-alza-una-particion-ext4-sobre-lvm2/</link>
		<comments>http://blog.deliriumcoder.com/2011/08/redimensionar-a-la-alza-una-particion-ext4-sobre-lvm2/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 16:01:12 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[ext4]]></category>
		<category><![CDATA[LVM2]]></category>
		<category><![CDATA[resize2fs]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=578</guid>
		<description><![CDATA[Todos hemos tenido la necesidad de redimensionar una partición a la alza por que con el paso del tiempo se nos ha quedado pequeña o por que hemos añadido nuevos dispositivos a nuestro LVM2 o por el motivo que sea.
Realizar esta tarea con ext4 es bastante sencillo ya que soporta redimensionado en vivo sin desmontar la partición que queremos aumentar ...]]></description>
			<content:encoded><![CDATA[<div id="attachment_580" class="wp-caption alignright" style="width: 200px"><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/08/linux_ext4.png"><img class="size-full wp-image-580" title="linux_ext4" src="http://blog.deliriumcoder.com/wp-content/uploads/2011/08/linux_ext4.png" alt="" width="190" height="190" /></a><p class="wp-caption-text">Linux Ext4 File System</p></div>
<p>Todos hemos tenido<strong> la necesidad</strong> de redimensionar una partición a la alza por que con el paso del tiempo se nos ha quedado pequeña o por que hemos añadido nuevos dispositivos a nuestro LVM2 o por el motivo que sea.</p>
<p>Realizar esta tarea con ext4 es bastante sencillo ya que soporta <strong>redimensionado en vivo</strong> sin desmontar la partición que queremos aumentar de tamaño. Aunque se aconseja hacer<strong> una copia de los datos</strong> de la partición a redimensionar por si acaso, y como dice el refrán, más vale prevenir que lamentar.</p>
<p>Si las particiones de nuestro sistema están montadas sobre LVM2 la cosa es realmente sencilla por que <strong>no es necesario volver a reparticionar el disco</strong>, lo cual reduce la complejidad de realizar la tarea a un par de comandos en la consola.</p>
<p>Primero, para redimensionar una partición LVM a la alza, debemos comprobar que <strong>tenemos espacio libre para asignar</strong> a la partición que queremos redimensionar, podemos averiguarlo comprobando el espacio libre en nuestro grupos de volúmenes con el comando <code>vgs</code>.</p>
<pre class="wiki">delirium@coder ~ $ sudo vgs
  VG                #PV #LV #SN Attr   VSize   VFree
  gentoo-vg           2  15   0 wz--n-   2,21t 204,09g
  vg_sabayonstation   1   3   0 wz--n- 194,81g      0</pre>
<p>En mi caso, aún dispongo de 204 Gigas libres para poder asignar de mi grupo <code>gentoo-vg</code> de 2,21 Teras así que <strong>puedo asignar más espacio</strong> a mi partición $HOME/Descargas que es en este caso la que se me está quedando corta.</p>
<pre class="wiki">delirium@coder ~ $ df -h
S.ficheros          Tamaño Usado  Disp Uso% Montado en
...
/dev/mapper/gentoo--vg-home--descargas
                       79G   65G   11G  87% /home/damnwidget/Descargas</pre>
<p>Como podéis comprobar ya he consumido en 87% de las 79G que he dedicado en mi almacenamiento a las descargas (la verdad es que no soy muy de descargar yo) y como soy<strong> bastante perezoso</strong>, voy a añadir más espacio a la partición en lugar de grabar algo y borrar datos. Total, si hay espacio ahí.</p>
<p>Lo primero que voy a hacer es <strong>extender el tamaño del volumen lógico</strong> <code>/dev/gentoo-vg/home-descargas</code> a través del comando <code>lvextend</code>.</p>
<pre class="wiki">delirium@coder ~ $ sudo lvextend -L +100G /dev/gentoo-vg/home-descargas
  Extending logical volume home-descargas to 180,00 GiB
  Logical volume home-descargas successfully resized</pre>
<p>Ahora solo queda <strong>redimensionar el sistema de archivos</strong> a través del comando <code>resize2fs</code> sin argumentos para que redimensione al máximo disponible en el volumen lógico.</p>
<pre class="wiki">delirium@coder ~ $ sudo resize2fs /dev/gentoo-vg/home-descargas
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/gentoo-vg/home-descargas is mounted on /home/damnwidget/Descargas; on-line resizing required
old desc_blocks = 5, new_desc_blocks = 12
Performing an on-line resize of /dev/gentoo-vg/home-descargas to 47185920 (4k) blocks.
El sistema de ficheros en /dev/gentoo-vg/home-descargas tiene ahora 47185920 bloques.</pre>
<p>Como podéis comprobar, el comando <code>resize2fs</code> efectúa un redimensionado <em>en línea</em> o <em>en caliente</em> ya que detecta que la partición está montada y en uso. El comando tarda unos minutos en ejecutarse y cuando acaba podemos comprobar el uso del punto de montaje en cuestión.</p>
<pre class="wiki">delirium@coder ~ $ df -h
S.ficheros          Tamaño Usado  Disp Uso% Montado en
...
dev/mapper/gentoo--vg-home--descargas
                      178G   65G  104G  39% /home/damnwidget/Descargas</pre>
<p>Eh voilá, ya tenemos nuestra partición redimensionada <strong>sin que haya sido necesario desmontar la partición en ningún momento</strong>. Si nuestro sistemas no está montado sobre un gestor de volúmenes lógicos y estamos usando particiones normales y corrientes, podemos hacer lo mismo <strong>eliminando la partición y creándola de nuevo</strong> con el nuevo tamaño deseado, aunque supongo que eso es poco probable por que por regla general si no usamos RAID o LVM o LVM sobre RAID5 como es mi caso, difícilmente pensamos por regla general en dejar espacio en disco por si las moscas, y mucho menos, espacio discontinuo en el disco.</p>
<p>Sin más me despido hasta la próxima no sin antes disculparme por actualizar tan de higos a brevas el blog pero es que Genbeta Dev me tiene bastante liado.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/08/redimensionar-a-la-alza-una-particion-ext4-sobre-lvm2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[HowTo] Conectar una sesión SSH remota de forma anónima</title>
		<link>http://blog.deliriumcoder.com/2011/07/conectar-una-sesion-ssh-remota-de-forma-anonima/</link>
		<comments>http://blog.deliriumcoder.com/2011/07/conectar-una-sesion-ssh-remota-de-forma-anonima/#comments</comments>
		<pubDate>Sun, 24 Jul 2011 11:30:25 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Tor]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=566</guid>
		<description><![CDATA[El otro día hable sobre la instalación de TOR en Gentoo, donde vimos lo sencillo que era instalar The Onion Router en Gentoo para navegar de forma anónima protegiendo nuestra privacidad.
Hoy voy a hablaros sobre como podemos utilizar TOR para conectarnos a una máquina remota a través de SSH de forma totalmente anónima.
Lo primero que necesitamos es instalar la aplicación connect ...]]></description>
			<content:encoded><![CDATA[<p>El otro día hable sobre la <a title="Navegar de forma anónima con TOR en Gentoo" href="http://blog.deliriumcoder.com/2011/07/navegar-de-forma-anonima-con-tor-en-gentoo/">instalación de TOR en Gentoo</a>, donde vimos lo sencillo que era instalar <em>The Onion Router</em> en Gentoo para navegar de forma anónima protegiendo nuestra privacidad.</p>
<p>Hoy voy a hablaros sobre como podemos utilizar TOR para conectarnos a una máquina remota a través de SSH de forma <strong>totalmente anónima</strong>.</p>
<p>Lo primero que necesitamos es instalar la aplicación <strong>connect</strong> En Gentoo el paquete connect está en el árbol principal pero enmascarado, así que, aquellos que ya utilizamos la versión 2.1.10 o superior podemos utilizar el parámetro <code>--autounmask-write</code> para <strong>desenmascararlo automáticamente</strong> y los que usan versiones inferiores, siempre pueden <a title="[HowTo] Desenmascarar un paquete en Gentoo" href="http://blog.deliriumcoder.com/2011/06/howto-desenmascarar-un-paquete-en-gentoo/">desenmascararlo a la vieja usanza</a>. Lo instalamos con <code>emerge -avD net-misc/connect</code>.</p>
<p>Una vez hemos instalado el paquete, tan solo tenemos que añadir un archivo de configuración a nuestra configuración personal de SSH en <em>$HOME/.ssh/config.</em></p>
<pre class="wiki">Host ejemplo.com
HostName ejemplo.com
CheckHostIP no
Compression yes
Protocol 2
Proxycommand connect -4 -S localhost:9050 $(tor-resolve %h localhost:9050) %p</pre>
<p>Obviamente, <strong>debemos cambiar la URL</strong> de ejemplo <code>ejemplo.com</code> con la URL del host al que nos queremos conectar de forma anónima. Lo más destacable de la configuración es el parámetro <code>Proxycommand</code>.</p>
<p>En él utilizamos el comando connect para conectarnos a <strong>través del proxy TOR</strong>. El parámetro <code>-4</code> especifica que se utilice el protocolo 4 de SOCKS. El parámetro <code>-S</code> especifica el host y puerto del servidor SOCKS. El hilo <code>$(tor-resolve %h localhost:9050)</code> lo que hace es <strong>utilizar el servicio de tor para resolver la DNS</strong> del host donde queremos conectarnos y que nos devuelva su IP para utilizarla con el comando connect.</p>
<p>Como podéis comprobar, utilizar tor para conectarnos remotamente a través de SSH de forma anónima es un <strong>pancake</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/07/conectar-una-sesion-ssh-remota-de-forma-anonima/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Navegar de forma anónima con TOR en Gentoo</title>
		<link>http://blog.deliriumcoder.com/2011/07/navegar-de-forma-anonima-con-tor-en-gentoo/</link>
		<comments>http://blog.deliriumcoder.com/2011/07/navegar-de-forma-anonima-con-tor-en-gentoo/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 07:00:07 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Anonimato]]></category>
		<category><![CDATA[Tor]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=540</guid>
		<description><![CDATA[Hoy voy a hablaros del derecho de toda persona a su intimidad y al anonimato. Es derecho de todos los usuarios de la red el poder navegar de forma anónima sin que nuestros ISPs sepan de manera alguna que páginas visitamos ni que actividad en la red tenemos, cosa que si no usamos un proxy anónimo siempre podrán saber.
Y para ...]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_555" class="wp-caption alignright" style="width: 263px"><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/07/images.jpg"><img src="http://blog.deliriumcoder.com/wp-content/uploads/2011/07/images.jpg" alt="" title="images" width="253" height="199" class="size-full wp-image-555" /></a><p class="wp-caption-text">The Onion ROuter</p></div>Hoy voy a hablaros del derecho de toda persona a su intimidad y al anonimato. Es derecho de todos los usuarios de la red el poder navegar de forma anónima sin que nuestros ISPs sepan de manera alguna que páginas visitamos ni que actividad en la red tenemos, cosa que si no usamos un proxy anónimo siempre podrán saber.</p>
<p>Y para hacer realidad la utopía de la navegación anónima os presento a nuestro buen amigo Tor también conocido como <strong>The Onion Router</strong>.</p>
<h2>¿Qué ses Tor?</h2>
<p>Tor es una implementación libre de un sistema que posibilita el anonimato online a través de lo que se ha venido a conocer como <strong>onion routing</strong>. La primera versión de Tor fue presentado el 13 de Agosto del 2004 por Roger Dingledine, Nick Mathewson y Paul Syverson en el treceavo simposio de seguridad <a href="http://en.wikipedia.org/wiki/USENIX">USENIX</a>.</p>
<p>Tor provee de un canal de comunicación anónimo y es resistente a ataques de análisis de tráfico. Por lo tanto, si usamos Tor, podemos establecer una conexión anónima a cualquier otro punto sin que el mismo ni ningún router que haya por el camino tenga la más mínima posibilidad de conocer la IP de origen de la conexión.</p>
<p>La información que viaja a través de la conexión se cifra al entrar en la red Tor y al salir de ella pero un atacante que tenga el control de un servidor de salida, si podría tener acceso a la información al ser descifrada y antes de que salga a Internet. El atacante no podría conocer el emisor pero si los datos.</p>
<p>Un atacante podría crear un servidor en la red Tor y sniffar contraseñas e información sensible sin cifrar cuando la información sale de la red para dirigirse al servidor final.</p>
<h2>Anonimización de Servicios</h2>
<p>Tor puede ser usado para correr &#8220;<strong><em>Servicios Ocultos</em></strong> ocultando su localización. Estos servicios son accedidos a través de dominios <code>.onion</code> que son dominios <a href="http://en.wikipedia.org/wiki/Pseudo_top-level_domain">pseudo top-level domain</a> (TLD). Los servicio ocultos pueden correr detrás de un firewall o una redirección NAT y es necesario un cliente Tor para conectar con ellos.</p>
<h2>¿Cómo lo instalo en Gentoo?</h2>
<p>Como siempre, instalaremos el paquete usando Portage en nuestro sistema Gentoo:</p>
<pre class="wiki">delirium@coder ~ $ sudo emerge -avD net-misc/tor</pre>
<p>Ahora vamos a instalar la aplicación <em><strong>polipo</strong></em> que es un proxy web de cacheo que va a hacernos más sencilla la tarea de utilizar tor:</p>
<pre class="wiki">delirium@coder ~ $ sudo emerge -avD new-proxy/polipo</pre>
<p>Una vez hemos instalado <em>polipo</em> procedemos a su configuración editando el archivo <em>/etc/polipo/config</em>:</p>
<pre class="wiki">### Basic configuration
proxyAddress = "127.0.0.1"
proxyPort = 8118
allowedClients = 127.0.0.1
allowedPorts = 1-65535
proxyName = "localhost"
cacheIsShared = false
socksParentProxy = "localhost:9050"
socksProxyType = socks5
chunkHighMark = 67108864
diskCacheRoot = ""
localDocumentRoot = ""
disableLocalInterface = true
disableConfiguration = true
dnsUseGethostbyname = yes
disableVia = true
censoredHeaders = from,accept-language,x-pad,link
censorReferer = maybe
maxConnectionAge = 5m
maxConnectionRequests = 120
serverMaxSlots = 8
serverSlots = 2
tunnelAllowedPorts = 1-65535</pre>
<p>Ya estamos listos para utilizar Tor.</p>
<h2>Usando Tor con Google Chrome/Chromium</h2>
<p>Utilizar Tor con Chrome/Chromium es muy sencillo, tan solo tenemos que descargar la extensión <a href="https://chrome.google.com/webstore/detail/caehdcpeofiiigpdhbabniblemipncjj" target="_blank">Proxy Switchy!</a> y configurarla como se muestra en la siguiente captura de pantalla:<br />
<div id="attachment_547" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/07/Tor.png"><img class="size-medium wp-image-547 " title="Tor" src="http://blog.deliriumcoder.com/wp-content/uploads/2011/07/Tor-300x128.png" alt="" width="300" height="128" /></a><p class="wp-caption-text">Click para ampliar</p></div></p>
<p>Iniciamos los servicios tor y polipo:</p>
<pre class="wiki">delirium@coder ~ $ sudo /etc/init.d/tor restart &#038;&#038; sudo /etc/init.d/polipo restart</pre>
<p>Y apuntamos nuestro navegador hacia la página <a href="https://check.torproject.org/" target="_blank">https://check.torproject.org/</a> para comprobar que efectivamente estamos navegando de forma anónima.</p>
<p>Como ves, utilizar Tor es muy sencillo y no entraña ningún tipo de reto.<br/><br/><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/07/navegar-de-forma-anonima-con-tor-en-gentoo/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>[HowTo] Usar calendarios de Google con KOrganizer en Gentoo</title>
		<link>http://blog.deliriumcoder.com/2011/06/howto-usar-calendarios-de-google-con-korganizer-en-gentoo/</link>
		<comments>http://blog.deliriumcoder.com/2011/06/howto-usar-calendarios-de-google-con-korganizer-en-gentoo/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 11:14:46 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=532</guid>
		<description><![CDATA[Hoy voy a explicaros como usar calendarios de Google con KOrganizer en Gentoo pues parece que no existe ninguna forma intuitiva de hacerlo y muchos usuarios de KDE recurren a software de terceras partes como Mozilla Thunderbird y dejan de utilizar Kontact que por otro lado, está completamente integrado en su escritorio KDE.
Lo primero que hay que saber de KOrganizer, ...]]></description>
			<content:encoded><![CDATA[<div id="attachment_470" class="wp-caption alignright" style="width: 160px"><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/gblend.png"><img class="size-thumbnail wp-image-470" title="gblend" src="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/gblend-150x150.png" alt="" width="150" height="150" /></a><p class="wp-caption-text">Logo Oficial de Gentoo Linux</p></div>
<p>Hoy voy a explicaros como <strong>usar calendarios de Google con KOrganizer en Gentoo</strong> pues parece que no existe ninguna forma intuitiva de hacerlo y muchos usuarios de KDE recurren a software de terceras partes como Mozilla Thunderbird y dejan de utilizar Kontact que por otro lado, está <strong>completamente integrado</strong> en su escritorio KDE.</p>
<p>Lo primero que hay que saber de KOrganizer, es que los calendarios se añaden vía Akonadi, por lo tanto, si queremos utilizar un calendario de Google en nuestro KOrganizer, necesitaremos primero instalar el componente akonadi-googledata en nuestra Gentoo. No gastes tu tiempo en hacer un <code>eix akonadi-googledata</code>, no vas a encontrarlo en el árbol principal de Gentoo.</p>
<p>Entonces, ¿cómo lo instalo?, te estarás preguntando.</p>
<p>Muy sencillo, el ebuild de akonadi-googledata está en el <strong>overlay de kde</strong> por lo tanto, tendremos que utilizar <strong>layman</strong> para añadir el overlay a nuestro árbol de repositorios antes de instalar akonadi-googledata:</p>
<pre class="wiki">delirium@coder ~ # layman -a kde</pre>
<p>Una vez el overlay ha sido añadido a nuestro árbol, podemos actualizar <strong>eix</strong> para que vea el nuevo árbol:</p>
<pre class="wiki">delirium@coder ~ # eix-update</pre>
<p>Si ahora hacemos una búsqueda de akonadi-googledata con eix veremos que ya aparece en nuestro árbol, además una dependencia de akonadi-googledata es libgcal que también está enmascarado pero si se encuentra en el árbol principal. Aquellos que ya utilizáis la versión 2.1.10 o superior de <strong>Portage</strong> podéis utilizar el nuevo parámetro de configuración <a title="¡Nuevos extras para Gentoo!" href="http://blog.deliriumcoder.com/2011/06/%c2%a1nuevos-extras-para-gentoo/">&#8211;autounmask-write</a> para que Portage desenmascare de forma automática y por vosotros el paquete para proceder a su instalación. Para los que aún usan una rama inferior, siempre pueden <a title="[HowTo] Desenmascarar un paquete en Gentoo" href="http://blog.deliriumcoder.com/2011/06/howto-desenmascarar-un-paquete-en-gentoo/">desenmascarar los paquetes a mano</a> y proceder después a su instalación.</p>
<p>Una vez hemos instalado el paquete ya podemos añadir un nuevo calendario de Google a nuestro akonadi, para ello tenemos dos opciones:</p>
<ul>
<li>Usando la interfaz de KOrganizer</li>
<li>Usando el panel de control de Preferencias del Sistema</li>
</ul>
<p>Elijamos el medio que elijamos, acabaremos siempre en la interfaz de administración de recursos de Akonadi, hacemos click en Añadir y añadimos un recurso tipo <em><strong>Akonadi Google Calendar Resource</strong></em>, nos pedirá nuestro usuario y contraseña del servicio de Google, lo introducimos y listo.</p>
<p>Como podéis observar, no es un proceso complicado pero si un poco <em>oscuro</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/06/howto-usar-calendarios-de-google-con-korganizer-en-gentoo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Backharddi-NG disponible en Github</title>
		<link>http://blog.deliriumcoder.com/2011/06/backharddi-ng-disponible-en-github/</link>
		<comments>http://blog.deliriumcoder.com/2011/06/backharddi-ng-disponible-en-github/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 18:47:13 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Backharddi-NG]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Github]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=518</guid>
		<description><![CDATA[Para el que no lo sepa, Github es una red social de desarrolladores que además sirve como repositorio para nuestro código donde podemos alojar proyectos independientemente del tamaño de los mismos.
El pasado catorce de Junio, @op_pedro_pena de @open_phoenix subió el código de Backharddi-NG y Backharddi-NG kernel a su espacio personal en Github ofreciendo una forma sencilla tanto de descargar el ...]]></description>
			<content:encoded><![CDATA[<div id="attachment_520" class="wp-caption alignright" style="width: 200px"><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/backharddi.png"><img class="size-full wp-image-520" title="backharddi" src="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/backharddi.png" alt="" width="190" height="50" /></a><p class="wp-caption-text">Logotipo de Backharddi-NG</p></div>
<p>Para el que no lo sepa, <a href="https://github.com" target="_blank">Github</a> es una red social de desarrolladores que además sirve como repositorio para nuestro código donde podemos alojar proyectos <strong>independientemente del tamaño</strong> de los mismos.</p>
<p>El pasado catorce de Junio, <a title="Pedro Peña en Twitter" href="http://twitter.com/#!/op_pedro_pena" target="_blank">@op_pedro_pena</a> de <a href="http://twitter.com/#!/open_phoenix" target="_blank">@open_phoenix</a> subió el código de Backharddi-NG y Backharddi-NG kernel a su espacio personal en Github ofreciendo una <strong>forma sencilla</strong> tanto de descargar el código directamente desde el repositorio, hasta hacerle un fork para poder añadir código solicitando un pull posterior.</p>
<p>Para descargar Backharddi-NG solo tenemos que utilizar git:</p>
<pre class="wiki">delirium@coder ~ $ git clone https://github.com/pedropena/backharddi-ng.git</pre>
<p>Lo propio para Backharddi-NG Kernel:</p>
<pre class="wiki">delirium@coder ~ $ git clone https://github.com/pedropena/backharddi-ng-kernel.git</pre>
<p>Así ya son dos más los proyectos que Open Phoenix IT cuelga en la red Github a la que le estamos cogiendo especial cariño. Invitamos a todo aquel que quiera curiosear en los entresijos del código de Backharddi-NG.</p>
<p>Hasta la próxima.</p>
<p>&nbsp;</p>
<p>En Delirium Coder | <a href="http://blog.deliriumcoder.com/2011/04/tecnologia-presentando-backharddi-ng/">Presentando Backharddi-NG</a><br />
Más Información | <a href="http://backharddi-ng.open-phoenix.com/" target="_blank">Página del proyecto Backharddi-NG</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/06/backharddi-ng-disponible-en-github/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[La Hora Tonta] Me llaman friki</title>
		<link>http://blog.deliriumcoder.com/2011/06/la-hora-tonta-me-llaman-friki/</link>
		<comments>http://blog.deliriumcoder.com/2011/06/la-hora-tonta-me-llaman-friki/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 12:20:02 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[La hora tonta]]></category>
		<category><![CDATA[Friki]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=513</guid>
		<description><![CDATA[Un niño llega a su casa muy alterado y le dice a su madre:
- Mamá, mamá
- ¿Que sucede hijo?
- ¡Es que en el colegio me llaman Friki!
- ¿Y tú que haces?
- ¿Que quieres que haga?. Me quito cuatro puntos de carisma.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/camiseta-orgullo-friki-09.gif"><img src="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/camiseta-orgullo-friki-09-150x150.gif" alt="" title="camiseta-orgullo-friki-09" width="150" height="150" class="alignright size-thumbnail wp-image-514" /></a>Un niño llega a su casa muy alterado y le dice a su madre:</p>
<p>- Mamá, mamá<br />
- ¿Que sucede hijo?<br />
- ¡Es que en el colegio me llaman Friki!<br />
- ¿Y tú que haces?<br />
- ¿Que quieres que haga?. Me quito cuatro puntos de carisma.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/06/la-hora-tonta-me-llaman-friki/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[HowTo] Recuperar archivos borrados de una partición ext3/ext4</title>
		<link>http://blog.deliriumcoder.com/2011/06/howto-recuperar-archivos-borrados-de-una-particion-ext3ext4/</link>
		<comments>http://blog.deliriumcoder.com/2011/06/howto-recuperar-archivos-borrados-de-una-particion-ext3ext4/#comments</comments>
		<pubDate>Sat, 11 Jun 2011 20:45:07 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Sistemas de Archivos]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=504</guid>
		<description><![CDATA[
El otro día me llamó un compañero preguntándome si podía recuperar un archivo borrado de forma accidental de una partición ext4 en su Linux Mint. En ese momento pequé de ignorante y pensé que al ser ext4 un sistema de archivos con journaling la cosa estaba difícil ya que debugfs no funciona con sistemas de archivos con journaling:
delirium@coder ~ # ...]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/tux-ext4.png"><img class="size-thumbnail wp-image-507 aligncenter" title="tux-ext4" src="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/tux-ext4-150x150.png" alt="" width="150" height="150" /></a></p>
<p style="text-align: left;">El otro día me llamó un compañero preguntándome si podía recuperar un archivo borrado de forma accidental de una partición ext4 en su Linux Mint. En ese momento pequé de ignorante y pensé que al ser ext4 un sistema de archivos con journaling la cosa estaba difícil ya que debugfs no funciona con sistemas de archivos con journaling:</p>
<pre class="wiki">delirium@coder ~ # lvcreate --size 200M --name undeletetests gentoo-vg
  The link /dev/gentoo-vg/undeletetests should had been created by udev but it was not found. Falling back to direct link creation.
  Logical volume "undeletetests" created
delirium@coder ~ # mkfs.ext4 /dev/gentoo-vg/undeletetests
mke2fs 1.41.12 (17-May-2010)
/dev/gentoo-vg/undeletetests alignment is offset by 57344 bytes.
This may result in very poor performance, (re)-partitioning suggested.
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=1024 (bitácora=0)
Tamaño del fragmento=1024 (bitácora=0)
Stride=64 blocks, Stripe width=320 blocks
51200 nodos-i, 204800 bloques
10240 bloques (5.00%) reservados para el superusuario
Primer bloque de datos=1
Número máximo de bloques del sistema de ficheros=67371008
25 bloque de grupos
8192 bloques por grupo, 8192 fragmentos por grupo
2048 nodos-i por grupo
Respaldo del superbloque guardado en los bloques:
        8193, 24577, 40961, 57345, 73729

Escribiendo las tablas de nodos-i: hecho
Creating journal (4096 blocks): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Este sistema de ficheros se revisará automáticamente cada 25 montajes o
180 días, lo que suceda primero.  Utilice tune2fs -c o -i para cambiarlo
delirium@coder ~ # mkdir -p /mnt/tests
delirium@coder ~ # echo "Archivo de texto con contenido que va a ser eliminado." &gt; /mnt/tests/archivo.txt
delirium@coder ~ # cat /mnt/tests/archivo.txt
Archivo de texto con contenido que va a ser eliminado.
delirium@coder ~ # rm -rf /mnt/tests/archivo.txt
delirium@coder ~ # umount /mnt/tests
delirium@coder ~ # debugfs
debugfs 1.41.12 (17-May-2010)
debugfs: open /dev/gentoo-vg/undeletetest
debugfs: lsdel
 Inode  Owner  Mode    Size      Blocks   Time deleted
0 deleted inodes found.
debugfs:  ls
 2  (12) .    2  (12) ..    11  (1000) lost+found
debugfs:  quit</pre>
<p>Por curiosidad más que otra cosa me ha dado por buscar información sobre el asunto y he encontrado una aplicación que no conocía llamada <a href="http://extundelete.sourceforge.net/" target="_blank">extundelete</a> en sourceforge y que funciona a las mil maravillas con sistemas de archivos ext3 y ext4 con journaling:</p>
<pre class="wiki">delirium@coder ~ # extundelete --restore-all /dev/gentoo-vg/undeletetests
WARNING: Extended attributes are not restored.
Loading filesystem metadata ... 25 groups loaded.
Loading journal descriptors ... 35 descriptors loaded.
Writing output to directory RECOVERED_FILES/
Searching for recoverable inodes in directory / ...
1 recoverable inodes found.
Looking through the directory structure for deleted files ...
Restored inode 13 to file RECOVERED_FILES/archivo.txt
0 recoverable inodes still lost.
delirium@coder ~ # ls
RECOVERED_FILES
delirium@coder ~ # ls RECOVERED_FILES
archivo.txt
delirium@coder ~ # cat RECOVERED_FILES/archivo.txt
Archivo de texto con contenido que va a ser eliminado.</pre>
<p>¡Et voilà!, el archivo que creímos haber borrado para siempre resulta que no estaba tan borrado como creíamos. Para recuperar un archivo borrado en una partición ext4 lo primero que tenemos que hacer es desmontar la partición en cuestión (si es la raíz pues deberemos de utilizar una distro live o similar) y utilizar extundelete &#8211;restore-all sobre el dispositivo del que queremos recuperar los datos, aunque supongo que quizás recuperemos bastante basura junto a aquello que queramos recuperar.</p>
<p>Si sois fanáticos de la seguridad informática y estáis también un poco paranoicos, deberéis buscar métodos mas efectivos de borrar vuestros datos, se me ocurren varias formas así a bote y pronto. Por ejemplo podemos utilizar la herramienta <strong><em>shred</em></strong> incluida en la mayoría de distribuciones de Linux:</p>
<pre class="wiki">delirium@coder ~ # shred -u -z -n 30 &lt;archivo&gt;</pre>
<p>También tenemos la posibilidad de utilizar el conjunto de herramientas <strong><em>secure-delete</em></strong> que incluye la herramienta de borrado seguro srm:</p>
<pre class="wiki">delirium@coder ~ # srm &lt;archivo&gt;</pre>
<p>O con la opción -r para directorios</p>
<p>Perdona <a href="http://twitter.com/#!/davidogs" target="_blank">@davidogs</a> por no haberlo sabido el lunes :S</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/06/howto-recuperar-archivos-borrados-de-una-particion-ext3ext4/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Usando MongoDB con Python</title>
		<link>http://blog.deliriumcoder.com/2011/06/usando-mongodb-con-python/</link>
		<comments>http://blog.deliriumcoder.com/2011/06/usando-mongodb-con-python/#comments</comments>
		<pubDate>Wed, 08 Jun 2011 07:00:52 +0000</pubDate>
		<dc:creator>Oscar Campos</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Software Libre]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[NoSQL]]></category>
		<category><![CDATA[PyMongo]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.deliriumcoder.com/?p=464</guid>
		<description><![CDATA[El otro día os hablé sobre las bases de datos no relacionales, también conocidas como N(ot)o(nly)SQL y sus diferencias con respecto a las bases de datos relacionales de toda la vida. Hoy voy a hablaros sobre como utilizar MongoDB en nuestros proyectos Python.
Lo primero de todo es instalar la base de datos en nuestro sistema, como siempre en esta entrada ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/logo-mongodb-onwhite1.png"><img class="alignright size-full wp-image-494" title="logo-mongodb-onwhite" src="http://blog.deliriumcoder.com/wp-content/uploads/2011/06/logo-mongodb-onwhite1.png" alt="" width="150" height="50" /></a>El otro día <a href="http://blog.deliriumcoder.com/2011/06/que-es-nosq/" target="_blank">os hablé</a> sobre las bases de datos no relacionales, también conocidas como N(ot)o(nly)SQL y sus diferencias con respecto a las bases de datos relacionales de toda la vida. Hoy voy a hablaros sobre como utilizar MongoDB en nuestros proyectos Python.</p>
<p>Lo primero de todo es instalar la base de datos en nuestro sistema, como siempre en esta entrada todos los comandos utilizados para instalar las aplicaciones necesarias, los paths a los directorios, las configuraciones y demás  son expresamente para la distribución de GNU/Linux <a href="http://gentoo.org" target="_blank">Gentoo</a>. Si eres de los que no usan Gentoo, no lo entiendo la verdad, pero aquí tienes unas indicaciones sobre como instalarlo en <a href="http://www.mongodb.org/display/DOCS/Quickstart+Unix" target="_blank">Unix</a>, <a href="http://www.mongodb.org/display/DOCS/Quickstart+OS+X" target="_blank">OS X</a> y <a href="http://www.mongodb.org/display/DOCS/Quickstart+Windows" target="_blank">Windows</a>. También te pueden interesar los paquetes para <a href="http://www.debian.org" target="_blank">Debian</a> y <a href="http://www.ubuntu.com" target="_blank">Ubuntu</a> disponibles <a href="http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages" target="_blank">aquí</a>, si lo tuyo por el contrario es <a href="http://centos.org/" target="_blank">CentOS</a> o <a href="http://fedoraproject.org/" target="_blank">Fedora</a> puedes probar con <a href="http://www.mongodb.org/display/DOCS/CentOS+and+Fedora+Packages" target="_blank">esto otro</a>, si usas <a href="http://archlinux.org/" target="_blank">ArchLinux</a> el paquete mongodb está presente en el AUR  y si ya eres de los fieles a <a href="http://www.freebsd.org/" target="_blank">FreeBSD</a> pues espero que los ports mongodb y mongodb-devel te hagan el apaño.</p>
<p>En Gentoo esta base de datos está en fases de testeo por lo que el paquete se encuentra enmascarado, así que tendremos que <a href="http://blog.deliriumcoder.com/2011/06/howto-desenmascarar-un-paquete-en-gentoo/" target="_blank">desenmascararlo</a>:</p>
<pre class="wiki">delirium@coder ~ # echo "dev-db/mongodb ~amd64" &gt;&gt; /etc/portage/package.keywords</pre>
<p>Una vez desenmascarado, ya podremos proceder a su instalación usando el motor de JavaScript v8, para ello tiraremos de la directiva USE directamente en la linea de comandos:</p>
<pre class="wiki">delirium@coder ~ # USE="v8" emerge -avD mongodb</pre>
<p>Ahora tan solo tendremos que levantar el servicio:</p>
<pre class="wiki">delirium@coder ~ # /etc/init.d/mongodb start</pre>
<p>Si queremos usar la interfaz rest en Gentoo, deberemos de editar el archivo <em>/etc/conf.d/mongodb </em>y editarlo para añadir la opción &#8211;rest a la variable MONGODB_OPTIONS:</p>
<pre class="wiki">MONGODB_OPTIONS="--journal --rest"</pre>
<p>Para conectar a nuestra nueva y flamante base de datos Mongo desde Python, necesitaremos su driver así que también lo instalaremos, este paquete también está en fase de pruebas así que habrá que desenmascararlo:</p>
<pre class="wiki">delirium@coder ~ # echo "dev-python/pymongo ~amd64" &gt;&gt; /etc/portage/package.keywords</pre>
<p>Y lo instalamos como de costumbre:</p>
<pre class="wiki">delirium@coder ~ # emerge -avD pymongo</pre>
<p>Una vez tenemos el driver instalado, usarlo es muy sencillo, podemos usar una consola de Python para hacer una sencilla prueba:</p>
<p>[python]<br />
&gt;&gt;&gt; import pymongo<br />
&gt;&gt;&gt; connection = pymongo.Connection()<br />
&gt;&gt;&gt; db = connection.mytest<br />
&gt;&gt;&gt; db.name<br />
u&#8217;mytest&#8217;<br />
&gt;&gt;&gt; db.my_collection<br />
Collection(Database(Connection(&#8216;localhost&#8217;, 27017), u&#8217;mytest&#8217;), u&#8217;my_collection&#8217;)<br />
&gt;&gt;&gt; db.my_collection.name<br />
u&#8217;my_collection&#8217;<br />
&gt;&gt;&gt;<br />
[/python]</p>
<p>Si eres de los que probaron la programación asíncrona y ya no saben vivir sin ella y además programas en Python, es más que seguro que utilices <a href="http://blog.deliriumcoder.com/tag/twisted/" target="_blank">Twisted</a> y seguramente te estés preguntando si existe un driver compatible con Twisted y la respuesta es que si, existe el <a href="https://github.com/fiorix/mongo-async-python-driver" target="_blank">TxMongo</a>, pero es un proyecto que no parece muy activo, si piensas usarlo hazlo bajo tu cuenta y riesgo. Desde el 25 de Febrero no tiene cambios y tiene dos pull request de Mayo y Abril a la espera de merge con la rama principal, parece que <a href="https://github.com/Marus/mongo-async-python-driver" target="_blank">uno de sus forks</a> ha tenido continuidad hasta Mayo.</p>
<p>Hasta aquí esta entrada relatando el uso de MongoDB con Python.</p>
<p>Pero yo creía que ibas a explicar una especie de tutorial de como llevar a cabo un proyecto con Python y MongoDB estarás pensando.</p>
<p>Ya, pero es que tienes que darme tiempo a hacer algo con MongoDB que es nuevo para mi, de momento he encontrado un engine para usar con Django (y sin Django) que es como un ORM pero para MongoDB, ya escribiré más adelante sobre él y te prometo que haré ese tutorial en cuanto tenga algo de tiempo libre.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.deliriumcoder.com/2011/06/usando-mongodb-con-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
