<?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"
	>

<channel>
	<title>knithx.net &#187; 2006 &#187; March</title>
	<atom:link href="http://www.knithx.net/2006/03/feed" rel="self" type="application/rss+xml" />
	<link>http://www.knithx.net</link>
	<description>Weblog sobre tecnología por el knithx team</description>
	<pubDate>Sun, 05 Oct 2008 12:27:31 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Actualidad videojueguil</title>
		<link>http://www.knithx.net/2006/03/27/actualidad-videojueguil/</link>
		<comments>http://www.knithx.net/2006/03/27/actualidad-videojueguil/#comments</comments>
		<pubDate>Mon, 27 Mar 2006 21:46:00 +0000</pubDate>
		<dc:creator>knithx</dc:creator>
		
		<category><![CDATA[Videojuegos]]></category>

		<guid isPermaLink="false">http://www.knithx.net/2006/03/27/actualidad-videojueguil/</guid>
		<description><![CDATA[Vale, supongo que me habré inventado el vocablo, pero se entiende. La actualidad en el panorama de los videojuegos está que arde, y si alguien no me cree no hace falta nada más que ver este listado. Sin duda, el 2006 va a ser un año cargadito de novedades para todos los gustos y colores:

Para [...]]]></description>
			<content:encoded><![CDATA[<p>Vale, supongo que me habré inventado el vocablo, pero se entiende. La actualidad en el panorama de los videojuegos está que arde, y si alguien no me cree no hace falta nada más que ver <a href="http://www.gamespot.com/forums/show_msgs.php?topic_id=24145969">este listado</a>. Sin duda, el 2006 va a ser un año cargadito de novedades para todos los gustos y colores:</p>
<ul>
<li>Para los amantes de los FPS, el 2006 va a ser un año saturadísimo: <em>PREY, HL2: Episode One, Quake Wars, Brother in Arms 3</em>&#8230; y modificaciones de juegos existentes como <em>They Hunger o Red Orchestra</em> (ambos sobre el motor Source).</li>
<li>No se quedan atrás (más bien, delante) los seguidores del misterio y las aventuras gráficas: El 2006 es el año de salida para nada más y nada menos que las secuelas de<em> Broken Sword 4 o Runaway 2</em>. Y ya que está tanto de moda, <em>Da Vinci Code</em> promete unas cuantas horas de misterio.</li>
<li>No por último (podeis ver el listado vosotros mismos, cuenta con <strong>más de 100 títulos</strong>) cabe destacar la abundancia de títulos ambientados en el espacio, ya sea de un modo estratégico o de una forma más movidita. Hablando de juegos espaciales, hace poco me enteré de que la BSO del <em>EVE Online</em> está diponible para su descarga gratuita <a href="http://www.eve-online.com/download/music/">en su sitio oficial</a>.</li>
<li>Además, también se puede observar la mutitud de MMORPGs que pretenden sacar al mercado, tanto secuelas (Neverwinter Nights 2, actualización del World of Warcraft) como juegos que llevan un tiempo en fase beta (GUNTZ o el mismísimo ROSE, de los creadores de Ragnarok Online)</li>
<li>Ya por último vemos la falta de originalidad que caracteriza estos tiempos, con multitud de juegos que recuerdan a Age of Empires, Call of Duty o Commandos, por poner un ejemplo.</li>
</ul>
<p>El único inconveniente a tantas maravillas son los requisitos que pedirán todos estos juegos. Más de uno se tendrá que documentar bien en <a href="http://www.tweakguides.com/">TweakGuides</a> antes de pensarse su compra <img src='http://www.knithx.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knithx.net/2006/03/27/actualidad-videojueguil/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Knoppix 5 se aproxima</title>
		<link>http://www.knithx.net/2006/03/25/knoppix-5/</link>
		<comments>http://www.knithx.net/2006/03/25/knoppix-5/#comments</comments>
		<pubDate>Sat, 25 Mar 2006 13:09:45 +0000</pubDate>
		<dc:creator>knithx</dc:creator>
		
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.knithx.net/2006/03/25/knoppix-5/</guid>
		<description><![CDATA[Ya se acerca el gran momento para muchos de los seguidores de Debian, especialmente los de Knoppix. Knoppix 5 ya es una realidad por Bittorrent (en inglés). Desde la página oficial, nos informan de algunas de las novedades de esta nueva versión.
Knoppix 5 DVD posee cambios en el sistema de archivos unionfs, nueva heurística para [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.knithx.net/files/debian_splash.png" alt="Tux, monitor" class="right"/>Ya se acerca el gran momento para muchos de los seguidores de <a href="http://www.debian.org">Debian</a>, especialmente los de <a href="http://www.knoppix.net">Knoppix</a>. <em>Knoppix 5</em> ya es una realidad <a href="http://linuxtracker.org/download.php?id=1645&#038;name=KNOPPIX_V5.0DVD-2006-02-25-EN.iso.torrent">por Bittorrent</a> (en inglés). Desde <a href="http://www.knopper.net/cebit/index-en.html">la página oficial</a>, nos informan de algunas de las novedades de esta nueva versión.</p>
<p>Knoppix 5 DVD posee cambios en el sistema de archivos <strong>unionfs</strong>, nueva heurística para la detección del hardware y su propia autoconfiguración, y un aspecto a nivel interno más <em>&#8220;genuine Debian&#8221;</em>, orientado a la selección de paquetes. Aparte de esto, la instalación en disco duro ha sido extendida por <em>Martin Öhler</em>, basada en el trabajo anterior de <em>Fabian Franz</em>. Ahora es posible actualizar instalaciones previas de otras versiones de Knoppix desde el modo live.</p>
<p>La primera versión de Knoppix 5.0 fue regalada en DVD en el CeBIT. Estos DVD&#8217;s también se pueden comprar en otras tiendas por Internet, pero, como nos informan más adelante, estará disponible para descargar en un par de semanas. Entre otras novedades, esta versión de<em> Knoppix</em> presentará las siguientes:</p>
<p><span id="more-102"></span></p>
<ul>
<li>Linux Kernel <em>2.6.15.4</em></li>
<li>Debian (testing/unstable)</li>
<li>Xorg Version <em>6.9</em></li>
<li><em>udev+hwsetup</em> para la detección del HW</li>
<li>KDE <em>3.5.1</em>, <em>GNOME 2.12</em> de la Debian/unstable</li>
<li>OpenOffice<em> 2.0.1</em></li>
<li>Acceso transparente de lectura y escritura en particiones NTFS <em>(libntfs+fuse)</em></li>
<li>Nuevo instalador en disco duro con la posibilidad de realizar actualizaciones</li>
<li>Y mucho más&#8230;</li>
</ul>
<p>De donde, sin duda, destaca el cambio de XF86Free por Xorg (que parece acertado según comentan) y el acceso de escritura a NTFS. <em>¿Cuanto tardara el Knoppix team en sacar una versión x86_64?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knithx.net/2006/03/25/knoppix-5/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Prison Break</title>
		<link>http://www.knithx.net/2006/03/20/prison-break/</link>
		<comments>http://www.knithx.net/2006/03/20/prison-break/#comments</comments>
		<pubDate>Mon, 20 Mar 2006 14:38:08 +0000</pubDate>
		<dc:creator>knithx</dc:creator>
		
		<category><![CDATA[Audiovisual]]></category>

		<guid isPermaLink="false">http://www.knithx.net/2006/03/20/prison-break/</guid>
		<description><![CDATA[Y otra serie para la saca. Después de terminar Firefly y de estar siguiendo Lost (aka Perdidos) se revela ante mi Prison Break. Hollywoodiense cómo no, sigue la tónica y la dinámica de cualquier otra, pero me ha enganchado más que ninguna. Como sólo se emite en EEUU, no hay otra que descargarse los capítulos [...]]]></description>
			<content:encoded><![CDATA[<p>Y otra serie para <em>la saca</em>. Después de terminar <em>Firefly</em> y de estar siguiendo <em>Lost</em> (<em>aka Perdidos</em>) se revela ante mi <em><a href="http://rapidshare.de/files/15976760/prisonbreak.txt.html">Prison Break</a></em>. Hollywoodiense cómo no, sigue la tónica y la dinámica de cualquier otra, pero me ha enganchado más que ninguna. Como sólo se emite en EEUU, no hay otra que descargarse los capítulos de Internet y verlos subtitulados. Y eso hice: El primer día ví siete de ellos y ayer completé los que están disponibles (por ahora, un total de 13). En estos momentos mi <em>Bittorrent</em> cabalga veloz con el 1&#215;14 (<em>The Rat</em>). A partir de entonces, como el resto de las series, saldrán asiduamente los torrents o links semanalmente.</p>
<p>Prison Break madura el típico argumento de la fuga de un prisión. El escenario se muestra de la siguiente manera: Lincoln, un hombre con familia, sin una pizca de violencia en su cuerpo, es acusado de asesinar al hermano del vicepresidente. La prueba que rigió el jucio en su momento fue un vídeo en el que aparece armado en un parking de coches. Manipulada o no, esa cinta será el núcleo en el que girará la historia a dos bandas. Su hermano, Michael Scofield, es un ingeniero de estructuras. Tiene la convicción de que Lincoln es inocente, y confía en que al ser el diseñador de la misma prisión, pueda planear una fuga. Así lo hace: estudia minuciosamente su plan (hasta se tatua por todo su cuerpo los planos de la cárcel) y comete un pequeño crimen deliberadamente para reunirse con su hermano.</p>
<p>Por el otro lado, la detective Donovan intentará conseguir la exoneración de Lincoln por medios legales. En el transcurso de la serie, el Servicio Secreto le intentará hacer la vida imposible, pero el inspector Nick Starvinns será otro de los personajes clave que ayudarán en la causa.</p>
<p>Todo esto, resumido en el primer capítulo, desenlaza el comienzo de la fuga en los siguientes episodios. Recomiendo esta serie a todo amante del suspense; pequeños problemas se van entrelazando hasta convertir la fuga en un rompecabezas donde la cooperación y los ingeniosos planes de Scofield serán la idea principal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knithx.net/2006/03/20/prison-break/feed/</wfw:commentRss>
		</item>
		<item>
		<title>RPG en vivo</title>
		<link>http://www.knithx.net/2006/03/18/rpg-en-vivo/</link>
		<comments>http://www.knithx.net/2006/03/18/rpg-en-vivo/#comments</comments>
		<pubDate>Sat, 18 Mar 2006 20:02:04 +0000</pubDate>
		<dc:creator>knithx</dc:creator>
		
		<category><![CDATA[Geek]]></category>

		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://www.knithx.net/2006/03/18/rpg-en-vivo/</guid>
		<description><![CDATA[Los nerds han tomado el control del mundo. Y si no os lo creéis, mirad este video. Escalofriante. No puedo parar de reirme.
Video de RPG en vivo
Aprovecho también este post para promocionar mi página, Cámara y Acción, donde podéis encontrar reseñas y opiniones sobre grandes películas de la historia del cine 
]]></description>
			<content:encoded><![CDATA[<p>Los nerds han tomado el control del mundo. Y si no os lo creéis, mirad este video. Escalofriante. No puedo parar de reirme.</p>
<p><a title="RPG live" target="_blank" href="http://youtube.com/watch?v=pNzFE8rNPQU&#038;search=real%20rpg">Video de RPG en vivo</a></p>
<p>Aprovecho también este post para promocionar mi página, <a title="Cámara y Acción" target="_blank" href="http://yipee.knithx.net">Cámara y Acción</a>, donde podéis encontrar reseñas y opiniones sobre grandes películas de la historia del cine <img src='http://www.knithx.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knithx.net/2006/03/18/rpg-en-vivo/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sácale provecho a GooglePages</title>
		<link>http://www.knithx.net/2006/03/04/sacale-provecho-a-googlepages/</link>
		<comments>http://www.knithx.net/2006/03/04/sacale-provecho-a-googlepages/#comments</comments>
		<pubDate>Sat, 04 Mar 2006 22:16:51 +0000</pubDate>
		<dc:creator>knithx</dc:creator>
		
		<category><![CDATA[Google]]></category>

		<category><![CDATA[Informática]]></category>

		<guid isPermaLink="false">http://www.knithx.net/2006/03/04/sacale-provecho-a-googlepages/</guid>
		<description><![CDATA[De donde no se podía sacar la mínima personalización se puede obtener total dominio con pequeñas ideas. GooglePages ya ha estado down por culpa de avalanchas de gente que pedían la suya. Las personas newbies en esto del diseño estaba encantada con su editor, pero las medianamente experimentadas postulaban como defecto su ausencia de control [...]]]></description>
			<content:encoded><![CDATA[<p><img class="right" alt="Google balloons" src="http://www.knithx.net/files/google.png" />De donde no se podía sacar la mínima personalización se puede obtener total dominio con pequeñas ideas. <a href="http://pages.google.com">GooglePages</a> ya ha estado <em>down</em> por culpa de avalanchas de gente que pedían la suya. Las personas newbies en esto del diseño estaba encantada con su editor, pero las medianamente experimentadas postulaban como defecto su ausencia de control sobre el código. Adjuntamente a la posibilidad de poder editar páginas, estaba el pequeño menú que te permitía subir archivos. Si combinamos ambas opciones, se nos puede ocurrir el subir un <em>index.html</em>. Pues esa es la idea. Para ponernos en situación, visitar mi <a href="http://knithx.googlepages.com">GooglePage.</a> Como no tengo el más mínimo interes en utilizar estúpidos templates que no validan XHTML ni CSS, el home inmodificable de la <em>GooglePage</em> solo posee un link al <em>index.html</em> que subí previamente mediante el citado menú de subida de archivos. Aquí esta la gracia, pues <a href="http://knithx.googlepages.com/index.html">esta página</a> fue creada en el Notepad desde cero, con un control total del código. Ya tenemos un buen hosting gratuito de velocidad y sin publicidad.</p>
<p><em>El siguiente paso&#8230; PHP?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.knithx.net/2006/03/04/sacale-provecho-a-googlepages/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Primeros pasos con AJAX</title>
		<link>http://www.knithx.net/2006/03/03/primeros-pasos-con-ajax/</link>
		<comments>http://www.knithx.net/2006/03/03/primeros-pasos-con-ajax/#comments</comments>
		<pubDate>Fri, 03 Mar 2006 18:39:40 +0000</pubDate>
		<dc:creator>BatchDrake</dc:creator>
		
		<category><![CDATA[Informática]]></category>

		<guid isPermaLink="false">http://www.knithx.net/2006/03/03/primeros-pasos-con-ajax/</guid>
		<description><![CDATA[Esta es una de las pocas veces que me intereso por algo relativamente nuevo (y digo relativamente, porque AJAX no es más que un nombre que le han dado a tres cosas que existían desde ya hace mucho). Y al parecer no me he equivocado al documentarme (y por consiguiente, experimentar) con todo esto. Aunque [...]]]></description>
			<content:encoded><![CDATA[<p>Esta es una de las pocas veces que me intereso por algo relativamente nuevo (y digo relativamente, porque AJAX no es más que un nombre que le han dado a tres cosas que existían desde ya hace mucho). Y al parecer no me he equivocado al documentarme (y por consiguiente, experimentar) con todo esto. Aunque <a target="_blank" title="Definición de AJAX" href="http://es.wikipedia.org/wiki/AJAX">AJAX</a> es algo más o menos sencillo y fácil de comprender; las posibilidades son casi ilimitadas.</p>
<p>Más o menos sabía por donde iban los tiros, <em>Asynchronous JavaScript And XML</em> ya decía mucho sobre qué cosas se iban a usar. Pero no me pareció interesante hasta que knithx me comentó que se usaba en Google Maps y en GMail. ¿Todo esto sin plugins adicionales o algún tipo de aplicación Flash-Cutre? Caramba, caramba&#8230;</p>
<p><span id="more-93"></span></p>
<p>A modo de resumen, y para el que no quiera leer la entrada correspondiente sobre AJAX en la Wikipedia; se trata de la combinación de las capacidades del objeto <a target="_blank" title="XMLHTTP" href="http://es.wikipedia.org/wiki/XMLHttp">XMLHttpRequest</a> de JavaScript junto con las de <a title="DHTML" href="http://es.wikipedia.org/wiki/DHTML">DHTML</a> para, entre otras cosas, obtener contenidos dinámicamente sin necesidad de recargar la web entera. Esto es una ventaja, pues la información se presenta en mucho menos tiempo ya que solo se pide &#8220;lo que nos interesa&#8221;, omitiendo el resto de imágenes, estilos y código HTML invariable en la presentación.</p>
<p>Aunque suele usarse XML en AJAX para enviar los datos al cliente, he visto algún <a target="_blank" title="SAJAX" href="http://www.modernmethod.com/sajax/">proyecto</a> que usa texto plano directamente. Aunque casi caigo en la tentación de lo sencillo, decidí usar XML para aprender un poco más sobre el funcionamiento de la interpretación de los datos en este formato.<br />
Lo primero fue documentarse sobre el objeto XMLHttpRequest, que era la novedad. Por suerte, el oráculo de Google ha sido generoso y me ha brindado información como <a target="_blank" title="Documentación de AJAX" href="http://developer.mozilla.org/es/docs/index.php?title=AJAX:Primeros_Pasos&#038;printable=yes">esta</a>.</p>
<p>Una vez que me empapé hasta arriba de la documentación sobre dicho objeto y experimenté lo suficiente como para poder a sacarle provecho; empezó la segunda parte: Crear una fuente de datos.<br />
La cosa era sencilla, crear una pequeña aplicación <a target="_blank" title="CGI" href="http://es.wikipedia.org/wiki/CGI">CGI</a> que proporcionase cualquier dato (por ejemplo, la canción que estoy reproduciendo con el XMMS) cuya salida fuese en formato XML. Esto era demasiado sencillo. No implicaba ninguna complicación más que abrir un fichero, leerlo y mostrar una cadena entre tres etiquetas. Así que decidí darle emoción, jugando con algunas cositas que ya tenía preparadas.</p>
<p>Este interés por AJAX coincidió con la fiebre de ampliación de <em>Yail</em>, un lenguaje de programación interpretado que estoy desarrollando con un amigo (y que espero que alguien más se apunte al proyecto). Se me ocurrió la idea de implementar una interfaz para crear una fuente de datos mediante Yail. Y claro, la puse en práctica. Al final tuve el siguiente código, que lee la información de la canción que se está reproduciendo en el XMMS y la muestra formateada correctamente (no comento el código, porque creo que es obvio. Y si no lo es, que quede solo como curiosidad técnica):</p>
<blockquote>
<pre><span style="color: #0000ff"><strong>import</strong></span><span style="color: #000000"> stdio;
</span><span style="color: #0000ff"><strong>import</strong></span><span style="color: #000000"> </span><span style="color: #0000ff">string</span><span style="color: #000000">;

</span><span style="color: #0000ff"><strong>import</strong></span><span style="color: #000000"> inet.</span><span style="color: #000080">ajax</span><span style="color: #000000">;
</span><span style="color: #0000ff"><strong>import</strong></span><span style="color: #000000"> inet.</span><span style="color: #000080">ajax</span><span style="color: #000000">.</span><span style="color: #000080">services</span><span style="color: #000000">;
</span><span style="color: #0000ff"><strong>import</strong></span><span style="color: #000000"> inet.</span><span style="color: #000080">ajax</span><span style="color: #000000">.</span><span style="color: #000080">http</span><span style="color: #000000">;

</span><span style="color: #0000ff"><strong>function</strong></span><span style="color: #000000"> </span><span style="color: #000080">get_xmms_song</span><span style="color: #000000">()
{
</span><span style="color: #000000">        </span><span style="color: #000000">xfd=</span><span style="color: #000080">fopen</span><span style="color: #000000">(</span><span style="color: #ff0000">&#8220;/tmp/xmms-info&#8221;</span><span style="color: #000000">, </span><span style="color: #ff0000">&#8220;r&#8221;</span><span style="color: #000000">);
</span><span style="color: #000000">        </span><span style="color: #0000ff"><strong>if</strong></span><span style="color: #000000">(xfd == -</span><span style="color: #0000ff">1</span><span style="color: #000000">)
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #0000ff"><strong>return</strong></span><span style="color: #000000"> </span><span style="color: #ff0000">&#8220;(No hay un plugin InfoPipe instalado)&#8221;</span><span style="color: #000000">;
</span><span style="color: #000000">        </span><span style="color: #000000" /><span style="color: #0000ff"><strong>while</strong></span><span style="color: #000000">((line=</span><span style="color: #000080">readline</span><span style="color: #000000">(xfd)) != NULL)
</span><span style="color: #000000">        </span><span style="color: #000000">{
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #0000ff"><strong>if</strong></span><span style="color: #000000">((idx=</span><span style="color: #000080">indexOf</span><span style="color: #000000">(line, </span><span style="color: #ff0000">&#8220;Title: &#8220;</span><span style="color: #000000">)) == </span><span style="color: #0000ff">0</span><span style="color: #000000">)
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000000">{
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000000">title = </span><span style="color: #000080">substr</span><span style="color: #000000">(line, </span><span style="color: #0000ff">7</span><span style="color: #000000">, </span><span style="color: #000080">strlen</span><span style="color: #000000">(line)-</span><span style="color: #0000ff">7</span><span style="color: #000000">);
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000080">fclose</span><span style="color: #000000">(xfd);
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #0000ff"><strong>return</strong></span><span style="color: #000000"> title;
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000000">}
</span><span style="color: #000000">        </span><span style="color: #000000">}
</span><span style="color: #000000">        </span><span style="color: #000080">fclose</span><span style="color: #000000">(xfd);
</span><span style="color: #000000">        </span><span style="color: #0000ff"><strong>return</strong></span><span style="color: #000000"> </span><span style="color: #ff0000">&#8220;(No hay información)&#8221;</span><span style="color: #000000">;
}</span><span style="color: #000000">  </span><span style="color: #0000ff"><strong>function</strong></span><span style="color: #000000"> </span><span style="color: #000080">get_song</span><span style="color: #000000">()
{
</span><span style="color: #000000">        </span><span style="color: #000080">ajax_row</span><span style="color: #000000">(</span><span style="color: #ff0000">&#8220;song&#8221;</span><span style="color: #000000">, </span><span style="color: #000080">get_xmms_song</span><span style="color: #000000">());
}

</span><span style="color: #0000ff"><strong>function</strong></span><span style="color: #000000"> </span><span style="color: #000080">main</span><span style="color: #000000">(argc, argv, envp)
{</span><span style="color: #000000"> </span><span style="color: #000000">        </span><span style="color: #000080">ajax_register_method</span><span style="color: #000000">(</span><span style="color: #ff0000">&#8220;get_song&#8221;</span><span style="color: #000000">, </span><span style="color: #0000ff">0</span><span style="color: #000000">);

</span><span style="color: #000000">        </span><span style="color: #000080">ajax_response_type</span><span style="color: #000000">(</span><span style="color: #ff0000">&#8220;text/xml&#8221;</span><span style="color: #000000">);
</span><span style="color: #000000">        </span><span style="color: #000080">ajax_end_headers</span><span style="color: #000000">();

</span><span style="color: #000000">        </span><span style="color: #000080">ajax_response</span><span style="color: #000000">();
</span><span style="color: #000000">        </span><span style="color: #0000ff"><strong>if</strong></span><span style="color: #000000">(</span><span style="color: #000080">ajax_services</span><span style="color: #000000">() == -</span><span style="color: #0000ff">1</span><span style="color: #000000">)
</span><span style="color: #000000">        </span><span style="color: #000000">        </span><span style="color: #000080">ajax_state</span><span style="color: #000000">(</span><span style="color: #0000ff">500</span><span style="color: #000000">, </span><span style="color: #000080">ajax_error</span><span style="color: #000000">());
</span><span style="color: #000000">        </span><span style="color: #0000ff"><strong>else
</strong></span><span style="color: #000000">		</span><span style="color: #000080">ajax_state</span><span style="color: #000000">(</span><span style="color: #0000ff">200</span><span style="color: #000000">, </span><span style="color: #ff0000">&#8220;OK&#8221;</span><span style="color: #000000">);
</span><span style="color: #000000">        </span><span style="color: #000080">ajax_end</span><span style="color: #000000">();
}</span></pre>
</blockquote>
<p>El siguiente paso fue poner en práctica lo que aprendí de XMLHttpRequest para leer esos resultados. Al final, creé un <a target="_blank" title="Yail-AJAX" href="http://knithx.net/files/yail_ajax.js">fichero</a> con funciones en JavaScript para interpretar esos datos y emplearlos según convenga. Usando dichas funciones, conseguí una rudimentaria aplicación que se vale de AJAX para mostrar la canción que estoy escuchando; actualizándose constantemente (de ahí que sea rudimentaria, si mucha gente abre esa pequeña página; acabarían saturándome gracias al soberbio <em>lag</em> que me estarían provocando).</p>
<p>De todas maneras, esto es algo muy superficial. He de meterme más a fondo, solucionar ese desperdicio del ancho de banda (quizá empleando alguna otra aplicación CGI que enviase datos cuando hay nueva información para saber cuando volver a realizar una petición) y crear alguna interfaz un poco menos esotérica.</p>
<p>El tiempo dirá.</p>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://www.knithx.net/2006/03/03/primeros-pasos-con-ajax/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
