<?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>Felipe Barriga Richards</title>
	<atom:link href="http://blog.felipebarriga.cl/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.felipebarriga.cl</link>
	<description>Blog personal de Felipe Barriga Richards</description>
	<lastBuildDate>Sat, 17 Jul 2010 23:52:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Bajar/Ver videos de Chilevisión (CHV)</title>
		<link>http://blog.felipebarriga.cl/linux/bajar-ver-videos-de-chilevision-chv/</link>
		<comments>http://blog.felipebarriga.cl/linux/bajar-ver-videos-de-chilevision-chv/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 23:52:35 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[chilevision]]></category>
		<category><![CDATA[CHV]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=484</guid>
		<description><![CDATA[Si usas Linux y no puedes ver los videos en el sitio de Chilevisión (o simplemente quieres bajarlos) aquí va un tip de como hacerlo. Copia el siguiente texto y pegalo en la barra de navegación de tu navegador cuando te encuentres en la página del video que quieras bajar: javascript: var regEx = new [...]]]></description>
			<content:encoded><![CDATA[<p>Si usas Linux y no puedes ver los videos en el sitio de <a href="http://www.chilevision.cl/home/index.php?option=com_content&#038;task=view&#038;id=278842&#038;Itemid=2369">Chilevisión</a> (o simplemente quieres bajarlos) aquí va un tip de como hacerlo.<br />
Copia el siguiente texto y pegalo en la barra de navegación de tu navegador cuando te encuentres en la página del video que quieras bajar:<br />
<span id="more-484"></span><br />
<code><br />
javascript:<br />
var regEx = new RegExp("\('http:\/\/(.)+([\.mp4]|[\.flv])'\)");<br />
var tmp1 = regEx.exec(document.body.innerHTML);<br />
if (tmp1 == null)<br />
{<br />
  alert("Video no encontrado!");<br />
} else {<br />
  var tmp2 = tmp1[0].substr(1,tmp1[0].length-2);<br />
  location.href = decodeURIComponent(tmp2);<br />
}<br />
</code><br />
<strong>Nota 1</strong>: Para evitar el tener que pegar siempre el código para bajar un video, puedes agregarlo a tus favoritos.<br />
<strong>Nota 2</strong>: Las teleseries ocupan el mismo protocolo que las transmisiones en vivo (<a href="http://blog.felipebarriga.cl/tag/rtmp/">RTMP</a>). <a href="http://blog.felipebarriga.cl/linux/tv-chilena-online-para-linux/">En este post explico como ver el canal online</a>. Ahí hay una base para ver que cambios hay que hacer para poder ver/bajar las teleseries.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/linux/bajar-ver-videos-de-chilevision-chv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TV Chilena Online (para Linux)</title>
		<link>http://blog.felipebarriga.cl/linux/tv-chilena-online-para-linux/</link>
		<comments>http://blog.felipebarriga.cl/linux/tv-chilena-online-para-linux/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 07:00:16 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[flvstreamer]]></category>
		<category><![CDATA[mplayer]]></category>
		<category><![CDATA[rtmp]]></category>
		<category><![CDATA[rtmpdump]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=469</guid>
		<description><![CDATA[Para todos quienes por diversos motivos no pueden ver TV online de nuestros queridos canales nacionales (TVN, Canal 13, UCV TV, Megavisión, Chilevisión) porque por lo general a ellos solo les preocupa de que se vea en Windows. Aquí podrán encontrar algunos tips para poder verlos. Casi todos los canales ocupan RTMP para el envío [...]]]></description>
			<content:encoded><![CDATA[<p>Para todos quienes por diversos motivos no pueden ver TV online de nuestros queridos canales nacionales (<a href="http://www.tvn.cl/servicios/senal/2010/index.html">TVN</a>, <a href="http://envivo.13.cl/">Canal 13</a>, <a href="http://www.ucvtv.cl/">UCV TV</a>, <a href="http://beta.mega.cl/senal-en-vivo/">Megavisión</a>, <a href="http://www.chilevision.cl/home/index.php?option=com_content&#038;task=blogcategory&#038;id=1&#038;Itemid=1624">Chilevisión</a>) porque por lo general a ellos solo les preocupa de que se vea en Windows. Aquí podrán encontrar algunos tips para poder verlos.<br />
<span id="more-469"></span><br />
Casi todos los canales ocupan <a href="http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol">RTMP</a> para el envío de los datos. La única opción que he encontrado por el momento es ocupar el programa <a href="http://rtmpdump.mplayerhq.hu/">rtmpdump</a> para pasar el contenido a <a href="http://www.mplayerhq.hu">mplayer</a> o guardarlo en el disco. Si guardan el stream pueden verlo mientras se va guardando o posteriormente. En Ubuntu viene un fork de <a href="http://rtmpdump.mplayerhq.hu/">rtmpdump</a> que se llama <a href="http://savannah.nongnu.org/projects/flvstreamer">flvstreamer</a> que al parecer le sacaron varias características de cifrado. Supongo que habrá sido para evitar problemas legales.<br />
Los ejemplos que pondré son para ver directamente los canales con <a href="http://www.mplayerhq.hu">mplayer</a>. No deberían de tener problemas con otros reproductores. Si quieren guardar el stream solo tienen que reemplazar <em>-o &#8211; | mplayer -</em> por <em>-o dump.flv</em></p>
<p>Mucho bla bla y pocos comandos, aquí van:</p>
<p><strong>Chilevisión</strong></p>

<div class="wp-terminal">felipe@funstation:$ flvstreamer --pageUrl "http://www.chilevision.cl/home/index.php?option=com_content&task=blogcategory&id=1&Itemid=1624" --rtmp "rtmp://streaming.chilevision.cl/internacional" --playpath "livestream"  --live -o - | mplayer -<br/></div>

<p><strong>Megavisión</strong></p>

<div class="wp-terminal">felipe@funstation:$ rtmpdump --pageUrl "http://beta.mega.cl/senal-en-vivo/" --swfUrl "http://beta.mega.cl/website/js/flowplayer/3.2.2/swf/rtmp.swf" --rtmp "rtmp://cluster.ztreaming.com/mega" --playpath "megaJaeRa1xing" --live --flv - | mplayer -<br/></div>

<p><strong>Televisión Nacional de Chile &#8211; TVN</strong></p>

<div class="wp-terminal">felipe@funstation:$ rtmpdump --pageUrl "http://www.tvn.cl/servicios/senal/2010/index.html" --swfUrl "http://www.tvn.cl/include/mediaplayer/player.swf" --rtmp "rtmp://190.196.11.201/envivo" --playpath "tvchile_s" --live --flv - | mplayer -<br/></div>

<p>Pueden ver un <a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/07/tvn.png" rel="lightbox[469]">screenshot</a> de la transmisión vista en Windows y al lado con <a href="http://www.videolan.org/vlc/">VLC</a> en Linux. De hecho para poder ver como &#8216;colgarme&#8217; al stream tuve que ocupar la maquina virtual (<a href="http://www.virtualbox.org/">VirtualBox</a>) con Windows y de host Linux con <a href="http://www.wireshark.org/">Wireshark</a>.</p>
<p><strong>Canal 13</strong></p>

<div class="wp-terminal">felipe@funstation:$ rtmpdump --pageUrl "http://envivo.13.cl/" --swfUrl "http://envivo.13.cl/streaming.swf" --rtmp "rtmp://200.6.119.4/c13str-aire" --playpath "c13str-aire.stream" --live --flv - | mplayer -<br/></div>

<p><strong>Canal 13 Cable</strong></p>

<div class="wp-terminal">felipe@funstation:$ rtmpdump --pageUrl "http://envivo.13.cl/" --swfUrl "http://envivo.13.cl/streaming.swf" --rtmp "rtmp://200.6.119.4/c13str-cable" --playpath "c13str-cable.stream" --live --flv - | mplayer -<br/></div>

<p><strong>Tele 13 Online</strong></p>

<div class="wp-terminal">felipe@funstation:$ rtmpdump --pageUrl "http://envivo.13.cl/" --swfUrl "http://envivo.13.cl/streaming.swf" --rtmp "rtmp://200.6.119.4/c13str-online" --playpath "c13str-online.stream" --live --flv - | mplayer -<br/></div>

<p>* Si tienen problemas con la IP <em>200.6.119.4</em> pueden ocupar la <em>200.91.29.254</em><br />
* Les recomiendo ocupar filtros de desentrelazado (<a href="http://en.wikipedia.org/wiki/Deinterlacing">deinterlacing</a>). Para mplayer: <em>mplayer -vf pp=linblenddeint</em></p>
<p><strong>UCV TV</strong></p>

<div class="wp-terminal">felipe@funstation:$ mplayer mms://200.24.226.186:8080/<br/></div>

<p><strong>La Red</strong><br />
No tiene transmisión online&#8230;</p>
<p>* Recomiendo darle un poco más de cache a mplayer con <em>mplayer -cache 512</em> (o lo que estimen mejor, comenten como les va).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/linux/tv-chilena-online-para-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Spammers</title>
		<link>http://blog.felipebarriga.cl/personal/spammers/</link>
		<comments>http://blog.felipebarriga.cl/personal/spammers/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 19:45:48 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[estafa]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=451</guid>
		<description><![CDATA[¿ Quien no ha recibido un email con spam ? Supongo que es muy fácil esa pregunta, mejor: ¿ Quien no ha recibido unos 20 mails con spam al día ? Bueno yo ya me aburrí de recibir tanto spam y me dedique a buscar si son varias o solo unas cuantas las empresas que [...]]]></description>
			<content:encoded><![CDATA[<p>¿ Quien no ha recibido un email con spam ?<br />
Supongo que es muy fácil esa pregunta, mejor:<br />
¿ Quien no ha recibido unos 20 mails con spam al día ?</p>
<p>Bueno yo ya me aburrí de recibir tanto spam y me dedique a buscar si son varias o solo unas cuantas las empresas que me estaban mandando spam. Despues de un rato encontre a las siguientes:</p>
<ul>
<li><a href="http://www.mailmasivo.cl">http://www.mailmasivo.cl</a></li>
<li><a href="http://www.interfase.cl">http://www.interfase.cl</a></li>
<li><a href="http://www.e-publicidad.cl">http://www.e-publicidad.cl</a></li>
<li><a href="http://www.santamail.cl">http://www.santamail.cl</a></li>
<li><a href="http://www.mkt.cl">http://www.mkt.cl</a></li>
<li><a href="http://www.mailmarket.cl">http://www.mailmarket.cl</a></li>
<li><a href="http://www.boxmail.cl/">http://www.boxmail.cl</a>
</ul>
<p>Después de llenar los famosos formularios para no recibir más correos, estos siguieron llegando uno tras otro. Había que tomar acciones más drásticas como lo habían hecho algunos conocidos. Un script en <a href="http://www.php.net">PHP</a> de no más de 15 lineas de código y santa solución: floodear sus formularios de contacto.<br />
<span id="more-451"></span><br />
Ejecute el script para las primeras 4 empresas de la lista. A los pocos minutos <em>www.santamail.cl</em> dejo de responder por un buen rato. Conectandome desde otro computador me di cuenta de que se les había muerto su servidor web.</p>
<p>Luego me llama <b>Nicolas Novoa Rivera</b> (celular: +56 9 76486554) de <em>www.interfase.cl</em> para empezar a gritar garabatos por celular, amenazas de que me iba a sacar la mugre (y creo que especifico que también unos dientes) y que iba a llamar a mi &#8216;escuela&#8217; (refiriendose a mi Universidad). Dejo bastante que desear su actitud sobre todo porque recién en la segunda llamada logre que me diga su nombre y cual era su empresa.</p>
<p>Al rato me llama <strong>Fernando Ulises Fidalgo Cortes</strong> (celular: +56 9 96310187) de <em>www.mailmasivo.cl</em> con un tono agresivo pero mucho más decente. Antes de la llamada me envío un mail diciendo que habían eliminado mis correos de su base de datos. Después de unas palabras me dijo cual era su empresa y su nombre. Un tramite breve y hasta ahí llego la conversación.</p>
<p>De <em>www.e-publicidad.cl</em> no he tenido noticias y todavía no me responden de <em>www.santamail.cl</em>. Ahí les cuento como me va con el resto.</p>
<p><u><strong>Update 16/06/2010 at 15:46</strong></u><br />
Por fin <em>www.e-publicidad.cl</em> me envío un mail diciendo que me eliminaron de su base de datos pidiendo las respectivas disculpas (como caballeros comparados con las otras respuestas). Dentro de todos fueron los más inteligentes porque bloquearon rápidamente mi dirección IP en su servidor web.</p>
<p><u><strong>Update 17/06/2010 at 2:18</strong></u><br />
<strong>Fernando Ulises Fidalgo Cortes</strong> de <em>www.mailmasivo.cl</em> me envía un correo con la <strong>amenaza de iniciar acciones legales en mí contra</strong> por medio del abogado de su empresa por publicar sus datos confidenciales (teléfono y nombre completo). Aquí esta el correo que me envió por si les interesa leerlo:<br />

<div class='easySpoilerWrapper'>

<table class='easySpoilerTable' border='0' style='text-align:center;' align='center' bgcolor='FFFFFF'>

<tr><th class='easySpoilerTitleA'  style='text-align:left;vertical-align:middle;font-size:120%'></th>
<th class='easySpoilerTitleB'  style='text-align:right;vertical-align:middle;font-size:100%'><INPUT type='button' id='spoilerDiv30328001_action' class='easySpoilerButton' value="Show" onclick='wpSpoilerToggle("spoilerDiv30328001",true,"Show","Hide");' align='right'></th>
</tr>

<tr><td class='easySpoilerRow' colspan='2'><div><div id=spoilerDiv30328001 class='easySpoilerSpoils' style='display:none; white-space:wrap; vertical-align:middle;'>
From: 	info@mailmasivo.cl<br />
To: 	spam@felipebarriga.cl<br />
Cc: 	legal@mailmasivo.cl<br />
Subject: 	RE: Consulta desde http://www.mailmasivo.cl<br />
Date: 	06/17/2010 02:13:04 AM<br />
Felipe, haz publicado mi nombre completo y mi teléfono personal en tu blog,<br />
comprendo tu molestia, pero exijo a la vez que retires mis datos de tu<br />
pagina Web de inmediato, estas atentando contra la ley al publicar mis datos<br />
personales, por lo cual para entendernos de buena manera te solicito que<br />
borres mis datos personales, mantén tu molestia si gustas, pero sin mis<br />
datos, de no hacerlo lo veré directamente con el abogado de mi empresa.</p>
<p>Gracias.</p>
<p>Fernando
</div></div></td></tr>
</table>
<div class='easySpoilerConclude'><table class='easySpoilerTable' border='0' style='text-align:center;' frame='box' align='center' bgcolor='FFFFFF'><tr><th class='easySpoilerEnd' style='width:100%'></th><td class='easySpoilerEnd' style='white-space:nowrap;' colspan='2'></td></tr><tr><td class='easySpoilerEnd' colspan='2'></td></tr></table></div>
</div>
</p>
<p><u><strong>Update 17/06/2010 at 6:25</strong></u><br />
Despues de correr un script para <em>www.santamail.cl</em> durante la noche me meto a mi correo y me encuentro con la sorpresa de que tengo <strong>18.000 nuevos correos</strong> !<br />
No contentos con mandarme spam todos los días, se les ocurrió empezar a <strong>enviar spam haciéndose pasar por mi promocionando mi blog</strong> (me llegara una factura por haber usado sus servicios?) por lo que todos los emails que rebotaron llegaron a mi correo con el respectivo aviso de error en la entrega (esos son los 18.000).</p>
<p>No contentos con eso, hace unos minutos (a las 6:14 del 17/06/2010), me llama <strong>Juan Jose Tarud</strong> (celular: +56 9 78790340) diciéndome que su servidor se encuentra saturado por mi culpa y que en unos minutos iba a <strong>redactar una carta (creo que con su &#8216;abogado&#8217;) para enviarla a mi Universidad y al rector de esta</strong>. <strong>También le avisara a la brigada del ciber-crimen de mi actuar</strong>. Según dicho personaje estoy ocupando los computadores de la Universidad&#8230;</p>
<p>Para finalizar su amenaza, la guinda de la torta, me dice que tiene mi foto (cosa que no es muy difícil&#8230;) y que <strong>si me encuentra a la salida de la Universidad me iba a pegar hasta sacarme unos dientes</strong> (al parecer todos estos spammers son una manga de matones con una fijación por los dientes). Al preguntarle porque había enviado correos a mi nombre lo cual causó que me llegaran 18.000 a mi casilla no supo que responder. Cuando le pregunte porque no elimina mi dirección de correo de su base de datos me dice que no puede sino hasta el viernes porque tiene 10 servidores mandando spam y solo puede hacer actualizaciones una vez a la semana&#8230; Si desean consultarle algo aquí esta su correo: jjtarud@gmail.com (a ver si algún bot lo agarra y le manda un poco de spam).</p>
<p><u><strong>Update 20/06/2010 at 16:30</strong></u><br />
Ahora <b>Nicolas Novoa Rivera</b> de <em>www.interfase.cl</em> me manda un mail pidiendo que elimine sus datos de este post. Él sabe como es esto del marketing (o debería) por internet, así que debería de atenerse a las consecuencias. Si les interesa aquí esta el email:<br />

<div class='easySpoilerWrapper'>

<table class='easySpoilerTable' border='0' style='text-align:center;' align='center' bgcolor='FFFFFF'>

<tr><th class='easySpoilerTitleA'  style='text-align:left;vertical-align:middle;font-size:120%'></th>
<th class='easySpoilerTitleB'  style='text-align:right;vertical-align:middle;font-size:100%'><INPUT type='button' id='spoilerDiv6e988002_action' class='easySpoilerButton' value="Show" onclick='wpSpoilerToggle("spoilerDiv6e988002",true,"Show","Hide");' align='right'></th>
</tr>

<tr><td class='easySpoilerRow' colspan='2'><div><div id=spoilerDiv6e988002 class='easySpoilerSpoils' style='display:none; white-space:wrap; vertical-align:middle;'>
From: 	Informacion Comercial <infocomercial@interfase.cl><br />
To: 	Felipe Barriga Richards <felipe@felipebarriga.cl><br />
Subject: 	Re: Re: ELIMINAMOS DEUDAS CASTIGADAS SIN PAGARLAS. INFORMESE]<br />
Date: 	06/20/2010 11:15:13 AM</p>
<p>Felipe</p>
<p>Te solicito me saques de tu Blog de inmediato, donde haz publicado mi nombre<br />
y mi celular sin mi autorización.</p>
<p>Espero tu respuesta a la brevedad</p>
<p>NNR</p>
<p>&#8212;&#8211; Original Message &#8212;&#8211;<br />
From: &#8220;Felipe Barriga Richards&#8221; <felipe@felipebarriga.cl><br />
To: &#8220;ESTUDIO JURIDICO&#8221; <envios@neltume.cl>; &#8220;infocomercial&#8221;<br />
<infocomercial@interfase.cl><br />
Sent: Wednesday, June 16, 2010 4:42 PM<br />
Subject: [Fwd: Re: ELIMINAMOS DEUDAS CASTIGADAS SIN PAGARLAS. INFORMESE]</p>
<p>Nicolas Novoa,</p>
<p>En que habiamos quedado ?<br />
Paré de enviarte formularios de contacto, porque sigo recibiendo SPAM ?</p>
<p>Espero una pronta respuesta,
</div></div></td></tr>
</table>
<div class='easySpoilerConclude'><table class='easySpoilerTable' border='0' style='text-align:center;' frame='box' align='center' bgcolor='FFFFFF'><tr><th class='easySpoilerEnd' style='width:100%'></th><td class='easySpoilerEnd' style='white-space:nowrap;' colspan='2'></td></tr><tr><td class='easySpoilerEnd' colspan='2'></td></tr></table></div>
</div>
</p>
<p>Desde cuando que es necesario preguntarle a alguien para publicar su nombre ? Sobre todo si estoy hablando de hechos concretos.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/spammers/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Confías en la Junaeb y el Transantiago ? Lee esto</title>
		<link>http://blog.felipebarriga.cl/privacidad/confias-en-la-junaeb-y-el-transantiago-lee-esto/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/confias-en-la-junaeb-y-el-transantiago-lee-esto/#comments</comments>
		<pubDate>Thu, 20 May 2010 00:37:41 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Junaeb]]></category>
		<category><![CDATA[TarjetaBIP]]></category>
		<category><![CDATA[TNE]]></category>
		<category><![CDATA[TranSantiago]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=433</guid>
		<description><![CDATA[Después de meterme a http://www.tne.cl para ver si podía revalidar mi tarjeta me di cuenta que cualquiera puede meterse y obtener datos de la tarjeta que pueden ser ocupados en http://www.tarjetabip.cl. El problema aquí es doble, primero deberían de comprobar la identidad de quien solicita la información (Ej: número serial de cédula de identidad). Por [...]]]></description>
			<content:encoded><![CDATA[<p>Después de meterme a <a href="http://www.tne.cl">http://www.tne.cl</a> para ver si podía revalidar mi tarjeta me di cuenta que cualquiera puede meterse y obtener datos de la tarjeta que pueden ser ocupados en <a href="http://www.tarjetabip.cl">http://www.tarjetabip.cl</a>.</p>
<p>El problema aquí es doble, primero deberían de comprobar la identidad de quien solicita la información (Ej: número serial de cédula de identidad). Por otro lado deberían de pedir una contraseña para poder ver la información de la tarjeta BIP en <a href="http://www.tarjetabip.cl">http://www.tarjetabip.cl</a>.<br />
Aquí hay unos vídeos mostrando lo fácil que es ver la información de cualquier estudiante con tarjeta TNE.<br />
<span id="more-433"></span></p>
<h2>Videos</h2>
<ul>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/tne_xvid.avi'>tne_xvid.avi</a></li>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/tarjetaBIP_xvid.avi'>tarjetaBIP_xvid.avi</a></li>
</ul>
<p><center><br />
<object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/eRaFMASizjg&#038;hl=es_ES&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/eRaFMASizjg&#038;hl=es_ES&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object><br />
<br/><br />
<object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/00C2UTdvX4M&#038;hl=es_ES&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/00C2UTdvX4M&#038;hl=es_ES&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object><br />
</center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/confias-en-la-junaeb-y-el-transantiago-lee-esto/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/tne_xvid.avi" length="3213318" type="video/x-msvideo" />
<enclosure url="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/tarjetaBIP_xvid.avi" length="10390038" type="video/x-msvideo" />
		</item>
		<item>
		<title>Solve Progressive Party Problem (PPP) with ZIMPL and lp_solve</title>
		<link>http://blog.felipebarriga.cl/programacion/solve-progressive-party-problem-ppp-zimpl-lp_solve/</link>
		<comments>http://blog.felipebarriga.cl/programacion/solve-progressive-party-problem-ppp-zimpl-lp_solve/#comments</comments>
		<pubDate>Tue, 18 May 2010 02:33:16 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[lp_solve]]></category>
		<category><![CDATA[optimization]]></category>
		<category><![CDATA[ppp]]></category>
		<category><![CDATA[zimpl]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=370</guid>
		<description><![CDATA[Introduction Here is a model to solve the Progressive Party Problem using ZIMPL as the modeling language and lp_solve as the solver. This model is to minimize the number of host boats. Model The model need optimizations but it works. The data is separated from the code so is easy to change the instance to [...]]]></description>
			<content:encoded><![CDATA[<h2>Introduction</h2>
<p>Here is a model to solve the <a href="http://www.ps.uni-saarland.de/~walser/ppp/ppp.html">Progressive Party Problem</a> using <a href="http://zimpl.zib.de/">ZIMPL</a> as the modeling language and <a href="http://lpsolve.sourceforge.net/5.5/">lp_solve</a> as the solver. This model is to minimize the number of host boats.<br />
<span id="more-370"></span><br/></p>
<h2>Model</h2>
<p>The model need optimizations but it works. The data is separated from the code so is easy to change the instance to test. You only need to change 4 lines in the code and replace the instance. All the files are <em>.txt</em> because wordpress don&#8217;t allow me to upload files with other extensions. Originally the model is <em>.zpl</em> and the data is <em>.dat</em></p>
<p>Model:</p>
<ul>
<li>Model: <a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp.txt'>ppp.txt</a></li>
<li>Data (8 boats, 2 periods): <a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_008_2.txt'>ppp_008_2.txt</a></li>
</ul>
<p><br/></p>
<h2>Results</h2>
<p>After running ZIMPL and lp_solve a solution file will be created and then parsed with the scripts that are in another section of this page. I do several test changing the params of lp_solve and you can check the results on the &#8220;Benchmark parameters&#8221; section. The only instance that I can resolve is the one with 8 boats and 2 periods, the other take to much time.</p>
<p>Then you can see the solution file (I remove some lines without useful information with the script <em>simplify_solution.sh</em>):<br />
<code><br />
isGuest$boat1 1<br />
isGuest$boat3 1<br />
isGuest$boat4 1<br />
isGuest$boat6 1<br />
isHost$boat2 1<br />
isHost$boat5 1<br />
isHost$boat7 1<br />
isHost$boat8 1<br />
visit$boat1$boat2#1 1<br />
visit$boat1$boat5#2 1<br />
visit$boat3$boat2#2 1<br />
visit$boat3$boat5#1 1<br />
visit$boat4$boat2#1 1<br />
visit$boat4$boat7#2 1<br />
visit$boat6$boat5#2 1<br />
visit$boat6$boat7#1 1<br />
meet$boat1$boat4#1 1<br />
meet$boat1$boat6#2 1<br />
meet$boat3$boat1#2 1<br />
meet$boat4$boat1#1 1<br />
meet$boat6$boat1#2 1<br />
</code></p>
<p>After interpreting it this is what you get:<br />
<code><br />
Host:  &nbsp;2 5 7 8<br />
Guest: 1 3 4 6</p>
<p>Visits:<br />
boat1: 2 5<br />
boat3: 5 2<br />
boat4: 2 7<br />
boat6: 7 5<br />
</code><br />
<font color="red"><br />
If you see there is no error on the solution <u>but there is a problem in the model</u> because it says that <em>boat3</em> meet <em>boat1</em> in <em>period 2</em> (<strong>meet$boat3$boat1#2 1</strong>) and that isn&#8217;t true ! If someone find the solution please send an email.</font><br />
<br/></p>
<h2>Complementary Scripts</h2>
<p>&nbsp;<br />

<div class='easySpoilerWrapper'>

<table class='easySpoilerTable' border='0' style='text-align:center;' align='center' bgcolor='FFFFFF'>

<tr><th class='easySpoilerTitleA'  style='text-align:left;vertical-align:middle;font-size:120%'> Translate model and execute solver: solve.sh</th>
<th class='easySpoilerTitleB'  style='text-align:right;vertical-align:middle;font-size:100%'><INPUT type='button' id='spoilerDiv4b258003_action' class='easySpoilerButton' value="Show" onclick='wpSpoilerToggle("spoilerDiv4b258003",true,"Show","Hide");' align='right'></th>
</tr>

<tr><td class='easySpoilerRow' colspan='2'><div><div id=spoilerDiv4b258003 class='easySpoilerSpoils' style='display:none; white-space:wrap; vertical-align:middle;'>
<br />
<code>
<pre>
#!/bin/bash

if [ $# -ne 1 ]
then
	echo "Usage: "
	echo -e "\t ${0} solution_name"
	echo -e "\t Example:"
	echo -e "\t\t ${0} ppp"
	exit -1
fi

if [ ! -f $1.txt ]
then
	echo "There is no model file ${1}.txt"
	exit -1
fi

zimpl -t mps -O $1.txt &#038;&#038; lp_solve -time -mps -presolve $1.mps  > $1.solution
</pre>
<p></code><br />
Execute with:</p>

<div class="wp-terminal">felipe@funstation:$ ./solve.sh ppp<br/></div>

<p>
</div></div></td></tr>
</table>
<div class='easySpoilerConclude'><table class='easySpoilerTable' border='0' style='text-align:center;' frame='box' align='center' bgcolor='FFFFFF'><tr><th class='easySpoilerEnd' style='width:100%'></th><td class='easySpoilerEnd' style='white-space:nowrap;' colspan='2'></td></tr><tr><td class='easySpoilerEnd' colspan='2'></td></tr></table></div>
</div>
<br />
&nbsp;<br />

<div class='easySpoilerWrapper'>

<table class='easySpoilerTable' border='0' style='text-align:center;' align='center' bgcolor='FFFFFF'>

<tr><th class='easySpoilerTitleA'  style='text-align:left;vertical-align:middle;font-size:120%'> Replace the variables name on solution file: translate.sh</th>
<th class='easySpoilerTitleB'  style='text-align:right;vertical-align:middle;font-size:100%'><INPUT type='button' id='spoilerDiv5ea98004_action' class='easySpoilerButton' value="Show" onclick='wpSpoilerToggle("spoilerDiv5ea98004",true,"Show","Hide");' align='right'></th>
</tr>

<tr><td class='easySpoilerRow' colspan='2'><div><div id=spoilerDiv5ea98004 class='easySpoilerSpoils' style='display:none; white-space:wrap; vertical-align:middle;'>
<br />
<code>
<pre>
#!/bin/bash

if [ $# -ne 1 ]
then
	echo "Usage: "
	echo -e "\t ${0} solution_name"
	echo -e "\t Example:"
	echo -e "\t\t ${0} ppp"
	exit -1
fi

if [ ! -f $1.solution ]
then
	echo "There is no solution file ${1}.solution"
	exit -1
fi

if [ ! -f $1.tbl ]
then
	echo "There is no table file ${1}.tbl"
	exit -1
fi

cat $1.tbl | while read a b c src dst
do
	dst2=`echo ${dst} | tr -d '"'`
	if [ ! -z src ]
	then
		if [ ${src:0:1} == "_" ]
		then
			exit 0
		fi
		sed "s/${src}/${dst2}/g" < $1.solution > $1.solution_tmp
		mv -f $1.solution_tmp $1.solution
	else
		exit 0
	fi
done
</pre>
<p></code><br />
Execute with:<br/></p>

<div class="wp-terminal">felipe@funstation:$ ./simplify_solution.sh ppp<br/></div>

<p>
</div></div></td></tr>
</table>
<div class='easySpoilerConclude'><table class='easySpoilerTable' border='0' style='text-align:center;' frame='box' align='center' bgcolor='FFFFFF'><tr><th class='easySpoilerEnd' style='width:100%'></th><td class='easySpoilerEnd' style='white-space:nowrap;' colspan='2'></td></tr><tr><td class='easySpoilerEnd' colspan='2'></td></tr></table></div>
</div>
<br />
&nbsp;<br />

<div class='easySpoilerWrapper'>

<table class='easySpoilerTable' border='0' style='text-align:center;' align='center' bgcolor='FFFFFF'>

<tr><th class='easySpoilerTitleA'  style='text-align:left;vertical-align:middle;font-size:120%'> Simplify the solution file: simplify_solution.sh</th>
<th class='easySpoilerTitleB'  style='text-align:right;vertical-align:middle;font-size:100%'><INPUT type='button' id='spoilerDiv22ce8005_action' class='easySpoilerButton' value="Show" onclick='wpSpoilerToggle("spoilerDiv22ce8005",true,"Show","Hide");' align='right'></th>
</tr>

<tr><td class='easySpoilerRow' colspan='2'><div><div id=spoilerDiv22ce8005 class='easySpoilerSpoils' style='display:none; white-space:wrap; vertical-align:middle;'>
<br />
<code>
<pre>
#!/bin/bash

if [ $# -ne 1 ]
then
	echo "Usage: "
	echo -e "\t ${0} solution_name"
	echo -e "\t Example:"
	echo -e "\t\t ${0} ppp"
	exit -1
fi

if [ ! -f $1.solution ]
then
	echo "There is no solution file ${1}.solution"
	exit -1
fi

rm -f ${1}.simplified_solution
cat $1.solution | while read a b c
do
	if [ ! -z "$a" -a ! -z "$b" ]
	then
		if [ ${a:0:1} != "_" -a $b == "1" ]
		then
			echo "${a} ${b}" >> ${1}.simplified_solution
		fi
	fi
done
</pre>
<p></code><br />
Execute with:<br/></p>

<div class="wp-terminal">felipe@funstation:$ ./simplify_solution.sh ppp<br/></div>

<p>
</div></div></td></tr>
</table>
<div class='easySpoilerConclude'><table class='easySpoilerTable' border='0' style='text-align:center;' frame='box' align='center' bgcolor='FFFFFF'><tr><th class='easySpoilerEnd' style='width:100%'></th><td class='easySpoilerEnd' style='white-space:nowrap;' colspan='2'></td></tr><tr><td class='easySpoilerEnd' colspan='2'></td></tr></table></div>
</div>
<br />
&nbsp;</p>
<h2>Benchmark of lp_solve params</h2>
<p>I make some test to see how the different parameters affect the speed of lp_solve. The instance tested is the one with 8 boats and 2 periods under a Core 2 Duo at 1.73GHz. Also I try replacing the restriction <strong>&#8220;forall <host> in Boat &#8211; {guest} do&#8221;</strong> with <strong>&#8220;forall <host> in Boat with (guest != host) do&#8221;</strong>. Here is a table showing the results:<br />
<center></p>
<table style="text-align: center; border: 1px solid black;">
<tr>
<td><strong>&nbsp;&nbsp;&nbsp;&nbsp;restrictions&nbsp;&nbsp;&nbsp;&nbsp;</strong></td>
<td><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;params&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong></td>
<td><strong>&nbsp;&nbsp;CPU time [in seconds]&nbsp;&nbsp;</strong></td>
</tr>
<tr>
<td>(guest != host)</td>
<td>none</td>
<td>197.72</td>
</tr>
<tr>
<td>(guest != host)</td>
<td>-presolve</td>
<td>104.58</td>
</tr>
<tr>
<td>(guest != host)</td>
<td>-Bd</td>
<td>659.82</td>
</tr>
<tr>
<td>(guest != host)</td>
<td>-Bd -presolve</td>
<td>786.86</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>none</td>
<td>242.47</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolve</td>
<td>76.2</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolvem</td>
<td>95.17</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolveq</td>
<td>150.51</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolves</td>
<td>171.44</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolvel</td>
<td>171.84</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolver</td>
<td>225.69</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolvecold</td>
<td>242.02</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolvek</td>
<td>244.67</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolvefd</td>
<td>247.02</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolverowd</td>
<td>248.04</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolvebnd</td>
<td>249.06</td>
</tr>
<tr>
<td>Boat &#8211; {guest}</td>
<td>-presolveb</td>
<td>250.35</td>
</tr>
</table>
<p></center><br />
<br/></p>
<h2>More Results</h2>
<p><center></p>
<table style="text-align: center; border: 1px solid black;">
<tr>
<td><strong>&nbsp;&nbsp;&nbsp;&nbsp;boats&nbsp;&nbsp;&nbsp;&nbsp;</strong></td>
<td><strong>&nbsp;&nbsp;&nbsp;&nbsp;periods&nbsp;&nbsp;&nbsp;&nbsp;</strong></td>
<td><strong>&nbsp;&nbsp;&nbsp;&nbsp;min hosts found&nbsp;&nbsp;&nbsp;&nbsp;</strong></td>
<td><strong>&nbsp;&nbsp;&nbsp;&nbsp;time [seconds]&nbsp;&nbsp;&nbsp;&nbsp;</strong></td>
<td><strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;instance file&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong></td>
</tr>
<tr>
<td>4</td>
<td>1</td>
<td>2</td>
<td>0.01</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_004_1.txt'>ppp_004_1.txt</a></td>
</tr>
<tr>
<td>5</td>
<td>1</td>
<td>2</td>
<td>0.1</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_005_1.txt'>ppp_005_1.txt</a></td>
</tr>
<tr>
<td>6</td>
<td>1</td>
<td>3</td>
<td>0.15</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_006_1.txt'>ppp_006_1.txt</a></td>
</tr>
<tr>
<td>7</td>
<td>1</td>
<td>3</td>
<td>3.69</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_007_1.txt'>ppp_007_1.txt</a></td>
</tr>
<tr>
<td>8</td>
<td>2</td>
<td>4</td>
<td>76.2</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_008_2.txt'>ppp_008_2.txt</a></td>
</tr>
<tr>
<td>9</td>
<td>3</td>
<td>?</td>
<td>?</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_009_3.txt'>ppp_009_3.txt</a></td>
</tr>
<tr>
<td>10</td>
<td>2</td>
<td>?</td>
<td>?</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_010_2.txt'>ppp_010_2.txt</a></td>
</tr>
<tr>
<td>21</td>
<td>6</td>
<td>?</td>
<td>?</td>
<td><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/ppp_021_6.txt'>ppp_021_6.txt</a></td>
</tr>
</table>
<p></center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/programacion/solve-progressive-party-problem-ppp-zimpl-lp_solve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenStreetMap Heatmap (using OpenLayers)</title>
		<link>http://blog.felipebarriga.cl/programacion/openstreetmap-heatmap-using-openlayers/</link>
		<comments>http://blog.felipebarriga.cl/programacion/openstreetmap-heatmap-using-openlayers/#comments</comments>
		<pubDate>Mon, 17 May 2010 06:04:23 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[Heatmap]]></category>
		<category><![CDATA[OpenLayers]]></category>
		<category><![CDATA[OpenStreetMap]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=362</guid>
		<description><![CDATA[After been working sometime with OpenLayers I figure out how to make heatmaps generated in the user browser. Now I&#8217;m using OpenStreetMap for both map and data. As is based on OpenLayers you can use any map (including Google Maps) and get data from other places. There are some similar projects: gheat (server side), Google [...]]]></description>
			<content:encoded><![CDATA[<p>After been working sometime with <a href="http://openlayers.org/">OpenLayers</a> I figure out how to make <a href="http://en.wikipedia.org/wiki/Heat_map">heatmaps</a> generated in the user browser. Now I&#8217;m using <a href="http://www.openstreetmap.cl/">OpenStreetMap</a> for both map and data. As is based on OpenLayers you can use any map (including <a href="http://maps.google.com/">Google Maps</a>) and get data from other places. </p>
<p>There are some similar projects: <a href="http://code.google.com/p/gheat/">gheat</a> (server side), <a href="http://maps.forum.nu/gm_heatmap.html">Google Maps &#8211; Heatmap</a> (server side, not dynamic) and <a href="http://www.heatmapapi.com">HeatMapAPI</a> (server side and need an API key). If you know another API/Library to make Heatmaps please send me an email.</p>
<p>Currently you can watch the following demo videos (try to watch them on HD and fullscreen):<br />
<span id="more-362"></span><br />
<br/></p>
<h2>Videos</h2>
<ul>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_pub_restaurant_santiago_xvid.avi'>demo_pub_restaurant_santiago_xvid.avi</a></li>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_pub_restaurant_london_xvid.avi'>demo_pub_restaurant_london_xvid.avi</a></li>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_hospital_pharmacy_xvid.avi'>demo_hospital_pharmacy_xvid.avi</a></li>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_firestations_santiago_xvid.avi'>demo_firestations_santiago_xvid.avi</a></li>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_firestations_osorno_xvid.avi'>demo_firestations_osorno_xvid.avi</a></li>
</ul>
<p><center><br />
<object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/c4AgbIOKZKI&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;hd=1&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/c4AgbIOKZKI&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;hd=1&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object></p>
<p><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/yRT66z4Mlfs&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;hd=1&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/yRT66z4Mlfs&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;hd=1&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object></p>
<p><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/cDXCyUh6c88&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/cDXCyUh6c88&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object></p>
<p><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/917EeJowMhs&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/917EeJowMhs&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object></p>
<p><object width="500" height="405"><param name="movie" value="http://www.youtube.com/v/I92uInCCR0w&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;border=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/I92uInCCR0w&#038;hl=en_GB&#038;fs=1&#038;rel=0&#038;border=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="500" height="405"></embed></object></p>
<p></center><br />
<br/></p>
<h1>TODO</h1>
<ul>
<li>Add Heatmap auto-rendering option</li>
<li>Optimize Code</li>
<li>Improve compatibility with Chromium (Google Chrome)</li>
<li>Check compatibility with other browsers</li>
<li>Improve GUI</li>
<li>Make a Javascript Library</li>
<li>Use JSON instead of XML</li>
<li>Check security on server-side</li>
<li>Opacity of Features</li>
<li>Compatibility with polygons (currently only nodes)</li>
</ul>
<p><br/></p>
<h1>Bugs</h1>
<ul>
<li>Features are rendered more than once (double, triple?)</li>
</ul>
<p><br/></p>
<h1>Limitations</h1>
<ul>
<li>Don&#8217;t work on Microsoft Internet Explorer (maybe it&#8217;s a feature!)
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/programacion/openstreetmap-heatmap-using-openlayers/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
<enclosure url="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_pub_restaurant_santiago_xvid.avi" length="13848156" type="video/x-msvideo" />
<enclosure url="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_pub_restaurant_london_xvid.avi" length="12477674" type="video/x-msvideo" />
<enclosure url="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_hospital_pharmacy_xvid.avi" length="5821436" type="video/x-msvideo" />
<enclosure url="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_firestations_santiago_xvid.avi" length="9040454" type="video/x-msvideo" />
<enclosure url="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/demo_firestations_osorno_xvid.avi" length="5023174" type="video/x-msvideo" />
		</item>
		<item>
		<title>Easy crop a PDF in Linux/Unix</title>
		<link>http://blog.felipebarriga.cl/linux/easy-crop-a-pdf-in-linux-unix/</link>
		<comments>http://blog.felipebarriga.cl/linux/easy-crop-a-pdf-in-linux-unix/#comments</comments>
		<pubDate>Wed, 12 May 2010 20:43:57 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[PDF]]></category>
		<category><![CDATA[pdftoppm]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=335</guid>
		<description><![CDATA[Sometimes somebody send you a pdf with big white margins that only annoy you. This is often when you receive Power Point presentations in pdf format so is almost impossible to print several slides on one page. To avoid this you can crop the pdf pages and remove those margins. Getting the bounding box First [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes somebody send you a <a href="http://es.wikipedia.org/wiki/Pdf">pdf</a> with big white margins that only annoy you. This is often when you receive Power Point presentations in pdf format so is almost impossible to print several slides on one page.<br />
<center><br />
<table>
<tr>
<td>
<div id="attachment_349" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/before_pdf.jpg" rel="lightbox[335]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/before_pdf-150x150.jpg" alt="PDF Before Conversion" title="Before" width="150" height="150" class="size-thumbnail wp-image-349" /></a><p class="wp-caption-text">Before</p></div>
</td>
<td>
<div id="attachment_350" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/after_pdf.jpg" rel="lightbox[335]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/after_pdf-150x150.jpg" alt="PDF After Conversion" title="After" width="150" height="150" class="size-thumbnail wp-image-350" /></a><p class="wp-caption-text">After</p></div>
</td>
</tr>
</table>
<p></center><br />
To avoid this you can crop the pdf pages and remove those margins.<br />
<span id="more-335"></span><br />
<br/></p>
<h1>Getting the bounding box</h1>
<p>First execute <a href="http://poppler.freedesktop.org/">pdftoppm</a> to get the first slide and then open it with <a href="http://www.gimp.org/">The Gimp</a>.</p>

<div class="wp-terminal">felipe@funstation:$ pdftoppm -f 1 -l 1 -png clase_1_introduccion.pdf test<br/></div>


<div class="wp-terminal">felipe@funstation:$ gimp test-01.png<br/></div>

<p>Now put the cursor on the top-left corner of the desired place to begin the crop. Look at the bottom of The Gimp window and write somewhere the coordinates. Now do the same thing with the bottom-right corner. With those numbers you have the (X,Y) coordinates of the top-left and the width and height of the box.</p>
<p>In my case I get:<br />
<center><br />
<table>
<tr>
<td>
<div id="attachment_351" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/top-left.jpg" rel="lightbox[335]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/top-left-150x150.jpg" alt="Top Left Coordinates of PDF" title="Top Left" width="150" height="150" class="size-thumbnail wp-image-351" /></a><p class="wp-caption-text">Top Left</p></div>
</td>
<td>
<div id="attachment_352" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/bottom-right.jpg" rel="lightbox[335]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/bottom-right-150x150.jpg" alt="Bottom Right Coordinates of PDF" title="Bottom Right" width="150" height="150" class="size-thumbnail wp-image-352" /></a><p class="wp-caption-text">Bottom Right</p></div>
</td>
</tr>
</table>
<p></center><br />
<strong>&nbsp;&nbsp;&nbsp;top-left-X = 261<br />
&nbsp;&nbsp;&nbsp;top-left-Y = 198</strong><br />
&nbsp;&nbsp;&nbsp;bottom-right-X = 1014<br />
&nbsp;&nbsp;&nbsp;bottom-right-Y = 1449<br />
&nbsp;&nbsp;&nbsp;<strong>width</strong> &nbsp;= bottom-right-X &#8211; top-left-X = 1014 &#8211; 261 <strong>= 753</strong><br />
&nbsp;&nbsp;&nbsp;<strong>height</strong> = bottom-right-Y &#8211; top-left-Y = 1449 &#8211; 198 <strong>= 1251</strong><br />
<br/></p>
<h1>Cropping and saving the slides as images (png)</h1>

<div class="wp-terminal">felipe@funstation:$ pdftoppm -x 261 -W 753 -y 198 -H 1251 -png clase_1_introduccion.pdf clase1_temp<br/></div>

<p>If the images doesn&#8217;t look nice (low resolution, check this using a non anti-aliasing viewer) you can try to increase from 150dpi (default value of pdftoppm) to 600dpi.</p>
<p>The ratio between 600 and 150 is 4:1 so you need to do some complex maths:<br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>new-top-left-X</strong> = top-left-X * 4 = 261 * 4 <strong>= 1044</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>new-top-left-Y</strong> = top-left-Y * 4 = 198 * 4 <strong>= 792</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>new-width&nbsp; </strong> = width &nbsp;* 4 = &nbsp; 753 * 4 <strong>= 3012</strong><br />
&nbsp;&nbsp;&nbsp;&nbsp;<strong>new-height</strong> = height * 4 = 1251 * 4 <strong>= 5004</strong></p>
<p>So the new command line is:</p>

<div class="wp-terminal">felipe@funstation:$ pdftoppm -r 600 -x 1044 -W 3012 -y 792 -H 5004 -png clase_1_introduccion.pdf clase1_temp<br/></div>

<p><br/></p>
<h1>Merging images in a pdf</h1>
<p>Using the convert command (<a href="http://www.imagemagick.org/">ImageMagick</a>) you can reassemble the images in a single pdf:</p>

<div class="wp-terminal">felipe@funstation:$ convert clase1_temp*.png clase_1_introduccion_cropped.pdf<br/></div>

<p><br/></p>
<h1>Deleting temporary files</h1>

<div class="wp-terminal">felipe@funstation:$ rm -f test-01.png clase1_temp*.png<br/></div>

<p><br/></p>
<h1>Notes</h1>
<ul>
<li>Using 600dpi instead of 150dpi will increase a bit the size of temporal files and the size of output pdf can increase from 3MB to 14MB. The big problem is that is going to <strong>eat huge amounts of ram memory</strong> (<u>can be several GB</u>) making your computer a bit unstable (only on convert). Also processing time will increase significantly (only on pdftoppm). I recomend to use only 300dpi.</li>
<li>We use the -<a href="http://es.wikipedia.org/wiki/Portable_Network_Graphics">png</a> flag to avoid get the output files in <a href="http://en.wikipedia.org/wiki/Netpbm_format#PPM_example">ppm</a> format. Using this we can save space (in hard drive) in both temp images and final pdf (<strong>it really generate an smaller pdf</strong>).</li>
</ul>
<p><br/></p>
<h1>Example Files</h1>
<ul>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/clase_1_introduccion.pdf'>clase_1_introduccion.pdf (1.7 MB)</a></li>
<li><a href='http://blog.felipebarriga.cl/wp-content/uploads/2010/05/clase_1_introduccion_cropped.pdf'>clase_1_introduccion_cropped.pdf (8 MB)</a></li>
</ul>
<p><br/></p>
<h1>TODO</h1>
<ul>
<li>Convert png to jpg before making the pdf and see the change of quality v/s size</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/linux/easy-crop-a-pdf-in-linux-unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Aclaraciones sobre Stasi</title>
		<link>http://blog.felipebarriga.cl/privacidad/aclaraciones-sobre-stasi/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/aclaraciones-sobre-stasi/#comments</comments>
		<pubDate>Mon, 10 May 2010 01:32:05 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Stasi]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=327</guid>
		<description><![CDATA[Debido a que todavía existen varios usuarios que tratan de ingresar al sitio que he dado de baja (http://stasi.felipebarriga.cl) decidí hacer este post explicando un poco el porqué ya no existe tal sitio. Luego de que se popularizara el sitio (que estuvo un buen tiempo en internet antes de que terra publicara la noticia) se [...]]]></description>
			<content:encoded><![CDATA[<p>Debido a que todavía existen varios usuarios que tratan de ingresar al sitio que he dado de baja (<a href="http://stasi.felipebarriga.cl">http://stasi.felipebarriga.cl</a>) decidí hacer este post explicando un poco el porqué ya no existe tal sitio.<br />
<span id="more-327"></span><br />
Luego de que se popularizara el sitio (que estuvo un buen tiempo en internet antes de que <a href="http://www.terra.cl/tecnologia/index.cfm?id_cat=415&#038;id_reg=1112539">terra publicara la noticia</a>) se inició una investigación a cargo de la brigada del cibercrimen de la policía de investigaciones. En dicha investigación fui invitado cordialmente a declarar de forma voluntaria como imputado. Luego de un tiempo y un par de malos ratos se cerro la investigación por falta de evidencia de que se cometió un delito (como era obvio).</p>
<p>Para no seguir pasando malos ratos decidí bajar el sitio web, que ya cumplió con su objetivo que era el de crear un poco de conciencia al respecto de como se maneja la información de los chilenos, y como cierta información que algunos consideran como privada en verdad no lo es (según las leyes actuales).</p>
<p>Si abren un poco los ojos se darán cuenta de que hay que tener pitutos y que la gente es fácil de condicionar. Dicom opera desde hace mucho tiempo y nadie lo ha molestado teniendo información más importante (realmente importante) en comparación a la que yo publiqué (que de hecho ya estaba dando vueltas en Internet, y <del datetime="2010-05-10T01:32:08+00:00">que todavía lo esta: X X X</del>). Dicom solo necesita su autorización para lucrar con su información, autorización que están obligados a dar si quieren contratar cualquier cosa. Si yo hubiese cobrado no todos hubiesen tenido acceso a dicha información y hubiesen dicho (cosa que leí en foros): &#8220;ahh no importa que esté ahí esa información, total Dicom tiene más&#8221; pero cuando <em>cualquiera</em> puede tener acceso ahí se escandalizan (cualquiera: es quien tiene más de $3.990 para pedir el informe más completo que vende Dicom&#8230;).</p>
<p>Lo que más le escandalizo a ciertas personas fue el hecho que no solo quienes tienen plata puedan acceder a cierta información, sino que <em>cualquiera</em>.</p>
<p>Más ridículo es el hecho que el <a href="http://www.servel.cl">Servicio Electoral</a> vendiera y sigue vendiendo la información que tienen en su base de datos (<a href="http://www.servel.cl/servel/index.aspx?channel=323">Link</a>, <a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/05/catalogo.pdf">Mirror</a>, Página 6. Valor por cada 1.000 registros igual a 0,06030 UTM + IVA ~ $2.223 + IVA. 6 Millones ~ $13.336.672 + IVA). En todo caso es un buen negocio, todo quien quiera participar en las elecciones tiene la obligación de estar inscrito en el Servicio Electoral por ende ellos nunca van a tener falta de información (o información obsoleta) y sabrán que es fidedigna (y para más remate la gente va y la entrega voluntariamente&#8230; podrían cobrar su pedacito de ganancias que obtiene el Servicio Electoral, total están lucrando con ustedes). Al parecer a nadie le importa de que el Servicio Electoral venda esa información, pero si esta gratis ahí empiezan los problemas.</p>
<p>Espero que con esto se haya aclarado un poco el tema del porqué no existe más el buscador y cuál fue su objetivo y motivo de existir.</p>
<p>Aprovecho también de informarles, a quienes no lo saben, que si no les gusta Dicom o el Servicio Electoral pueden ir al Registro Civil y comprar más información. Desde certificados de nacimiento (que muestra el rut y nombre de ambos padres) por solo $710, el de matrimonio para finalizar en el de defunción. Como pueden ver, todo el ciclo de la vida.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/aclaraciones-sobre-stasi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Listing and deleting files in a terminal (bash)</title>
		<link>http://blog.felipebarriga.cl/otros/listing-and-deleting-files-in-a-terminal-bash/</link>
		<comments>http://blog.felipebarriga.cl/otros/listing-and-deleting-files-in-a-terminal-bash/#comments</comments>
		<pubDate>Wed, 05 May 2010 19:03:37 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=313</guid>
		<description><![CDATA[There are infinite ways of doing the following commands but here you can find some examples. They can be very useful when you need to manage a lot of files in different directories. Using &#8216;find&#8217; Delete empty files using find: felipe@funstation:$ find dir/ -type f -empty -print0 &#124; xargs rm -f Or create an script [...]]]></description>
			<content:encoded><![CDATA[<p>There are infinite ways of doing the following commands but here you can find some examples. They can be very useful when you need to manage a lot of files in different directories.<br />
<u><br />
<h3><strong>Using &#8216;find&#8217;</strong></h3>
<p></u></p>
<p>Delete empty files using find:</p>

<div class="wp-terminal">felipe@funstation:$ find dir/ -type f -empty -print0 | xargs rm -f<br/></div>

<p><span id="more-313"></span><br />
Or create an script (to watch it before deleting those files):</p>

<div class="wp-terminal">felipe@funstation:$ find dir/ -type f -empty -print0 | xargs -0 echo rm -f > delete_script.sh<br/></div>

<p><u><br />
<h3><strong>Using &#8216;du&#8217;</strong></h3>
<p></u></p>
<p>List with size all *.txt files on a tree dir:</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt<br/></div>

<p><br/></p>
<p>Also that doesn&#8217;t match an specific size (256K):</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt | grep -v "256K"<br/></div>

<p><br/></p>
<p>Also add another possible value (256K or 512K):</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt | grep -v "256K" | grep -v "512K"<br/></div>

<p>or:</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt | grep -v "256K\|512K"<br/></div>

<p><br/></p>
<p>Count how many they are:</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt | grep -v "256K\|512K" | wc -l<br/></div>

<p><br/></p>
<p>Get only the filenames:</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt | grep -v "256K\|512K" | cut -f 2<br/></div>

<p><br/></p>
<p>All in one line (remove trailing newline character):</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt | grep -v "256K\|512K" | cut -f 2 | tr "\n" " "<br/></div>

<p><br/></p>
<p>Delete Them:</p>

<div class="wp-terminal">felipe@funstation:$ du -ha dir/ | grep \.txt | grep -v "256K\|512K" | cut -f 2 | tr "\n" " " | xargs rm -f<br/></div>

<p><br/></p>
<p><strong>Notes:</strong> You can get errors with grep because it won&#8217;t distinct if the string is in the size or in the filename<br />
<br/></p>
<p><strong>Related in spanish:</strong> <a href="http://systemadmin.es/2009/04/uso-de-xargs-herramientas-unix-ii">http://systemadmin.es/2009/04/uso-de-xargs-herramientas-unix-ii</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/listing-and-deleting-files-in-a-terminal-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert big PDF to huge image (maps)</title>
		<link>http://blog.felipebarriga.cl/otros/convert-big-pdf-to-huge-image-map/</link>
		<comments>http://blog.felipebarriga.cl/otros/convert-big-pdf-to-huge-image-map/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 01:17:48 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[GIS]]></category>
		<category><![CDATA[ImageMagick]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=305</guid>
		<description><![CDATA[To convert PDF to big images like maps you can try with Gimp but it eat too much memory and is a bit slow. The other option is to use ImageMagick: felipe@funstation:$ convert file.pdf file.jpg If the output image is to small you can try to change the pixel density (dpi) which is 72dpi by [...]]]></description>
			<content:encoded><![CDATA[<p>To convert <a href="http://en.wikipedia.org/wiki/PDF">PDF</a> to big images like maps you can try with <a href="http://www.gimp.org/">Gimp</a> but it eat too much memory and is a bit slow.<br />
The other option is to use <a href="http://www.imagemagick.org/">ImageMagick</a>:</p>

<div class="wp-terminal">felipe@funstation:$ convert file.pdf file.jpg<br/></div>

<p>If the output image is to small you can try to change the pixel density (dpi) which is 72dpi by default to a bigger one.<br />
Here is an example using 500dpi, 8 bits of color (256), inverting the colors (negate) and saving it in <a href="http://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG</a> format:</p>

<div class="wp-terminal">felipe@funstation:$ convert -density 500 -negate -depth 8 base_actualizado_diciembre_2009.pdf base_actualizado_diciembre_2009-500-invert-8bits.png<br/></div>

<p>The sample file is here: <a href="http://www.osornochile.cl/webimo/documentos/base_actualizado_diciembre_2009.pdf">http://www.osornochile.cl/webimo/documentos/base_actualizado_diciembre_2009.pdf</a><br />
The PDF size is 7.5M and the output PNG size is 59M.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/convert-big-pdf-to-huge-image-map/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Clean Alkaline Battery leaks</title>
		<link>http://blog.felipebarriga.cl/diy/clean-alkaline-battery-leaks/</link>
		<comments>http://blog.felipebarriga.cl/diy/clean-alkaline-battery-leaks/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 16:55:04 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[diy]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=291</guid>
		<description><![CDATA[Alkaline batteries can leak and start a corrosive process. When this occur it start to damage all metal parts of the circuits if you don&#8217;t stop it in time. The corrosive agent is potassium hydroxide and an easy way to clean up this is using common vinegar. Only submerge it on a glass with vinegar [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Alkaline_battery">Alkaline batteries</a> can <a href="http://en.wikipedia.org/wiki/Alkaline_battery#Leaks">leak</a> and start a corrosive process. When this occur it start to damage all metal parts of the circuits if you don&#8217;t stop it in time.<br />
<span id="more-291"></span><br />
The corrosive agent is <a href="http://en.wikipedia.org/wiki/Potassium_hydroxide">potassium hydroxide</a> and an easy way to clean up this is using common <a href="http://en.wikipedia.org/wiki/Vinegar">vinegar</a>. Only submerge it on a glass with vinegar and shake it every X minutes [I shake it when I remember that I've a glass with vinegar near my computer <img src='http://blog.felipebarriga.cl/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ].</p>
<div id="attachment_292" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/clean_with_vinegar.jpg" rel="lightbox[291]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/clean_with_vinegar-300x273.jpg" alt="Cleanning with Vinegar Alkaline Battery leak" title="Cleanning with Vinegar" width="300" height="273" class="size-medium wp-image-292" /></a><p class="wp-caption-text">Cleanning with Vinegar</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/diy/clean-alkaline-battery-leaks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jetech LXM-500 UPS (Upgrade with Car Battery)</title>
		<link>http://blog.felipebarriga.cl/diy/jetech-lxm-500-ups-upgrade-car-battery/</link>
		<comments>http://blog.felipebarriga.cl/diy/jetech-lxm-500-ups-upgrade-car-battery/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 16:44:57 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[diy]]></category>
		<category><![CDATA[ups]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=282</guid>
		<description><![CDATA[Upgrading Jetech LXM-500 UPS After finding this old UPS I&#8217;ve decided to upgrade it with a 12V 55A car battery (the original battery was a 12V 5A). Schematic of the comunication cable with PC The communication cable used by this UPS is a straight pin-to-pin DB9 (Serial, RS232, etc). The software is not available on [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Upgrading Jetech LXM-500 UPS</strong><br />
After finding this old UPS I&#8217;ve decided to upgrade it with a 12V 55A car battery (the original battery was a 12V 5A).<br />
<span id="more-282"></span><br />
<strong>Schematic of the comunication cable with PC</strong><br />
The communication cable used by this UPS is a straight pin-to-pin DB9 (Serial, RS232, etc).<br />
The software is not available on Internet (trust me, I&#8217;ve been searching for hours before I found it in an old dusty box).</p>
<p>All files are the same (for search engine optimization only):</p>
<ul>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/powercheck.iso_.zip">Powercheck ISO Image [powercheck.iso.zip]</a></li>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/powercheck.exe.zip">Powercheck Installer [powercheck.exe.zip]</a></li>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/powercheck_programfiles.zip">Powercheck Files (No Installer) [powercheck_programfiles.zip]</a></li>
</ul>
<p><strong>Replacing Original Battery with Car Battery</strong><br />
As the UPS can handle 500VA/250W at least I must take care of the ampere capacity of the cables.<br />
The original cable was an 12 AWG cable which it can handle 25 ~ 30 Amp (<a href="http://en.wikipedia.org/wiki/American_wire_gauge#Table_of_AWG_wire_sizes">source</a>). As I like to take precautions I use an 10 AWG cable which can handle 30 ~ 40 Amp.</p>
<p>The easy part is to connect the 10 AWG cable with the battery using standard connectors. The hard part is to connect in a cheap and less complicated way both cables without soldering. For this purpose I&#8217;ve used two Feed Through Terminal per cable (they are rated 380V and 10A, so using two I can pass 20A).</p>
<div id="attachment_285" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/LXM-500-UPS.jpg" rel="lightbox[282]"><img class="size-medium wp-image-285" title="LXM-500 UPS Circuit" src="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/LXM-500-UPS-300x195.jpg" alt="LXM-500 UPS Circuit" width="300" height="195" /></a><p class="wp-caption-text">LXM-500 UPS Circuit</p></div><br />
&nbsp;<br />
<div id="attachment_286" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/connector.jpg" rel="lightbox[282]"><img class="size-medium wp-image-286" title="Connector" src="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/connector-300x225.jpg" alt="Connector" width="300" height="225" /></a><p class="wp-caption-text">Connector</p></div><br />
&nbsp;<br />
<div id="attachment_288" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/battery-with-connectors.jpg" rel="lightbox[282]"><img class="size-medium wp-image-288" title="Battery with Connectors" src="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/battery-with-connectors-300x225.jpg" alt="Battery with Connectors" width="300" height="225" /></a><p class="wp-caption-text">Battery with Connectors</p></div>
<p><strong>Removing the annoying beep sound</strong><br />
When this UPS is running from the battery supply it emit an annoying beep to alert the user. To &#8216;correct&#8217; this you can simply remove the dammed <a href="http://en.wikipedia.org/wiki/Buzzer">buzzer</a>.</p>
<div id="attachment_287" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/removed_buzzer.jpg" rel="lightbox[282]"><img class="size-medium wp-image-287" title="Removed Buzzer" src="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/removed_buzzer-300x207.jpg" alt="Removed Buzzer" width="300" height="207" /></a><p class="wp-caption-text">Removed Buzzer</p></div>
<p><strong>Safety</strong><br />
As you may know, if you short-circuit a car battery (<a href="http://en.wikipedia.org/wiki/Lead-acid_battery">lead-acid</a>) it can generate Hydrogen and Oxygen gas. With a little spark you can have a big fire or <a href="http://en.wikipedia.org/wiki/Lead-acid_battery#Exploding_batteries">even an explosion</a>. To avoid this try to put the battery it a ventilated container, secure all connections and avoid the access of other people (children, stupid guys, etc). As a container I&#8217;ve used a toolbox with some <a href="http://home.howstuffworks.com/uses-for-baking-soda-outdoors-activities-ga.htm">baking soda</a> at the bottom (the battery can leak acid so you can neutralize it with this).</p>
<p>As some finals words I don&#8217;t take any responsibility on this home-made super UPS and try to do things in the right way.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/diy/jetech-lxm-500-ups-upgrade-car-battery/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Telefonia IP a traves de Netland Chile</title>
		<link>http://blog.felipebarriga.cl/personal/telefonia-ip-a-travez-de-netland-chile/</link>
		<comments>http://blog.felipebarriga.cl/personal/telefonia-ip-a-travez-de-netland-chile/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 03:47:20 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Netland]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=267</guid>
		<description><![CDATA[Luego de venir a ver lo que quedo de la casa de mi viejo despues del pequeño terremoto que tuvimos, decidi probar como andaba el telefono IP que tenia. El Internet en la casa es de Netland Chile al igual que la telefonia IP [VoIP]. Despues de unas llamadas me di cuenta que anda bien [...]]]></description>
			<content:encoded><![CDATA[<p>Luego de venir a ver lo que quedo de la casa de mi viejo despues del pequeño terremoto que tuvimos, decidi probar como andaba el telefono IP que tenia.</p>
<p>El Internet en la casa es de <a href="http://www.netlandchile.com">Netland Chile</a> al igual que <a href="http://www.netlandchile.com/servicios_telefonia_ip.htm">la telefonia IP</a> [<a href="http://en.wikipedia.org/wiki/Voice_over_Internet_Protocol">VoIP</a>]. Despues de unas llamadas me di cuenta que anda bien mal el asunto. Como es de esperar hay cortes en la comunicacion lo que hace que cueste entender las palabras, sobre todo de este lado de la linea [el que llama escucha mal].</p>
<p>Para ver si es problema de la conexion en si o del adaptador VoIP [<a href="http://en.wikipedia.org/wiki/Plain_old_telephone_service">POTS</a>] [<a href="http://www.cisco.com/en/US/prod/collateral/voicesw/ps6790/gatecont/ps10024/ps10026/data_sheet_c78-502137.html">Linksys SPA2102</a>] nada mejor que hacer las llamadas desde mi notebook. Para esto primero puse mi PC haciendo de router entre la conexion a Internet y el adaptador VoIP. Luego un poco de <a href="http://www.wireshark.org/">Wireshark</a> y ver que protocolo se esta ocupando y cuales son las configuraciones de la conexion [username, password, servidores, etc].</p>
<p>Para mi sorpresa encontre que el adaptador VoIP abre dos paginas en un servidor de Netline [al parecer Netland Chile ocupa a Netline para las llamadas IP]:<br />
<span id="more-267"></span></p>
<ul>
<li><a href="http://gbill.netline.cl/diloip/LINKSYS-XXXXXXXXXXXX.txt">http://gbill.netline.cl/diloip/LINKSYS-XXXXXXXXXXXX.txt</a> [donde XXXXXXXXXXXX corresponde a la MAC del adaptador]</li>
<li><a href="http://tools.netline.cl/diloip/spa.php?psn=2102&#038;mac=XXXXXXXXXXXX&#038;serial=XXXXXXXXXXX%20HTTP/1.0">http://tools.netline.cl/diloip/spa.php?psn=2102&#038;mac=XXXXXXXXXXXX&#038;serial=XXXXXXXXXXX%20HTTP/1.0</a> [no se a que se debe el HTTP/1.0 y el numero MAC y Serial efectivamente corresponden al adaptador]</li>
</ul>
<p>El primer link contiene datos de la configuracion del adaptador tales como el username, password, nombre real, etc. <a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/LINKSYS-XXXXXXXXXXXX.txt">Archivo del primer link [con censura]</a>.</p>
<p>El segundo link contiene informacion de la configuracion del adaptador en si, esto es desactivar el servidor web para configurarlo, asignarle un password de administracion y entre otras cosas la direccion de los dos links y como acceder a ellos [donde poner la MAC y el Serial Number dentro del link]. <a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/03/spa.php_.txt">Archivo del segundo link [con censura].</a></p>
<p>Bueno ahora ocupando <a href="http://packetstormsecurity.org/Crackers/SIPcrack-0.1.tar.gz">SIPcrack</a> (<a href="http://blog.txipinet.com/2006/10/11/38-seguridad-en-voip-i-cracking-de-contrasenas-sip-en-gnu-linux/">tutorial</a>) compruebo que la contraseña sea efectivamente la que tengo, lo cual es cierto.</p>
<p>Ahora para tener todo lo necesario para poder hacer llamadas desde mi PC bajo <a href="http://www.twinklephone.com/">twinkle</a> ya que se necesita un cliente <a href="http://en.wikipedia.org/wiki/Session_Initiation_Protocol">SIP</a>, lo configuro y hago unas llamadas. Veo que solo acepta dos codecs: <a href="http://en.wikipedia.org/wiki/G.711#G.711_A-Law">G.711 A-Law</a> y <a href="http://en.wikipedia.org/wiki/G.711#G.711_.CE.BC-Law">G.711 μ-Law</a></p>
<p><strong>El veredicto: Se escucha igual de mal.</strong></p>
<p>Por lo tanto hay que mover los dedos señaladores del culpable que presumian que era Linksys [cisco] el responsable y dirigirlos hacia Netland Chile. Shame on Them !</p>
<p>Espero que algun dia en Chile aparesca alguna compañia de Internet y Telefonia IP que sea como corresponde y no estas que entregan un servicio mediocre y velocidades horribles [casi todas 512kbps], al igual que <a href="http://www.ctr.cl/internet.php">CTR</a>. En todo caso Netland Chile es harto mejor que CTR, ya que en esta ultima todos los usuarios salen a traves de la misma IP. Imaginense solo los baneados de Rapidshare por abusar del servicio&#8230; [aparte del hecho de no tener una IP de verdad].</p>
<p><strong>Observaciones:</strong> Twinkle no soporta G729a pero al parecer ese es el codec por defecto segun el archivo de configuracion que ocupa Netland/Netline/DiloIP. El segundo detalle es que las llamadas salen por <em>cl.diloip.com</em>, un proxy de <a href="www.diloip.com">www.diloip.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/telefonia-ip-a-travez-de-netland-chile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Venciendo al sistema: Unimarc II</title>
		<link>http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc-ii/</link>
		<comments>http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc-ii/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 15:32:40 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[estafa]]></category>
		<category><![CDATA[Unimarc]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=249</guid>
		<description><![CDATA[Nuevamente el Unimarc trato de estafarme. Esta vez compre duraznos en mitades que supuestamente estaban a $680 pero el precio en la caja era de $698, osea $18 pesos de diferencia [2.65%]. El azucar que supuestamente estaba a $499 en caja costaba $549, osea $50 pesos de diferencia [10.00%]. Como hay que hacer pasar los [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc/">Nuevamente</a> el Unimarc trato de estafarme. Esta vez compre duraznos en mitades que supuestamente estaban a $680 pero el precio en la caja era de $698, osea <strong>$18 pesos de diferencia [2.65%]</strong>.</p>
<p>El azucar que supuestamente estaba a $499 en caja costaba $549, osea <strong>$50 pesos de diferencia [10.00%]</strong>.<br />
<span id="more-249"></span><br />
Como hay que hacer pasar los productos de alguna forma, en vez del azucar Iansa pasaron una mermelada Watt&#8217;s de $499 y en reemplazo a los duraznos pasaron otros duraznos con el mismo nombre y misma marca pero a otro precio.</p>
<p>Resumiendo la compra deberia haberme salido $1.179, querian cobrarme $1.247 y finalmente termine pagando $1.138. Osea ahorre $41 pesos y el supermercado queria ganar $68.</p>
<p>Si ven mi compra fue bien humilde pero <strong>estan tratando de ganar un 5.76%</strong> que si vemos cuanto dinero mueve el supermercado al mes, un 5.76% viene a ser bastante. No hay que olvidar que ese porcentaje fue solo con los productos que estan con precios erroneos por lo que en verdad las ganancias que obtienen son menores pero igual siguen siendo significativas.</p>
<div id="attachment_250" class="wp-caption aligncenter" style="width: 133px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/estafa-del-unimarc.jpg" rel="lightbox[249]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/estafa-del-unimarc-123x300.jpg" alt="Boleta del Unimarc con la Estafa" title="Boleta del Unimarc" width="123" height="300" class="size-medium wp-image-250" /></a><p class="wp-caption-text">Boleta del Unimarc</p></div><br />
&nbsp;<br />
<div id="attachment_251" class="wp-caption aligncenter" style="width: 270px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/duraznos-dos-caballos-en-unimarc.jpg" rel="lightbox[249]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/duraznos-dos-caballos-en-unimarc-260x300.jpg" alt="Duraznos Dos Caballos en Unimarc" title="Duraznos Dos Caballos en Unimarc" width="260" height="300" class="size-medium wp-image-251" /></a><p class="wp-caption-text">Duraznos</p></div><br />
&nbsp;<br />
<div id="attachment_252" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/duraznos-dos-caballos-en-unimarc-verificador.jpg" rel="lightbox[249]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/duraznos-dos-caballos-en-unimarc-verificador-300x116.jpg" alt="Duraznos Dos Caballos en el Verificador del Unimarc" title="Duraznos Dos Caballos en el Verificador del Unimarc" width="300" height="116" class="size-medium wp-image-252" /></a><p class="wp-caption-text">Duraznos en Verificador</p></div><br />
&nbsp;<br />
<div id="attachment_253" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/azucar-iansa-en-unimarc.jpg" rel="lightbox[249]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/azucar-iansa-en-unimarc-300x225.jpg" alt="Azucar Iansa en Unimarc" title="Azucar Iansa en Unimarc" width="300" height="225" class="size-medium wp-image-253" /></a><p class="wp-caption-text">Azucar Iansa</p></div><br />
&nbsp;<br />
<div id="attachment_254" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/azucar-iansa-en-unimarc-verificador.jpg" rel="lightbox[249]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/02/azucar-iansa-en-unimarc-verificador-300x138.jpg" alt="Azucar Iansa en Verificador del Unimarc" title="Azucar Iansa en Verificador del Unimarc" width="300" height="138" class="size-medium wp-image-254" /></a><p class="wp-caption-text">Azucar en Verificador</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc-ii/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cosas &#8216;Pintorescas&#8217; de La Serena</title>
		<link>http://blog.felipebarriga.cl/personal/cosas-pintorescas-de-la-serena/</link>
		<comments>http://blog.felipebarriga.cl/personal/cosas-pintorescas-de-la-serena/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 18:26:41 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=215</guid>
		<description><![CDATA[Paseando por La Serena me encontre con estos tres carteles que me parecieron dignos de ser mostrados. PROHIBIDO ! ¿Prohibido que? Supuestamente esas leyes estan siempre vigentes y no es necesario andar pegando articulos de estas. Por ultimo pongan algo mas directo como &#8220;Prohibido tener relaciones en el baño&#8221;. Algunos capaz han muerto en el [...]]]></description>
			<content:encoded><![CDATA[<p>Paseando por La Serena me encontre con estos tres carteles que me parecieron dignos de ser mostrados.<br />
<span id="more-215"></span></p>
<p><div id="attachment_224" class="wp-caption aligncenter" style="width: 222px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/bano-la-serena-pudor-y-buenas-costumbres.jpg" rel="lightbox[215]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/bano-la-serena-pudor-y-buenas-costumbres-212x300.jpg" alt="Ofensas a la Moral: Falta el que publicamente ofendiere al pudor y buenas costumbres" title="Ofensas a la Moral: Falta el que publicamente ofendiere al pudor y buenas costumbres" width="212" height="300" class="size-medium wp-image-224" /></a><p class="wp-caption-text">Ofensas a la Moral</p></div><br />
PROHIBIDO ! ¿Prohibido que? Supuestamente esas leyes estan siempre vigentes y no es necesario andar pegando articulos de estas. Por ultimo pongan algo mas directo como &#8220;Prohibido tener relaciones en el baño&#8221;. Algunos capaz han muerto en el intento de orinar sin &#8216;ofender al pudor&#8217;&#8230;</p>
<p>Si van a poner una idiotez deberian ponerla textualmente como sale en el codigo penal, articulo 495 #5: <em>&#8220;El que públicamente ofendiere el pudor con acciones o dichos deshonestos.&#8221;</em>  (<a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/NORMA19840.pdf">NORMA19840.pdf</a>: Pagina 101, Articulo 495 #5)</p>
<p>Por lo visto hay que tener cuidado con el pudor porque en el mismo codigo aparece: <em>&#8220;Los que de cualquier modo ofendieren el pudor o las buenas costumbres con hechos de grave escándalo o trascendencia, no comprendidos expresamente en otros artículos de este Código, sufrirán la pena de reclusión menor en sus grados mínimo a medio.&#8221;</em> (<a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/NORMA19840.pdf">NORMA19840.pdf</a>: Pagina 77, Articulo 373)<br />
<br/><br/><br />
<div id="attachment_217" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/pergaminos-la-serena.jpg" rel="lightbox[215]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/pergaminos-la-serena-300x262.jpg" alt="Pergamino Origen de los Apellidos" title="Pergamino Origen de los Apellidos" width="300" height="262" class="size-medium wp-image-217" /></a><p class="wp-caption-text">Pergaminos</p></div><br />
A cuantos se habran calzado cuando despues de leer su apellido o hojear un poco se dieron cuenta que mirar no es gratis.<br />
<br/><br/><br />
<div id="attachment_218" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/dios-todo-satanico.jpg" rel="lightbox[215]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/dios-todo-satanico-300x216.jpg" alt="Ultimatum de Dios a la Humanidad" title="Ultimatum de Dios a la Humanidad" width="300" height="216" class="size-medium wp-image-218" /></a><p class="wp-caption-text">Dios te Ama</p></div><br />
¿No sera como mucho? Hasta tiene un aire de <em>paper</em> al poner todas las referencias en las que se baso para redactar esos parrafos.</p>
<ul>
<li>&#8220;&#8230; condenadas a recibir eterno tormento en un lago de fuego y azufre &#8230;&#8221;</li>
<li>&#8220;Para estas personas que no se arrepintieron a tiempo de sus pecados esto será terrible pero inevitable, &#8230;&#8221;</li>
<li>&#8220;Ahora bien, sin importarle quien seas, Dios te ama&#8230;&#8221;</li>
</ul>
<p>A ver si entiendo. Dios me ama aun si soy un pecador. ¿Aun cuando Dios me ama me freire en un lago de fuego y azufre? Ummm parece que Dios tiene un concepto de amor un poco errado.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/cosas-pintorescas-de-la-serena/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finitos los buses Pullman</title>
		<link>http://blog.felipebarriga.cl/personal/finitos-los-buses-pullman/</link>
		<comments>http://blog.felipebarriga.cl/personal/finitos-los-buses-pullman/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 17:51:29 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=210</guid>
		<description><![CDATA[Viajando hacia Viña del Mar en un bus Pullman me encuentro con este fino y educativo cartel: Vean la calidad del material del cartel.]]></description>
			<content:encoded><![CDATA[<p>Viajando hacia Viña del Mar en un bus <a href="http://www.pullman.cl">Pullman</a> me encuentro con este fino y educativo cartel:<br />
<span id="more-210"></span><br />
<div id="attachment_211" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/pullman-no-escupir.jpg" rel="lightbox[210]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/pullman-no-escupir-300x202.jpg" alt="Cartel de buses Pullman que dice &quot;No escupir en el suelo&quot;" title="Cartel de buses Pullman" width="300" height="202" class="size-medium wp-image-211" /></a><p class="wp-caption-text">Cartel de buses Pullman</p></div><br />
Vean la calidad del material del cartel.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/finitos-los-buses-pullman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruidos Molestos</title>
		<link>http://blog.felipebarriga.cl/personal/ruidos-molestos/</link>
		<comments>http://blog.felipebarriga.cl/personal/ruidos-molestos/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 17:44:32 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=202</guid>
		<description><![CDATA[Este cartel que le coloco un vecino a mi hermano no podia faltar en mi blog. En rojo estan los pensamientos y dudas que nos genera este&#8230; El papel anexo de abajo a la izquierda fue el pensamiento de algun visitante del depto.]]></description>
			<content:encoded><![CDATA[<p>Este <em>cartel</em> que le coloco un vecino a mi hermano no podia faltar en mi blog. En rojo estan los pensamientos y dudas que nos genera este&#8230;<br />
<span id="more-202"></span><br />
<div id="attachment_206" class="wp-caption aligncenter" style="width: 262px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/reclamo-carretes1.jpg" rel="lightbox[202]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/reclamo-carretes1-252x300.jpg" alt="Reclamo por Carrete" title="Reclamo por Carrete" width="252" height="300" class="size-medium wp-image-206" /></a><p class="wp-caption-text">Reclamo por Carrete</p></div></p>
<p>El papel anexo de abajo a la izquierda fue el pensamiento de algun visitante del depto.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/ruidos-molestos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Origenes y Curiosidades de la palabra Chile</title>
		<link>http://blog.felipebarriga.cl/personal/origenes-y-curiosidades-de-la-palabra-chile/</link>
		<comments>http://blog.felipebarriga.cl/personal/origenes-y-curiosidades-de-la-palabra-chile/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 15:05:40 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=197</guid>
		<description><![CDATA[Aqui les dejo un link que me parecio bien interesante y gracioso: http://etimologias.dechile.net/?chile]]></description>
			<content:encoded><![CDATA[<p>Aqui les dejo un link que me parecio bien interesante y gracioso:<br />
<a href="http://etimologias.dechile.net/?chile">http://etimologias.dechile.net/?chile</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/origenes-y-curiosidades-de-la-palabra-chile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ironia en LAN Chile</title>
		<link>http://blog.felipebarriga.cl/personal/ironia-lanchile-bertin/</link>
		<comments>http://blog.felipebarriga.cl/personal/ironia-lanchile-bertin/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 14:58:29 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Osorno]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=193</guid>
		<description><![CDATA[El dia 18 de Enero del 2010 (2010-01-18 para los geeks) estaba yo en la sala de espera del aeropuerto de Osorno (que hasta tiene un articulo en la wikipedia en vietnamita) volviendo a Santiago luego de cumplir con mi deber civico [eso de hacer una rayita en un papelito que significa un (1/6.942.601)*100 = [...]]]></description>
			<content:encoded><![CDATA[<p>El dia 18 de Enero del 2010 (2010-01-18 para los geeks) estaba yo en la sala de espera del <a href="http://es.wikipedia.org/wiki/Aeropuerto_Ca%C3%B1al_Bajo_Carlos_Hott_Siebert" title="Aeropuerto Cañal Bajo Carlos Hott Siebert">aeropuerto de Osorno</a> (que <a href="http://vi.wikipedia.org/wiki/S%C3%A2n_bay_Ca%C3%B1al_Bajo_Carlos_Hott_Siebert">hasta tiene un articulo en la wikipedia en vietnamita</a>) volviendo a Santiago luego de cumplir con mi deber civico [eso de hacer una rayita en un papelito que significa un (1/<a href="http://www.elecciones.gov.cl/Sitio2009/index.html" title="Votos validamente emitidos">6.942.601</a>)*100 = 0.000014404% de poder politico. Su voto vale ! pero lamentamos decirle que <strong title="vale callampa = no vale nada">vale callampa</strong>].<br />
<span id="more-193"></span><br />
Al comenzar el proceso de embarque de pasajeros primero llamaron a los ancianos (o tercera edad para no ofender) y a pasajeros que viajen con niños menores de 7 años (creo que 7). Ahi en esa cola veo subiendo al actual alcalde de Osorno, <a href="http://jaimebertin.blogspot.com/">Jaime Bertin Valenzuela</a> que <a href="http://www.canalpuertomontt.cl/noticias.php?titulo=Nuevo_Intendente_de_la_Region_de_Los_Lagos&#038;n=14961">supuestamente tiene 56 años</a> mientras que la <a href="http://es.wikipedia.org/wiki/Tercera_edad">tercera edad</a> se considera por lo general a partir de los 65 años. Cuando le pregunte a la asistente de vuelo a que se debia la preferencia de nuestro querido alcalde no supo que responder.</p>
<p>Por esas cosas de la vida, yo iba en el asiento de la salida de emergencia, la popular fila 9. Al hacer escala en Valdivia el alcalde raudamente se movilizo al asiento que se encontraba a mi lado al ver que no habia nadie utilizandolo. Ahi fue cuando comence a hablar con el con el objetivo de saber como lo hace para poder embarcarse antes que todos los cristianos al avion (sin desmerecer a otras religiones, es solo una expresion&#8230;). Ahi basicamente cayo de cajon que como era alcalde tenia ciertos privilegios, ese tipo de privilegios que hace que un policia tenga miedo a cursarle una infraccion de transito a un senador por el motivo que fuere.</p>
<p>¿ Donde esta la ironia ? Un poco rebuscada pero basicamente es que se asocia a <a href="http://politicarock.cl/wp-content/uploads/pineraobama2.jpg" rel="lightbox[193]">LAN con Piñera</a> y que Bertin es del <em>&#8216;bando opuesto&#8217;</em> (politicamente hablando, <a href="http://es.answers.yahoo.com/question/index?qid=20090822130447AAgaYhO" title="Se dice cuando alguien es gay">no es que patea para el equipo contrario</a>). Claramente por la fecha del vuelo iba a darle el pesame a Eduardo Frei y capaz a gritarle una que otra cosa a <a href="http://www.youtube.com/watch?v=QaWxOPiGiAY&#038;fmt=18" title="Camilo Escalona y sus finos comentarios">Camilo Escalona</a>. De esto nada me consta pero podria ser =P</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/ironia-lanchile-bertin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Venciendo al sistema: Unimarc</title>
		<link>http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc/</link>
		<comments>http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 13:58:46 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[estafa]]></category>
		<category><![CDATA[Unimarc]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=184</guid>
		<description><![CDATA[Hoy en la mañana comprando el almuerzo (duraznos con crema) nuevamente fui casi-estafado por el supermercado Unimarc. Ya me ha pasado varias veces y la estafa es la siguiente: Vas a un pasillo donde hay varios productos con descuento por Club Unimarc. Escojes un producto con o sin descuento y fijate en el precio (el [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy en la mañana comprando el almuerzo (duraznos con crema) nuevamente fui <strong>casi-estafado por el supermercado Unimarc</strong>.</p>
<p>Ya me ha pasado <a href="http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc-ii/">varias veces</a> y la estafa es la siguiente:<br />
<span id="more-184"></span></p>
<ol>
<li>
Vas a un pasillo donde hay varios productos con descuento por Club Unimarc.
</li>
<li>
Escojes un producto con o sin descuento y fijate en el precio (el normal) que aparece en la gondola.
</li>
<li>
Anda al verificador de precios y te daras cuenta que hay muchos productos que estan mas caros en el sistema que en el papelito de la gondola.
</li>
</ol>
<p>A eso le llaman que no han actualizado los precios. Es bien sospechoso y conveniente para ellos que esto ocurra con gran frecuencia y las desactualizaciones esten a su favor&#8230; y para mas remate en los pasillos donde hay promociones.</p>
<p>Por eso si andas con tiempo y hay un verificador cerca revisa el precio en ambos lados y cuando tengas una diferencia lleva el producto memorizando el precio mas barato. Luego en la caja armas la <a href="http://etimologias.dechile.net/?huifas">casa de huifas</a>.</p>
<p>Para mi suerte los duraznos costaban $680 segun la gondola y $738 segun la caja. Fueron a buscar varios tarros de otras marcas que supuestamente valian $680 para pasar la compra a la mala (como tendran de descuadrado el sistema de inventarios!!) pero en todos salia un precio diferente. Finalmente pasaron mis duraznos de $680 por unos de $628 =)</p>
<div id="attachment_190" class="wp-caption aligncenter" style="width: 130px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/estafa-unimarc.jpg" rel="lightbox[184]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/estafa-unimarc-120x300.jpg" alt="Boleta Estafa Unimarc" title="Boleta Estafa Unimarc" width="120" height="300" class="size-medium wp-image-190" /></a><p class="wp-caption-text">Boleta Estafa Unimarc</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/venciendo-al-sistema-unimarc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Pizzeria Los Insaciables</title>
		<link>http://blog.felipebarriga.cl/personal/pizzeria-los-insaciables/</link>
		<comments>http://blog.felipebarriga.cl/personal/pizzeria-los-insaciables/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 03:01:25 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[estafa]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=176</guid>
		<description><![CDATA[Este mini-post no tecnico es para advertirles sobre la pizzeria Los Insaciables famosa por ofrecer tenedor libre o festin a la romana&#8230; El 22 de diciembre fui con mi polola y un amigo de ella a comer a Los Insaciables hasta reventar (obvio&#8230;). Como todo tenedor libre de pizza uno supone que el sistema es [...]]]></description>
			<content:encoded><![CDATA[<p>Este mini-post no tecnico es para advertirles sobre la pizzeria <a href="http://www.losinsaciables.cl/">Los Insaciables</a> famosa por ofrecer tenedor libre o festin a la romana&#8230;<br />
<span id="more-176"></span><br />
El 22 de diciembre fui con mi polola y un amigo de ella a comer a <em>Los Insaciables</em> hasta reventar (obvio&#8230;).</p>
<p>Como todo tenedor libre de pizza uno supone que el sistema es el siguiente: Uno se sienta en la mesa y va sacando trozos de pizza que te van ofreciendo. Hasta aqui todo bien.</p>
<p>Una de las supuestas gracias de <em>Los Insaciables</em> y del <a href="http://www.puragula.cl/">Pura Gula</a> es que despues uno pide pasar a la seccion de pizzas dulces que basicamente son el postre. Aqui es donde comienza el problema. </p>
<p>Inicialmente nos trajeron 3 trozos dulces para cada uno. Al pedir una nueva ronda nos dijo el mozo de que las pizzas dulces consisten unicamente en tres trozos por persona. Luego de reclamar nos trajeron otra ronda (creo que fue mas variada).</p>
<p>Resumiendo, si van a <em>Los Insaciables</em> con la meta de quedar <strong>varados</strong> recuerden de que las pizzas dulces son solo tres trozos y nadie les avisara (osea, estafa!).</p>
<p>Como <em>evidencia</em> aqui va la foto promocional:<br />
<div id="attachment_177" class="wp-caption aligncenter" style="width: 235px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/los-insaciables.jpg" rel="lightbox[176]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2010/01/los-insaciables-225x300.jpg" alt="Los Insaciables" title="Los Insaciables" width="225" height="300" class="size-medium wp-image-177" /></a><p class="wp-caption-text">Los Insaciables</p></div></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/pizzeria-los-insaciables/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servel: Una caja de pandora</title>
		<link>http://blog.felipebarriga.cl/seguridad/servel-una-caja-de-pandora/</link>
		<comments>http://blog.felipebarriga.cl/seguridad/servel-una-caja-de-pandora/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 01:58:04 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Servel]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=167</guid>
		<description><![CDATA[Cada vez que ingreso a www.servel.cl aparece algo nuevo. Servel es realmente una caja de pandora, nunca sabes con que idiotez te vas a encontrar&#8230; Hoy retiraron el captcha que habian puesto (mientras redactaba este post colocaron nuevamente el captcha, a las 22:35) luego de la pequeña filtracion de informacion que tuvieron hace un tiempo&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Cada vez que ingreso a <a href="http://www.servel.cl">www.servel.cl</a> aparece algo nuevo. <a href="http://blog.felipebarriga.cl/?tag=servel">Servel</a> es realmente una caja de pandora, nunca sabes con que idiotez te vas a encontrar&#8230;<br />
<span id="more-167"></span><br />
<del datetime="2010-01-18T01:20:13+00:00">Hoy retiraron el <a href="http://blog.felipebarriga.cl/?tag=captcha">captcha</a> que habian puesto </del> (mientras redactaba este post colocaron nuevamente el captcha, a las 22:35) luego de la <a href="http://www.terra.cl/actualidad/index.cfm?id_reg=968069&#038;id_cat=302">pequeña filtracion de informacion</a> que tuvieron hace un tiempo&#8230;</p>
<p>Aparte de ese detalle me habia dado cuenta antes de que sacaran el captcha que este podia ser facilmente vulnerado.</p>
<p>Pasos para evitar el captcha:</p>
<ol>
<li>Ingresar tu RUT en <a href="http://www.servel.cl/consulta/resultado.aspx">http://www.servel.cl/consulta/resultado.aspx</a></li>
<li>En la pagina con tus datos hacer click en <strong>&#8220;Imprimir Comprobante Electoral&#8221;</strong></li>
<li>Eso te redireccionara a una nueva pagina, en mi caso <a href="http://www.servel.cl/consulta/tarjeta.aspx?fl=1,442,151,3">http://www.servel.cl/consulta/tarjeta.aspx?fl=1,442,151,3</a></li>
</ol>
<p>Ahora pueden intentar meterse directamente al ultimo link que contiene el &#8220;Comprobante Electoral&#8221; el cual puede ser accedido sin necesidad de resolver ningun captcha. </p>
<p>Si analizamos el link podemos ver lo siguiente: <strong>fl=1,442,151,3</strong>. Cada numero representa lo siguiente:</p>
<ul>
<li>1: Ni idea</li>
<li>442: Circunscripcion Electoral o Comuna (442 = Osorno)</li>
<li>151: Registro o Mesa</li>
<li>3: Inscripcion</li>
</ul>
<p>Para ver el listado completo de circunscripciones pueden acceder a los siguientes links:</p>
<ul>
<li>Decima Region: <a href="http://www.servel.cl/servel/Controls/Neochannels/Neo_CH387/Deploy/REG10.txt">http://www.servel.cl/servel/Controls/Neochannels/Neo_CH387/Deploy/REG10.txt</a></li>
<li>Region Metropolitana: <a href="http://www.servel.cl/servel/Controls/Neochannels/Neo_CH387/Deploy/REG13.txt">http://www.servel.cl/servel/Controls/Neochannels/Neo_CH387/Deploy/REG13.txt</a></li>
</ul>
<p>Esperemos de que algun dia tengamos una ley de privacidad que exija ciertas medidas minimas de seguridad con multas que se apliquen a los organismos responsables y no a los desarrolladores o quienes publiquen las fallas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/seguridad/servel-una-caja-de-pandora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Torniquetes Preferenciales del Metro de Santiago</title>
		<link>http://blog.felipebarriga.cl/personal/torniquetes-preferenciales-del-metro-de-santiago/</link>
		<comments>http://blog.felipebarriga.cl/personal/torniquetes-preferenciales-del-metro-de-santiago/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 01:18:44 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Metro de Santiago]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=163</guid>
		<description><![CDATA[Si has ocupado el Metro de Santiago te habras dado cuenta que en todas las estaciones existe un torniquete preferencial que puede ser utilizado por estudiantes y personas de la tercera edad. Como es de costumbre, uno siempre tiene la duda de que pasaria si&#8230; ponemos una tarjeta preferencial en un torniquete normal. Hice la [...]]]></description>
			<content:encoded><![CDATA[<p>Si has ocupado el <a href="http://www.metro.cl/">Metro de Santiago</a> te habras dado cuenta que en todas las estaciones existe un torniquete preferencial que puede ser utilizado por estudiantes y personas de la tercera edad.<br />
Como es de costumbre, uno siempre tiene la duda de <em><strong>que pasaria si&#8230;</strong></em> ponemos una tarjeta preferencial en un torniquete normal. Hice la prueba y me di cuenta de que en muchas de las estaciones los torniquetes son iguales, independiente del color que tengan.</p>
<p>Aqui hay una lista con las estaciones en las cuales no hay diferencia entre ambos torniquetes:<br />
<span id="more-163"></span></p>
<ul>
<li>Tobalaba</li>
<li>Camino Agricola</li>
<li>Escuela Militar</li>
<li>Parque O&#8217;Higgins</li>
<li>Universidad de Santiago (USACH)</li>
<li>Salvador</li>
</ul>
<p>Estas otras fueron las estaciones en las cuales me quedaron mirando raro al tratar de ocupar un torniquete normal puesto a que no funciona con un pase de estudiante. Osea aqui funciona lo del torniquete preferencial y solo puede ser utilizado por gente especial <img src='http://blog.felipebarriga.cl/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<ul>
<li>El Golf</li>
<li>Cristobal Colon</li>
<li>Simon Bolivar</li>
<li>Los Leones</li>
</ul>
<p>Si prueban en otras estaciones manden un feedback en forma de comentario para ahorrarse las colas que se forman.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/torniquetes-preferenciales-del-metro-de-santiago/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speedup FreeNET Startup (entropy)</title>
		<link>http://blog.felipebarriga.cl/privacidad/speedup-freenet-startup-entropy/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/speedup-freenet-startup-entropy/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 17:08:04 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[FreeNET]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=155</guid>
		<description><![CDATA[FreeNET needs some good random data to startup. When the node start it can take some time getting this data and this message is going to appear: Freenet is starting up Not enough entropy is available! There isn&#8217;t enough entropy available on your system&#8230; Freenet won&#8217;t start until it can gather enough. To avoid this [...]]]></description>
			<content:encoded><![CDATA[<p>FreeNET needs some good random data to startup.<br />
When the node start it can take some time getting this data and this message is going to appear:<br />
<center><br />
<strong><br />
Freenet is starting up<br />
Not enough entropy is available!<br />
There isn&#8217;t enough entropy available on your system&#8230; Freenet won&#8217;t start until it can gather enough.<br />
</strong><br />
</center><br />
<span id="more-155"></span><br />
To avoid this or speedup the process you can generate some <a href="http://en.wikipedia.org/wiki/Entropy_%28computing%29">entropy</a> doing some random hard disk drive seeks. You can use <a href="http://www.linuxinsight.com/files/seeker.c">this little program</a> to do that (and also <a href="http://www.linuxinsight.com/how_fast_is_your_disk.html">know the average random seek of your hard disk drive</a>):</p>

<div class="wp-terminal">user@computer:$ wget http://www.linuxinsight.com/files/seeker.c<br/></div>


<div class="wp-terminal">user@computer:$ gcc -O3 seeker.c -o seeker<br/></div>


<div class="wp-terminal">user@computer:$ sudo ./seeker /dev/sda<br/>Benchmarking /dev/sda [238475MB], wait 30 seconds.............................<br/>Results: 54 seeks/second, 18.46 ms random access time<br/></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/speedup-freenet-startup-entropy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speedup FreeNET on SunOS/Solaris/BSD/Linux</title>
		<link>http://blog.felipebarriga.cl/privacidad/speedup-freenet-on-sunossolarisbsdlinux/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/speedup-freenet-on-sunossolarisbsdlinux/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 16:40:53 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[FreeNET]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=143</guid>
		<description><![CDATA[If you have used FreeNET you can notice that if you have to many persistent downloads (~ more than 500) your CPU is going to get very busy. That happens because node.db4o (the file where persistent downloads queue are stored) is updated extremely frequently. On every update the cache of this file is flushed to [...]]]></description>
			<content:encoded><![CDATA[<p>If you have used <a href="http://freenetproject.org/">FreeNET</a> you can notice that if you have to many persistent downloads (~ more than 500) your CPU is going to get very busy. That happens because <strong>node.db4o</strong> (the file where persistent downloads queue are stored) is updated extremely frequently. On every update the cache of this file is flushed to filesystem making a process delay (waiting I/O).<br />
A little trick to avoid this is to install <a href="http://freenetproject.org/">FreeNET</a> then move it to a RAM memory Filesystem (<a href="http://en.wikipedia.org/wiki/Tmpfs">tmpfs</a>) so the file updates are not going to slow down the process (wait I/O caused by random writes).</p>
<p>To create the RAM filesystem you need to execute:<br />
<span id="more-143"></span></p>

<div class="wp-terminal">user@computer:$ sudo mkdir /tmpfs<br/></div>


<div class="wp-terminal">user@computer:$ sudo mount tmpfs -o size=2g,uid=user,gid=user_group,mode=755 -t tmpfs /tmpfs<br/></div>

<p>Then you can check if all is ok:</p>

<div class="wp-terminal">user@computer:$ df -h | grep \/tmpfs<br/>tmpfs                 2.0G  344M  1.7G  17% /tmpfs<br/></div>

<p>Now copy the FreeNET files to this filesystem:</p>

<div class="wp-terminal">user@computer:$ mkdir /tmpfs/FreeNET<br/></div>


<div class="wp-terminal">user@computer:$ cp -Rf ~/freenet_installation/* /tmpfs/FreeNET<br/></div>

<p>The <strong>datastore</strong> and <strong>persistent-temp-XXXX</strong> (replace XXXXX with the corresponding number) directories usually grows a lot so you need to put somewhere else and make the symbolic links:</p>

<div class="wp-terminal">user@computer:$ cd /tmpfs/FreeNET<br/></div>


<div class="wp-terminal">user@computer:$ ln -s ~/freenet_data/datastore .<br/></div>


<div class="wp-terminal">user@computer:$ ln -s ~/freenet_data/persistent-temp-XXXX .<br/></div>

<p><em>Note: Is a good idea to put that directories in a <a href="http://en.wikipedia.org/wiki/RAID_0#RAID_0">RAID-0</a> block device.<br />
</em></p>
<p>Now you are ready to take advantages of using tmpfs.<br />
To avoid some steps you can write an small script and/or put the creation of <strong>/tmpfs</strong> on <strong>/etc/fstab</strong>:</p>

<div class="wp-terminal">user@computer:$ echo "tmpfs /tmpfs  tmpfs size=2g,uid=user,gid=user_group,mode=755  0  0" >> /etc/fstab<br/></div>

<p>Also you may want to disable logger because it generate some I/O. Edit <strong>freenet.ini</strong>:</p>

<div class="wp-terminal">user@computer:$ echo "logger.enabled=false" >> freenet.ini<br/></div>

<p><strong>Remember to backup and then restore /tmpfs/FreeNET on every shutdown/boot !</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/speedup-freenet-on-sunossolarisbsdlinux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Problemas Conceptuales de Captcha</title>
		<link>http://blog.felipebarriga.cl/seguridad/problemas-conceptuales-de-captcha/</link>
		<comments>http://blog.felipebarriga.cl/seguridad/problemas-conceptuales-de-captcha/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:53:17 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Captcha]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=133</guid>
		<description><![CDATA[Habia visto captchas debiles, pero este ya supera los limites. El sitio http://www2.udec.cl/psu2008/ pide un captcha para pedir los resultados de la PSU del 2008. Si bien es un noble gesto el hacer eso (evitar robos masivos), al revisar el codigo de la pagina se puede ver que los numeros de la imagen aparecen ahi [...]]]></description>
			<content:encoded><![CDATA[<p><a href="../?tag=captcha">Habia visto captchas</a> debiles, pero este ya supera los limites.</p>
<p>El sitio <a href="http://www2.udec.cl/psu2008/">http://www2.udec.cl/psu2008/</a> pide un captcha para pedir los resultados de la PSU del 2008. Si bien es un noble gesto el hacer eso (evitar robos masivos), al revisar el codigo de la pagina se puede ver que los <strong>numeros de la imagen aparecen ahi en texto plano</strong>.</p>
<p><span id="more-133"></span></p>
<table width="100%">
<tr>
<td><div id="attachment_134" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pagina_captcha.jpg" rel="lightbox[133]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pagina_captcha-150x150.jpg" alt="Sitio Web" title="Captcha UDEC" width="150" height="150" class="size-thumbnail wp-image-134" /></a><p class="wp-caption-text">Sitio Web</p></div></td>
<td><div id="attachment_135" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pagina_sourcecode.jpg" rel="lightbox[133]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pagina_sourcecode-150x150.jpg" alt="Source Code" title="Source Code" width="150" height="150" class="size-thumbnail wp-image-135" /></a><p class="wp-caption-text">Source Code</p></div></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/seguridad/problemas-conceptuales-de-captcha/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estereogramas</title>
		<link>http://blog.felipebarriga.cl/personal/estereogramas/</link>
		<comments>http://blog.felipebarriga.cl/personal/estereogramas/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:44:06 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Estereograma]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=126</guid>
		<description><![CDATA[En uno de esos momentos de ocio en el lab, decidi buscar estereogramas. Despues de ver que hay software para generarlos, empece a pensar si es posible hacer una animacion con estos. Empece mi ardua tarea de hacer muchas imagenes con cambios sutiles y convertirlas una por una utilizando Bigle3D. Despues de ver los resultados [...]]]></description>
			<content:encoded><![CDATA[<p>En uno de esos momentos de ocio en el lab, decidi buscar <a href="http://es.wikipedia.org/wiki/Estereograma">estereogramas</a>.<br />
Despues de ver que hay software para generarlos, empece a pensar si es posible hacer una animacion con estos.<br />
<span id="more-126"></span><br />
Empece mi ardua tarea de hacer muchas imagenes con cambios sutiles y convertirlas una por una utilizando <a href="http://www.beroux.com/english/softwares/bigle3d/">Bigle3D</a>. Despues de <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/animacion.gif" rel="lightbox[126]">ver los resultados (positivos)</a> (8MB) se me ocurrio que podrian hacerse animaciones. Lamentablemente hasta ahi no mas llego mi entusiasmo hasta hoy que decidi seguir investigando acerca del tema.<br />
Encontre <a href="http://flash-gear.com/stereo/">esta</a> pagina que permite crear estereogramas online, pero no me servia para hacer animaciones.<br />
Despues de mucho ciber-vagar encontre <a href="http://www.aolej.com/stereo/">Stereogram Explorer</a>, que permite tanto hacer imagenes estaticas basadas en mapas de profundidad (en escala de grises) como cargar modelos <a href="http://www.the-labs.com/Blender/3DS-details.html">3ds</a> y rotarlos y generar videos. Lamentablemente el programa siempre se queda pegado al guardar el video, que igual se puede ver.<br />
Mientras mayor sea la resolucion, mas facil es ver las animaciones. Lamentablemente por el peso que tienen todavia no me digo a subir una.</p>
<p>Algun dia cuando este muy ocioso probare <a href="http://stereograph.sourceforge.net/index.html">esta version</a> opensource para generar estereogramas y ver si hago alguna especie de wrapper ocupando OpenGL.</p>
<p>Por mientras les dejo una imagen creada con Bigle3D y Stereogram Explorer:</p>
<p><center><br />
<div id="attachment_127" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/dinosaurio.jpg" rel="lightbox[126]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/dinosaurio-300x225.jpg" alt="Dinosaurio Original" title="Dinosaurio Original" width="300" height="225" class="size-medium wp-image-127" /></a><p class="wp-caption-text">Dinosaurio Original</p></div><br />
</center></p>
<table width="100%">
<tr>
<td align="center"><div id="attachment_128" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/dinosaurio-bigle3d.png" rel="lightbox[126]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/dinosaurio-bigle3d-150x150.png" alt="Dinosaurio Bigle3D" title="Dinosaurio Bigle3D" width="150" height="150" class="size-thumbnail wp-image-128" /></a><p class="wp-caption-text">Dinosaurio Bigle3D</p></div></td>
<td align="center"><div id="attachment_129" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/dinosaurio-stereogram-explorer.png" rel="lightbox[126]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/dinosaurio-stereogram-explorer-150x150.png" alt="Dinosaurio Stereogram Explorer" title="Dinosaurio Stereogram Explorer" width="150" height="150" class="size-thumbnail wp-image-129" /></a><p class="wp-caption-text">Dinosaurio Stereogram Explorer</p></div></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/estereogramas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bypass a Captcha de Servel.cl</title>
		<link>http://blog.felipebarriga.cl/seguridad/bypass-a-captcha-de-servel-cl/</link>
		<comments>http://blog.felipebarriga.cl/seguridad/bypass-a-captcha-de-servel-cl/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:20:27 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[OCR]]></category>
		<category><![CDATA[Servel]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=114</guid>
		<description><![CDATA[Como lo habia prometido en el post anterior, he decidido compartir con ustedes mi pequeña investigacion de como vulnerar/romper/saltarse el Captcha que tiene el Servicio Electoral en su sitio web. UPDATE: Ahora el captcha consiste en solo 3 numeros&#8230; Shame on Them ! Primero que nada, tenemos que obtener la imagen del captcha. Luego la [...]]]></description>
			<content:encoded><![CDATA[<p>Como lo habia prometido en el <a href="../?p=107">post anterior</a>, he decidido compartir con ustedes mi pequeña investigacion de como vulnerar/romper/saltarse el <a href="http://es.wikipedia.org/wiki/CAPTCHA">Captcha</a> que tiene el <a href="http://www.servel.cl">Servicio Electoral</a> en su sitio web.</p>
<p><strong>UPDATE: Ahora el captcha consiste en solo 3 numeros&#8230; Shame on Them !<br />
</strong><br />
<span id="more-114"></span><br />
Primero que nada, tenemos que obtener la imagen del captcha. Luego la ‘limpiaremos’ con el <a href="http://www.imagemagick.org/">ImageMagick</a> con el siguiente comando:</p>

<div class="wp-terminal">user@computer:$ convert test1.jpeg -resize 600×280 -crop 450×120+90+75 -despeckle -despeckle -despeckle -despeckle -despeckle -edge 30 test1.jpg<br/></div>

<p>Con lo que obtenemos la siguiente conversion:</p>
<table width="100%">
<tr>
<td>
<div id="attachment_115" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/2.jpeg" rel="lightbox[114]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/2.jpeg" alt="Captcha Original" title="Captcha Original" width="150" height="70" class="size-full wp-image-115" /></a><p class="wp-caption-text">Captcha Original</p></div>
</td>
<td>
<div id="attachment_116" class="wp-caption aligncenter" style="width: 160px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/2.jpg" rel="lightbox[114]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/2-150x120.jpg" alt="Captcha Nuevo" title="Captcha Nuevo" width="150" height="120" class="size-thumbnail wp-image-116" /></a><p class="wp-caption-text">Captcha Nuevo</p></div>
</td>
</tr>
</table>
<p>Luego crearemos el directorio ‘db’ en donde estamos trabajando y entrenaremos a <a href="http://www-e.uni-magdeburg.de/jschulen/ocr/">GOCR</a> para que aprenda a reconocer las imagenes que le iremos dando con la siguiente linea:</p>

<div class="wp-terminal">user@computer:$ gocr -d 800 -C 0123456789 -m 256 -m 130 test1.jpg<br/></div>

<div id="attachment_117" class="wp-caption aligncenter" style="width: 279px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/trainning_gocr.jpg" rel="lightbox[114]"><img class="size-medium wp-image-117" title="Entrenando a GOCR" src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/trainning_gocr-269x300.jpg" alt="Entrenando a GOCR" width="269" height="300" /></a><p class="wp-caption-text">Entrenando a GOCR</p></div>
<p>[ el '#' es el caracter actual a escribir, el '0' son otros caracteres reconocidos, ',' son otras partes de la imagen que no tienen mayor importancia ]</p>
<p>La idea es repetir este proceso un buen numero de veces (10 o 20), y luego podemos probarlo con una nueva imagen:</p>

<div class="wp-terminal">user@computer:$ gocr -a 30 -d 800 -C 0123456789 -m 256 -m 2 test666.jpg<br/></div>

<p>Mas detalles pueden conseguirlo en ‘man gocr’, pero para los flojos les dejo los parametros utilizados:</p>
<ul>
<li>-a 30 &lt;= Porcentaje de incertidumbre para aceptar un caracter</li>
<li>-d 800 &lt;= Tamaño minimo de un caracter, para eliminar el ruido</li>
<li>-C 0123456789 &lt;= Caracteres a reconocer</li>
<li>-m 256 &lt;= Modo de aprendizaje</li>
<li>-m 130 &lt;= Aprender</li>
<li>-m 2 &lt;= Reconocer</li>
</ul>
<p>Obviamente todo esto no tendria sentido sin hacer un pequeño script en perl/python/php (todos empiezan con P!) para iniciar sesion, recuperar el captcha, leerlo, postearlo y obtener los datos uno a uno desde el servidor. Obviamente como a nadie le interesa que el admin del servidor sepa quienes somos, nos conectamos utilizando <a href="http://www.torproject.org/index.html.es">Tor</a>.</p>
<p><strong>Sitios de Interes:</strong></p>
<ul>
<li><a href="http://airdump.net/breaking-captcha/">http://airdump.net/breaking-captcha/</a></li>
<li><a href="http://www.sinfocol.org/2008/08/de-captchas-y-otros-demonios/">http://www.sinfocol.org/2008/08/de-captchas-y-otros-demonios/</a></li>
<li><a href="http://www.imagemagick.org/script/command-line-processing.php">http://www.imagemagick.org/script/command-line-processing.php</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/seguridad/bypass-a-captcha-de-servel-cl/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Servicio Electoral no aprende…</title>
		<link>http://blog.felipebarriga.cl/seguridad/servicio-electoral-no-aprende%e2%80%a6/</link>
		<comments>http://blog.felipebarriga.cl/seguridad/servicio-electoral-no-aprende%e2%80%a6/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 21:00:38 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[Captcha]]></category>
		<category><![CDATA[Servel]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=107</guid>
		<description><![CDATA[El Servicio Electoral ha puesto en su sitio web (http://www.servel.cl) un formulario que nos permite saber si fuimos designados como vocales de mesa con solo introducir el Rut. A modo de ‘proteger’ la informacion, han decidido utilizar un Captcha el cual se ve bastante debil. UPDATE: Ahora el captcha consiste en solo 3 numeros&#8230; Shame [...]]]></description>
			<content:encoded><![CDATA[<p>El Servicio Electoral ha puesto en su sitio web (<a href="http://www.servel.cl/">http://www.servel.cl</a>) un formulario que nos permite saber si fuimos designados como vocales de mesa con solo introducir el Rut.<br />
A modo de ‘proteger’ la informacion, han decidido utilizar un <a href="http://es.wikipedia.org/wiki/CAPTCHA">Captcha</a> el cual se ve bastante debil.</p>
<p><strong>UPDATE: Ahora el captcha consiste en solo 3 numeros&#8230; Shame on Them !<br />
</strong></p>
<p><span id="more-107"></span><br />
Luego de probar en el sitio <a href="http://www.captchakiller.com/">Captcha Killer</a> descubri que este puede reconocer sin problemas el texto que aparece en el capcha. Es mas ellos disponen de una API que permite automatizar el proceso de enviarles las imagenes y recibir la cadena de texto presente en esta.</p>
<div id="attachment_109" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/captcha_killer.jpg" rel="lightbox[107]"><img class="size-medium wp-image-109" title="Captcha Killer" src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/captcha_killer-300x270.jpg" alt="Captcha Killer" width="300" height="270" /></a><p class="wp-caption-text">Captcha Killer</p></div>
<p>El problema de esta solucion es que no arregla el problema de raiz, ya que todavia se puede automatizar el proceso sin mayores problemas. Por el contrario, ahora es mas dificultoso para usuarios con problemas visuales ya que no ofrecen la tipica opcion de escuchar el texto por si uno tiene problemas visuales y no logra decifrar el texto.</p>
<p>Asi como antes, todavia se pueden observar los siguientes datos asociados al rut:</p>
<ul>
<li>Nombre</li>
<li>Sexo</li>
<li>Registro</li>
<li>Inscripcion</li>
<li>Circunscripcion</li>
<li>Comuna</li>
<li>Region</li>
</ul>
<p>Como yo no queria depender de un sitio web externo para decifrar el Captcha, decidi investigar como poder hacer todo el proceso en mi computador, lo cual publicare<a href="http://blog.felipebarriga.cl/?p=114"> en otro post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/seguridad/servicio-electoral-no-aprende%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Commander Keen</title>
		<link>http://blog.felipebarriga.cl/personal/commander-keen/</link>
		<comments>http://blog.felipebarriga.cl/personal/commander-keen/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 20:51:44 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[Juegos]]></category>
		<category><![CDATA[Recuerdos]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=101</guid>
		<description><![CDATA[En mis ratos de desvelo, que ultimamente no son muchos, me dedico a navegar sin rumbo. De repente llegue a un articulo en la wikipedia sobre Carmack y ahi aparecio el recuerdo del juego Commander Keen. Altiro me puse a buscarlo, lo encontre y a jugar! Por lo menos todavia me queda memoria porque es [...]]]></description>
			<content:encoded><![CDATA[<p>En mis ratos de desvelo, que ultimamente no son muchos, me dedico a navegar sin rumbo. De repente llegue a un articulo en la wikipedia sobre <a href="http://en.wikipedia.org/wiki/John_D._Carmack">Carmack</a> y ahi aparecio el recuerdo del juego Commander Keen.<br />
Altiro me puse a buscarlo, lo encontre y a jugar! Por lo menos todavia me queda memoria porque es igual como lo recuerdo.<br />
Aqui les dejo unos screenshots para la nostalgia de quienes alguna vez lo jugaron.<br />
<span id="more-101"></span><br />
<div id="attachment_102" class="wp-caption aligncenter" style="width: 330px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/1.gif" rel="lightbox[101]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/1.gif" alt="Commander Keen - Goodbye Galaxy!" title="Commander Keen - Goodbye Galaxy!" width="320" height="200" class="size-full wp-image-102" /></a><p class="wp-caption-text">Commander Keen - Goodbye Galaxy!</p></div></p>
<div id="attachment_103" class="wp-caption aligncenter" style="width: 330px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/3.gif" rel="lightbox[101]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/3.gif" alt="Commander Keen" title="Commander Keen" width="320" height="200" class="size-full wp-image-103" /></a><p class="wp-caption-text">Commander Keen</p></div>
<div id="attachment_104" class="wp-caption aligncenter" style="width: 330px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/4.gif" rel="lightbox[101]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/4.gif" alt="Commander Keen" title="Commander Keen" width="320" height="200" class="size-full wp-image-104" /></a><p class="wp-caption-text">Commander Keen</p></div>
<p>Aqui esta el link correspondiente para que lo bajen: <a href="http://www.commander-keen.com/secret-of-the-oracle.php">Commander Keen Fan Site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/commander-keen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyVideoConvert</title>
		<link>http://blog.felipebarriga.cl/programacion/pyvideoconvert/</link>
		<comments>http://blog.felipebarriga.cl/programacion/pyvideoconvert/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 20:43:19 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=94</guid>
		<description><![CDATA[PyVideoConvert es un programa hecho en python que estoy [Estuve!] haciendo para convertir videos para verlos en my iPod. Basicamente es un frontend para ffmpeg hecho en python y wxWidgets. Como la mayoria de mis programas (y muchos por ahi), dudo que avance y alguien mas lo ocupe, pero igual lo publicare ya que es [...]]]></description>
			<content:encoded><![CDATA[<p>PyVideoConvert es un programa hecho en <a href="http://www.python.org/">python</a> que estoy [<strong>Estuve!</strong>] haciendo para convertir videos para verlos en my iPod. Basicamente es un frontend para <a href="http://ffmpeg.mplayerhq.hu/">ffmpeg</a> hecho en <a href="http://www.python.org/">python</a> y <a href="http://www.wxpython.org/">wxWidgets</a>.</p>
<p>Como la mayoria de mis programas (y muchos por ahi), dudo que avance y alguien mas lo ocupe, pero igual lo publicare ya que es usable.</p>
<p><div id="attachment_97" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pyvideoconvert.jpg" rel="lightbox[94]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pyvideoconvert-300x130.jpg" alt="PyVideoConvert Screenshot" title="PyVideoConvert Screenshot" width="300" height="130" class="size-medium wp-image-97" /></a><p class="wp-caption-text">PyVideoConvert Screenshot</p></div><br />
<span id="more-94"></span><br />
Dentro de las cosas que tiene pendiente estan:</p>
<ul>
<li>Barra de Progreso</li>
<li>Detectar ffmpeg / mencoder</li>
<li>Soporte para mencoder</li>
<li>Filtro de archivos en el Open File dialog</li>
</ul>
<h1>Downloads:</h1>
<ul>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pyvideoconvert.tbz2">PyVideoConvert.tbz2</a></li>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/pyvideoconvert.tgz">PyVideoConvert.tgz</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/programacion/pyvideoconvert/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GPL Lively Client Project (OLD POST)</title>
		<link>http://blog.felipebarriga.cl/otros/gpl-lively-client-project-old-post/</link>
		<comments>http://blog.felipebarriga.cl/otros/gpl-lively-client-project-old-post/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 22:20:10 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[Lively]]></category>
		<category><![CDATA[reverse engineering]]></category>
		<category><![CDATA[secur32.dll]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=78</guid>
		<description><![CDATA[Introduction The objective of this project is to create an GPL client to Lively.com (Dead project) As the protocol is not available, the work is based on different techniques like reverse engineering, sniffers and common sense. Protocol After running a protocol analyzer (wireshark), I found that the Lively client uses XMPP (Jabber) protocol for authentication [...]]]></description>
			<content:encoded><![CDATA[<h1>Introduction</h1>
<p>The objective of this project is to create an GPL client to Lively.com (<strong>Dead project</strong>)<br />
<span id="more-78"></span><br />
As the protocol is not available, the work is based on different techniques like reverse engineering, sniffers and common sense.</p>
<h1>Protocol</h1>
<p>After running a protocol analyzer (wireshark), I found that the Lively client uses XMPP (Jabber) protocol for authentication and messaging.</p>
<p>After checking the files on Google/Lively/Flex is obviuos that some of the code was made using Adobe Flex technology. The good new is that Sothink SWF Decompiler is able to dissamble the SWF file like Login.swf, so I expect to be able to analyze how to login to the server.</p>
<p>Using API Monitor I was able to determine that the library used to encrypt the XMPP messages is secur32.dll, so I’ve made a dll proxy to be able to read the data before to get encrypted and when it comes back, after been decrypted.</p>
<p>Also using HxD I was able to read the memory of the application that seems to be made with Visual C++ for 3D (DirectX) and Adobe Flash for windows and forms, I could check the strings before be encrypted and send to the server. The messages are in some kind of XML encrypted inside a XMPP message.</p>
<h1>Login.SWF Decompiled</h1>
<p>After decompiling and analyzing the code of <strong>\Google\Lively\flex\Login.SWF</strong> I’ve found:<br />
file: <strong>\LoginController.as</strong>:</p>
<pre>public function doLogin() : void
{
	username = login.username.text;
	if (useStoredPassword)
	{
	}// end if
	Antenna.instance.sendCommand("_l", login.remember.selected,
		!passwordChanged, login.username.text, login.password.text);
	return;
}// end function</pre>
<p>file: <strong>\Action\com\google\g3dweb\common\Antenna.as</strong>:</p>
<pre>public function sendCommand(... args) : Object
{
	if (!debugMode)
	{
		return ExternalInterface.call.apply(null, args);
	}// end if
	log("ANTENNA: sendCommand(" + args.join(", ") + ")");
	return {};
}// end function</pre>
<p>So in this way the Visual C++ client interact with the SWF files.</p>
<h1>Secur32.dll Proxy</h1>
<p>To been able to read the data that is send and received, I’ve done a dll proxy. More information about how to do it, can be found here:<br />
<a href="http://www.codeproject.com/KB/DLL/CreateYourProxyDLLs.aspx">http://www.codeproject.com/KB/DLL/CreateYourProxyDLLs.aspx</a></p>
<p>The source code of the dll proxy is here: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/secur32.zip">secur32.zip</a> and the compiled library is here: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/secur32.dll">secur32.dll</a></p>
<p>To use it, you need to create a directory in c:\logs and copy the proxy secur32.dll to the Lively directory.<br />
After doing that, rename it to secur31.dll and copy the original secur32.dll (system32) to the Lively directory.<br />
Rename the original secur32.dll in the Lively directory to secur32_.dll<br />
After that, you need to edit the client.exe and replace the string: “secur32.dll” to “secur31.dll” (using an hex editor).<br />
Now you’re done. So execute the client.exe and watch the log files in c:\logs\</p>
<p>Here you can see an example of how looks the dump:</p>
<pre>= Init =
[EncryptMessage] 0 START
cBuffers: 4
[EncryptMessage] 0 buffer[1] size: 130
[EncryptMessage] 0 buffer[1] data:
&lt;stream:stream to="gmail.com" xml:lang="en" version="1.0"
xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"&gt;

[EncryptMessage] 0 END
[DecryptMessage] 0 START
cBuffers: 4
[DecryptMessage] 0 buffer[1] size: 176
[DecryptMessage] 0 buffer[1] data:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;&amp;lt
;stream:stream from="gmail.com" id="2352CC46DE11B711"
version="1.0"xmlns:stream="http://etherx.jabber.org/streams"
 xmlns="jabber:client"&gt;
[DecryptMessage] 0 END
[DecryptMessage] 0 START
cBuffers: 4
[DecryptMessage] 0 buffer[1] size: 166
[DecryptMessage] 0 buffer[1] data:
&lt;stream:features&gt;&lt;mechanisms
xmlns="urn:ietf:params:xml:ns:xmpp-sasl"&gt;&lt;mechanism&gt;PLAIN&lt;/mechanism&gt;
&lt;mechanism&gt;X-GOOGLE-TOKEN&lt;/mechanism&gt;&lt;/mechanisms&gt;
&lt;/stream:features&gt;
[DecryptMessage] 0 END
[EncryptMessage] 0 START
cBuffers: 4
[EncryptMessage] 0 buffer[1] size: 385
[EncryptMessage] 0 buffer[1] data:
&lt;auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl"
mechanism="X-GOOGLE-TOKEN"&gt;XXXXXXXXXXXXXXXXXXXXXXX&lt;/auth&gt;
[EncryptMessage] 0 END
[DecryptMessage] 0 START
cBuffers: 4
[DecryptMessage] 0 buffer[1] size: 51
[DecryptMessage] 0 buffer[1] data:
&lt;success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/&gt;
[DecryptMessage] 0 END
[EncryptMessage] 0 START
cBuffers: 4
[EncryptMessage] 0 buffer[1] size: 130
[EncryptMessage] 0 buffer[1] data:
&lt;stream:stream to="gmail.com" xml:lang="en" version="1.0" xmlns:stream="
http://etherx.jabber.org/streams" xmlns="jabber:client"&gt;

[EncryptMessage] 0 END
[DecryptMessage] 0 START
cBuffers: 4
[DecryptMessage] 0 buffer[1] size: 176
[DecryptMessage] 0 buffer[1] data:
&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;stream:stream
from="gmail.com" id="92A4B029617BC47C" version="
1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"&gt;
[DecryptMessage] 0 END
[DecryptMessage] 0 START
cBuffers: 4
[DecryptMessage] 0 buffer[1] size: 137
[DecryptMessage] 0 buffer[1] data:
&lt;stream:features&gt;&lt;bind xmlns="
urn:ietf:params:xml:ns:xmpp-bind"/&gt;&lt;session xmlns=quot
urn:ietf:params:xml:ns:xmpp-session"/&gt;&lt;/stream:features&gt;
[DecryptMessage] 0 END
[EncryptMessage] 0 START
cBuffers: 4
[EncryptMessage] 0 buffer[1] size: 115
[EncryptMessage] 0 buffer[1] data:
&lt;iq type="set" id="0"&gt;&lt;bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"&gt;&lt;resource&gt;
libjingleplus&lt;/resource&gt;&lt;/bind&gt;&lt;/iq&gt;
[EncryptMessage] 0 END
[DecryptMessage] 0 START
cBuffers: 4
[DecryptMessage] 0 buffer[1] size: 135
[DecryptMessage] 0 buffer[1] data:
&lt;iq id="0" type="result"&gt;&lt;bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"&gt;&lt;jid&gt;
spamfelipe2@gmail.com/libjinglep59B75216&lt;/jid&gt;&lt;/bind&gt;&lt;/iq&gt;
[DecryptMessage] 0 END</pre>
<p>* I’ve replaced my Google Token for security reason. The token is a base64 string that contains my email (username) and a big string (I think that is the token).</p>
<p>The full log dump can be found here: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/sniff_secur32_a12207.txt">sniff_secur32_A12207.txt</a></p>
<h1>HxD Dump of Lively Client</h1>
<p>The complete file is here: Lively Memory Dump. I don’t know if the strings are correct, maybe they can be a little corrupt.</p>
<p>I have indented the file so is easier to read it, an extract of the file look like this:<br />
Whose room is this?</p>
<pre>&lt;message to="spamfelipe2@gmail.com/libjinglep8F9CEED3"
 type="groupchat" id="73" from="lively 108@3dconf.google.com/-5578858927619228622_2541031"&gt;
	&lt;body&gt;Whose room is this?&lt;/body&gt;
&lt;/message&gt;

&lt;presence to="spamfelipe2@gmail.com/libjinglep568823DE"
id="369" from="lively-108@3dconf.google.com/2912906431397233772_24952671"&gt;
	&lt;show&gt;away&lt;/show&gt;
	&lt;status/&gt;
	&lt;priority&gt;0&lt;/priority&gt;
	&lt;x stamp="20080711T23:40:39" xmlns="jabber:x:delay"/&gt;
	&lt;nick:nick xmlns:nick="http://jabber.org/protocol/nick"&gt;
		lucas3088
	&lt;/nick:nick&gt;
	&lt;plugin xmlns="google:plugin"&gt;
		&lt;capability&gt;
			3dweb
		&lt;/capability&gt;
		&lt;data&gt;
			CxXj3mXEHWy7qEMlwmSCwgwtAZGsPTABSt0BCJelqfr54P+XBBolCMH+w9
WF09OpNBCVn8HzwfON8H8Yl6Wp+vng/5cEINC9k/jkEBonCIC8j6fDzLPXjwEQ
vZ/26/KaiZmgARiXpan6+eD/lwQg0L2T+OQQGioImv+w89Sd6
K/lARDb3fWBzJif2rcBGJelqfr54P+XBCDsiIib9Z6utigaKQitwOyX8r+5p+cBENn0p4
jNi4XxbhiXpan6+eD/lwQg7IiIm/WerrYoGioIy92Nyqf5hcXBARD/s++qqLbP2LsBGJel
qfr54P+XBCDsiIib9Z6utig=
		&lt;/data&gt;
	&lt;/plugin&gt;
	&lt;x xmlns="vcard-temp:x:update"&gt;
		&lt;photo/&gt;
	&lt;/x&gt;
	&lt;user:x xmlns:user="http://jabber.org/protocol/muc#user"&gt;
		&lt;user:item affiliation="none" role="participant"/&gt;
	&lt;/user:x&gt;
&lt;/presence&gt;

&lt;message type="groupchat" from="lively-108@3dconf.google.com/2912906431397233772_24952671"
 to="spamfelipe2@gmail.com/libjinglep568823DE"&gt;
	&lt;plugin xmlns="google:plugin"&gt;
		&lt;capability&gt;
			3dweb
		&lt;/capability&gt;
		&lt;data&gt;
			CAmLApAC7IiIm/WerrYomAIBjAI=
		&lt;/data&gt;
	&lt;/plugin&gt;
&lt;/message&gt;</pre>
<h1>File Format</h1>
<p>After comparing the data on the memory of Lively and the data retrieved using the dll proxy, they match. So the format is basically using XMPP protocol with some extension.</p>
<p>The binary data is send inside tags and following the XMPP standard, they are coded in Base64.</p>
<p>I think that the data containing the coordinates of the user is sended in a binary format, in the tag. As this method is not efficient, the big files are downloaded using an external url. The data is compressed with gzip and samples can be found in the Temporary Internet Files. Those files are compressed with gzip:</p>

<div class="wp-terminal">user@computer:$ file gp\[8\]<br/>gp[8]: gzip compressed data, max compression<br/></div>

<p>It also appear that some of the 3D files are in Gamebryo format:</p>

<div class="wp-terminal">user@computer:$ gzip -d &lt; gp\[8\]  &gt; gp_8.dump<br/>less gp_8.dump<br/></div>

<p>And the file contains this string: <strong>Gamebryo File Format, Version 20.2.0.8</strong></p>
<p>Others interesting strings:</p>
<pre>NIF Creation Information &gt;&gt; P:/Google/3DWeb/Project/Assets/01_normals_logan/Export/NIF
 &amp; Texture Sources/geo/01_normals_logan_export-07.09.27-v01.mb &gt;&gt;
Platform = Generic &gt;&gt; Gamebryo Version:2.2.2.0
Exporter Plugin Version:7.3
&gt;&gt; NiMultiShader Version:7.0
&gt;&gt; Maya Unlimited 7.0

eyebrows.NIF
eyebrows_NiMultiShader
headShape:1
skin.NIF
skin_NiMultiShader
eyer
eyerShape
right_eye.NIF
right_eye_NiMultiShader

NIF Creation Information &gt;&gt; P:/Google/3DWeb/Project/Assets/01_normals_logan/Export/NIF
&amp; Texture Sources/geo/01_normals_logan_export-07.10.17-v02.mb &gt;&gt;
 Platform = Generic &gt;&gt; Gamebryo Version:2.2.2.0
Exporter Plugin Version:7.3
&gt;&gt; NiMultiShader Version:7.0
&gt;&gt; Maya Unlimited 7.0</pre>
<p><a href="http://ns.adobe.com/xap/1.0/">http://ns.adobe.com/xap/1.0/</a></p>
<p>So to me this seems to be a container file, with a great mix of file formats. Here are two files if you want to look at: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/1.zip">1.zip</a> <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/11/2.zip">2.zip</a></p>
<p>I got the files from (as the windows cache says):</p>
<ul>
<li><a href="http://clients3.google.com/lively/s/gp?id=6330964325628602226&amp;obj_ed=0">http://clients3.google.com/lively/s/gp?id=6330964325628602226&amp;obj_ed=0</a></li>
<li><a href="http://clients3.google.com/lively/s/gp?id=7778763701070530893&amp;obj_ed=0">http://clients3.google.com/lively/s/gp?id=7778763701070530893&amp;obj_ed=0</a></li>
</ul>
<p>* You need to be logged in and send an special header with an AUTH cookie to be able to get the files</p>
<p>The problem is that Gamebryo doesn’t have a demonstration/trial kit and the format seems to be proprietary. There is a project to open Gamebryo files (NifTools) but it doesn’t work for me. Anyone want to decode it ?</p>
<h1>Useful Links</h1>
<ul>
<li><a href="http://www.mh-nexus.de/">HxD Hexeditor</a></li>
<li><a href="http://www.sothink.com/">Sothink SWF Decompiler</a></li>
<li><a href="http://www.wireshark.org/">Wireshark</a></li>
<li><a href="http://www.lively.com/">Lively Client</a></li>
<li><a href="http://www.apimonitor.com/">API Monitor</a></li>
<li><a href="http://www.xmpp.org/">XMPP Protocol</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/gpl-lively-client-project-old-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>hp iPAQ rx1950 spanish with WM6.1 (Windows Mobile 6.1)</title>
		<link>http://blog.felipebarriga.cl/otros/hp-ipaq-rx1950-spanish-with-wm6-1-windows-mobile-6-1/</link>
		<comments>http://blog.felipebarriga.cl/otros/hp-ipaq-rx1950-spanish-with-wm6-1-windows-mobile-6-1/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 02:01:36 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[rx1950]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=73</guid>
		<description><![CDATA[After getting a file to update the hp iPAQ rx1950 from WM5.0 (Windows Mobile 5.0) to WM6.1 I figure out that this update was only possible to be done in an english iPAQ. The file used to do the update is: Flasher_Hp_Ipaq_rx1950_ENG_WM6.1.rar (a russian hacked windows version translated to english). The file that you need [...]]]></description>
			<content:encoded><![CDATA[<p>After getting a file to update the <strong>hp iPAQ rx1950</strong> from <strong>WM5.0</strong> (Windows Mobile 5.0) to <strong>WM6.1</strong> I figure out that this update was only possible to be done in an english iPAQ.<br />
The file used to do the update is: <a href="http://forum.xda-developers.com/archive/index.php/t-510764.html">Flasher_Hp_Ipaq_rx1950_ENG_WM6.1.rar</a> (a russian hacked windows version translated to english).<br />
The file that you need to modify to allow you to update an spanish iPAQ with a ROM for another language is <strong>hpRUU.exe</strong>. You only need to do a little change using an HEX editor. In the following picture you can see the little change that make the difference:</p>
<div id="attachment_74" class="wp-caption aligncenter" style="width: 310px"><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/09/rx1950_wm6_little_change.png" rel="lightbox[73]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/09/rx1950_wm6_little_change-300x107.png" alt="Little Hack to update iPAQ" title="Little Hack to update iPAQ" width="300" height="107" class="size-medium wp-image-74" /></a><p class="wp-caption-text">Little Hack to update iPAQ</p></div>
<p>You can use any Hex Editor, my choice was KHexEdit. Also I do it from Linux but running a Virtual Machine (<a href="http://www.virtualbox.org/">VirtualBox</a>) with Windows XP.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/hp-ipaq-rx1950-spanish-with-wm6-1-windows-mobile-6-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NASA World Wind JAVA and Radeon</title>
		<link>http://blog.felipebarriga.cl/otros/nasa-world-wind-java-and-radeon/</link>
		<comments>http://blog.felipebarriga.cl/otros/nasa-world-wind-java-and-radeon/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 18:15:44 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Radeon]]></category>
		<category><![CDATA[World Wind]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=67</guid>
		<description><![CDATA[Para poder ejecutar el NASA World Wind version java (y sus demos) en Linux utilizando el driver open source para las tarjetas radeon necesitas configurar el DRI para que se muestren las texturas. Hardware Utilizado: Tarjeta: ATI Mobility Radeon X1400 Chipset: R500 Configuracion de xorg: (**) RADEON(0): Option "EnablePageFlip" "1" (**) RADEON(0): Option "ColorTiling" "1" [...]]]></description>
			<content:encoded><![CDATA[<p>Para poder ejecutar el <a href="http://worldwind.arc.nasa.gov/java/index.html">NASA World Wind</a> version java (<a href="http://worldwind.arc.nasa.gov/java/demos/">y sus demos</a>) en Linux utilizando el <a href="http://dri.freedesktop.org/wiki/ATIRadeon#head-c75f086e8b18a43299b0da1b07cf8322679e8633">driver open source para las tarjetas radeon</a> necesitas configurar el DRI para que se muestren las texturas.<br />
<span id="more-67"></span><br />
<strong>Hardware Utilizado:</strong><br />
<code><br />
Tarjeta: ATI Mobility Radeon X1400<br />
Chipset: R500<br />
</code></p>
<p><strong>Configuracion de xorg:</strong><br />
<code><br />
(**) RADEON(0): Option "EnablePageFlip" "1"<br />
(**) RADEON(0): Option "ColorTiling" "1"<br />
(**) RADEON(0): Option "AccelMethod" "XAA"<br />
(**) RADEON(0): Option "TVDACLoadDetect" "TRUE"<br />
(**) RADEON(0): Option "TVStandard" "ntsc"<br />
(**) RADEON(0): Option "ATOMTVOut" "TRUE"<br />
</code></p>
<p><strong>Version de Java:</strong> java version &#8220;1.6.0_15&#8243;</p>
<p>Necesitas ejecutar la herramienta Direct Rendering Preferences:</p>

<div class="wp-terminal">felipe@funstation:$ driconf<br/></div>

<p>ir a <em>Image Quality</em> y setear las siguientes opciones:<br />
<strong>Enable S3TC texture compression even if software  support is not available</strong> = YES<br />
<strong>Disable S3TC compression</strong> = NO</p>
<p>Con eso deberias de estar listo para poder ocupar el World Wind Java</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/nasa-world-wind-java-and-radeon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acortando el Path en el prompt del terminal (bash)</title>
		<link>http://blog.felipebarriga.cl/otros/acortando-el-path-en-el-prompt-del-terminal-bash/</link>
		<comments>http://blog.felipebarriga.cl/otros/acortando-el-path-en-el-prompt-del-terminal-bash/#comments</comments>
		<pubDate>Sat, 05 Sep 2009 23:42:44 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=61</guid>
		<description><![CDATA[A mas de alguno le habra pasado que cuando estan en un directorio con muchos niveles de profundidad del tipo: /home/user/mis_archivos/personal/documentos/documentos-importantes/ Les ocupa la mitad de la linea del terminal. Para solucionar eso solo necesitan cambiar la variable PS1. La variable original que viene con mi distro (Gentoo) es: user@computer:$ PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\]' Y decidi [...]]]></description>
			<content:encoded><![CDATA[<p>A mas de alguno le habra pasado que cuando estan en un directorio con muchos niveles de profundidad del tipo:<br />
<strong><em>/home/user/mis_archivos/personal/documentos/documentos-importantes/</em></strong><br />
Les ocupa la mitad de la linea del terminal. Para solucionar eso solo necesitan cambiar la variable PS1.<br />
<span id="more-61"></span><br />
La variable original que viene con mi distro (Gentoo) es:</p>

<div class="wp-terminal">user@computer:$ PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\]'<br/></div>

<p>Y decidi reemplazarla por esta que restringe el tamaño del path a mostrar:</p>

<div class="wp-terminal">user@computer:$ PS1='\[\033[01;32m\]\u@\h\[\033[01;34m\] ${PWD/????????????????????????????*/...${PWD:${#PWD}-30}} \$\[\033[00m\]'<br/></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/acortando-el-path-en-el-prompt-del-terminal-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Gobierno Transparente&#8221; ¿Demasiado Transparente?</title>
		<link>http://blog.felipebarriga.cl/privacidad/gobierno-transparente-%c2%bfdemasiado-transparente/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/gobierno-transparente-%c2%bfdemasiado-transparente/#comments</comments>
		<pubDate>Sun, 23 Aug 2009 23:10:35 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=57</guid>
		<description><![CDATA[Vagando por Internet llegue al siguiente sitio: http://www.junaeb.cl/transparencia/SUBSIDIOS/becas/TNE/TNE_2009.1.html en el cual hay una lista de registros de personas que han recibido pase escolar. Si bien no aparece información muy util (apellido paterno, apellido materno, nombre y tipo de pase) nunca esta de más tener esa información. Por ejemplo con el nombre y apellido paterno puedes [...]]]></description>
			<content:encoded><![CDATA[<p>Vagando por Internet llegue al siguiente sitio: <a href="http://www.junaeb.cl/transparencia/SUBSIDIOS/becas/TNE/TNE_2009.1.html">http://www.junaeb.cl/transparencia/SUBSIDIOS/becas/TNE/TNE_2009.1.html</a> en el cual hay una lista de registros de personas que han recibido pase escolar. Si bien no aparece información muy util (apellido paterno, apellido materno, nombre y tipo de pase) nunca esta de más tener esa información. Por ejemplo con el nombre y apellido paterno puedes tratar de encontrar el apellido materno, saber que educación esta recibiendo (basica, media, superior) y suponer que tiene pase escolar. Si quieren tener una copia de las paginas puedes sacarla con este pequeño script en php:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span> <span class="kw1">for</span> <span class="br0">&#40;</span><span class="re0">$i</span>=<span class="nu0">1</span>; <span class="re0">$i</span>&lt;<span class="nu0">317</span>; <span class="re0">$i</span>++<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <a href="http://www.php.net/exec"><span class="kw3">exec</span></a><span class="br0">&#40;</span><span class="st0">&quot;wget -c http://www.junaeb.cl/transparencia/SUBSIDIOS/becas/TNE/TNE_2009.&quot;</span> . <span class="re0">$i</span> . <span class="st0">&quot;.html&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span> <span class="kw2">?&gt;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/gobierno-transparente-%c2%bfdemasiado-transparente/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruts Validos</title>
		<link>http://blog.felipebarriga.cl/privacidad/ruts-validos/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/ruts-validos/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:58:43 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=50</guid>
		<description><![CDATA[Más de alguna vez cuando han querido registrarse en un sitio web este les ha pedido un rut valido. Como andamos cortos de cerebro, nos cuesta calcular el digito verificador y finalmente terminamos ocupando nuestro rut. Para aquellos que lo necesiten, aquí una lista de ruts validos. Traten de no ocupar siempre los primeros rut, [...]]]></description>
			<content:encoded><![CDATA[<p>Más de alguna vez cuando han querido registrarse en un sitio web este les ha pedido un rut valido.<br />
Como andamos cortos de cerebro, nos cuesta calcular el digito verificador y finalmente terminamos ocupando nuestro rut.<br />
Para aquellos que lo necesiten, aquí una <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/ruts.txt">lista de ruts validos</a>. Traten de no ocupar siempre los primeros rut, para que no se repitan.</p>
<p>Algún día capaz haga un script que genere cada vez un rut diferente valido (es fácil, pero igual hay que ocupar 5 minutos y hacerlo).</p>
<p>Aquí el script en PHP que genera el archivo con los rut’s validos:<br />
<span id="more-50"></span></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">&lt;?php</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw2">function</span> dv<span class="br0">&#40;</span><span class="re0">$r</span><span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="re0">$s</span> = <span class="nu0">1</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw1">for</span><span class="br0">&#40;</span><span class="re0">$m</span> = <span class="nu0">0</span>; <span class="re0">$r</span> != <span class="nu0">0</span>; <span class="re0">$r</span>/= <span class="nu0">10</span><span class="br0">&#41;</span><span class="re0">$s</span> = <span class="br0">&#40;</span><span class="re0">$s</span>+<span class="re0">$r</span>%<span class="nu0">10</span> * <span class="br0">&#40;</span><span class="nu0">9</span>-<span class="re0">$m</span>++%<span class="nu0">6</span><span class="br0">&#41;</span><span class="br0">&#41;</span>%<span class="nu0">11</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw1">return</span> <a href="http://www.php.net/chr"><span class="kw3">chr</span></a><span class="br0">&#40;</span><span class="re0">$s</span>?<span class="re0">$s</span><span class="nu0">+47</span>:<span class="nu0">75</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; <span class="kw1">for</span> <span class="br0">&#40;</span><span class="re0">$i</span>=<span class="nu0">16000000</span>; <span class="re0">$i</span>&lt;<span class="nu0">16015000</span>; <span class="re0">$i</span>++<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="re0">$i</span> . <span class="st0">&quot;-&quot;</span> . dv<span class="br0">&#40;</span><span class="re0">$i</span><span class="br0">&#41;</span> . &nbsp;<span class="st0">&quot;<span class="es0">\n</span>&quot;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">?&gt;</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/ruts-validos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Defacement UTFSM (Viejo)</title>
		<link>http://blog.felipebarriga.cl/seguridad/defacement-utfsm-viejo/</link>
		<comments>http://blog.felipebarriga.cl/seguridad/defacement-utfsm-viejo/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:53:35 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Seguridad]]></category>
		<category><![CDATA[defacement]]></category>
		<category><![CDATA[usm]]></category>
		<category><![CDATA[UTFSM]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=45</guid>
		<description><![CDATA[Continuando con la migracion de mi sitio viejo a este blog, encontre un screenshot que muestra un defacement que sufrio el sitio web del Portal de Informatica &#8211; UTFSM]]></description>
			<content:encoded><![CDATA[<p>Continuando con la migracion de mi sitio viejo a este blog, encontre un screenshot que muestra un <a href="http://en.wikipedia.org/wiki/Website_defacement">defacement</a> que sufrio el sitio web del <a href="http://portal.inf.utfsm.cl/">Portal de Informatica &#8211; UTFSM</a></p>
<p><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/usm.jpg" rel="lightbox[45]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/usm-300x225.jpg" alt="UTFSM - Defacement" title="UTFSM - Defacement" width="300" height="225" class="aligncenter size-medium wp-image-46" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/seguridad/defacement-utfsm-viejo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>‘Parientes’ Famosos</title>
		<link>http://blog.felipebarriga.cl/personal/%e2%80%98parientes%e2%80%99-famosos/</link>
		<comments>http://blog.felipebarriga.cl/personal/%e2%80%98parientes%e2%80%99-famosos/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:50:21 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=36</guid>
		<description><![CDATA[Siguiendo con el cachureo de archivos de mi sitio viejo encontre unas fotos escaneadas de la tarjeta de presentacion de un pariente famoso [1][2][3]. Se trata de Felipe Barriga P., gerente general del Night Club Diosas.]]></description>
			<content:encoded><![CDATA[<p>Siguiendo con el cachureo de archivos de mi sitio viejo encontre unas fotos escaneadas de la tarjeta de presentacion de un pariente famoso [<a href="http://www.4a.cl/diario/2005/10/14/14.07.4a.CRO.SHOWCALIFA.html">1</a>][<a href="http://www.lacuarta.cl/diario/2006/09/11/10.08.4a.CRO.ADMINISTRADOR.html">2</a>][<a href="http://www.lun.com/ediciones_anteriores/detalle/noticia.asp?idnoticia=C386368304357523&#038;dia=12&#038;mes=10&#038;anno=2005">3</a>].<br />
Se trata de Felipe Barriga P., gerente general del <a href="http://www.diosasclub.cl/">Night Club Diosas</a>.</p>
<p><center></p>
<table border="0">
<tr>
<td>
<a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/diosas1.jpg" rel="lightbox[36]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/diosas1-150x150.jpg" alt="Diosas Night Club - Felipe Barriga" title="Diosas Night Club - Felipe Barriga" height="150" class="aligncenter size-thumbnail wp-image-37" /></a>
</td>
<td>
<a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/diosas2.jpg" rel="lightbox[36]"><img src="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/diosas2-150x150.jpg" alt="Diosas Night Club - Felipe Barriga" title="Diosas Night Club - Felipe Barriga" height="150" class="aligncenter size-thumbnail wp-image-38" /></a>
</td>
</tr>
</table>
<p></center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/personal/%e2%80%98parientes%e2%80%99-famosos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cargando datos PSU 2005 a MySQL</title>
		<link>http://blog.felipebarriga.cl/privacidad/cargando-datos-psu-2005-a-mysql/</link>
		<comments>http://blog.felipebarriga.cl/privacidad/cargando-datos-psu-2005-a-mysql/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:29:03 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Privacidad]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[psu]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=15</guid>
		<description><![CDATA[Muchos de los que tienen las famosas bases de datos robadas, sobre todo el archivo release1.tar que contiene el archivo ARCHIVO_B_2005.DAT no saben como cargar los datos en una base de datos. El problema radica en que son muchos campos y estan separados por largo fijo (flat file). Para poder cargarlos hice un script en [...]]]></description>
			<content:encoded><![CDATA[<p>Muchos de los que tienen las famosas bases de datos robadas, sobre todo el archivo <strong>release1.tar</strong> que contiene el archivo <strong>ARCHIVO_B_2005.DAT</strong> no saben como cargar los datos en una base de datos.<br />
El problema radica en que son muchos campos y estan separados por largo fijo (<a href="http://en.wikipedia.org/wiki/Flat_file_database">flat file</a>). Para poder cargarlos hice un script en php que se encarga de ir separandolos y crea un archivo <a href="http://en.wikipedia.org/wiki/Comma-separated_values">CSV</a>. Una vez generado el archivo, puede cargarse tranquilamente en <a href="http://www.mysql.com/">MySQL</a>.<br />
<span id="more-15"></span><br />
<strong>Paso 1</strong><br />
Convertir el charset del archivo:</p>

<div class="wp-terminal">felipe@funstation:$ iconv -f ISO-8859-1 -t UTF8 -o data.dat ARCHIVO_B_2005.DAT<br/></div>

<p><strong>Paso 2</strong><br />
Convertir el flat file en uno csv.<br />
<a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/fix2csv.php_txt">Bajar este script</a> y ejecutarlo:</p>

<div class="wp-terminal">felipe@funstation:$ mv fix2csv.php_txt fix2csv.php<br/></div>


<div class="wp-terminal">felipe@funstation:$ php -d memory_limit=256M -f fix2csv.php > psu.csv<br/></div>

<p><strong>Paso 3</strong><br />
Crear las tablas donde se almacenaran los registros.<br />
Obviamente para ocuparlas en algo serio tienen que cambiar los campos a los que corresponden. Para no calentarme la cabeza<a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/generate_table.php_txt"> hice otro script en php</a> que saca los mismos datos que el script anterior y genera puros campos tipo ‘varchar’ con el largo especificado.</p>

<div class="wp-terminal">felipe@funstation:$ mv generate_table.php_txt generate_table.php<br/></div>


<div class="wp-terminal">felipe@funstation:$ php -f generate_table.php > table.sql<br/></div>

<p>Archivo generado: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/table.sql">table.sql</a></p>
<p><strong>Paso 4</strong><br />
Los datos se cargan igual que como habia mencionado antes en <a href="http://blog.felipebarriga.cl/?p=26">otro post</a>. Como son muchos campos y nuevamente me da lata escribirlos a mano, <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/generate_load_csv.php_txt">hice un último script</a> que genera la linea necesaria para cargar los datos desde el csv:</p>

<div class="wp-terminal">felipe@funstation:$ mv generate_load_csv.php_txt generate_load_csv.php<br/></div>


<div class="wp-terminal">felipe@funstation:$ php -f generate_load_csv.php > load.sql<br/></div>

<p>Archivo generado: <a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/load.sql">load.sql</a></p>
<p><strong>Paso 5</strong><br />
Ahora con los scripts listos solo queda ejecutarlos:</p>

<div class="wp-terminal">felipe@funstation:$ mysql -u usuario nombre_base_datos < table.sql<br/></div>


<div class="wp-terminal">felipe@funstation:$ mysql -u usuario nombre_base_datos < load.sql<br/></div>

<p><strong>Nota: En mi computador funciona perfecto, pero en el servidor algo pasa con el encoding que no puede leer bien los archivos utf8.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/privacidad/cargando-datos-psu-2005-a-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Restaurar Base de Datos desde CSV (MySQL)</title>
		<link>http://blog.felipebarriga.cl/otros/restaurar-base-de-datos-desde-csv-mysql/</link>
		<comments>http://blog.felipebarriga.cl/otros/restaurar-base-de-datos-desde-csv-mysql/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:26:44 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>
		<category><![CDATA[cvs]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=26</guid>
		<description><![CDATA[Despues de obtener las Bases de Datos filtradas a Internet, decidi cargarlas a una Base de Datos MySQL (tiene soporte para fulltext index). Despues de crear las tablas con los scripts dados, se debe importar los CSV de la siguiente forma: LOAD DATA LOCAL INFILE 'mineduc.csv' INTO TABLE mineduc FIELDS TERMINATED BY ',' ENCLOSED BY [...]]]></description>
			<content:encoded><![CDATA[<p>Despues de obtener las Bases de Datos filtradas a Internet, decidi cargarlas a una Base de Datos MySQL (tiene soporte para fulltext index).<br />
Despues de crear las tablas con los scripts dados, se debe importar los CSV de la siguiente forma:</p>
<p><code><br />
LOAD DATA LOCAL INFILE 'mineduc.csv' INTO TABLE mineduc FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (rut, nombre, establecimiento, jornada, tipo, estado);<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/restaurar-base-de-datos-desde-csv-mysql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Archivos de Utilidad</title>
		<link>http://blog.felipebarriga.cl/otros/archivos-de-utilidad/</link>
		<comments>http://blog.felipebarriga.cl/otros/archivos-de-utilidad/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 09:40:06 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=6</guid>
		<description><![CDATA[Quisas necesites tener una lista de nombres, apellidos o ciudades. Si es asi aqui puedes bajarlos (Nombres y Apellidos ordenados por frecuencia): nombres.txt apellidos.txt ciudades.txt]]></description>
			<content:encoded><![CDATA[<p>Quisas necesites tener una lista de nombres, apellidos o ciudades.<br />
Si es asi aqui puedes bajarlos (Nombres y Apellidos ordenados por frecuencia):</p>
<ul>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/nombres.txt">nombres.txt</a></li>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/apellidos.txt">apellidos.txt</a></li>
<li><a href="http://blog.felipebarriga.cl/wp-content/uploads/2009/08/ciudades.txt">ciudades.txt</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/archivos-de-utilidad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hello World!</title>
		<link>http://blog.felipebarriga.cl/otros/hello-world-2/</link>
		<comments>http://blog.felipebarriga.cl/otros/hello-world-2/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 09:12:25 +0000</pubDate>
		<dc:creator>fbarriga</dc:creator>
				<category><![CDATA[Otros]]></category>

		<guid isPermaLink="false">http://blog.felipebarriga.cl/?p=4</guid>
		<description><![CDATA[Bienvenido a mi blog ! Luego de varios meses sin blog he decidido que ya era hora de volver a aparecer en los resultados de google! Encontraran basicamente lo mismo que antes, una que otra idea o proyecto que tengo en mente.]]></description>
			<content:encoded><![CDATA[<p>Bienvenido a mi blog !</p>
<p>Luego de varios meses sin blog he decidido que ya era hora de volver a aparecer en los resultados de google!</p>
<p>Encontraran basicamente lo mismo que antes, una que otra idea o proyecto que tengo en mente.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.felipebarriga.cl/otros/hello-world-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
