
<?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>Marco Alfonso &#187; Software</title>
	<atom:link href="http://marcoalfonso.net/category/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://marcoalfonso.net</link>
	<description>Lo único constante, es el cambio...</description>
	<lastBuildDate>Sat, 03 Jul 2010 00:53:03 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google Go y su nombre</title>
		<link>http://marcoalfonso.net/2009/11/12/google-go-y-su-nombre/</link>
		<comments>http://marcoalfonso.net/2009/11/12/google-go-y-su-nombre/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 19:05:56 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[gnome]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[google go]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[vala]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=289</guid>
		<description><![CDATA[El martes 10 de Noviembre, 2009. Google anunció &#8220;su&#8221; lenguaje de programación Go, hecho por, en palabras de Miguel de Icaza: &#8220;The Most brilliant programmer alive&#8221; Rob Pike&#8230; :-&#124;
Empezando por la sintaxis, no me gustó. Es como una horrible mezcla de C++ con JS y algo de Java.
Seguido por ¿otro lenguaje de programación?, no entiendo [...]]]></description>
			<content:encoded><![CDATA[<p>El martes 10 de Noviembre, 2009. Google anunció &#8220;su&#8221; lenguaje de programación <em>Go</em>, hecho por, <a href="http://twitter.com/migueldeicaza/status/5604079985">en palabras de Miguel de Icaza</a>: &#8220;<em>The Most brilliant programmer alive</em>&#8221; Rob Pike&#8230; :-|</p>
<p>Empezando por la sintaxis, no me gustó. Es como una horrible mezcla de C++ con JS y algo de Java.</p>
<p>Seguido por ¿<em>otro lenguaje de programación</em>?, no entiendo el porqué, en <a href="http://www.youtube.com/watch?v=wwoWei-GAPo">el video</a> se dice que porque necesitamos un lenguaje en que se desarrolle más rápido, que compile rápido, que corra rápido. De querer sólo esto, se podría haber optimizado el bytecode de Python y ya ¿no?, pero en su lugar juntas a Robert Griesemer, Rob Pike y Ken Thompson y escribes todo un nuevo lenguaje, con una nueva sintaxis, nuevos paradigmas y nuevos procesos.</p>
<p>No sé, se me hace muy &#8220;windowsero&#8221;: ¿dns?, no! hagamos WINS. ¿nfs, ftp, etc? no! hagamos SMB.</p>
<p>Hacer algo como Google Wave, innovar la forma de comunicarnos y liberar el framework wow!, pero&#8230; ¿un nuevo lenguaje? come on google!</p>
<p>Esta vez sólo veo una táctica de posicionamiento monopólico, de verdad requerían de un lenguaje moderno, veloz y&#8230; ¿nuevo? que tal: ¿ <a href="http://live.gnome.org/Vala">Gnome&#8217;s Vala</a>?, ¿qué tiene de diferente Google Go de Gnome&#8217;s Vala?</p>
<blockquote><p>Why Vala?</p>
<p>Many developers want to write GNOME applications and libraries in high-level programming languages but can&#8217;t or don&#8217;t want to use C# or Java for various reasons, so they are stuck with C without syntax support for the GObject type system. The Vala compiler allows developers to write complex object-oriented code rapidly while maintaining a standard C API and ABI and keeping the memory requirements low</p></blockquote>
<p>Google no pudo googlear y buscar en donde apoyar al software libre. Y la prueba está en el nombre. ¿Qué tal el Issue 9 en el bug tracker de Google Go?:</p>
<p><a href="http://code.google.com/p/go/issues/detail?id=9">http://code.google.com/p/go/issues/detail?id=9</a></p>
<blockquote><p>I have been working on a programming language, also called Go, for the last 10 years. There have<br />
been papers published on this and I have a book.</p>
<p>I would appreciate it if google changed the name of this language; as I do not want to have to<br />
change my language!</p></blockquote>
<p>Como dice Shermie: &#8220;¿Cómo hace el bisteck? tssssssssssk&#8221;</p>
<p>Puedes presionar en el &#8220;issue 9&#8243; para que cambie el nombre o bien en la petición online: http://www.petitiononline.com/gglgoi9/</p>
<p>Shame on you Google!</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2009/11/12/google-go-y-su-nombre/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Wave</title>
		<link>http://marcoalfonso.net/2009/10/10/google-wave/</link>
		<comments>http://marcoalfonso.net/2009/10/10/google-wave/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 03:52:09 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=283</guid>
		<description><![CDATA[Apenas hace 5 años Google cambió al mundo. Al mundo del Internet al menos, al ciberespacio.
Apenas hace 5 años presumía con total emoción mi super nueva cuenta recién salidita de GMail, el nuevo servicio de e-mail con el que Google cambió al mundo, antes de GMail nadie daba mas de 10 Megabytes, no habían servicios [...]]]></description>
			<content:encoded><![CDATA[<p>Apenas hace 5 años Google cambió al mundo. Al mundo del Internet al menos, al ciberespacio.</p>
<p>Apenas hace 5 años presumía con total emoción mi super <a href="http://marcoalfonso.net/2004/06/21/gmail/">nueva cuenta recién salidita de GMail</a>, el nuevo servicio de e-mail con el que Google cambió al mundo, antes de GMail nadie daba mas de 10 Megabytes, no habían servicios de clud-computing, ni VPS&#8217;s, ni ningún servicio basado en grandes &#8220;almacenajes&#8221;, los servicios de hospedaje eran de 100,200,500 MB, unos cuantos se aventuraban a ofrecer un majestuoso Gigabyte.</p>
<p>No había Twitter ni facebook, las redes sociales apenas maduraban, lo mas conocido era orkut y fue adquirido por Google.</p>
<p>Google demostró como podía tomar una tecnología, un producto y mejorarlo miles de veces revolucionándolo e imponiendo una tendencia, una pauta, una moda.</p>
<p>Pues 5 años después el mundo ha cambiado mucho, la cacareada &#8220;web 2.0&#8243; está en pleno auge, cada vez mas personas están conectadas ya no sólo por computadoras, si no PDA&#8217;s, celulares, smartphones, netbooks, etc. Y Google, lo ha vuelto a hacer. <span style="background-color: #ffffff; ">En mayo de este año, se anunció un producto al mundo: <strong>Google Wave,</strong> ó mejor escrito: <strong>\/\/ave</strong></span></p>
<p>Muy pocos sabían al respecto, algunos mas nos enteramos porque era en su momento un &#8220;trend topic&#8221; en el Twitter, una cosa llevó a otra y terminé viendo el <a href="http://www.youtube.com/watch?v=v_UyVmITiYQ">famoso video de 1 hora y 20 minutos de la presentación de Google Wave</a>, y dije: &#8220;<em>NO MAMES! pinche Google es un monstruo</em>&#8221; sabía que había llegado al mundo otro movimiento, otra moda, otra gran OLA.</p>
<p>En resumen Google Wave es:</p>
<ul>
<li><span style="background-color: #ffffff; ">Un nuevo producto de Google, sin entrar en &#8220;<em>fanboyismos</em>&#8220;, innovación y calidad garantizada.</span></li>
<li><span style="background-color: #ffffff;"><strong>USA XMPP. </strong>Si conoces que es XMPP desde aquí ya sabes que es algo GRANDE<strong>.</strong></span></li>
<li><span style="background-color: #ffffff;"><strong><span style="font-weight: normal; background-color: #ffffff;">Un nuevo esquema de comunicación, es un nuevo paradigma! &#8220;Rich Content&#8221; en toda su expresión, documentos con <em>widgets</em> integrados que manejan imágenes, video, documentos, archivos, etc. (¡No mas &#8220;<em>attachments</em>&#8220;!)</span></strong></span></li>
<li><span style="background-color: #ffffff;">Verdadero <em>User Friendly</em>. Galerías listas, videos &#8220;embebidos&#8221; sin una línea de código, <em>upload</em> de archivos vía &#8220;<em>drag &amp; drop</em>&#8220;.</span></li>
<li><span style="background-color: #ffffff;">Tiempo Real. Todo, absolutamente todo lo que haces en un documento de google wave ó simplemente conocido como un &#8220;wave&#8221; se realiza en tiempo real, es decir, los cambios que haces en un Wave, se mandan al servidor en tiempo real, letra por letra, click por click, y consecuentemente, todos aquellos con los que compartas el Wave ven estos cambios&#8230; EN TIEMPO REAL.</span></li>
<li><span style="background-color: #ffffff;">Colaborativo.  En realidad mas que una <em>feature</em>, es una consecuencia de la tecnología anteriormente descrita &#8220;en tiempo real&#8221; significa que mientras tu escribes algo otro mas puede avanzar con el siguiente párrafo y otro mas puede corregirte tus faltas horrográficas, y otro mas añadir los diagramas necesarios, etc, etc. Colaborativo.</span></li>
<li><span style="background-color: #ffffff;">Privado y público. Puedes compartir un wave con quien quieras. la tarea con tus compañeros de clase, el proyecto con tus colaboradores, las fotos con tu familia, etc. Ó, y mas interesante aún, puedes compartir un Wave con todo el mundo. Esta característica es la que ha dado a pensar a muchos que en un futuro no muy lejano Google Wave pueda mandar a la banca a las redes sociales existentes (puedes mandar tu estado a todos tus contactos (twitter), o todas las fotos (flickr), o Publicar un ensayo/libro/comic, etc, etc..</span></li>
<li><span style="background-color: #ffffff;">Extensible, hay programas/extensiones/&#8221;bots&#8221; que agregan mas funcionalidades a Wave, como editores de diagramas en tiempo real, traductores en tiempo real, etc. Y unos mas que te permiten conectarte a otros servicios, por ejemplo publicar desde wave un post en tu blog, ó mandar un Tweet a tu Twitter ó publicar una foto en Flickr desde Wave. Por lo que podrás inevitablemente hacer todo desde un sólo lugar, tu Wave.</span></li>
</ul>
<p>Hasta aquí, para alguien no técnico (o pseudo blogstar o alguien que gane lo mismo que un programador [chiste local :-P] ) o poco docto en el tema Google Wave puede representar &#8220;otra red social diferente&#8221;, &#8220;el twitter de google&#8221;, &#8220;una herramientas colaborativa fashion/el groupware de google&#8221;, &#8220;google docs 2.0&#8243;, &#8220;google apps 2.0&#8243;, &#8220;otra buzzword&#8221;, etc, etc.</p>
<p>Pero si ves el segundo punto, sí el <strong>recalcado</strong>, Google Wave vá más allá.</p>
<p><strong>XMPP</strong> ó &#8220;<strong>Extensible Messaging and Presence Protocol&#8221; </strong>(<em>Protocolo extensible de mensajería y comunicación de presencia</em>) es un protocolo ideado para el intercambio de datos en XML y mas importante es un protocolo abierto, originalmente ideado para Mensajería instantánea, y seguramente lo has usado sin saber, XMPP es el protocolo usado para la mensajería Jabber, y Jabber a su vez es la base de Google Talk, luego entonces Google Talk es un sistema con protocolo XMPP.</p>
<p>Pero XMPP se siguió desarrollando para tener mas características (envío de archivos por ejemplo) y desde el principio se diseñó para ser <strong>descentralizado.</strong> ¿Y que coño significa eso? Que no existe un servidor &#8220;principal&#8221; o &#8220;central&#8221; de XMPP, como no lo hay de Jabber. Y mejor aún, pueden haber infinidad de servidores XMPP, y todos pueden convivir con todos. Cada servidor opera sobre cierto dominio, y los usuarios de dicho servidor se denotan con el formato de e-mail: usuario@servidor.com.</p>
<p><span style="background-color: #ffffff;">Es por esto, que un usuario con cuenta @jabber.org, por ejemplo la mía: maop@jabber.org puede mandarle mensajes a malfonso@gmail.com y como yo tengo un servidor jabber propio pues maop@jabber.org y malfonso@gmail.com también le puede mandar mensajes a me@maop.tk, y se pueden tener en sus &#8220;contact list&#8221; y etc, etc. (¿notaron el &#8220;yo tengo un servidor jabber propio&#8221;?)</span></p>
<p>Así es, cualquiera puede tener un servidor XMPP, y después de tanta vuelta y explicación: ¡ASÍ ES! ¡cualquiera podrá tener su servidor de WAVE!</p>
<p>Y como dijera cantinflas &#8220;¡Ahí está el detalle!&#8221;</p>
<p>La verdadera razón por la que Google Wave revolucionará nuevamente nuestras vidas es porque: <strong>detrás de este producto hay un proyecto OpenSource (waveprotocol.org) hecho sobre estándares abiertos (XMPP)</strong>. Y cualquiera puede instalar este sistema en sus servidores propios, una universidad, una empresa, una institución pública, etc, etc. <em><strong>Tal y como en la actualidad cualquiera puede instalar un servidor de correo</strong>.</em></p>
<p>Y así vemos todo el panorama, Google Wave representa una nueva forma de comunicación, mejor que el e-mail, mejor que la mensajería instantánea, mejor que las herramientas colaborativas actuales, mejor que algunas de las redes sociales actuales (aunque en lo personal creo que en este punto le falta mucho aún), Y a aquellos que no sean factibles de reemplazar, contará con conectores hacia estos servicios, dándote un punto central desde donde controlar todos tus servicios.</p>
<p>Así que trata de imaginarte en 5 años,</p>
<ul>
<li><span style="background-color: #ffffff;">Enviando la tarea al wave de tu profesor</span></li>
<li><span style="background-color: #ffffff;">Codificando la nueva página de tu cliente mientras éste ve en tiempo real cómo lo haces, ó probando el producto y enviándote bugs.</span></li>
<li><span style="background-color: #ffffff;">Enseñándole a tus alumnos en tiempo real hasta sus terminales (en sitio o no ;) ) subiendo el material de estudio, realizando exámenes, recibiendo tareas; mientras tú, tu alumno, tu director y los padres de familia, ven en tiempo real todo esto.</span></li>
<li><span style="background-color: #ffffff;">Discutiendo sobre seres míticos en un foro de mitología hecho con Wave, viendo en tiempo real las opiniones de todos los participantes de todo el mundo.</span></li>
<li><span style="background-color: #ffffff;">Dándole soporte técnico a tus usuarios, dándoles comandos y manuales en tiempo real.</span></li>
<li><span style="background-color: #ffffff;">Presentándo tus slides en una reunión vía Wave, todos viendo y escuchando lo mismo, con asistentes locales y remotos.</span></li>
<li><span style="background-color: #ffffff;">Viendo un video de una película o una conferencia con amigos/compañeros online y comentándolo en tiempo real.</span></li>
</ul>
<p>Finalmente, el usuario es quien decide que uso darle.</p>
<p>Pero de una vez, por favor, por favor por lo que mas amen NO SUBAN PENDEJADAS DE CADENITAS, NI PUBLICIDAD, NI SUS FOTOS DE EMOS. =)</p>
<p>Bienvenido al futuro.</p>
<div id="attachment_286" class="wp-caption aligncenter" style="width: 310px"><a href="http://marcoalfonso.net/wp-content/uploads/2009/10/google_wave.png"><img class="size-medium wp-image-286" title="google_wave" src="http://marcoalfonso.net/wp-content/uploads/2009/10/google_wave-300x234.png" alt="Mi primera vez con Google Wave" width="300" height="234" /></a><p class="wp-caption-text">Mi primera vez con Google Wave</p></div>
<p><strong>Disclaimer</strong>: Este post fue escrito para personas no/medio técnicas, que no conocían que es wave, y para aclarar ciertos puntos de porqué es tán importante y quitar algo de FUD que he leído en algunos blogs tipo &#8220;mis primeras impresiones&#8221;. Sé que falta mucho para que Wave salga al público, sé que waveprotocol.org no tiene interfaz web aún, sé que los gadgets/robots aún están en estado de prueba.</p>
<p>P.D. Lo siento aún no tengo invitaciones, y parece que ya no van a dar.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2009/10/10/google-wave/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Cherokee running on a Motorola A1200i</title>
		<link>http://marcoalfonso.net/2009/06/26/cherokee-running-on-a-motorola-a1200i/</link>
		<comments>http://marcoalfonso.net/2009/06/26/cherokee-running-on-a-motorola-a1200i/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 08:46:31 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[cherokee]]></category>
		<category><![CDATA[cross compile]]></category>
		<category><![CDATA[linux mobile]]></category>
		<category><![CDATA[motorola a1200]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=272</guid>
		<description><![CDATA[ Why should someone want to run a web server on his cellphone? Of course because he can =), just for the fun!
So, how to compile cherokee for Motorola A1200i:
First we need to build a &#8220;toolchain&#8221; a development environment that can compile binaries for the CPU architecture of the phone, in this case: ARM Linux
Such [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://marcoalfonso.net/wp-content/uploads/2009/06/motorolaA1200.jpg"><img class="size-thumbnail wp-image-277 alignleft" title="motorolaA1200" src="http://marcoalfonso.net/wp-content/uploads/2009/06/motorolaA1200-150x150.jpg" alt="motorolaA1200" width="150" height="150" /></a> <a href="http://marcoalfonso.net/wp-content/uploads/2009/06/indiankid.png"><img class="alignright size-thumbnail wp-image-276" title="cherokee" src="http://marcoalfonso.net/wp-content/uploads/2009/06/indiankid-141x150.png" alt="cherokee" width="141" height="150" /></a>Why should someone want to run a web server on his cellphone? Of course because he can =), just for the fun!</p>
<p>So, <strong>how to compile cherokee for Motorola A1200i</strong>:</p>
<p>First we need to build a &#8220;toolchain&#8221; a development environment that can compile binaries for the CPU architecture of the phone, in this case: ARM Linux</p>
<p>Such toolchain can be download from here: <a href="http://lsb.blogdns.com/ezx-crosstool" target="_blank">http://lsb.blogdns.com/ezx-crosstool</a></p>
<p>Pretty easy, just run ./build.sh you need build-essential (gcc and company), flex and bison, go for a cup of cofee and let the automagic work, this will compile a GCC compatible with your phone among some other utilities.</p>
<p>Now fetch last release of cherokee: http://www.cherokee-project.com/ , unpack and prepare yourself to compile it.</p>
<p>I based in this document: http://www.cherokee-project.com/doc/cookbook_embedding_cherokee.html after a few of  &#8220;try and fail&#8221; tests i end with this configuration:</p>
<pre><code>
export AR=/home/maop/ezx-crosstool-0.6/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux/bin/arm-linux-ar
export LD=/home/maop/ezx-crosstool-0.6/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux/bin/arm-linux-ld
export CC=/home/maop/ezx-crosstool-0.6/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux/bin/arm-linux-gcc
ac_cv_func_shm_open=no ac_cv_lib_rt_shm_open=no ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes \
 ./configure --host=arm-linux--prefix=/mmc/mmca1/cherokee --enable-static --enable-shared=no --enable-static-module=all \
 --disable-tls --enable-beta --enable-trace --enable-nls=no --disable-largefile --disable-admin --disable-epoll --disable-ipv6 \
CC=/home/maop/ezx-crosstool-0.6/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux/bin/arm-linux-gcc
</code></pre>
<p>As you can see i set &#8211;prefix to &#8220;/mmc/mmca1/cherokee&#8221; this mean that we&#8217;ll &#8220;install&#8221; cherokee on our memory stick this way we avoid to hack motorola&#8217;s linux system. Also this mean that you have to create that path on your development machine, try <code>mkdir -p /mmc/mmca1/cherokee</code> and <code>chown youruser:yourgroup -R /mmc</code></p>
<p>Now type &#8220;make&#8221; so compile of cherokee begins.</p>
<p>After make is done, type &#8220;make install&#8221; and all files will copy to /mmc/mmca1/cherokee</p>
<p>Now just transfer the &#8220;cherokee&#8221; directory to your SD card with your favorite transfer method (bluetooth, ftp, ssh, smb, usb mount, etc), then open eKonsole (you have shell in your phone right?) or telnet or sshd into it, change to the right directory: cd /mmc/mmca1/cherokee and simply run cherokee by typing: sbin/cherokee</p>
<p>And that&#8217;s all, of course you have to configure your phone to &#8220;USB Network&#8221; in your &#8220;USB Mode&#8221; settings, then open a browser in your machine, and type the IP of the phone et voilá! cherokee serving web pages right from your cell phone.</p>
<p>Dude, i remember the times of my night sessions with my 80386 coding in GW-Basic. Now our cellphones have more power than those old machines.</p>
<p>You can see cherokee in action in this video (<a href="http://marcoalfonso.net" target="_self">if you can&#8217;t see it come to my site and see it</a> =):</p>
<p><a href="http://www.youtube.com/watch?v=giQW_89a_Vo">Cherokee running on a Motorola A1200i</a></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/giQW_89a_Vo&amp;hl=es&amp;fs=1&amp;rel=0&amp;color1=0x2b405b&amp;color2=0x6b8ab6" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/giQW_89a_Vo&amp;hl=es&amp;fs=1&amp;rel=0&amp;color1=0x2b405b&amp;color2=0x6b8ab6" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Next post: &#8220;how to get your unix powertools in your A1200&#8243; (vim, bash, sshd, strace, python, perl, ruby, php, vmstat, nano, etc)</p>
<p>Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2009/06/26/cherokee-running-on-a-motorola-a1200i/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Infinitum PWN3D</title>
		<link>http://marcoalfonso.net/2009/05/26/infinitum-pwn3d/</link>
		<comments>http://marcoalfonso.net/2009/05/26/infinitum-pwn3d/#comments</comments>
		<pubDate>Tue, 26 May 2009 05:06:20 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/2009/05/26/infinitum-pwn3d-2/</guid>
		<description><![CDATA[Nunca lo había hecho, pero, &#8220;verdad de dios&#8221; que una tarjeta wireless usb con capacidad de inyección y el airoscript te pueden salvar la vida en alguna situación.
Infinitum PWN3D en 5 minutos.
]]></description>
			<content:encoded><![CDATA[<div id="attachment_266" class="wp-caption aligncenter" style="width: 310px"><a href="http://marcoalfonso.net/wp-content/uploads/2009/05/crack_infinitum.png"><img class="size-medium wp-image-266" title="Infinitum PWN3D" src="http://marcoalfonso.net/wp-content/uploads/2009/05/crack_infinitum-300x187.png" alt="Infinitum PWN3D" width="300" height="187" /></a><p class="wp-caption-text">Infinitum PWN3D</p></div>
<p>Nunca lo había hecho, pero, &#8220;verdad de dios&#8221; que una tarjeta wireless usb con capacidad de inyección y el <a href="http://daouid.googlepages.com/airoscriptwepcrackingscript">airoscript</a> te pueden salvar la vida en alguna situación.</p>
<p>Infinitum PWN3D en 5 minutos.</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2009/05/26/infinitum-pwn3d/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Chromium funcional en linux</title>
		<link>http://marcoalfonso.net/2009/05/21/chromium-funcional-en-linux/</link>
		<comments>http://marcoalfonso.net/2009/05/21/chromium-funcional-en-linux/#comments</comments>
		<pubDate>Thu, 21 May 2009 20:44:06 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[chromium]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=261</guid>
		<description><![CDATA[¡Al fin!
Leo en osnews que el ultimo built de chromium ya es funcional en linux. Y gracias a la gente de PPa ya estan disponibles paquetes .deb&#8217;s. Hay que agregar a la lista de depositos los siguientes:
deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu intrepid main
Luego un aptitude update;aptitude install chromium-browser.
Estoy haciendo este post desde Chromium y si tiene fallitas, a veces los &#8220;modal&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>¡Al fin!</p>
<p>Leo en osnews que el ultimo built de chromium ya es funcional en linux. Y gracias a la gente de PPa ya estan disponibles paquetes .deb&#8217;s. Hay que agregar a la lista de depositos los siguientes:</p>
<p><code>deb http://ppa.launchpad.net/chromium-daily/ppa/ubuntu intrepid main<br />
deb-src http://ppa.launchpad.net/chromium-daily/ppa/ubuntu intrepid main</code></p>
<p>Luego un aptitude update;aptitude install chromium-browser.</p>
<div id="attachment_264" class="wp-caption aligncenter" style="width: 310px"><a href="http://marcoalfonso.net/wp-content/uploads/2009/05/chromium.png"><img class="size-medium wp-image-264" title="chromium" src="http://marcoalfonso.net/wp-content/uploads/2009/05/chromium-300x194.png" alt="Chromium en Linux" width="300" height="194" /></a><p class="wp-caption-text">Chromium en Linux</p></div>
<p>Estoy haciendo este post desde Chromium y si tiene fallitas, a veces los &#8220;modal&#8221; del wysiwyg de wordpress no funcionan, el preview no funciona, no acepta acentos en el textarea del wysiwyg. Pero bueno&#8230; la beta de Chrome For Linux ya viene en camino tambien.</p>
<p>Mas informacion: <a href="http://www.osnews.com/story/21152/Google_Chrome_for_Linux_On_Its_Way_Take_It_for_a_Spin" target="_blank">http://www.osnews.com/story/21152/Google_Chrome_for_Linux_On_Its_Way_Take_It_for_a_Spin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2009/05/21/chromium-funcional-en-linux/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sobre Clientes IM</title>
		<link>http://marcoalfonso.net/2009/05/09/sobre-clientes-im/</link>
		<comments>http://marcoalfonso.net/2009/05/09/sobre-clientes-im/#comments</comments>
		<pubDate>Sat, 09 May 2009 06:02:20 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[linux ubuntu galaxium]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=255</guid>
		<description><![CDATA[Jamás he estado cómodo con los clientes de Mensajería de linux/unix, Simplemente nada supera a los viejos pero bonitos clientes de ICQ ó el veterano Trillian, pionero en clientes multiprotocolo, por citar algunos.
Los clientes de linux, o carecen de todas las características, ó son extremadamente FEOS y carentes de USABILIDAD, ó sus desarrolladores son unos [...]]]></description>
			<content:encoded><![CDATA[<p>Jamás he estado cómodo con los clientes de Mensajería de linux/unix, Simplemente nada supera a los viejos pero bonitos clientes de ICQ ó el veterano Trillian, pionero en clientes multiprotocolo, por citar algunos.</p>
<p>Los clientes de linux, o carecen de todas las características, ó son extremadamente FEOS y carentes de USABILIDAD, ó sus desarrolladores son unos malditos NAZIS de la UI tratando a sus usuarios  como estúpidos y simples esclavos de la monopolización, pues no hay nada <em>mas mejorcito</em>.</p>
<p>Y si lo hay tienes que tener un cliente con C, otro hecho en python, otro hecho en mono, otro en TCL/TK, corriendo al mismo tiempo, consumiendo toda tu memoria y recursos. Uno requiere gnash, otro swfdec, gstreamer&#8230; ¡DIOS! y es eso o tener un solo cliente sin todas las características que cubran tus necesidades, that just sucks.</p>
<p>En fin, tendremos que esperar y esperanzar, en que, en AMSN2 con la unión de la gente de AMSN+Emesene+PyMSN, lograrán hacer un buen trabajo.</p>
<p><strong>AMSN</strong>. Una palabra lo describe, FEO, aunque ya han optimizado muchísimo su código, le han agregado parches para soportar fuentes &#8220;alisadas&#8221;, etc, pónganle lo que le pongan es feo. Poco usable. Pero hay que aceptarlo, es el que mas funciones soporta y es el único que tiene un soporte real y estable de webcam.</p>
<p><strong>Pidgin</strong>. Los desarroladores son dueños de las decisiones sobre pidgin, hace caso absolutamente omiso de lo que piden los usuarios, incluso han existido varios forks en el transcurso de su vida por esta misma razón. <a href="http://funpidgin.sourceforge.net/">fun pidgin</a>, <a href="http://gaim-vv.sourceforge.net/">gaim-vv</a>, por ejemplo. Y aún y con todas sus estúpidas reglas de UI, es una patada en los huevos la revoltura de contactos que hace cuando tienes varias cuentas, fue un PITA también cuando tardaron un año en poner emoticons o actualizar MSNP10. Es horrible cuando de la nada truena, cuando tiene problemas con los certificados de google&#8230; en fin, un caos.</p>
<p><strong>Emesene. </strong>Uno de los más jóvenes, a mi parecer el mejor de los 3, totalmente de la comunidad, hecho con python. Buena colección de funciones. Tiene una versión mantenida por la comunidad &#8220;emesene crazy&#8221; donde ya tienen soporte webcam (muy inestable, pero cuando jala, jala bien)</p>
<p>Recomiendo instalar emesene-crazy,</p>
<pre style="margin-top: 0pt; display: inline;">bzr branch lp:~c10ud/emesene/emesene-crazy emesene-crazy</pre>
<div id="attachment_256" class="wp-caption aligncenter" style="width: 310px"><a href="http://marcoalfonso.net/wp-content/uploads/2009/05/emesene.png"><img class="size-medium wp-image-256" title="emesene" src="http://marcoalfonso.net/wp-content/uploads/2009/05/emesene-300x187.png" alt="emesene con webcam" width="300" height="187" /></a><p class="wp-caption-text">emesene con webcam</p></div>
<p>[UPDATE]: El Kmess se ve muy bien, también. http://kmess.org/screenshots/</p>
<p>Y, ¿ustedes que usan?, ¿conocen algún otro cliente?, ¿prefieren uno multiprotocolo ó de uno sólo, pero que realmente soporte las funciones?</p>
<p>Saludos!</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2009/05/09/sobre-clientes-im/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Túneles SSH</title>
		<link>http://marcoalfonso.net/2008/12/24/tuneles-ssh/</link>
		<comments>http://marcoalfonso.net/2008/12/24/tuneles-ssh/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 08:47:54 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sysadmin]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=230</guid>
		<description><![CDATA[Hay momentos donde necesitamos tener plena seguridad de que los datos que son transmitidos desde nuestra máquina hacia internet no son leídos por terceros (¡eso sería siempre!), cómo cuando vamos a un café con wireless disponible ó un congreso lleno de ávidos &#8220;hackers&#8221; todos con sus sniffers llenando sus logs de contraseñas de terceros y [...]]]></description>
			<content:encoded><![CDATA[<p>Hay momentos donde necesitamos tener plena seguridad de que los datos que son transmitidos desde nuestra máquina hacia internet no son leídos por terceros (¡eso sería siempre!), cómo cuando vamos a un café con wireless disponible ó un congreso lleno de ávidos &#8220;hackers&#8221; todos con sus sniffers llenando sus logs de contraseñas de terceros y luego aparecen los blogs de &#8220;hackers éticos&#8221; &#8220;defaceados&#8221; (ñ_ñ). En fin, necesitamos seguridad, y no todo lo que usamos se encuentra bajo SSL, ó no sabes que tiene la opción, por ejemplo, ¡levante la mano quien usa twitter con https!. Hay otras situaciones molestas como cuando un maldito proxy nos filtra contenido, no podemos ver todos los sitios ó usar todos los servicios que necesitamos, o simplemente nos cierran puertos que necesitamos, como el sagrado IRC.</p>
<p>Bien, para todos estos males existen los túneles SSH, quienes realizan una conexión segura, encriptada, y desde un servidor remoto, por lo que nuestro origen queda anónimo. Todo lo que necesitas es una máquina en una red externa (típicamente un servidor) en la que tengamos acceso ssh. Según la necesidad, podemos requerir de 3 diferentes esquemas:</p>
<ol>
<li>Estás tras un proxy y no te deja salir a todas las redes o te filtra sitios que realmente necesitas. ¡Tú necesitas <em>Dynamic application-level port forwading</em>!</li>
<li>Te cerraron los puertos y necesitas acceder a algún servicio del servidor A con el puerto XX. ¡Tú necesitas <em>Local Port forwarding</em>!</li>
<li>Estás tras un router, con ip privada y necesitas que alguien entre a algún servicio de tu máquina sea HTTP, SSH, FTP, etc. ¡Tú necesitas <em>Reverse Port Forwarding</em>! (también llamado Remote port forwarding)</li>
</ol>
<p><strong>1. Dynamic application-level port forwarding</strong></p>
<p>El esquema mas sencillo, funciona como un proxy para cualquier aplicación para cualquier servicio, SMTP, HTTP, POP, IMAP, etc. Bajo este esquema, puedes redireccionar todo el tráfico de un puerto local hacia un servidor remoto a través de otro servidor &#8220;de redirección&#8221; para cualquier tipo de aplicación que trabaje con protocolo Socks, aunque en la mayoría de los casos si no lo soporta puedes forzarlo con una utilidad que veremos mas adelante. En pocas palabras, haces que un servidor B baje por ti el contenido del servidor A y lo reenvíe a tu máquina local.</p>
<p>El escenario es el siguiente, tienes tu maquina &#8220;local&#8221; restringida, y tienes acceso a &#8220;shell.server.tld&#8221; y quieres usar la conexión abierta de &#8220;shell.server.tld&#8221; para que te reenvíe todo hacia &#8220;local&#8221;, esto lo hacemos mediante:</p>
<p><code>fulanito@local $ ssh -N -D 8888 shell.server.tld</code></p>
<p>La opción -N es para que no lanze ningún comando al hacer la conexión, solo establezca el tunel. Puedes añadir -f para que además se vaya a background. Y claro añade las opciones que necesites como -pPuerto -lUser, etc. para realizar la conexión ssh.</p>
<p>Y listo!, ahora vamos al Firefox (¿que?, ¿que no usas firefox? ¿en que mundo vives? osea <a href="http://www.nytimes.com/aponline/2008/12/16/technology/AP-TEC-Internet-Explorer-Security.html">jelou</a>!) y en Edit-&gt;Preferences-&gt;Advanced-&gt;Network-&gt;Settings , seleccionamos &#8220;Manual proxy configuration&#8221; y en la entrada de text de &#8220;Socks Host&#8221; metemos 127.0.0.1 puerto 8888, desde luego puedes cambiar el puerto por otro aquí y en el comando ssh. ¡Presto! ahora ve a tu firefox y abre, digamos, <a href="http://www.whatismyip.org/">http://www.whatismyip.org/</a>, verás como ya estás saliendo desde la ip del servidor &#8220;shell.server.tld&#8221;</p>
<p>Si estas usando algún programa que no soporte Socks, puedes instalar &#8220;tsocks&#8221; y configurar en /etc/tsocks.conf la conexión. Por ejemplo hasta el final del archivo yo tengo:</p>
<p><code><br />
server = 127.0.0.1<br />
server_type = 5<br />
server_port = 8888<br />
</code></p>
<p>Ahora, abre el tunel con el comando antes descrito, y posteriormente corre tu programa anteponiendo &#8220;tsocks&#8221;, por ejemplo:</p>
<p><code>fulanito@local $ tsocks opera</code></p>
<p>Et voilá!. Está de mas decir que puedes abrir mas de una conexión y usar varios navegadores saliendo por diferentes IP&#8217;s. Muy útil cuando andas mmm digamos, <em>analizando</em> un sitio de forma anónima ;-).</p>
<p><strong>Local Port forwarding</strong></p>
<p>Ahora sí vamos a forwardear puertos de verdad, El anterior esquema es a nivel aplicación, SSH entiende que debe servir de proxy para lo que le pida la aplicación, si pides la página de google por socks, ssh entiende que tiene que conectarse a google y reenviar el contenido a tu máquina local a través de un tercer servidor, y dinámicamente cambia del servidor de google al de yahoo, o hotmail, o facebook, etc. En este esquema de Local Port forwarding (y también el Remote/reverse port forwading) SSH simplemente reenvía todo lo que mandes a un puerto local hacia un servidor destino a través de un servidor donde tienes shell. Es decir, sólo puedes redirigir el tráfico hacia un sólo servidor. Usemos el vano ejemplo del IRC, no se porque siempre nos bloquean el puerto IRC (6667) así que tenemos el escenario:</p>
<p>Estamos en maquina &#8220;local&#8221;, tenemos acceso shell a &#8220;shell.server.tld&#8221; y queremos conectarnos a irc.freenode.net. Lo que tenemos que hacer es lo siguiente:</p>
<p><code>fulanito@local $ ssh -N -L 3337:irc.freenode.net:6667 shell.server.tld</code></p>
<p>Y listo, tenemos un tunel desde nuestra máquina en el puerto 3337 a irc.freenode.net:6667 a través de shell.server.tld. Ahora todo lo que nos queda hacer es:</p>
<p><code>fulanito@local $ irssi -c localhost -p 3337</code></p>
<p>Y irssi nos mostrará el MOTD (Message Of The Day) de freenode, tal y como si nos estuvieramos conectando directamente desde shell.server.tld.</p>
<p>Y claro, podemos usar el tunel para diversos servicios:</p>
<ol>
<li>Para conectar a un proxy externo: <code>fulanito@local $ ssh -N -L 1080:proxy.server.com:8080 shell.server.tld</code></li>
<li>Para conectarse a un servidor POP: <code>fulanito@local $ ssh -N -L 1110:pop.server.com:110 shell.server.tld</code></li>
<li>Para conectarnos al webserver de una máquina de la chamba: <code>fulanito@casa $ ssh -N -L 8080:maquinadelachamba:80 maquina-con-ip-externa-de-la-chamba.dyndns.com</code><br />
Con este ejemplo aprovecho para mencionar un pequeño detalle: cuando especificamos &#8220;-L puerto:hostdestino:puerto shell.server.tld&#8221;, ponemos a &#8220;hostdestino&#8221; tal y como &#8220;shell.server.tld2 lo vé, es decir, si &#8220;shell.server.tld&#8221; puede ver a maquinas con ip&#8217;s privadas dentro de su red, podremos especificar en -L una ip privada, por ejemplo: &#8220;ssh -N -L 8080:192.168.1.100:80 189.10.20.30</li>
</ol>
<p><strong>Reverse/Remote Port forwarding</strong></p>
<p>Este esquema es quizás el más divertido y confuso de los tres, basicamente es lo mismo que -L pero &#8220;en inversa&#8221;, expliquemos.</p>
<p>Con -L le dices a ssh que reenvíe el tráfico que vaya a un puerto local hacia uno remoto, con -R le dices a ssh que reenvíe el tráfico que llegué a un puerto remoto hacia uno local. ¿Para que nos sirve algo así?, pongamos dos escenarios:</p>
<p>1. El Soporte Técnico.<br />
Tienes un problema con tu linux/mac os x/unix/whatever, y quieres que un amigo se conecte a tu máquina para ayudarte y estas detrás de un router, con ip privada, y sin privilegios para poder abrir un puerto en el router que redirija el tráfico a tu máquina. Solución, abres un tunel &#8220;reverso&#8221;:</p>
<p><code>fulanito@local $ ssh -N -R 2200:localhost:22 shell.server.tld</code></p>
<p>Lo cual quiere decir: &#8220;abre un tunel desde shell.server.tld en el puerto 2200 que reenvíe el tráfico hacia mi máquina (localhost) en el puerto 22&#8243;. Y ahora le dices a tu amigo que se conecte a shell.server.tld y desde ahí el tiene que correr:</p>
<p><code>sutanito@shell $ ssh -p2200 localhost</code></p>
<p>Y se reenviará la conexión hasta tu máquina, en otras palabras, podrá conectarse a tu máquina desde otra, pero sólo mientras mantienes abierto el tunel. Por default, todos los túneles escuchan sólo a la interfaz loopback, es decir, solo aceptan conexiones desde la misma máquina en donde se está abriendo el tunel, es por ello que tu amigo debe primero entrar a shell.server.tld y luego conectarse a &#8220;localhost&#8221;. Existe la posibilidad de que tu amigo se conecte directamente a shell.server.tld:2200 desde su máquina, eso lo veremos en el siguiente ejemplo:</p>
<p>2. Publicar un servicio.<br />
Ahora, digamos que estas en un starbucks, o algo así. Y necesitas enseñar lo que tienes en tu webserver local a un cliente, como ya establecimos, no puedes abrirte un puerto para que el cliente mire hasta tu máquina con ip privada. Solución, abres un tunel &#8220;reverso&#8221;:</p>
<p><code>fulanito@local $ ssh -N -R 8888:localhost:80 shell.server.tld</code></p>
<p>Y listo, el túnel leerá la página de tu máquina y la servirá a través de shell.server.tld:8888, entonces le das a tu cliente la dirección http://shell.server.tld:8888/</p>
<p>Pero como decíamos en el anterior ejemplo, los túneles solo atienden a &#8220;localhost&#8221; por lo que para que tú cliente pueda acceder directo a shell.server.tld:8888, debemos agregar una opción al final del archivo /etc/ssh/sshd_config:</p>
<p><code>GatewayPorts yes</code></p>
<p>Y listo ahora los túneles escucharán en cualquier interfaz.</p>
<p><strong>Nota:</strong><br />
Ten en mente siempre, la información viajará encriptada solamente desde tu máquina local hacia el servidor donde estás estableciendo el tunel, de acuerdo a nuestros ejemplos, la información viajará encriptada desde local &lt;=&gt; shell.server.tld, pero desde shell.server.tld &lt;&#8211;&gt; irc.freenode.net (u otro destino final) no estará encriptada. En el 99% de los casos esto servirá para mantener tus datos seguros.</p>
<p>Y bien, espero me haya sabido explicar, si creen que algo está demasiado confuso por favor, exprésenlo en un comentario. Si tienen mas ideas de como usar los túneles SSH, ó tienen una anécdota sobre alguna vez que tuvieron que ingeniárselas para resolver un problema usando túneles SSH, por favor, compártanla.</p>
<p>NaCl U 2</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2008/12/24/tuneles-ssh/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Linux y yo a través de los años</title>
		<link>http://marcoalfonso.net/2008/06/16/linux-y-yo-a-traves-de-los-anos/</link>
		<comments>http://marcoalfonso.net/2008/06/16/linux-y-yo-a-traves-de-los-anos/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 19:12:15 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Vida]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=185</guid>
		<description><![CDATA[Nekrox me hizo recordar aquellos buenos tiempos, cuando los hombres eran hombres y escribían sus propios drivers&#8230; err ah no eso era en 1991, bueno 7 años después, aquél 1998 cuando instalé por primera vez mi redhat 5 o 6 no recuerdo, luego Armed Linux, Turbo Linux, Corel Linux, SuSe 6, Debian Potato, Mandrake 7 [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://nekrox.com/blog/view/34/yo-hace-como-5-anos">Nekrox</a> me hizo recordar aquellos buenos tiempos, cuando los hombres eran hombres y escribían sus propios drivers&#8230; err ah no eso era en <a href="http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b">1991</a>, bueno 7 años después, aquél 1998 cuando instalé por primera vez mi redhat 5 o 6 no recuerdo, luego Armed Linux, Turbo Linux, Corel Linux, SuSe 6, Debian Potato, Mandrake 7 y finalmente Debian Woody, aquellos tiempos cuando te costaba 1 semana instalar linux, un montón de formateadas, particiones que no te quedaban, borrar &#8220;accidentalmente&#8221; tus preciados mp3&#8217;s, 1 mes de tratar de hechar a andar el video bajándote cuánto X86Config encontrabas en la red desde tu windows y luego pasándolo a tu partición de linux pues aun no tenías el modem funcionando en tu Linux y resultando que al final, aún no había driver pero alguien había encontrado la configuración para el driver de &#8220;vesa&#8221; que funcionaba con tu vga card, otros 2 meses configurando el sonido insertando módulos a manita con modprobe/insmod y argumentos como irq=0&#215;11 dma=0&#215;01 port=0&#215;13, tratando de encontrar que módulo jalaba con tu tarjeta y si no emulándolo con el genérico &#8220;sb&#8221; (el famoso soundblaster) y 3 meses de prueba y error compilando módulos para tu kernel para hacer jalar ese maldito winmodem de tu PC, cambiando tu moderno y nuevo modem por el de tu cuate que tenía una máquina vieja con modem HCF (Hardware based) que si jalaba con linux, o pidiéndole lana a tus papás y rogándole a Dios que comprendieran que tu Linux necesitaba un modem serial, ese momento fantástico en el que surgía el <strong>moderno</strong> y parchado, mejorado y aumentado kernel 2.4 la celebración de todo el mundo linuxero, la nota en toda página y revista de linux, la emoción de cambiar de <em>major release</em> por primera vez en tu vida, los nuevos drivers usb, el nuevo sistema plug &amp; play, todo era nuevo y fascinante, te pasabas 27 horas al día 10 días a la semana 40 días al mes disfrutando de tu sistema operativo, uno &#8220;construido&#8221; por ti mismo.</p>
<p style="text-align: left;">Desafortunadamente ya no tengo screenshots de aquellos bienaventurados días, el más viejo creo que es este de Junio del 2003, en windows había un tema muuuy lindo llamado Dervish, así que me puse a hacer uno para mi windowmaker que ha sido desde siempre mi window manager favorito, y me quedó así:</p>
<p style="text-align: center;"><a href="http://geocities.com/fingerhutmx/files/screenshot.jpg" target="_blank"><img class="aligncenter" src="http://geocities.com/fingerhutmx/files/screenshot.jpg" alt="Shot wmaker dervish" width="400" height="320" /></a></p>
<p style="text-align: left;">A veces andaba dark:</p>
<p style="text-align: center;"><a href="http://marcoalfonso.net/images/gallery/screenshots/jun_shot.jpg" target="_blank"><img src="http://marcoalfonso.net/images/gallery/screenshots/jun_shot.jpg" alt="" width="400" height="320" /></a></p>
<p style="text-align: left;">¿Quién no se acuerda de dos de los mejores themes GTK de toda la historia &#8220;industrial&#8221; y &#8220;gorilla&#8221; de jimmac?:</p>
<p style="text-align: center;"><a href="http://marcoalfonso.net/images/gallery/screenshots/meme.jpg" target="_blank"><img src="http://marcoalfonso.net/images/gallery/screenshots/meme.jpg" alt="" width="400" height="320" /></a></p>
<p style="text-align: center;"><a href="http://marcoalfonso.net/images/gallery/screenshots/scrshot.jpg" target="_blank"><img src="http://marcoalfonso.net/images/gallery/screenshots/scrshot.jpg" alt="" width="400" height="320" /></a></p>
<p style="text-align: left;">Mi primera vez con XFCE:</p>
<p style="text-align: center;"><a href="http://marcoalfonso.net/images/gallery/screenshots/xfce_scrshot.jpg" target="_blank"><img src="http://marcoalfonso.net/images/gallery/screenshots/xfce_scrshot.jpg" alt="" width="400" height="320" /></a></p>
<p style="text-align: left;">Nunca me gustó del todo GNOME y lo trataba de dejar muy minimalista a la XFCE, que aún estaba verde,</p>
<p style="text-align: center;"><a href="http://marcoalfonso.net/images/gallery/screenshots/shot_25-12-2005.jpg" target="_blank"><img src="http://marcoalfonso.net/images/gallery/screenshots/shot_25-12-2005.jpg" alt="" width="400" height="320" /></a></p>
<p style="text-align: left;">y menos me gustó cuando empezaron a quitar opciones &#8220;avanzadas&#8221; muchos recordarán las <a href="http://mail.gnome.org/archives/usability/2005-December/msg00021.html">críticas de Linus Torvalds hacia GNOME</a>, y desde entonces, soy XFCE&#8217;ero de corazón:</p>
<p style="text-align: center;"><a href="http://marcoalfonso.net/images/gallery/screenshots/devmach2.jpg" target="_blank"><img src="http://marcoalfonso.net/images/gallery/screenshots/devmach2.jpg" alt="" width="400" height="320" /></a></p>
<p style="text-align: left;">Y ahora la distribución que utilizo es XUbuntu, lo sofisticado de debian, mas la pulida que le dan en canonical, menos toda la basura de ubuntu que le ponen &#8220;de más&#8221; y un Desktop Environment que no se mete en mi camino, y me permite configurarlo todo a mi gusto.</p>
<p style="text-align: center;"><a href="http://marcoalfonso.net/wp-content/uploads/2008/06/xubuntu804.png" target="_blank"><img src="http://marcoalfonso.net/wp-content/uploads/2008/06/xubuntu804.png" alt="" width="400" height="320" /></a></p>
<p style="text-align: left;">Y ustedes, ¿Cómo ha sido su camino con Linux?</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2008/06/16/linux-y-yo-a-traves-de-los-anos/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Firefox quiere un Guinness</title>
		<link>http://marcoalfonso.net/2008/05/29/firefox-quiere-un-guinness/</link>
		<comments>http://marcoalfonso.net/2008/05/29/firefox-quiere-un-guinness/#comments</comments>
		<pubDate>Thu, 29 May 2008 17:06:48 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/?p=184</guid>
		<description><![CDATA[Así es, desde spreadfirefox.com se lanza la siguiente iniciativa:
 Establece un récord mundial Guinness, Disfruta una web mejor.

Parece un buen trato, ¿verdad? Todo lo que tienes que hacer es descargar Firefox 3 durante el Download Day para ayudar a establecer el récord del software con más descargas durante 24 horas &#8211; es así de fácil. [...]]]></description>
			<content:encoded><![CDATA[<p>Así es, desde <a href="http://www.spreadfirefox.com">spreadfirefox.com</a> se lanza la siguiente iniciativa:</p>
<blockquote><p><strong> Establece un récord mundial Guinness</strong>, <strong>Disfruta una web mejor.</strong></p>
<div class="inner-wrapper">
<p>Parece un buen trato, ¿verdad? Todo lo que tienes que hacer es descargar Firefox 3 durante el Download Day para ayudar a establecer el récord del software con más descargas durante 24 horas &#8211; es así de fácil. No te estamos pidiendo que te tragues una espada o que mantengas en equilibrio 30 cucharas sobre tu cara, aunque eso también sería bastante impresionante.</p>
</div>
</blockquote>
<p>Al momento de registrarte te piden tu mail para avisarte cuando será el download day.</p>
<p>Me parece una buenísima y divertida idea; y publicidad gratis para firefox ;-). ¡Colabora!</p>
<p>La liga: <a href="http://www.spreadfirefox.com/es-ES/worldrecord/">http://www.spreadfirefox.com/es-ES/worldrecord/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2008/05/29/firefox-quiere-un-guinness/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Lame Blog</title>
		<link>http://marcoalfonso.net/2007/03/25/lame-blog/</link>
		<comments>http://marcoalfonso.net/2007/03/25/lame-blog/#comments</comments>
		<pubDate>Sun, 25 Mar 2007 10:02:38 +0000</pubDate>
		<dc:creator>Marco Alfonso</dc:creator>
				<category><![CDATA[Pub]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://marcoalfonso.net/2007/03/25/lame-blog/</guid>
		<description><![CDATA[El Miguel de Icaza ha liberado Lame Blog, un blog engine escrito en C# y donde publicas tus entradas con rsync, y lo configuras con un Makefile! yay!, ve y corre por tu lameblog.
Canal 5 al servicio de la comunidad&#8230;
]]></description>
			<content:encoded><![CDATA[<p>El <a href="http://tirania.org/blog/">Miguel de Icaza</a> ha liberado <a href="http://tirania.org/blog/archive/2007/Mar-24.html">Lame Blog</a>, un blog engine escrito en C# y donde publicas tus entradas con rsync, y lo configuras con un Makefile! yay!, ve y corre por tu <a href="http://tirania.org/blog/archive/2007/Mar-24.html">lameblog</a>.</p>
<p>Canal 5 al servicio de la comunidad&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://marcoalfonso.net/2007/03/25/lame-blog/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
