<?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 &#187; programacion</title>
	<atom:link href="http://www.sebastianoliva.com/tag/programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sebastianoliva.com</link>
	<description>mi Blag Personal</description>
	<lastBuildDate>Sun, 04 Sep 2011 04:02:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Rediseño de Shoebot.net</title>
		<link>http://www.sebastianoliva.com/2011/04/rediseno-de-shoebot-net/</link>
		<comments>http://www.sebastianoliva.com/2011/04/rediseno-de-shoebot-net/#comments</comments>
		<pubDate>Fri, 01 Apr 2011 13:40:54 +0000</pubDate>
		<dc:creator>tian</dc:creator>
				<category><![CDATA[Codigo]]></category>
		<category><![CDATA[Geekencias]]></category>
		<category><![CDATA[diseño]]></category>
		<category><![CDATA[programacion]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[shoebot]]></category>

		<guid isPermaLink="false">http://www.sebastianoliva.com/?p=136</guid>
		<description><![CDATA[Ya esta funcionando el rediseño de shoebot.net, diseñado por mi. Todavia esta incompleto, asi que espero Criticas y Comentarios!]]></description>
			<content:encoded><![CDATA[<p>Ya esta funcionando el rediseño de <a href="http://shoebot.net/">shoebot.net</a>, diseñado por mi. Todavia esta incompleto, asi que espero Criticas y Comentarios!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sebastianoliva.com/2011/04/rediseno-de-shoebot-net/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>7</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>
	</channel>
</rss>

