<?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>Sebastian Oliva</title>
	<atom:link href="http://www.sebastianoliva.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sebastianoliva.com</link>
	<description>mi Blag Personal</description>
	<lastBuildDate>Sat, 01 May 2010 07:07:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Visualizaciones sencillas con Last.fm</title>
		<link>http://www.sebastianoliva.com/2010/04/visualizaciones-sencillas-con-last-fm/</link>
		<comments>http://www.sebastianoliva.com/2010/04/visualizaciones-sencillas-con-last-fm/#comments</comments>
		<pubDate>Sat, 01 May 2010 06:40:13 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[Geekencias]]></category>
		<category><![CDATA[Musica]]></category>
		<category><![CDATA[nodebox]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[shoebot]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/?p=67</guid>
		<description><![CDATA[Un pequeño experimento con Nodebox/Shoebot, y excusa para usar Last.fm API, beat.py es una sencilla visualización de datos de last.fm Sirve como una demo sencilla de instrucciones y una aplicación de pylast El código esta disponible en http://github.com/tian2992/botboxvis]]></description>
			<content:encoded><![CDATA[<p>Un pequeño experimento con <a href="http://nodebox.net/">Nodebox</a>/<a href="http://shoebot.net/">Shoebot</a>, y excusa para usar <a href="http://www.last.fm/api">Last.fm API</a>, beat.py es una sencilla visualización de datos de last.fm</p>
<p><a href="http://www.sebastianoliva.com/wp-content/uploads/2010/04/beat2.png"><img src="http://www.sebastianoliva.com/wp-content/uploads/2010/04/beat2.png" alt="" title="BeatlesRainbow" width="50%" class="aligncenter size-medium wp-image-63" /></a></p>
<p>Sirve como una demo sencilla de instrucciones y una aplicación de <a href="http://code.google.com/p/pylast/">pylast</a><br />
El código esta disponible en <a href="http://github.com/tian2992/botboxvis">http://github.com/tian2992/botboxvis</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2010/04/visualizaciones-sencillas-con-last-fm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usar Processing en Java</title>
		<link>http://www.sebastianoliva.com/2010/03/usar-processing-en-java/</link>
		<comments>http://www.sebastianoliva.com/2010/03/usar-processing-en-java/#comments</comments>
		<pubDate>Thu, 11 Mar 2010 05:54:43 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[Geekencias]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[visual]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/?p=53</guid>
		<description><![CDATA[Me encanta Processing, Processing es un Lenguaje de Programación visual, basado en Java. Processing está diseñado para correrse como Java Applets, como Aplicaciones por si Solas o como una librería de Java, de estos el ultimo es del que he encontrado menos documentación, por lo que me decidí a publicar como logre correr sketches de [...]]]></description>
			<content:encoded><![CDATA[<p>Me encanta <a href="http://processing.org"><em>Processing</em></a>, Processing es un Lenguaje de Programación visual, basado en Java. Processing está diseñado para correrse como Java Applets, como Aplicaciones por si Solas o como una librería de Java, de estos el ultimo es del que he encontrado menos documentación, por lo que me decidí a publicar como logre correr <em>sketches</em> de Processing en aplicaciones Java de Escritorio comunes.<br />
<a href="http://www.sebastianoliva.com/wp-content/uploads/2010/03/JavaPro.png"><img src="http://www.sebastianoliva.com/wp-content/uploads/2010/03/JavaPro.png" alt="Processing Sketch Running on JFrame " title="JavaPro" width="376" height="357" class="aligncenter size-full wp-image-54" /></a><br />
<span id="more-53"></span><br />
Asumo que ya has programado Java o tienes una noción básica de Programación Orientada a Objetos y hayas usado Processing un poco, lo cual necesitaras para comprender lo que se hará.<br />
El primer paso para esto es obviamente descargar Processing, solo visita la pagina oficial y descarga la versión correcta para tu Sistema Operativo. A seguir, debes descargar el Java Development Kit y un IDE para desarrollo, dos muy populares son <a href="http://www.netbeans.org/">NetBeans</a> y <a href="http://www.eclipse.org">Eclipse</a>.</p>
<p>Luego que tengas tu entorno de desarrollo ya instalado, crea un Proyecto, siguiendo las instrucciones de tu IDE.</p>
<p>Luego debes añadir la librería <code>core.jar</code>, la cual contiene la funcionalidad básica de Processing, a tu proyecto, Esta librería se encuentra en la carpeta lib, dentro de la carpeta donde instalaste Processing. Para hacer esto simplemente selecciona tu proyecto, haz Click Derecho en las librerias del proyecto y selecciona Agregar Libreria.</p>
<p>Una vez Agregada tu libreria a tu proyecto, comenzar a usarla es muy facil. PApplet es la clase de la cual se Extienden los Sketch que se usan en Processing, en esta existen dos Métodos basicos, <code>setup()</code> y <code>draw()</code> los cuales utilizamos para establecer los atributos base y ejecutar cada ciclo de dibujo de nuestro Sketch. Lo mas importante es que PApplet extiende de <code>java.awt.Component</code> y de <code>java.awt.Panel</code> lo cual nos permite agregarlo a nuestros JFrame o JPanel, sin dificultad.<br />
Asi que estamos listos para iniciar con un Código simple para agregar nuestro Sketch</p>
<h3>Codigo del Sketch en Processing</h3>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;">  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ellipseMode<span style="color: #009900;">&#40;</span>CENTER<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ellipse<span style="color: #009900;">&#40;</span>mouseX,mouseY,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span></pre></div></div>

<p>Ahora, para pasarlo a nuestra aplicacion, debemos crear una clase que extienda de PApplet, un JFrame que lo contenga y una clase principal que lance la aplicación.</p>
<h3>Codigo Fuente en Java</h3>
<h4>Main.java</h4>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">processJava</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Main <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">new</span> CuadroDespliegue<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h4>CuadroDespliegue.java</h4>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">processJava</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> CuadroDespliegue <span style="color: #000000; font-weight: bold;">extends</span> javax.<span style="color: #006633;">swing</span>.<span style="color: #003399;">JFrame</span> <span style="color: #009900;">&#123;</span>
    CuadroDespliegue<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">setSize</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">600</span>, <span style="color: #cc66cc;">600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Las Dimensiones de la Ventana</span>
        setDefaultCloseOperation<span style="color: #009900;">&#40;</span>javax.<span style="color: #006633;">swing</span>.<span style="color: #003399;">WindowConstants</span>.<span style="color: #006633;">EXIT_ON_CLOSE</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        javax.<span style="color: #006633;">swing</span>.<span style="color: #003399;">JPanel</span> panel <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> javax.<span style="color: #006633;">swing</span>.<span style="color: #003399;">JPanel</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        panel.<span style="color: #006633;">setBounds</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">20</span>, <span style="color: #cc66cc;">20</span>, <span style="color: #cc66cc;">600</span>, <span style="color: #cc66cc;">600</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        processing.<span style="color: #006633;">core</span>.<span style="color: #006633;">PApplet</span> sketch <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> SketchCirculo<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        panel.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>sketch<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span>panel<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        sketch.<span style="color: #006633;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//Esto es necesario para iniciar el Sketch</span>
        <span style="color: #000000; font-weight: bold;">this</span>.<span style="color: #006633;">setVisible</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<h4>SketchCirculo.java</h4>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">processJava</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">processing.core.*</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> SketchCirculo <span style="color: #000000; font-weight: bold;">extends</span> PApplet <span style="color: #009900;">&#123;</span>
&nbsp;
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> setup<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    size<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">400</span>, <span style="color: #cc66cc;">400</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
  <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> draw<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    background<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    fill<span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">200</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ellipseMode<span style="color: #009900;">&#40;</span>CENTER<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    ellipse<span style="color: #009900;">&#40;</span>mouseX,mouseY,<span style="color: #cc66cc;">40</span>,<span style="color: #cc66cc;">40</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Y Listo, De esta manera puedes correr tus Sketch de Processing como componente de una aplicación Java</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2010/03/usar-processing-en-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Me encanta Nodebox</title>
		<link>http://www.sebastianoliva.com/2010/01/me-encanta-nodebox/</link>
		<comments>http://www.sebastianoliva.com/2010/01/me-encanta-nodebox/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 03:22:42 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[Geekencias]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[nodebox]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[quartz]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/?p=50</guid>
		<description><![CDATA[Me encanta Nodebox, Mesclar Python y Quartz es sin duda el matrimonio entre el poder y el estilo. Una de mis partes favoritas de usarlo es la calidad del renderizado, simplemente bellisimo. En pocas horas, luego de varios meses de ausencia, volvi a mi nivel previo. La facilidad de uso es simplemente impresionante, especialmente por [...]]]></description>
			<content:encoded><![CDATA[<p>Me encanta Nodebox, Mesclar Python y Quartz es sin duda el matrimonio entre el poder y el estilo. Una de mis partes favoritas de usarlo es la calidad del renderizado, simplemente bellisimo.<br />
<span id="more-50"></span><br />
<a href="http://www.sebastianoliva.com/wp-content/uploads/2010/01/beatles.png"><img src="http://www.sebastianoliva.com/wp-content/uploads/2010/01/beatles.png" alt="Beatles Similar Artists Graph" title="beatles" width="500" height="500" class="alignnone size-full wp-image-43" /></a></p>
<p>En pocas horas, luego de varios meses de ausencia, volvi a mi nivel previo. La facilidad de uso es simplemente impresionante, especialmente por ser Python.</p>
<p><a href="http://www.sebastianoliva.com/wp-content/uploads/2010/01/blagamond.png"><img src="http://www.sebastianoliva.com/wp-content/uploads/2010/01/blagamond.png" alt="Garamond" title="GaramondPro" width="500" height="375" class="alignnone size-full wp-image-46" /></a></p>
<p>La unica dificultad que enfrenté fue cargar las librerias, ya que Nodebox usa un entorno de Python restringido; luego de unas horas encontre una muy simple solución:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #000000; font-weight: bold;">/</span>Applications<span style="color: #000000; font-weight: bold;">/</span>NodeBox<span style="color: #000000; font-weight: bold;">/</span>NodeBox.app<span style="color: #000000; font-weight: bold;">/</span>Contents<span style="color: #000000; font-weight: bold;">/</span>Resources<span style="color: #000000; font-weight: bold;">/</span>Python
<span style="color: #c20cb9; font-weight: bold;">ln</span> <span style="color: #660033;">-s</span> <span style="color: #000000; font-weight: bold;">/</span>Library<span style="color: #000000; font-weight: bold;">/</span>Python<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">2.5</span><span style="color: #000000; font-weight: bold;">/</span>site-packages <span style="color: #000000; font-weight: bold;">/</span>Applications<span style="color: #000000; font-weight: bold;">/</span>NodeBox<span style="color: #000000; font-weight: bold;">/</span>NodeBox.app<span style="color: #000000; font-weight: bold;">/</span>Contents<span style="color: #000000; font-weight: bold;">/</span>Resources<span style="color: #000000; font-weight: bold;">/</span>Python</pre></div></div>

<p>Luego de esto, todas las librerias funcionaron a la perfección.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2010/01/me-encanta-nodebox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Universidad</title>
		<link>http://www.sebastianoliva.com/2010/01/universidad/</link>
		<comments>http://www.sebastianoliva.com/2010/01/universidad/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:48:31 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[año nuevo]]></category>
		<category><![CDATA[disciplina]]></category>
		<category><![CDATA[regreso a clases]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/2010/01/universidad/</guid>
		<description><![CDATA[Hoy fue el primer día de clases. Después de unos días de descanso, volver al ajetreo diario le añade de nuevo presión a la vida cotidiana. Generalmente me he sentido mucho mas productivo en los periodos de descanso, la posibilidad de dedicarme tempo completo a algo me permite liberarme de la responsabilidad de mantener disciplina [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy fue el primer día de clases. Después de unos días de descanso, volver al ajetreo diario le añade de nuevo presión a la vida cotidiana. Generalmente me he sentido mucho mas productivo en los periodos de descanso, la posibilidad de dedicarme tempo completo a algo me permite liberarme de la responsabilidad de mantener disciplina para hacer las tareas de a poco. Siento desperdiciar tantas horas al año, poco a poco, debido a la falta de ella. Si puedo decir que tengo un proposito para este año, diría que es ser mas disciplinado en general. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2010/01/universidad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iTunesXSPF</title>
		<link>http://www.sebastianoliva.com/2010/01/itunesxspf/</link>
		<comments>http://www.sebastianoliva.com/2010/01/itunesxspf/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 22:19:33 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[iTunesXSPF]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xslt]]></category>
		<category><![CDATA[xspf]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/?p=28</guid>
		<description><![CDATA[Hace varios dias, una prima me habia pedido hacer una playlist, pensando en como podia presentarsela en linea, busque un formato para playlists que fuera diseñado para ser distribuido en linea, la respuesta fue XSPF (http://xspf.org/), el cual cumplía todos mis requerimientos, además de tener una gran cantidad de reproductores y aplicaciones disponibles. Así que [...]]]></description>
			<content:encoded><![CDATA[<p>Hace varios dias, una prima me habia pedido hacer una <em>playlist</em>, pensando en como podia presentarsela en linea, busque un formato para <em>playlists</em> que fuera diseñado para ser distribuido en linea, la respuesta fue <a href="http://xspf.org/">XSPF (http://xspf.org/)</a>, el cual cumplía todos mis requerimientos, además de tener una gran cantidad de <a href="http://musicplayer.sourceforge.net/">reproductores</a> y <a href="http://xspf.org/applications/">aplicaciones</a> disponibles.<br />
<span id="more-28"></span></p>
<p>Así que alegremente me dispuse a crear la lista de reproducción, en iTunes, obviando el hecho que no habia forma automatizada de convertir de un formato a otro, por esto me dedique unas horas a crear iTunesXSPF, un XSLT que convierte de el formato <em>playlist</em> XML de iTunes a XSPF.</p>
<p>Para usarlo simplemente exporta tu <em>playlist</em> de iTunes en formato XML, descarga el archivo en el mismo folder, luego abre la <em>playlist</em> con un editor de texto y sustituye para que quede:</p>

<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"> <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
 <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml-stylesheet</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">&quot;text/xsl&quot;</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;itunes.xsl&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
 <span style="color: #00bbdd;">&lt;!DOCTYPE plist PUBLIC &quot;-//Apple Computer//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;</span></pre></div></div>

<p>Tambien si tienes xsltproc puedes ejecutar</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">xsltproc playlist.xml itunes.xsl lista.xspf</pre></div></div>

<p>Incluyo todo el codigo a continuación</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
</pre></td><td class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #808080; font-style: italic;">&lt;!-- iTunesXSPF, by Sebastian Oliva (tian@sebastianoliva.com) [http://sebastianoliva.com]</span>
<span style="color: #808080; font-style: italic;">Copyright (C) 2009,2010 Sebastian Oliva</span>
&nbsp;
<span style="color: #808080; font-style: italic;">This program is free software: you can redistribute it and/or modify</span>
<span style="color: #808080; font-style: italic;">it under the terms of the GNU Affero General Public License as</span>
<span style="color: #808080; font-style: italic;">published by the Free Software Foundation, either version 3 of the</span>
<span style="color: #808080; font-style: italic;">License, or (at your option) any later version.</span>
&nbsp;
<span style="color: #808080; font-style: italic;">This program is distributed in the hope that it will be useful,</span>
<span style="color: #808080; font-style: italic;">but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<span style="color: #808080; font-style: italic;">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<span style="color: #808080; font-style: italic;">GNU Affero General Public License for more details.</span>
&nbsp;
<span style="color: #808080; font-style: italic;">You should have received a copy of the GNU Affero General Public License</span>
<span style="color: #808080; font-style: italic;">along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
<span style="color: #808080; font-style: italic;">--&gt;</span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:stylesheet</span> <span style="color: #000066;">xmlns:xsl</span>=<span style="color: #ff0000;">&quot;http://www.w3.org/1999/XSL/Transform&quot;</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:output</span> <span style="color: #000066;">method</span>=<span style="color: #ff0000;">&quot;xml&quot;</span> <span style="color: #000066;">indent</span>=<span style="color: #ff0000;">&quot;yes&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:template</span> <span style="color: #000066;">match</span>=<span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;playlist</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://xspf.org/ns/0/&quot;</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		  <span style="color: #808080; font-style: italic;">&lt;!-- Add your Own Info Here --&gt;</span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Playlist<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;creator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>Me<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/creator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;info<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://example.com/<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/info<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #808080; font-style: italic;">&lt;!-- Editing Further is unsafe --&gt;</span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;trackList<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;plist/dict/array/dict/array/dict&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
					<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:variable</span> <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;Traki&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;key[. = 'Track ID']&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/xsl:variable<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
					<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:for-each</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;/plist/dict/dict/dict&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
						<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:if</span> <span style="color: #000066;">test</span>=<span style="color: #ff0000;">&quot;key[. = 'Track ID']/following-sibling::*/text() = $Traki&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
							<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;track<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
								<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;title<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;key[. = 'Name']&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/title<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
								<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;creator<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;key[. = 'Artist']&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/creator<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
								<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;album<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;key[. = 'Album']&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/album<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
								<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;location<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;key[. = 'Location']&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/location<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
								<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;annotation<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;key[. = 'Comments']&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/annotation<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
								<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;duration<span style="color: #000000; font-weight: bold;">&gt;</span></span><span style="color: #000000; font-weight: bold;">&lt;xsl:apply-templates</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;key[. = 'Total Time']&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span><span style="color: #000000; font-weight: bold;">&lt;/duration<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
							<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/track<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
						<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:if<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
					<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
				<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:for-each<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
			<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/trackList<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/playlist<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:template<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
&nbsp;
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:template</span> <span style="color: #000066;">match</span>=<span style="color: #ff0000;">&quot;key&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:value-of</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;following-sibling::*/text()&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:template<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:template</span> <span style="color: #000066;">match</span>=<span style="color: #ff0000;">&quot;trim&quot;</span> <span style="color: #000066;">mode</span>=<span style="color: #ff0000;">&quot;content&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
		<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;xsl:value-of</span> <span style="color: #000066;">select</span>=<span style="color: #ff0000;">&quot;following-sibling::*/text()&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span>
	<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:template<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/xsl:stylesheet<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre></td></tr></table></div>

<p>Descarga: <a href='http://www.sebastianoliva.com/wp-content/uploads/2010/01/itunes.xsl_.zip'>itunes.xsl</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2010/01/itunesxspf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Una ida a la ciudad</title>
		<link>http://www.sebastianoliva.com/2010/01/una-ida-a-la-ciudad/</link>
		<comments>http://www.sebastianoliva.com/2010/01/una-ida-a-la-ciudad/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 00:59:13 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/?p=23</guid>
		<description><![CDATA[Hoy fui a la ciudad. Aunque la verdad no vivo lejos de la ciudad, se nota cuando se sale de los suburbios y se entra de lleno a la ciudad. En la mañana me hicieron exámenes de sangre, como parte d una batería de pruebas, no estoy enfermo, es tan solo una revisión. Nunca me [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy fui a la ciudad. Aunque la verdad no vivo lejos de la ciudad, se nota cuando se sale de los suburbios y se entra de lleno a la ciudad. En la mañana me hicieron exámenes de sangre, como parte d una batería de pruebas, no estoy enfermo, es tan solo una revisión.<br />
Nunca me ha gustado que me saquen sangre, pero la verdad lo mas incomodo fue el ayuno obligatorio hasta pasado ya el almuerzo. Comer es sin duda muy satisfactorio luego de tanto tiempo. Fuimos a almorzar con unos amigos de la familia. Es interesante ver como las amistades de años vuelven a reanimarse con solo una visita.<br />
Me parece fascinante como todo esto ocurrió con la Ciudad de trasfondo. Uno casi nunca se pone a pensar acerca de esto, la conveniencia y la presencia misma de la ciudad nos rodea, a veces de una forma apremiante. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2010/01/una-ida-a-la-ciudad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hola Mundo</title>
		<link>http://www.sebastianoliva.com/2010/01/hola-mundo/</link>
		<comments>http://www.sebastianoliva.com/2010/01/hola-mundo/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 04:48:31 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Sitio]]></category>
		<category><![CDATA[hola mundo]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/?p=4</guid>
		<description><![CDATA[Hola, bienvenido a mi blog. La razón principal de su existir es ser un lugar para poner trozos aleatorios de información de forma sencilla para mi y también hacerlos disponibles, eso no quita que este fuertemente tintado de mi opinión personal, así que sugiero criterio amplio. Asi que espero verlos de nuevo. &#8211;Seb]]></description>
			<content:encoded><![CDATA[<p>Hola, bienvenido a mi blog. La razón principal de su existir es ser un lugar para poner trozos aleatorios de información de forma sencilla para mi y también hacerlos disponibles, eso no quita que este fuertemente tintado de mi opinión personal, así que sugiero criterio amplio.<br />
Asi que espero verlos de nuevo.</p>
<p>&#8211;Seb</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2010/01/hola-mundo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
